From: Alan T. DeKok Date: Fri, 2 Apr 2021 19:26:21 +0000 (-0400) Subject: use better names for home->virtual_server X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4fdfa87bb9d8e248cf5b9dd29e5c16ea593166e4;p=thirdparty%2Ffreeradius-server.git use better names for home->virtual_server and set home->recv_coa_server, too? --- diff --git a/src/include/realms.h b/src/include/realms.h index 355a87da50..2f667866e3 100644 --- a/src/include/realms.h +++ b/src/include/realms.h @@ -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. diff --git a/src/main/listen.c b/src/main/listen.c index 147e866a95..5b8110ac00 100644 --- a/src/main/listen.c +++ b/src/main/listen.c @@ -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)) { diff --git a/src/main/process.c b/src/main/process.c index 5e8046a620..193e2e8bab 100644 --- a/src/main/process.c +++ b/src/main/process.c @@ -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; diff --git a/src/main/realms.c b/src/main/realms.c index a4bc68828a..c33ea53cb1 100644 --- a/src/main/realms.c +++ b/src/main/realms.c @@ -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;