RADIUS: Simplify radius_change_server() parameters

There is no need for passing the sock and sock6 parameters separately
since they were always the same values for auth == 0 or auth == 1 cases.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2024-02-25 17:25:15 +02:00
parent 3386e1327e
commit 971b781479

View file

@ -249,7 +249,7 @@ static int
radius_change_server(struct radius_client_data *radius, radius_change_server(struct radius_client_data *radius,
struct hostapd_radius_server *nserv, struct hostapd_radius_server *nserv,
struct hostapd_radius_server *oserv, struct hostapd_radius_server *oserv,
int sock, int sock6, int auth); int auth);
static int radius_client_init_acct(struct radius_client_data *radius); static int radius_client_init_acct(struct radius_client_data *radius);
static int radius_client_init_auth(struct radius_client_data *radius); static int radius_client_init_auth(struct radius_client_data *radius);
static void radius_client_auth_failover(struct radius_client_data *radius); static void radius_client_auth_failover(struct radius_client_data *radius);
@ -598,9 +598,7 @@ static void radius_client_auth_failover(struct radius_client_data *radius)
if (next > &(conf->auth_servers[conf->num_auth_servers - 1])) if (next > &(conf->auth_servers[conf->num_auth_servers - 1]))
next = conf->auth_servers; next = conf->auth_servers;
conf->auth_server = next; conf->auth_server = next;
radius_change_server(radius, next, old, radius_change_server(radius, next, old, 1);
radius->auth_serv_sock,
radius->auth_serv_sock6, 1);
} }
@ -628,9 +626,7 @@ static void radius_client_acct_failover(struct radius_client_data *radius)
if (next > &conf->acct_servers[conf->num_acct_servers - 1]) if (next > &conf->acct_servers[conf->num_acct_servers - 1])
next = conf->acct_servers; next = conf->acct_servers;
conf->acct_server = next; conf->acct_server = next;
radius_change_server(radius, next, old, radius_change_server(radius, next, old, 0);
radius->acct_serv_sock,
radius->acct_serv_sock6, 0);
} }
@ -1071,7 +1067,7 @@ static int
radius_change_server(struct radius_client_data *radius, radius_change_server(struct radius_client_data *radius,
struct hostapd_radius_server *nserv, struct hostapd_radius_server *nserv,
struct hostapd_radius_server *oserv, struct hostapd_radius_server *oserv,
int sock, int sock6, int auth) int auth)
{ {
struct sockaddr_in serv, claddr; struct sockaddr_in serv, claddr;
#ifdef CONFIG_IPV6 #ifdef CONFIG_IPV6
@ -1080,6 +1076,8 @@ radius_change_server(struct radius_client_data *radius,
struct sockaddr *addr, *cl_addr; struct sockaddr *addr, *cl_addr;
socklen_t addrlen, claddrlen; socklen_t addrlen, claddrlen;
char abuf[50]; char abuf[50];
int sock = auth ? radius->auth_serv_sock : radius->acct_serv_sock;
int sock6 = auth ? radius->auth_serv_sock6 : radius->acct_serv_sock6;
int sel_sock; int sel_sock;
struct radius_msg_list *entry; struct radius_msg_list *entry;
struct hostapd_radius_servers *conf = radius->conf; struct hostapd_radius_servers *conf = radius->conf;
@ -1276,12 +1274,10 @@ static void radius_retry_primary_timer(void *eloop_ctx, void *timeout_ctx)
oserv = conf->auth_server; oserv = conf->auth_server;
conf->auth_server = conf->auth_servers; conf->auth_server = conf->auth_servers;
if (radius_change_server(radius, conf->auth_server, oserv, if (radius_change_server(radius, conf->auth_server, oserv,
radius->auth_serv_sock, 1) < 0) {
radius->auth_serv_sock6, 1) < 0) {
conf->auth_server = oserv; conf->auth_server = oserv;
radius_change_server(radius, oserv, conf->auth_server, radius_change_server(radius, oserv, conf->auth_server,
radius->auth_serv_sock, 1);
radius->auth_serv_sock6, 1);
} }
} }
@ -1290,12 +1286,10 @@ static void radius_retry_primary_timer(void *eloop_ctx, void *timeout_ctx)
oserv = conf->acct_server; oserv = conf->acct_server;
conf->acct_server = conf->acct_servers; conf->acct_server = conf->acct_servers;
if (radius_change_server(radius, conf->acct_server, oserv, if (radius_change_server(radius, conf->acct_server, oserv,
radius->acct_serv_sock, 0) < 0) {
radius->acct_serv_sock6, 0) < 0) {
conf->acct_server = oserv; conf->acct_server = oserv;
radius_change_server(radius, oserv, conf->acct_server, radius_change_server(radius, oserv, conf->acct_server,
radius->acct_serv_sock, 0);
radius->acct_serv_sock6, 0);
} }
} }
@ -1388,9 +1382,7 @@ static int radius_client_init_auth(struct radius_client_data *radius)
if (ok == 0) if (ok == 0)
return -1; return -1;
radius_change_server(radius, conf->auth_server, NULL, radius_change_server(radius, conf->auth_server, NULL, 1);
radius->auth_serv_sock, radius->auth_serv_sock6,
1);
if (radius->auth_serv_sock >= 0 && if (radius->auth_serv_sock >= 0 &&
eloop_register_read_sock(radius->auth_serv_sock, eloop_register_read_sock(radius->auth_serv_sock,
@ -1444,9 +1436,7 @@ static int radius_client_init_acct(struct radius_client_data *radius)
if (ok == 0) if (ok == 0)
return -1; return -1;
radius_change_server(radius, conf->acct_server, NULL, radius_change_server(radius, conf->acct_server, NULL, 0);
radius->acct_serv_sock, radius->acct_serv_sock6,
0);
if (radius->acct_serv_sock >= 0 && if (radius->acct_serv_sock >= 0 &&
eloop_register_read_sock(radius->acct_serv_sock, eloop_register_read_sock(radius->acct_serv_sock,