PATCH: winxp reauth

Gunter Burchardt gbur
Wed Aug 18 01:11:26 PDT 2004


Hello

I'm using hostapd with WPA-Enterprise and low reauth timer
(eap_reauth_period=60). After 60 seconds hostapd initiate a
reauthentication. Authentication works fine, but after 5 seconds
windows lose connection. Whithin this 5 seconds WinXP expect a
4-Way-Handshake but hostapd didn't initiate one!

This patch solfes the problem. I didn't have 802.11i specification
here, so i didn't know whether its ok i have done. The Reauthentication
Timer state machine forces WPA_PTK state machine to state
AUTHENTICATION. sm->sta->eapol_sm->keyAvailable is set to FALSE after a
successfull 4-way handshake.

Comments and hints were welcome!

regards
gunter
-------------- next part --------------
diff -Nur hostap.old/hostapd/eapol_sm.c hostap/hostapd/eapol_sm.c
--- hostap.old/hostapd/eapol_sm.c	2004-07-30 06:05:31.000000000 +0200
+++ hostap/hostapd/eapol_sm.c	2004-08-18 09:51:41.000000000 +0200
@@ -492,6 +492,9 @@
 	SM_ENTRY(REAUTH_TIMER, REAUTHENTICATE, reauth_timer);
 
 	sm->reAuthenticate = TRUE;
+	if (sm->sta->wpa_sm)
+		sm->sta->wpa_sm->AuthenticationRequest = TRUE;
+	
 }
 
 
diff -Nur hostap.old/hostapd/wpa.c hostap/hostapd/wpa.c
--- hostap.old/hostapd/wpa.c	2004-08-10 03:01:20.000000000 +0200
+++ hostap/hostapd/wpa.c	2004-08-18 09:38:11.000000000 +0200
@@ -2159,6 +2159,7 @@
 		sm->sta->eapol_sm->keyDone = TRUE;
 	if (sm->sta->wpa == WPA_VERSION_WPA)
 		sm->PInitAKeys = TRUE;
+	sm->sta->eapol_sm->keyAvailable = FALSE;
 	hostapd_logger(sm->hapd, sm->sta->addr, HOSTAPD_MODULE_WPA,
 		       HOSTAPD_LEVEL_INFO, "pairwise key handshake completed");
 }



More information about the Hostap mailing list