3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-12-22 21:22:37 +01:00

eapol: allow FILS to use eapol_start

A new eapol API was added specifically for FILS (eapol_set_started). Since
either way is special cased for FILS, its a bit cleaner to just check the
AKM inside eapol_start and, if FILS, dont start any timeouts or start the
handshake (effectively what eapol_set_started was doing).
This commit is contained in:
James Prestwood 2019-05-03 11:59:50 -07:00 committed by Denis Kenzior
parent 11443c03bc
commit d02c038a0d

View File

@ -2352,6 +2352,14 @@ bool eapol_start(struct eapol_sm *sm)
sm->started = true; sm->started = true;
/*
* FILS only uses the 4-way for rekeys, so only started needs to be set,
* then we wait for a rekey.
*/
if (sm->handshake->akm_suite & (IE_RSN_AKM_SUITE_FILS_SHA256 |
IE_RSN_AKM_SUITE_FILS_SHA384))
return true;
if (sm->require_handshake) if (sm->require_handshake)
sm->timeout = l_timeout_create(eapol_4way_handshake_time, sm->timeout = l_timeout_create(eapol_4way_handshake_time,
eapol_timeout, sm, NULL); eapol_timeout, sm, NULL);