More WITH_PROXY additions to build when proxying isn't used.
authoraland <aland>
Thu, 5 Jun 2008 10:02:52 +0000 (10:02 +0000)
committeraland <aland>
Thu, 5 Jun 2008 10:02:52 +0000 (10:02 +0000)
src/main/acct.c
src/main/auth.c
src/main/evaluate.c
src/main/event.c
src/main/util.c
src/main/xlat.c

index 91ff87e..4bb552f 100644 (file)
@@ -39,10 +39,17 @@ int rad_accounting(REQUEST *request)
 {
        int result = RLM_MODULE_OK;
 
+
+#ifdef WITH_PROXY
+#define WAS_PROXIED (request->proxy)
+#else
+#define WAS_PROXIED (0)
+#endif
+
        /*
         *      Run the modules only once, before proxying.
         */
-       if (!request->proxy) {
+       if (!WAS_PROXIED) {
                VALUE_PAIR      *vp;
                int             acct_type = 0;
 
index fcf18ce..8300528 100644 (file)
@@ -188,7 +188,11 @@ static int rad_check_password(REQUEST *request)
         *  that means it is accepted and we do no further
         *  authentication
         */
-       if ((auth_type == PW_AUTHTYPE_ACCEPT) || (request->proxy)) {
+       if ((auth_type == PW_AUTHTYPE_ACCEPT)
+#ifdef WITH_PROXY
+           || (request->proxy)
+#endif
+           ) {
                DEBUG2("  rad_check_password: Auth-Type = Accept, accepting the user");
                return 0;
        }
@@ -460,6 +464,7 @@ int rad_authenticate(REQUEST *request)
 
        password = "";
 
+#ifdef WITH_PROXY
        /*
         *      If this request got proxied to another server, we need
         *      to check whether it authenticated the request or not.
@@ -499,6 +504,7 @@ int rad_authenticate(REQUEST *request)
                        return RLM_MODULE_REJECT;
                }
        }
+#endif
 
        /*
         *      Get the username from the request.
@@ -586,7 +592,10 @@ autz_redo:
         *      modules has decided that a proxy should be used. If
         *      so, get out of here and send the packet.
         */
-       if ((request->proxy == NULL) &&
+       if (
+#ifdef WITH_PROXY
+           (request->proxy == NULL) &&
+#endif
            ((tmp = pairfind(request->config_items, PW_PROXY_TO_REALM)) != NULL)) {
                REALM *realm;
 
@@ -614,7 +623,10 @@ autz_redo:
                }
        }
 
+#ifdef WITH_PROXY
  authenticate:
+#endif
+
        /*
         *      Perhaps there is a Stripped-User-Name now.
         */
index 18694b1..d33944b 100644 (file)
@@ -233,6 +233,7 @@ static int radius_get_vp(REQUEST *request, const char *name, VALUE_PAIR **vp_p)
                vp_name += 6;
                vps = myrequest->reply->vps;
 
+#ifdef WITH_PROXY
        } else if (strncmp(vp_name, "proxy-request:", 14) == 0) {
                vp_name += 14;
                if (request->proxy) vps = myrequest->proxy->vps;
@@ -240,6 +241,7 @@ static int radius_get_vp(REQUEST *request, const char *name, VALUE_PAIR **vp_p)
        } else if (strncmp(vp_name, "proxy-reply:", 12) == 0) {
                vp_name += 12;
                if (request->proxy_reply) vps = myrequest->proxy_reply->vps;
+#endif
 
        } else if (strncmp(vp_name, "config:", 7) == 0) {
                vp_name += 7;
@@ -1169,11 +1171,13 @@ int radius_update_attrlist(REQUEST *request, CONF_SECTION *cs,
        } else if (strcmp(name, "reply") == 0) {
                output_vps = &request_vps->reply->vps;
 
+#ifdef WITH_PROXY
        } else if (strcmp(name, "proxy-request") == 0) {
                if (request->proxy) output_vps = &request_vps->proxy->vps;
 
        } else if (strcmp(name, "proxy-reply") == 0) {
                if (request->proxy_reply) output_vps = &request->proxy_reply->vps;
+#endif
 
        } else if (strcmp(name, "config") == 0) {
                output_vps = &request_vps->config_items;
index 4654212..d0ce959 100644 (file)
@@ -1163,13 +1163,16 @@ static int request_pre_handler(REQUEST *request)
                return 1;
        }
 
+#ifdef WITH_PROXY
        /*
         *      Put the decoded packet into it's proper place.
         */
        if (request->proxy_reply != NULL) {
                rcode = request->proxy_listener->decode(request->proxy_listener,
                                                        request);
-       } else if (request->packet->vps == NULL) {
+       } else
+#endif
+       if (request->packet->vps == NULL) {
                rcode = request->listener->decode(request->listener, request);
 
        } else {
@@ -1182,8 +1185,11 @@ static int request_pre_handler(REQUEST *request)
                return 0;
        }
 
-       if (!request->proxy) {
-               request->username = pairfind(request->packet->vps,
+#ifdef WITH_PROXY
+       if (!request->proxy)
+#endif
+         {
+                 request->username = pairfind(request->packet->vps,
                                             PW_USER_NAME);
 
 #ifdef WITH_PROXY
index bfd3e48..3589e09 100644 (file)
@@ -200,14 +200,18 @@ void request_free(REQUEST **request_ptr)
        if (request->packet)
                rad_free(&request->packet);
 
+#ifdef WITH_PROXY
        if (request->proxy)
                rad_free(&request->proxy);
+#endif
 
        if (request->reply)
                rad_free(&request->reply);
 
+#ifdef WITH_PROXY
        if (request->proxy_reply)
                rad_free(&request->proxy_reply);
+#endif
 
        if (request->config_items)
                pairfree(&request->config_items);
@@ -238,7 +242,9 @@ void request_free(REQUEST **request_ptr)
        request->magic = 0x01020304;    /* set the request to be nonsense */
 #endif
        request->client = NULL;
+#ifdef WITH_PROXY
        request->home_server = NULL;
+#endif
        free(request);
 
        *request_ptr = NULL;
@@ -354,9 +360,13 @@ REQUEST *request_alloc(void)
 #ifndef NDEBUG
        request->magic = REQUEST_MAGIC;
 #endif
+#ifdef WITH_PROXY
        request->proxy = NULL;
+#endif
        request->reply = NULL;
+#ifdef WITH_PROXY
        request->proxy_reply = NULL;
+#endif
        request->config_items = NULL;
        request->username = NULL;
        request->password = NULL;
index 721b0c9..ce7da9e 100644 (file)
@@ -122,13 +122,17 @@ static size_t xlat_packet(void *instance, REQUEST *request,
                break;
 
        case 3:
+#ifdef WITH_PROXY
                if (request->proxy) vps = request->proxy->vps;
                packet = request->proxy;
+#endif
                break;
 
        case 4:
+#ifdef WITH_PROXY
                if (request->proxy_reply) vps = request->proxy_reply->vps;
                packet = request->proxy_reply;
+#endif
                break;
 
        case 5: