From 5605286c30e1701491bd3af974ae423727750edd Mon Sep 17 00:00:00 2001 From: Dmitry Shmidt Date: Fri, 4 Oct 2013 10:23:25 -0700 Subject: Cumulative patch from commit 8b3b803ab9fe69650da7e3b2ee9e44f0f054ee0a 8b3b803 Include Extended Capabilities element based on scan results 6903ee6 P2P Extend postponing of concurrent scans for persistent GO 77e3094 hlr_auc_gw: Fix max_chal value validation 3e6547b hlr_auc_gw: Add support for processing command line operations 2b5b875 EAP-AKA server: Fix AUTS processing 9a50ee6 hlr_auc_gw: Update file comments to mention Milenage 5388dc9 Document use of Linux capabilities instead of privileged process a771c07 Add driver status information to control interface 739faee nl80211: Add some more debug prints for mgmt frame TX f78f278 nl80211: Fix off-channel Action frame TX from GO with use_monitor 298f518 Get rid of compiler warning in no-CONFIG_CTRL_IFACE builds ea61aa1 Add no_ctrl_interface config param to clear ctrl_interface 25b65a1 Make sure updated BSS entry does not get added twice to the list bbc6c72 P2P: Use group formation timeout on persistent group GO 41f8532 P2P: Extend group formation timeout on GO to first data connection 20625e9 P2P: Remove P2P groups on process termination 76fe79e Register wpa_msg callback even if only global ctrl_iface is used af96448 nl80211: Add more debug prints for send_mlme operations 5d4c78f nl80211: Reset nlmode to station on leaving IBSS 0249c12 Avoid compiler warning with CONFIG_NO_STDOUT_DEBUG=y ed1bf01 Allow hostapd config file for dynamically added interface 97bacf7 Do not clear hostapd configuration parameters on disable-iface 66f4dd1 hostapd: Fix couple of deinit path cases to clear pointers f18b781 nl80211: Print more debug info on management frame RX information 89286e9 Re-open ctrl_iface socket on some failure cases as a workaround 3ca96df atheros: Compile fix for driver code not defining IEEE80211_APPIE_FRAME_WNM 762c92a OpenSSL: Split OCSP peer_cert/peer_issuer debug output into parts f224cf0 HS 2.0: Allow printf format parsing with language:name strings 913c19c Fix wpa_config_parse_string() to null terminate printf decoded values 04e533e Fix language string length validation in parse_lang_string() 742e715 Simplify ctrl_iface sendto() use 6668efd Clear frequency list on empty value 1a9f247 Make scan_freq field to be saved by save_config aa78cd3 Drop EAP packet with code 10 before EAPOL state machine processing 3cc247a Use configured sched_scan interval for the PNO scan d047ae6 WPS: Ignore PBC-to-PIN change from M1 to M2 as a workaround 79986bf Print ctrl_iface sendto() failures into debug log eab2b50 P2P: Cancel group formation timeout on client connection 00eb299 P2P: Fix operation channel configuration update Change-Id: I9269e23bc8019b951c2a2d3c707562b2e006148b Signed-off-by: Dmitry Shmidt --- src/eapol_supp/eapol_supp_sm.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/eapol_supp') diff --git a/src/eapol_supp/eapol_supp_sm.c b/src/eapol_supp/eapol_supp_sm.c index 9b054fcd..c4475e57 100644 --- a/src/eapol_supp/eapol_supp_sm.c +++ b/src/eapol_supp/eapol_supp_sm.c @@ -1257,6 +1257,24 @@ int eapol_sm_rx_eapol(struct eapol_sm *sm, const u8 *src, const u8 *buf, switch (hdr->type) { case IEEE802_1X_TYPE_EAP_PACKET: + if (sm->conf.workaround) { + /* + * An AP has been reported to send out EAP message with + * undocumented code 10 at some point near the + * completion of EAP authentication. This can result in + * issues with the unexpected EAP message triggering + * restart of EAPOL authentication. Avoid this by + * skipping the message without advancing the state + * machine. + */ + const struct eap_hdr *ehdr = + (const struct eap_hdr *) (hdr + 1); + if (plen >= sizeof(*ehdr) && ehdr->code == 10) { + wpa_printf(MSG_DEBUG, "EAPOL: Ignore EAP packet with unknown code 10"); + break; + } + } + if (sm->cached_pmk) { /* Trying to use PMKSA caching, but Authenticator did * not seem to have a matching entry. Need to restart -- cgit v1.2.3