]> 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>
Thu, 22 Jul 2021 13:55:23 +0000 (09:55 -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 5d2213711960c6a3961b651b7f6e3771ee26cb26..a26491098ee9dce464766922687f04458451b742 100644 (file)
@@ -69,7 +69,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 2e64c9bdee52a9cf48ee037f9bd1c6d26af213a2..f0496a3fc40ba7c68ae24e7cf890794f295f33ee 100644 (file)
@@ -805,7 +805,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
 
@@ -2921,7 +2921,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 f10c6094c2eb2081119c42c136395a58144dc0d2..63b2a6d24c97f64eba0c6e3b077fd38f155c9521 100644 (file)
@@ -1652,7 +1652,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)) {
@@ -2450,7 +2450,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.
@@ -2541,8 +2541,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) {
@@ -3321,8 +3321,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];
@@ -3381,7 +3381,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
@@ -3396,7 +3396,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 */
 
@@ -3465,7 +3465,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.
@@ -3594,7 +3594,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);
 
@@ -4071,7 +4071,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
@@ -4494,8 +4494,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 25e298b151fcd9daef936e5fbbe577676c0fc2fc..0f3ee3e606e39fb693e4c7858fd790d2d138aa80 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;
@@ -453,7 +453,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" },
 
@@ -605,7 +605,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;
@@ -647,7 +647,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));
@@ -770,7 +770,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;
                }
@@ -782,13 +782,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.
@@ -819,7 +819,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;
                        }
@@ -913,7 +913,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;
        }
@@ -980,7 +980,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;
@@ -1424,7 +1424,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;
@@ -1710,7 +1710,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);
 
@@ -2870,7 +2870,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;
@@ -2969,7 +2969,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);
 }
@@ -2993,7 +2993,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);
 }
@@ -3018,7 +3018,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);
 }
@@ -3079,7 +3079,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;