aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
diff options
context:
space:
mode:
authorSrinivas Dasari <dasaris@codeaurora.org>2018-09-05 14:56:29 (GMT)
committerJouni Malinen <j@w1.fi>2018-09-18 10:15:20 (GMT)
commit50b77f50e80fc1e40bf9aa5682a006fa8d278090 (patch)
tree93ecc44e36b2233e5ba3af2d356361e05a29c908 /wpa_supplicant
parent60377efcc167e846de0fe404123a30fd8cb8fbf0 (diff)
downloadhostap-50b77f50e80fc1e40bf9aa5682a006fa8d278090.zip
hostap-50b77f50e80fc1e40bf9aa5682a006fa8d278090.tar.gz
hostap-50b77f50e80fc1e40bf9aa5682a006fa8d278090.tar.bz2
DPP: Flush PMKSA if an assoc reject without timeout is received
Flush the PMKSA upon receiving assoc reject event without timeout in the event data, to avoid trying the subsequent connections with the old PMKID. Do not flush PMKSA if assoc reject is received with timeout as it is generated internally from the driver without reaching the AP. This extends commit d109aa6cacf2c3f643de0c758a30b0daf936a67a ("SAE: Flush PMKSA if an assoc reject without timeout is received") to handle also the DPP AKM. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Diffstat (limited to 'wpa_supplicant')
-rw-r--r--wpa_supplicant/events.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 4cdca34..349f819 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -3969,6 +3969,16 @@ static void wpas_event_assoc_reject(struct wpa_supplicant *wpa_s,
}
#endif /* CONFIG_SAE */
+#ifdef CONFIG_DPP
+ if (wpa_s->current_ssid &&
+ wpa_s->current_ssid->key_mgmt == WPA_KEY_MGMT_DPP &&
+ !data->assoc_reject.timed_out) {
+ wpa_dbg(wpa_s, MSG_DEBUG, "DPP: Drop PMKSA cache entry");
+ wpa_sm_aborted_cached(wpa_s->wpa);
+ wpa_sm_pmksa_cache_flush(wpa_s->wpa, wpa_s->current_ssid);
+ }
+#endif /* CONFIG_DPP */
+
#ifdef CONFIG_FILS
/* Update ERP next sequence number */
if (wpa_s->auth_alg == WPA_AUTH_ALG_FILS) {