aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2008-11-30 14:54:16 (GMT)
committerJouni Malinen <j@w1.fi>2008-11-30 14:54:16 (GMT)
commit0a40ec6a9059e7893970ff65554beac4782ecec4 (patch)
tree4c1ab60bee5e2a220c10fea34ba07025755214a8 /wpa_supplicant
parent351f09a2218263ccee52c0f73ab7863a7364cf42 (diff)
downloadhostap-06-0a40ec6a9059e7893970ff65554beac4782ecec4.zip
hostap-06-0a40ec6a9059e7893970ff65554beac4782ecec4.tar.gz
hostap-06-0a40ec6a9059e7893970ff65554beac4782ecec4.tar.bz2
Always clear EAP altAccept and altReject variables on new association
Previously, this was only done when the new connection is using WPA-Personal. However, it looks like it was possible to trigger an infinite busy loop if altAccept or altReject were left set to true and an EAPOL frame is received (eapolEap is set to true). Clearing altAccept and altReject for each association prevents this loop from happening in the beginning of the next association.
Diffstat (limited to 'wpa_supplicant')
-rw-r--r--wpa_supplicant/wpa_supplicant.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 8494412..00d20c9 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -253,10 +253,9 @@ void wpa_supplicant_initiate_eapol(struct wpa_supplicant *wpa_s)
struct eapol_config eapol_conf;
struct wpa_ssid *ssid = wpa_s->current_ssid;
- if (wpa_key_mgmt_wpa_psk(wpa_s->key_mgmt)) {
- eapol_sm_notify_eap_success(wpa_s->eapol, FALSE);
- eapol_sm_notify_eap_fail(wpa_s->eapol, FALSE);
- }
+ eapol_sm_notify_eap_success(wpa_s->eapol, FALSE);
+ eapol_sm_notify_eap_fail(wpa_s->eapol, FALSE);
+
if (wpa_s->key_mgmt == WPA_KEY_MGMT_NONE ||
wpa_s->key_mgmt == WPA_KEY_MGMT_WPA_NONE)
eapol_sm_notify_portControl(wpa_s->eapol, ForceAuthorized);