aboutsummaryrefslogtreecommitdiffstats
path: root/src/radius
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2009-12-19 18:51:10 +0200
committerJouni Malinen <j@w1.fi>2009-12-19 18:52:15 +0200
commitf481459f5e3eb24932057b88fea32b4576cccfc7 (patch)
tree0c3c19ba84a97127f0d597a03b91fbe6b05732f4 /src/radius
parent930f704aacaf90b3f9119099aa1dc22f02818796 (diff)
downloadexternal_wpa_supplicant_8_ti-f481459f5e3eb24932057b88fea32b4576cccfc7.zip
external_wpa_supplicant_8_ti-f481459f5e3eb24932057b88fea32b4576cccfc7.tar.gz
external_wpa_supplicant_8_ti-f481459f5e3eb24932057b88fea32b4576cccfc7.tar.bz2
Fix RADIUS server deinit to cancel timeout for session removal
Diffstat (limited to 'src/radius')
-rw-r--r--src/radius/radius_server.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/radius/radius_server.c b/src/radius/radius_server.c
index 93710f9..b1790c4 100644
--- a/src/radius/radius_server.c
+++ b/src/radius/radius_server.c
@@ -296,7 +296,8 @@ wpa_hexdump_ascii(MSG_MSGDUMP, "RADIUS SRV: " args)
static void radius_server_session_timeout(void *eloop_ctx, void *timeout_ctx);
-
+static void radius_server_session_remove_timeout(void *eloop_ctx,
+ void *timeout_ctx);
static struct radius_client *
@@ -358,6 +359,7 @@ static void radius_server_session_free(struct radius_server_data *data,
struct radius_session *sess)
{
eloop_cancel_timeout(radius_server_session_timeout, data, sess);
+ eloop_cancel_timeout(radius_server_session_remove_timeout, data, sess);
eap_server_sm_deinit(sess->eap);
radius_msg_free(sess->last_msg);
os_free(sess->last_from_addr);
@@ -367,9 +369,6 @@ static void radius_server_session_free(struct radius_server_data *data,
}
-static void radius_server_session_remove_timeout(void *eloop_ctx,
- void *timeout_ctx);
-
static void radius_server_session_remove(struct radius_server_data *data,
struct radius_session *sess)
{