aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2010-03-13 19:40:44 (GMT)
committerJouni Malinen <j@w1.fi>2010-03-13 19:40:44 (GMT)
commit5d5a9f00214c91584921187912b74af87e2911b9 (patch)
tree7c311413db4cc94318dc365a65ab76ea56619109
parent62c72d729997c57df821764a7b287efffc5b32e7 (diff)
downloadhostap-5d5a9f00214c91584921187912b74af87e2911b9.zip
hostap-5d5a9f00214c91584921187912b74af87e2911b9.tar.gz
hostap-5d5a9f00214c91584921187912b74af87e2911b9.tar.bz2
FT: Clean EAPOL supp portValid to force re-entry to AUTHENTICATED
This fixed FT-over-DS to end up in Authorized state when the EAPOL PAE state machine re-enters AUTHENTICATED.
-rw-r--r--src/rsn_supp/wpa.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
index 7401519..df0688c 100644
--- a/src/rsn_supp/wpa.c
+++ b/src/rsn_supp/wpa.c
@@ -1,6 +1,6 @@
/*
* WPA Supplicant - WPA state machine and EAPOL-Key processing
- * Copyright (c) 2003-2008, Jouni Malinen <j@w1.fi>
+ * Copyright (c) 2003-2010, Jouni Malinen <j@w1.fi>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@@ -1874,6 +1874,11 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
#ifdef CONFIG_IEEE80211R
if (wpa_ft_is_completed(sm)) {
+ /*
+ * Clear portValid to kick EAPOL state machine to re-enter
+ * AUTHENTICATED state to get the EAPOL port Authorized.
+ */
+ eapol_sm_notify_portValid(sm->eapol, FALSE);
wpa_supplicant_key_neg_complete(sm, sm->bssid, 1);
/* Prepare for the next transition */