3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-29 13:59:24 +01:00

station: make station_can_fast_transition more robust

Check that the current handshake is using an FT AKM and that the
target BSS AKM suites contain an FT AKM.
This commit is contained in:
James Prestwood 2021-05-12 16:01:47 -07:00 committed by Denis Kenzior
parent 9a3639f2fa
commit 7fc0a8fc0f

View File

@ -1796,10 +1796,23 @@ static bool station_can_fast_transition(struct handshake_state *hs,
&mdid, NULL, NULL) < 0) &mdid, NULL, NULL) < 0)
return false; return false;
if (bss->mde_present && l_get_le16(bss->mde) == mdid) if (!(bss->mde_present && l_get_le16(bss->mde) == mdid))
return true; return false;
return false; if (hs->supplicant_ie != NULL) {
struct ie_rsn_info rsn_info;
if (!IE_AKM_IS_FT(hs->akm_suite))
return false;
if (scan_bss_get_rsn_info(bss, &rsn_info) < 0)
return false;
if (!IE_AKM_IS_FT(rsn_info.akm_suites))
return false;
}
return true;
} }
static void station_transition_start(struct station *station, static void station_transition_start(struct station *station,