Clear current_ssid and key_mgmt when disconnected

This makes wpa_supplicant state somewhat cleaner since the information
from previously used connection is not maintained after getting
disconnected.

Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2012-08-26 23:20:41 +03:00
parent 09bcf3be9c
commit 0d30cc240f
2 changed files with 3 additions and 3 deletions

View file

@ -172,6 +172,8 @@ void wpa_supplicant_mark_disassoc(struct wpa_supplicant *wpa_s)
if (wpa_key_mgmt_wpa_psk(wpa_s->key_mgmt)) if (wpa_key_mgmt_wpa_psk(wpa_s->key_mgmt))
eapol_sm_notify_eap_success(wpa_s->eapol, FALSE); eapol_sm_notify_eap_success(wpa_s->eapol, FALSE);
wpa_s->ap_ies_from_associnfo = 0; wpa_s->ap_ies_from_associnfo = 0;
wpa_s->current_ssid = NULL;
wpa_s->key_mgmt = 0;
} }

View file

@ -1632,10 +1632,8 @@ static void wpa_supplicant_clear_connection(struct wpa_supplicant *wpa_s,
struct wpa_ssid *old_ssid; struct wpa_ssid *old_ssid;
wpa_clear_keys(wpa_s, addr); wpa_clear_keys(wpa_s, addr);
wpa_supplicant_mark_disassoc(wpa_s);
old_ssid = wpa_s->current_ssid; old_ssid = wpa_s->current_ssid;
wpa_s->current_ssid = NULL; wpa_supplicant_mark_disassoc(wpa_s);
wpa_s->current_bss = NULL;
wpa_sm_set_config(wpa_s->wpa, NULL); wpa_sm_set_config(wpa_s->wpa, NULL);
eapol_sm_notify_config(wpa_s->eapol, NULL, NULL); eapol_sm_notify_config(wpa_s->eapol, NULL, NULL);
if (old_ssid != wpa_s->current_ssid) if (old_ssid != wpa_s->current_ssid)