mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-01-20 17:54:05 +01:00
handshake: fix OWE PTK derivation
This bug has been in here since OWE was written, but a similar bug also existed in hostapd which allowed the PTK derivation to be identical. In January 2020 hostapd fixed this bug, which now makes IWD incompatible when using group 20 or 21. This patch fixes the bug for IWD, so now OWE should be compatible with recent hostapd version. This will break compatibility with old hostapd versions which still have this bug.
This commit is contained in:
parent
6e8b765278
commit
972762b116
@ -410,14 +410,22 @@ bool handshake_state_derive_ptk(struct handshake_state *s)
|
||||
|
||||
s->ptk_complete = false;
|
||||
|
||||
if (s->akm_suite & (IE_RSN_AKM_SUITE_FILS_SHA384 |
|
||||
if (s->akm_suite & IE_RSN_AKM_SUITE_OWE) {
|
||||
if (s->pmk_len == 32)
|
||||
type = L_CHECKSUM_SHA256;
|
||||
else if (s->pmk_len == 48)
|
||||
type = L_CHECKSUM_SHA384;
|
||||
else if (s->pmk_len == 64)
|
||||
type = L_CHECKSUM_SHA512;
|
||||
else
|
||||
return false;
|
||||
} else if (s->akm_suite & (IE_RSN_AKM_SUITE_FILS_SHA384 |
|
||||
IE_RSN_AKM_SUITE_FT_OVER_FILS_SHA384))
|
||||
type = L_CHECKSUM_SHA384;
|
||||
else if (s->akm_suite & (IE_RSN_AKM_SUITE_8021X_SHA256 |
|
||||
IE_RSN_AKM_SUITE_PSK_SHA256 |
|
||||
IE_RSN_AKM_SUITE_SAE_SHA256 |
|
||||
IE_RSN_AKM_SUITE_FT_OVER_SAE_SHA256 |
|
||||
IE_RSN_AKM_SUITE_OWE |
|
||||
IE_RSN_AKM_SUITE_FILS_SHA256 |
|
||||
IE_RSN_AKM_SUITE_FT_OVER_FILS_SHA256 |
|
||||
IE_RSN_AKM_SUITE_OSEN))
|
||||
|
Loading…
Reference in New Issue
Block a user