aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/ctrl_iface.c
diff options
context:
space:
mode:
authorJouni Malinen <jouni@qca.qualcomm.com>2016-03-16 17:44:32 (GMT)
committerJouni Malinen <j@w1.fi>2016-03-16 17:44:32 (GMT)
commitc3dc68e84427942d4cf6026893499d2c04eca946 (patch)
tree3aeae206f15328019250af1bc214add08c397254 /wpa_supplicant/ctrl_iface.c
parent9231c2476ff80f158826c10695a10e58a7fd3839 (diff)
downloadhostap-c3dc68e84427942d4cf6026893499d2c04eca946.zip
hostap-c3dc68e84427942d4cf6026893499d2c04eca946.tar.gz
hostap-c3dc68e84427942d4cf6026893499d2c04eca946.tar.bz2
Do not invalidate EAP session cache on all network block parameter changes
The bssid and priority parameters in a network block do not have any effect on the validity of an EAP session entry, so avoid flushing the cached session when only these parameters are changed. This is mainly to allow forced roaming or network selection changes without causing fast reauthentication to be disabled if the changes are done during RSN association that used EAP. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'wpa_supplicant/ctrl_iface.c')
-rw-r--r--wpa_supplicant/ctrl_iface.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
index 4e16987..6be9385 100644
--- a/wpa_supplicant/ctrl_iface.c
+++ b/wpa_supplicant/ctrl_iface.c
@@ -2976,15 +2976,17 @@ static int wpa_supplicant_ctrl_iface_update_network(
}
if (os_strcmp(name, "bssid") != 0 &&
- os_strcmp(name, "priority") != 0)
+ os_strcmp(name, "priority") != 0) {
wpa_sm_pmksa_cache_flush(wpa_s->wpa, ssid);
- if (wpa_s->current_ssid == ssid || wpa_s->current_ssid == NULL) {
- /*
- * Invalidate the EAP session cache if anything in the current
- * or previously used configuration changes.
- */
- eapol_sm_invalidate_cached_session(wpa_s->eapol);
+ if (wpa_s->current_ssid == ssid ||
+ wpa_s->current_ssid == NULL) {
+ /*
+ * Invalidate the EAP session cache if anything in the
+ * current or previously used configuration changes.
+ */
+ eapol_sm_invalidate_cached_session(wpa_s->eapol);
+ }
}
if ((os_strcmp(name, "psk") == 0 &&