hostapd/src
Jouni Malinen 64845c1f1a l2_packet: Extend bridge workaround RX processing to cover two frames
There was a race condition in how the l2_packet sockets got read that
could result in the same socket (e.g., non-bridge) to process both the
EAP-Success and the immediately following EAPOL-Key msg 1/4 instead of
each frame going in alternative order between the bridge and non-bridge
sockets. This could be hit, e.g., if the wpa_supplicant process did not
have enough CPU to process all the incoming frames without them getting
buffered and both sockets reporting frames simultaneously.

This resulted in the duplicated EAP-Success frame getting delivered
twice for processing and likely also the EAPOL-Key msg 1/4 getting
processed twice. While the latter does not do much harm, the former did
clear the EAP authentication state and could result in issues.

Fix this by extended the l2_packet Linux packet socket workaround for
bridge to check for duplicates against the last two received frames
instead of just the last one.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
2016-01-07 13:30:59 +02:00
..
ap Fix wpa_supplicant AP mode P2P IE handling if P2P is disabled 2016-01-01 17:12:43 +02:00
common mesh: Fix PMKID to match the standard 2015-12-28 17:21:08 +02:00
crypto EAP-FAST: Enable AES256-based TLS cipher suites with OpenSSL 2015-12-31 20:52:58 +02:00
drivers nl80211: Add a missing space to a debug message 2016-01-06 13:20:31 +02:00
eap_common EAP-PAX: Check hmac_sha1_vector() return value 2016-01-06 21:12:08 +02:00
eap_peer EAP-PAX: Check hmac_sha1_vector() return value 2016-01-06 21:12:08 +02:00
eap_server EAP-FAST: Enable AES256-based TLS cipher suites with OpenSSL 2015-12-31 20:52:58 +02:00
eapol_auth Remove unreachable PMKSA cache entry addition on Access-Accept 2015-10-14 18:43:26 +03:00
eapol_supp Fix EAPOL reauth after FT protocol or offloaded PMKSA cache use 2015-11-19 21:16:18 +02:00
fst FST: Fix handling of Rx FST Setup Request when session already exists 2015-12-29 18:41:35 +02:00
l2_packet l2_packet: Extend bridge workaround RX processing to cover two frames 2016-01-07 13:30:59 +02:00
p2p P2P: Try SD Query with each non-ACK peer only once per search iteration 2016-01-05 01:03:28 +02:00
pae MACsec: Update protect frames and replay on reauthentication 2014-12-09 16:56:10 +02:00
radius RADIUS: Add EACCES to list of recognized send() errno values 2015-12-24 12:43:05 +02:00
rsn_supp Use wpa_msg() for the "RSN: PMKID mismatch" message 2015-12-22 11:22:19 +02:00
tls TLS: Make tls_cert_chain_failure_event() more robust 2015-12-28 18:31:11 +02:00
utils utils: Fix NULL pointer dereference with unexpected kernel behavior 2015-12-18 00:24:52 +02:00
wps WPS: Testing mechanism to force auth/encr type flags 2016-01-01 13:42:04 +02:00
lib.rules Add QUIET=1 option for make 2014-12-29 15:49:05 +02:00
Makefile FST: Add the Fast Session Transfer (FST) module 2015-07-16 18:26:15 +03:00