aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2015-10-23 21:02:44 +0000
committerandroid-build-merger <android-build-merger@google.com>2015-10-23 21:02:44 +0000
commit1edd8b6105c0ed292fc33e15d1f5cdd2a81ed154 (patch)
tree6b724816db57b040950c2756bf86b10ea2fe1122
parent2a8263d06baaf0612528bb6693512551c43d70b9 (diff)
parent6ec3038c3538e97f079e67e46453d969af30d12c (diff)
downloadwpa_supplicant_8-1edd8b6105c0ed292fc33e15d1f5cdd2a81ed154.tar.gz
RSN: Stop connection attempt on apparent PMK mismatch
am: 6ec3038c35 * commit '6ec3038c3538e97f079e67e46453d969af30d12c': RSN: Stop connection attempt on apparent PMK mismatch
-rw-r--r--src/rsn_supp/wpa.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
index 8adeef4a..faffe360 100644
--- a/src/rsn_supp/wpa.c
+++ b/src/rsn_supp/wpa.c
@@ -249,6 +249,17 @@ static int wpa_supplicant_get_pmk(struct wpa_sm *sm,
"RSN: the new PMK matches with the "
"PMKID");
abort_cached = 0;
+ } else if (sa && !sm->cur_pmksa && pmkid) {
+ /*
+ * It looks like the authentication server
+ * derived mismatching MSK. This should not
+ * really happen, but bugs happen.. There is not
+ * much we can do here without knowing what
+ * exactly caused the server to misbehave.
+ */
+ wpa_dbg(sm->ctx->msg_ctx, MSG_INFO,
+ "RSN: PMKID mismatch - authentication server may have derived different MSK?!");
+ return -1;
}
if (!sm->cur_pmksa)