]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
use better names for home->virtual_server
authorAlan T. DeKok <aland@freeradius.org>
Fri, 2 Apr 2021 19:26:21 +0000 (15:26 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 2 Apr 2021 19:26:21 +0000 (15:26 -0400)
and set home->recv_coa_server, too?

src/include/realms.h
src/main/listen.c
src/main/process.c
src/main/realms.c

index 355a87da508b45fe300b530ac93722329b92ced1..2f667866e30832c97901c550449941ce608a3ba1 100644 (file)
@@ -68,7 +68,7 @@ typedef struct home_server {
 #ifdef WITH_COA_TUNNEL
        bool                    recv_coa;               //!< receive CoA packets, too
 #endif
-       char const              *server;                //!< For internal proxying
+       char const              *virtual_server;                //!< For internal proxying
        char const              *parent_server;
 
        fr_ipaddr_t             ipaddr;                 //!< IP address of home server.
index 147e866a9550ccde2c3dc8da9c82e739b31251a7..5b8110ac00e98eeb58a9be10aa0f2e6c54252993 100644 (file)
@@ -768,7 +768,7 @@ static int dual_tcp_accept(rad_listen_t *listener)
                home->coa_mrt = this->coa_mrt;
                home->coa_mrc = this->coa_mrc;
                home->coa_mrd = this->coa_mrd;
-               home->server = this->server;
+               home->recv_coa_server = this->server;
        }
 #endif
 
@@ -2884,7 +2884,7 @@ rad_listen_t *proxy_new_listener(TALLOC_CTX *ctx, home_server_t *home, uint16_t
 
        if (!home) return NULL;
 
-       rad_assert(home->server == NULL); /* we only open real sockets */
+       rad_assert(home->virtual_server == NULL); /* we only open real sockets */
 
        if ((home->limit.max_connections > 0) &&
            (home->limit.num_connections >= home->limit.max_connections)) {
index 5e8046a62087ad5f766f829522f6e31a7269845e..193e2e8babd093848e24d661dbd57c2d95b90d35 100644 (file)
@@ -1647,7 +1647,7 @@ static void request_running(REQUEST *request, int action)
                         */
                retry_proxy:
                        if (request_proxy(request) < 0) {
-                               if (request->home_server && request->home_server->server) goto req_finished;
+                               if (request->home_server && request->home_server->virtual_server) goto req_finished;
 
                                if (request->home_pool && request->home_server &&
                                    (request->home_server->state >= HOME_STATE_IS_DEAD)) {
@@ -2445,7 +2445,7 @@ static int process_proxy_reply(REQUEST *request, RADIUS_PACKET *reply)
        /*
         *      There may be a proxy reply, but it may be too late.
         */
-       if ((request->home_server && !request->home_server->server) && !request->proxy_listener) return 0;
+       if ((request->home_server && !request->home_server->virtual_server) && !request->proxy_listener) return 0;
 
        /*
         *      Delete any reply we had accumulated until now.
@@ -2536,8 +2536,8 @@ static int process_proxy_reply(REQUEST *request, RADIUS_PACKET *reply)
         *      home server pool.
         */
        old_server = request->server;
-       if (request->home_server && request->home_server->server) {
-               request->server = request->home_server->server;
+       if (request->home_server && request->home_server->virtual_server) {
+               request->server = request->home_server->virtual_server;
 
 #ifdef WITH_COA_TUNNEL
        } else if (request->home_server && request->home_server->recv_coa_server) {
@@ -3316,8 +3316,8 @@ add_proxy_state:
         *      home server pool.
         */
        old_server = request->server;
-       if (request->home_server && request->home_server->server) {
-               request->server = request->home_server->server;
+       if (request->home_server && request->home_server->virtual_server) {
+               request->server = request->home_server->virtual_server;
 
        } else {
                char buffer[128];
@@ -3376,7 +3376,7 @@ static int proxy_to_virtual_server(REQUEST *request)
        }
 
        DEBUG("Proxying to virtual server %s",
-             request->home_server->server);
+             request->home_server->virtual_server);
 
        /*
         *      Packets to virtual servers don't get
@@ -3391,7 +3391,7 @@ static int proxy_to_virtual_server(REQUEST *request)
        fake->packet->vps = fr_pair_list_copy(fake->packet, request->packet->vps);
        talloc_free(request->proxy);
 
-       fake->server = request->home_server->server;
+       fake->server = request->home_server->virtual_server;
        fake->handle = request->handle;
        fake->process = NULL; /* should never be run for anything */
 
@@ -3460,7 +3460,7 @@ static int request_proxy(REQUEST *request)
         *
         *      So, we have some horrible hacks to get around that.
         */
-       if (request->home_server->server) return proxy_to_virtual_server(request);
+       if (request->home_server->virtual_server) return proxy_to_virtual_server(request);
 
        /*
         *      We're actually sending a proxied packet.  Do that now.
@@ -3589,7 +3589,7 @@ static int request_proxy_anew(REQUEST *request)
         *      If so, run that instead of doing proxying to a real
         *      server.
         */
-       if (home->server) {
+       if (home->virtual_server) {
                request->home_server = home;
                TALLOC_FREE(request->proxy);
 
@@ -4056,7 +4056,7 @@ static void proxy_wait_for_reply(REQUEST *request, int action)
                 *      The request was proxied to a virtual server.
                 *      Ignore the retransmit.
                 */
-               if (request->home_server->server) return;
+               if (request->home_server->virtual_server) return;
 
                /*
                 *      Failed connections get the home server marked
@@ -4479,8 +4479,8 @@ set_packet_type:
         *      home server pool.
         */
        old_server = request->server;
-       if (coa->home_server && coa->home_server->server) {
-               coa->server = coa->home_server->server;
+       if (coa->home_server && coa->home_server->virtual_server) {
+               coa->server = coa->home_server->virtual_server;
 
        } else if (coa->home_pool && coa->home_pool->virtual_server) {
                coa->server = coa->home_pool->virtual_server;
index a4bc68828a2daaf3c2ed0120ed17d91915397379..c33ea53cb18b20d7405c5dfe75c6c48cbd1d9bde 100644 (file)
@@ -163,12 +163,12 @@ static int home_server_addr_cmp(void const *one, void const *two)
        home_server_t const *a = one;
        home_server_t const *b = two;
 
-       if (a->server && !b->server) return -1;
-       if (!a->server && b->server) return +1;
-       if (a->server && b->server) {
+       if (a->virtual_server && !b->virtual_server) return -1;
+       if (!a->virtual_server && b->virtual_server) return +1;
+       if (a->virtual_server && b->virtual_server) {
                rcode = a->type - b->type;
                if (rcode != 0) return rcode;
-               return strcmp(a->server, b->server);
+               return strcmp(a->virtual_server, b->virtual_server);
        }
 
        if (a->port < b->port) return -1;
@@ -449,7 +449,7 @@ static CONF_PARSER home_server_config[] = {
        { "ipaddr", FR_CONF_OFFSET(PW_TYPE_COMBO_IP_ADDR, home_server_t, ipaddr), NULL },
        { "ipv4addr", FR_CONF_OFFSET(PW_TYPE_IPV4_ADDR, home_server_t, ipaddr), NULL },
        { "ipv6addr", FR_CONF_OFFSET(PW_TYPE_IPV6_ADDR, home_server_t, ipaddr), NULL },
-       { "virtual_server", FR_CONF_OFFSET(PW_TYPE_STRING | PW_TYPE_NOT_EMPTY, home_server_t, server), NULL },
+       { "virtual_server", FR_CONF_OFFSET(PW_TYPE_STRING | PW_TYPE_NOT_EMPTY, home_server_t, virtual_server), NULL },
 
        { "port", FR_CONF_OFFSET(PW_TYPE_SHORT, home_server_t, port), "0" },
 
@@ -601,7 +601,7 @@ static bool home_server_insert(home_server_t *home, CONF_SECTION *cs)
                return false;
        }
 
-       if (!home->server && !rbtree_insert(home_servers_byaddr, home)) {
+       if (!home->virtual_server && !rbtree_insert(home_servers_byaddr, home)) {
                rbtree_deletebydata(home_servers_byname, home);
                cf_log_err_cs(cs, "Internal error %d adding home server %s", __LINE__, home->log_name);
                return false;
@@ -643,7 +643,7 @@ bool realm_home_server_add(home_server_t *home)
                return false;
        }
 
-       if (!home->server && (rbtree_finddata(home_servers_byaddr, home) != NULL)) {
+       if (!home->virtual_server && (rbtree_finddata(home_servers_byaddr, home) != NULL)) {
                char buffer[INET6_ADDRSTRLEN + 3];
 
                inet_ntop(home->ipaddr.af, &home->ipaddr.ipaddr, buffer, sizeof(buffer));
@@ -766,7 +766,7 @@ home_server_t *home_server_afrom_cs(TALLOC_CTX *ctx, realm_config_t *rc, CONF_SE
        } else if (cf_pair_find(cs, "virtual_server") != NULL) {
                home->ipaddr.af = AF_UNSPEC;    /* mark ipaddr as unused */
 
-               if (!home->server) {
+               if (!home->virtual_server) {
                        cf_log_err_cs(cs, "Invalid value for virtual_server");
                        goto error;
                }
@@ -778,13 +778,13 @@ home_server_t *home_server_afrom_cs(TALLOC_CTX *ctx, realm_config_t *rc, CONF_SE
                 */
                if (!rc) goto error;
 
-               if (!cf_section_sub_find_name2(rc->cs, "server", home->server)) {
-                       cf_log_err_cs(cs, "No such server %s", home->server);
+               if (!cf_section_sub_find_name2(rc->cs, "server", home->virtual_server)) {
+                       cf_log_err_cs(cs, "No such server %s", home->virtual_server);
                        goto error;
                }
 
                home->secret = "";
-               home->log_name = talloc_typed_strdup(home, home->server);
+               home->log_name = talloc_typed_strdup(home, home->virtual_server);
        /*
         *      Otherwise it's an invalid config section and we
         *      raise an error.
@@ -815,7 +815,7 @@ home_server_t *home_server_afrom_cs(TALLOC_CTX *ctx, realm_config_t *rc, CONF_SE
 
 #ifdef WITH_COA
                case HOME_TYPE_COA:
-                       if (home->server != NULL) {
+                       if (home->virtual_server != NULL) {
                                cf_log_err_cs(cs, "Home servers of type \"coa\" cannot point to a virtual server");
                                goto error;
                        }
@@ -909,7 +909,7 @@ home_server_t *home_server_afrom_cs(TALLOC_CTX *ctx, realm_config_t *rc, CONF_SE
                home->proto = proto;
        }
 
-       if (!home->server && rbtree_finddata(home_servers_byaddr, home)) {
+       if (!home->virtual_server && rbtree_finddata(home_servers_byaddr, home)) {
                cf_log_err_cs(cs, "Duplicate home server");
                goto error;
        }
@@ -976,7 +976,7 @@ home_server_t *home_server_afrom_cs(TALLOC_CTX *ctx, realm_config_t *rc, CONF_SE
        /*
         *      Virtual servers have some TLS restrictions.
         */
-       if (home->server) {
+       if (home->virtual_server) {
                if (tls) {
                        cf_log_err_cs(cs, "Virtual home_servers cannot have a \"tls\" subsection");
                        goto error;
@@ -1420,7 +1420,7 @@ static int server_pool_add(realm_config_t *rc,
                        goto error;
                }
 
-               if (!pool->fallback->server) {
+               if (!pool->fallback->virtual_server) {
                        cf_log_err_cs(cs, "Fallback home_server %s does NOT contain a virtual_server directive",
                                      pool->fallback->log_name);
                        goto error;
@@ -1706,7 +1706,7 @@ static int old_server_add(realm_config_t *rc, CONF_SECTION *cs,
                        home->src_ipaddr.af = home->ipaddr.af;
                } else {
                        home->ipaddr.af = AF_UNSPEC;
-                       home->server = server;
+                       home->virtual_server = server;
                }
                talloc_free(q);
 
@@ -2866,7 +2866,7 @@ home_server_t *home_server_ldb(char const *realmname,
                found = pool->fallback;
 
                WARN("Home server pool %s failing over to fallback %s",
-                     pool->name, found->server);
+                     pool->name, found->virtual_server);
                if (pool->in_fallback) goto update_and_return;
 
                pool->in_fallback = true;
@@ -2965,7 +2965,7 @@ home_server_t *home_server_find(fr_ipaddr_t *ipaddr, uint16_t port,
 #else
        myhome.proto = IPPROTO_UDP;
 #endif
-       myhome.server = NULL;   /* we're not called for internal proxying */
+       myhome.virtual_server = NULL;   /* we're not called for internal proxying */
 
        return rbtree_finddata(home_servers_byaddr, &myhome);
 }
@@ -2989,7 +2989,7 @@ home_server_t *home_server_find_bysrc(fr_ipaddr_t *ipaddr, uint16_t port,
 #else
        myhome.proto = IPPROTO_UDP;
 #endif
-       myhome.server = NULL;   /* we're not called for internal proxying */
+       myhome.virtual_server = NULL;   /* we're not called for internal proxying */
 
        return rbtree_finddata(home_servers_byaddr, &myhome);
 }
@@ -3014,7 +3014,7 @@ home_server_t *home_server_bynumber(int number)
 
        memset(&myhome, 0, sizeof(myhome));
        myhome.number = number;
-       myhome.server = NULL;   /* we're not called for internal proxying */
+       myhome.virtual_server = NULL;   /* we're not called for internal proxying */
 
        return rbtree_finddata(home_servers_bynumber, &myhome);
 }
@@ -3075,7 +3075,7 @@ int home_server_afrom_file(char const *filename)
 
        home->dynamic = true;
 
-       if (home->server || home->dual) {
+       if (home->virtual_server || home->dual) {
                fr_strerror_printf("Dynamic home_server '%s' cannot have 'server' or 'auth+acct'", p);
                talloc_free(home);
                goto error;