fragattacks/src/ap
Jouni Malinen 0f5eb69f85 Use eloop timeout for post-EAP-Failure wait before disconnection
Previously, os_sleep() was used to block the hostapd (or wpa_supplicant
AP/P2P GO mode) processing between sending out EAP-Failure and
disconnecting the STA. This is not ideal for couple of reasons: it
blocks all other parallel operations in the process and it leaves a
window during which the station might deauthenticate and the AP would
have no option for reacting to that before forcing out its own
Deauthentication frame which could go out after the STA has already
started new connection attempt.

Improve this design by scheduling an eloop timeout of 10 ms instead of
the os_sleep() call and perform the delayed operations from the eloop
callback function. This eloop timeout is cancelled if the STA
disconnects or initiates a new connection attempt before the 10 ms time
is reached. This gets rid of the confusing extra Deauthentication frame
in cases where the STA reacts to EAP-Failure by an immediate
deauthentication.

Signed-off-by: Jouni Malinen <j@w1.fi>
2016-12-08 18:56:02 +02:00
..
accounting.c Remove unused generation of Request Authenticator in Account-Request 2016-09-22 00:34:19 +03:00
accounting.h RADIUS: Use more likely unique accounting Acct-{,Multi-}Session-Id 2016-02-06 17:10:19 +02:00
acs.c ACS: Remove unreachable case from a debug print 2016-01-07 16:50:53 +02:00
acs.h Move declaration of hostapd_acs_completed() into correct header file 2013-12-31 19:34:43 +02:00
ap_config.c FT: Differentiate between FT for station and for AP in build 2016-10-29 22:14:54 +03:00
ap_config.h Add multicast to unicast support 2016-12-04 21:00:06 +02:00
ap_drv_ops.c Check for driver initialization before doing driver operations 2016-08-19 16:08:00 +03:00
ap_drv_ops.h Check for driver initialization before doing driver operations 2016-08-19 16:08:00 +03:00
ap_list.c Move ap_list_timer() to use common AP periodic cleanup mechanism 2015-07-20 13:42:35 +03:00
ap_list.h Move ap_list_timer() to use common AP periodic cleanup mechanism 2015-07-20 13:42:35 +03:00
ap_mlme.c FILS: Do not clear PTK on FILS Auth/Assoc (AP) 2016-10-22 18:11:14 +03:00
ap_mlme.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
authsrv.c Server configuration for OCSP stapling with ocsp_multi (RFC 6961) 2015-12-22 19:42:07 +02:00
authsrv.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
beacon.c Add multicast to unicast support 2016-12-04 21:00:06 +02:00
beacon.h hostapd: Added signal level to STA tracking 2016-10-29 00:55:49 +03:00
bss_load.c AP: Add support for BSS load element (STA Count, Channel Utilization) 2014-10-21 23:25:48 +03:00
bss_load.h AP: Add support for BSS load element (STA Count, Channel Utilization) 2014-10-21 23:25:48 +03:00
ctrl_iface_ap.c Passive Client Taxonomy 2016-09-22 00:45:24 +03:00
ctrl_iface_ap.h Passive Client Taxonomy 2016-09-22 00:45:24 +03:00
dfs.c hostapd: Handle running out of DFS channels 2016-03-08 12:16:37 +02:00
dfs.h DFS offload: Add main DFS handler for offloaded case 2015-03-05 17:21:30 +02:00
dhcp_snoop.c dhcp_snoop: Silence a sparse warning 2016-06-24 19:02:58 +03:00
dhcp_snoop.h AP: Add support for Proxy ARP, DHCP snooping mechanism 2014-10-28 01:08:29 +02:00
drv_callbacks.c FT: Differentiate between FT for station and for AP in build 2016-10-29 22:14:54 +03:00
eap_user_db.c Improve error messages related to EAP DB 2015-03-28 13:16:26 +02:00
gas_serv.c GAS: Add Capability List ANQP-element support for Info ID 270, 280..299 2016-11-17 16:00:25 +02:00
gas_serv.h Interworking: Add support for configuring arbitrary ANQP-elements 2015-10-07 17:07:21 +03:00
hostapd.c Remove inactivity timeout for wired interfaces 2016-12-04 20:38:45 +02:00
hostapd.h hostapd: Add a configuration to set an AP as stationary 2016-10-29 19:16:47 +03:00
hs20.c HS 2.0R2 AP: Add support for deauthentication request 2014-02-26 01:24:24 +02:00
hs20.h HS 2.0R2 AP: Add support for deauthentication request 2014-02-26 01:24:24 +02:00
hw_features.c Make fallback from HT40 to HT20 work 2016-02-05 17:52:47 +02:00
hw_features.h hostapd: Fix some compilation errors 2015-03-29 20:51:14 +03:00
iapp.c IAPP: Set SO_REUSEADDR on listening socket 2016-08-18 20:01:48 +03:00
iapp.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
ieee802_1x.c Use eloop timeout for post-EAP-Failure wait before disconnection 2016-12-08 18:56:02 +02:00
ieee802_1x.h FILS: Export IEEE 802.1X helper functions 2016-10-22 23:13:17 +03:00
ieee802_11_auth.c RADIUS: Fix possible memory leak when parsing per-STA passphrase 2016-04-08 11:19:40 +03:00
ieee802_11_auth.h VLAN: Separate station grouping and uplink configuration 2016-02-17 11:46:11 +02:00
ieee802_11_ht.c Fix CSA related IEs order 2015-10-03 21:01:47 +03:00
ieee802_11_shared.c FILS: Advertise ERP domain in FILS Indication element 2016-10-10 21:11:46 +03:00
ieee802_11_vht.c hostapd: Use stations nsts capability in (Re)Association Response frame 2016-09-05 21:14:40 +03:00
ieee802_11.c Fix 4addr reassociation-without-deauthentication on AP 2016-12-02 12:51:16 +02:00
ieee802_11.h FILS: Process FILS Authentication frame (AP) 2016-10-22 23:27:01 +03:00
Makefile Fix libap.a build 2016-11-16 13:26:23 +02:00
mbo_ap.c MBO: Do not parse reason_detail in non_pref_chan attr (AP) 2016-09-25 17:31:26 +03:00
mbo_ap.h MBO: Parse non-preferred channel list on the AP 2016-02-22 21:17:38 +02:00
ndisc_snoop.c ndisc_snoop: Include ndisc_snoop.h to check prototypes 2016-06-24 19:02:58 +03:00
ndisc_snoop.h proxyarp: Use C library header files and CONFIG_IPV6 2014-11-25 16:58:21 +02:00
neighbor_db.c hostapd: Add a configuration to set an AP as stationary 2016-10-29 19:16:47 +03:00
neighbor_db.h hostapd: Add a configuration to set an AP as stationary 2016-10-29 19:16:47 +03:00
p2p_hostapd.c Use P2P_IE_VENDOR_TYPE more consistently 2014-03-05 23:36:54 +02:00
p2p_hostapd.h Remove the GPL notification from files contributed by Atheros 2012-02-11 19:39:36 +02:00
peerkey_auth.c PeerKey: Clean up EAPOL-Key Key Data processing on AP 2014-11-23 21:03:40 +02:00
pmksa_cache_auth.c wpa_supplicant: Fix CONFIG_IBSS_RSN=y build without CONFIG_AP=y 2016-03-21 21:12:20 +02:00
pmksa_cache_auth.h PMKSA: Flush AP/mesh PMKSA cache by PMKSA_FLUSH command 2016-03-20 17:37:53 +02:00
preauth_auth.c Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
preauth_auth.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
rrm.c hostapd: Add a configuration to set an AP as stationary 2016-10-29 19:16:47 +03:00
rrm.h hostapd: Add FTM range request 2016-04-17 12:29:12 +03:00
sta_info.c Use eloop timeout for post-EAP-Failure wait before disconnection 2016-12-08 18:56:02 +02:00
sta_info.h Use eloop timeout for post-EAP-Failure wait before disconnection 2016-12-08 18:56:02 +02:00
taxonomy.c taxonomy: Store Probe Request frames in hostapd_sta_info 2016-09-22 00:45:24 +03:00
taxonomy.h taxonomy: Store Probe Request frames in hostapd_sta_info 2016-09-22 00:45:24 +03:00
tkip_countermeasures.c AP: Use monotonic time for MMIC failure/TKIP countermeasures 2013-12-24 07:13:34 +02:00
tkip_countermeasures.h hostapd: Fix a regression in TKIP countermeasures processing 2012-11-18 13:06:03 +02:00
utils.c FST: Do not prune STAs belonging to the same FST 2015-07-16 18:26:15 +03:00
vlan_full.c Use a separate header file for Linux bridge interface definitions 2016-03-26 11:27:18 +02:00
vlan_ifconfig.c vlan: Move if_nametoindex() use out of vlan_init.c 2016-03-25 18:00:44 +02:00
vlan_init.c vlan: Move if_nametoindex() use out of vlan_init.c 2016-03-25 18:00:44 +02:00
vlan_init.h VLAN: Separate station grouping and uplink configuration 2016-02-17 11:46:11 +02:00
vlan_ioctl.c Use own header file for defining Linux VLAN kernel interface 2016-03-26 11:24:38 +02:00
vlan_util.c vlan: Remove unnecessary header includes from netlink implementation 2016-03-25 17:27:16 +02:00
vlan_util.h vlan: Move if_nametoindex() use out of vlan_init.c 2016-03-25 18:00:44 +02:00
vlan.c VLAN: Fix vlan_compare() for tagged VLANs 2016-02-22 19:53:05 +02:00
vlan.h radius: Add tagged VLAN parsing 2016-02-17 11:46:13 +02:00
wmm.c AP WMM: Fix integer underflow in WMM Action frame parser 2015-05-03 18:26:50 +03:00
wmm.h Remove obsolete license notifications 2013-12-24 22:59:52 +02:00
wnm_ap.c WNM: Fix a memory leak on AP error path 2016-02-22 19:53:05 +02:00
wnm_ap.h hostapd: Add MBO IE to BSS Transition Management Request frame 2016-02-22 19:53:04 +02:00
wpa_auth_ft.c FT: Differentiate between FT for station and for AP in build 2016-10-29 22:14:54 +03:00
wpa_auth_glue.c FT: Differentiate between FT for station and for AP in build 2016-10-29 22:14:54 +03:00
wpa_auth_glue.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
wpa_auth_i.h FT: Differentiate between FT for station and for AP in build 2016-10-29 22:14:54 +03:00
wpa_auth_ie.c FT: Explicitly check for MDE not present in non-FT association 2016-11-26 11:39:44 +02:00
wpa_auth_ie.h FT: Differentiate between FT for station and for AP in build 2016-10-29 22:14:54 +03:00
wpa_auth.c FT: Differentiate between FT for station and for AP in build 2016-10-29 22:14:54 +03:00
wpa_auth.h FT: Differentiate between FT for station and for AP in build 2016-10-29 22:14:54 +03:00
wps_hostapd.c Share a single str_starts() implementation 2016-08-06 12:38:21 +03:00
wps_hostapd.h WPS NFC: Add AP mode connection handover report 2014-01-27 21:10:55 +02:00
x_snoop.c AP: Enable multicast snooping on bridge if ProxyARP IPv6 is in use 2015-04-13 14:00:32 +03:00
x_snoop.h AP: Add multicast-to-unicast conversion send for "x_snoop" 2014-11-19 16:25:13 +02:00