From: Jouni Malinen Date: Fri, 30 May 2014 08:33:01 +0000 (+0300) Subject: RADIUS client: Do not try to send message without socket X-Git-Tag: hostap_2_2~45 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9ed40766735a9628cc6c936076b175e6f66534bb;p=thirdparty%2Fhostap.git RADIUS client: Do not try to send message without socket It is possible for the RADIUS authentication/accounting socket to not be open even if partial RADIUS server configuration has been done through the control interface SET commands. Previously, this resulted in send() attempt using fd=-1 which fails with bad file descriptor. Clean this up by logging this as a missing configuration instead of trying to send the message when that is known to fail. Signed-off-by: Jouni Malinen --- diff --git a/src/radius/radius_client.c b/src/radius/radius_client.c index 762599668..5199da7f4 100644 --- a/src/radius/radius_client.c +++ b/src/radius/radius_client.c @@ -633,7 +633,7 @@ int radius_client_send(struct radius_client_data *radius, } if (msg_type == RADIUS_ACCT || msg_type == RADIUS_ACCT_INTERIM) { - if (conf->acct_server == NULL) { + if (conf->acct_server == NULL || radius->acct_sock < 0) { hostapd_logger(radius->ctx, NULL, HOSTAPD_MODULE_RADIUS, HOSTAPD_LEVEL_INFO, @@ -647,7 +647,7 @@ int radius_client_send(struct radius_client_data *radius, s = radius->acct_sock; conf->acct_server->requests++; } else { - if (conf->auth_server == NULL) { + if (conf->auth_server == NULL || radius->auth_sock < 0) { hostapd_logger(radius->ctx, NULL, HOSTAPD_MODULE_RADIUS, HOSTAPD_LEVEL_INFO,