diff --git a/src/radius/radius_client.c b/src/radius/radius_client.c index 34f568532..5c81cab0a 100644 --- a/src/radius/radius_client.c +++ b/src/radius/radius_client.c @@ -658,6 +658,9 @@ int radius_client_send(struct radius_client_data *radius, } if (msg_type == RADIUS_ACCT || msg_type == RADIUS_ACCT_INTERIM) { + if (conf->acct_server && radius->acct_sock < 0) + radius_client_init_acct(radius); + if (conf->acct_server == NULL || radius->acct_sock < 0 || conf->acct_server->shared_secret == NULL) { hostapd_logger(radius->ctx, NULL, @@ -673,6 +676,9 @@ int radius_client_send(struct radius_client_data *radius, s = radius->acct_sock; conf->acct_server->requests++; } else { + if (conf->auth_server && radius->auth_sock < 0) + radius_client_init_auth(radius); + if (conf->auth_server == NULL || radius->auth_sock < 0 || conf->auth_server->shared_secret == NULL) { hostapd_logger(radius->ctx, NULL,