mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-22 23:09:34 +01:00
eapol: Handle all zero PMKID
This commit is contained in:
parent
7676aa2107
commit
1c9a1ea46d
15
src/eapol.c
15
src/eapol.c
@ -966,6 +966,8 @@ static void eapol_handle_ptk_1_of_4(struct eapol_sm *sm,
|
|||||||
|
|
||||||
if (handshake_state_get_pmkid(sm->handshake, own_pmkid) &&
|
if (handshake_state_get_pmkid(sm->handshake, own_pmkid) &&
|
||||||
memcmp(pmkid, own_pmkid, 16)) {
|
memcmp(pmkid, own_pmkid, 16)) {
|
||||||
|
l_debug("Authenticator sent a PMKID that didn't match");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If the AP has a different PMKSA from ours and we
|
* If the AP has a different PMKSA from ours and we
|
||||||
* have means to create a new PMKSA through EAP then
|
* have means to create a new PMKSA through EAP then
|
||||||
@ -974,7 +976,18 @@ static void eapol_handle_ptk_1_of_4(struct eapol_sm *sm,
|
|||||||
if (sm->eap) {
|
if (sm->eap) {
|
||||||
send_eapol_start(NULL, sm);
|
send_eapol_start(NULL, sm);
|
||||||
return;
|
return;
|
||||||
} else
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Some APs are known to send a PMKID KDE with all
|
||||||
|
* zeros for the PMKID. Likely we can still
|
||||||
|
* successfully negotiate a handshake, so ignore this
|
||||||
|
* for now and treat it as if the PMKID KDE was not
|
||||||
|
* included
|
||||||
|
*/
|
||||||
|
if (util_mem_is_zero(pmkid, 16))
|
||||||
|
l_debug("PMKID is all zero, ignoring");
|
||||||
|
else
|
||||||
goto error_unspecified;
|
goto error_unspecified;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user