*/
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)) {
/*
* 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.
* 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) {
* 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];
}
DEBUG("Proxying to virtual server %s",
- request->home_server->server);
+ request->home_server->virtual_server);
/*
* Packets to virtual servers don't get
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 */
*
* 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.
* 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);
* 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
* 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;
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;
{ "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" },
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;
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));
} 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;
}
*/
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.
#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;
}
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;
}
/*
* 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;
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;
home->src_ipaddr.af = home->ipaddr.af;
} else {
home->ipaddr.af = AF_UNSPEC;
- home->server = server;
+ home->virtual_server = server;
}
talloc_free(q);
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;
#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);
}
#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);
}
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);
}
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;