]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add module prefix to module, and make RDEBUGE set module failure message by default
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sat, 9 Mar 2013 22:14:53 +0000 (17:14 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sat, 9 Mar 2013 22:14:53 +0000 (17:14 -0500)
src/include/radiusd.h
src/main/modules.c
src/modules/rlm_exec/rlm_exec.c

index c730522b690cf04f2e3cba14c963aa69749e2864..430e33b59319da0d9e13142d23ff57862b2498ea 100644 (file)
@@ -484,13 +484,21 @@ typedef struct main_config_t {
 #define DEBUG4  if (debug_flag > 3) log_debug
 
 #if __GNUC__ >= 3
-#define RDEBUG(fmt, ...)   if(request && request->radlog) request->radlog(L_DBG, 1, request, fmt, ## __VA_ARGS__)
+#define RDEBUG(fmt, ...)    if(request && request->radlog) request->radlog(L_DBG, 1, request, fmt, ## __VA_ARGS__)
 #define RDEBUGW(fmt, ...)   if(request && request->radlog) request->radlog(L_DBG_WARN, 1, request, fmt, ## __VA_ARGS__)
-#define RDEBUGE(fmt, ...)   if(request && request->radlog) request->radlog(L_DBG_ERR, 1, request, fmt, ## __VA_ARGS__)
-
-#define RDEBUG2(fmt, ...)  if(request && request->radlog) request->radlog(L_DBG, 2, request, fmt, ## __VA_ARGS__)
-#define RDEBUG2W(fmt, ...)   if(request && request->radlog) request->radlog(L_DBG_WARN, 2, request, fmt, ## __VA_ARGS__)
-#define RDEBUG2E(fmt, ...)   if(request && request->radlog) request->radlog(L_DBG_ERR, 2, request, fmt, ## __VA_ARGS__)
+#define RDEBUGE(fmt, ...)   do { if(request) { \
+                                       module_failure_msg(request, fmt, ## __VA_ARGS__); \
+                                       if (request->radlog) request->radlog(L_DBG_ERR, 1, request, fmt, ## __VA_ARGS__); \
+                                } \
+                           } while(0)
+
+#define RDEBUG2(fmt, ...)   if(request && request->radlog) request->radlog(L_DBG, 2, request, fmt, ## __VA_ARGS__)
+#define RDEBUG2W(fmt, ...)  if(request && request->radlog) request->radlog(L_DBG_WARN, 2, request, fmt, ## __VA_ARGS__)
+#define RDEBUG2E(fmt, ...)  do { if(request) { \
+                                       module_failure_msg(request, fmt, ## __VA_ARGS__); \
+                                       if (request->radlog) request->radlog(L_DBG_ERR, 2, request, fmt, ## __VA_ARGS__); \
+                                } \
+                           } while(0)
 
 #define RDEBUG3(fmt, ...)  if(request && request->radlog) request->radlog(L_DBG, 3, request, fmt, ## __VA_ARGS__)
 #define RDEBUG4(fmt, ...)  if(request && request->radlog) request->radlog(L_DBG, 4, request, fmt, ## __VA_ARGS__)
index e94381abd50fe9d5e1c2c4f430b1761ff7575ce1..2df360d6ab08e39adf550f0806828e3917413627 100644 (file)
@@ -1755,8 +1755,11 @@ rlm_rcode_t module_send_coa(int send_coa_type, REQUEST *request)
 }
 #endif
 
+/** Add a module failure message VALUE_PAIR to the request
+ */
 char *module_failure_msg(REQUEST *request, const char *fmt, ...)
 {
+       size_t len;
        va_list ap;
        VALUE_PAIR *vp;
 
@@ -1764,12 +1767,16 @@ char *module_failure_msg(REQUEST *request, const char *fmt, ...)
        vp = paircreate(request->packet, PW_MODULE_FAILURE_MESSAGE, 0);
        if (!vp) {
                va_end(ap);
+               
                return NULL;
        }
 
-       vsnprintf(vp->vp_strvalue, sizeof(vp->vp_strvalue), fmt, ap);
+       len = snprintf(vp->vp_strvalue, sizeof(vp->vp_strvalue), "%s: ",
+                      request->module);
+       vsnprintf(vp->vp_strvalue + len, sizeof(vp->vp_strvalue) - len, fmt,
+                 ap);
 
        pairadd(&request->packet->vps, vp);
        
-       return vp->vp_strvalue;
+       return vp->vp_strvalue + len;
 }
index f2bebb84786847a19f5ec9fb41321b6620795ba3..4c2f52ef644da5aaf77bf9c1b5bf319bfa212878 100644 (file)
@@ -362,8 +362,7 @@ static rlm_rcode_t exec_dispatch(void *instance, REQUEST *request)
                        msg[len - 1] = '\0';
                }
                
-               module_failure_msg(request, "rlm_exec (%s): %s",
-                                  inst->xlat_name, msg);
+               RDEBUGE("%s", msg);
        }
        
        return result-1;
@@ -407,10 +406,7 @@ static rlm_rcode_t exec_postauth(void *instance, REQUEST *request)
        pairfree(&tmp);
 
        if (result < 0) {
-               RDEBUG2("%s", module_failure_msg(request, "rlm_exec (%s): "
-                                                "Login incorrect (external "
-                                                "check failed)",
-                                                inst->xlat_name));
+               RDEBUGE("Login incorrect (external check failed)");
 
                request->reply->code = PW_AUTHENTICATION_REJECT;
                return RLM_MODULE_REJECT;
@@ -423,10 +419,7 @@ static rlm_rcode_t exec_postauth(void *instance, REQUEST *request)
                 */
                request->reply->code = PW_AUTHENTICATION_REJECT;
                
-               RDEBUG2("%s", module_failure_msg(request, "rlm_exec (%s): "
-                                                "Login incorrect (external "
-                                                "check said so)",
-                                                inst->xlat_name));
+               RDEBUGE("Login incorrect (external check said so)");
                return RLM_MODULE_REJECT;
        }