]> git.ipfire.org Git - thirdparty/hostap.git/commit
Fix EAPOL supplicant port authorization with PMKSA caching
authorJouni Malinen <j@w1.fi>
Sat, 27 Oct 2012 08:52:43 +0000 (11:52 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 27 Oct 2012 08:52:43 +0000 (11:52 +0300)
commit86cf382b80b9cf0ea116d39f1a56669197651917
treebea6db424c22f3076923b757bc2795c4e3658fc6
parent04a3e69dd18d2d0f48fc9365a8f9d1907d18ec07
Fix EAPOL supplicant port authorization with PMKSA caching

The previous eapol_sm_notify_cached() implementation forced the port
to be authorized when receiving EAPOL-Key msg 1/4 that included a
matching PMKID in cases when PMKSA caching is used. This is too early
since the port should really be authorized only after the PTK has been
configured which is the case when PMKSA caching is not used.

Fix this by using the EAPOL supplicant PAE state machine to go through
the AUTHENTICATING and AUTHENTICATED states instead of forcing a jump
to AUTHENTICATED without performing full state machine steps. This can
be achieved simply by marking eapSuccess TRUE at least with the current
version of EAP and EAPOL state machines (the earlier commits in this
function seemed to indicate that this may have not been that easy in
the older versions due to the hacks needed here).

This addresses an issue with nl80211-based driver interface when the
driver depends on the STA Authorized flag being used to prevent
unprotected frames from being accepted (both TX and RX) prior to PTK
configuration.

Signed-hostap: Jouni Malinen <j@w1.fi>
intended-for: hostap-1
src/eapol_supp/eapol_supp_sm.c