hostapd/src/ap
Michael Braun c5fee1604b FT: Schedule wpa_ft_rrb_rx() through eloop in intra-process communication
With AP-AP communication, when hapd0 sends a packet, hapd1 can receive
it immediately and send a response. But hapd0 will only read and process
the response after it has returned from the sending context, that is
entered eloop again. So one does not need to consider the RX function of
the reply to run for the request sending hapd before the send calling
function has returned.

Previously, with intra-process communication, the packet is not
scheduled through eloop. Thus the RX handler of the reply might be run
while the sending context of the original request has not returned.
This might become problematic, e.g., when deferring a management frame
processing until an RRB response is received and then have the request
restarted and finished before the original request handling has been
stopped.

I'm not aware of any concrete bug this is currently triggering but came
across it while thinking of FT RRB AP-AP sequence numbering.

I think the non-eloop scheduling approach might be error-prone and thus
propose to model it more closely to the way the message would be
received from a socket. Additionally, this ensures that the tests model
AP-AP communication more closely to real world.

Solution: queue these packets through eloop.

Signed-off-by: Michael Braun <michael-dev@fami-braun.de>
2017-04-01 12:51:05 +03: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: Fix memory leak if interface is disabled during scan 2017-03-04 17:30:15 +02:00
acs.h ACS: Fix memory leak if interface is disabled during scan 2017-03-04 17:30:15 +02:00
ap_config.c MBO: Add MBO ANQP-element processing on AP 2017-03-10 18:33:51 +02:00
ap_config.h FILS: Add FILS SK auth PFS support in AP mode 2017-03-12 23:20:32 +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 hostapd: Fix crash on consecutive channel switch failures 2017-03-29 15:03:16 +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 Use os_memdup() 2017-03-07 13:19:10 +02:00
authsrv.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
beacon.c hostapd: Add IEEE 802.11ax HE IEs into Beacon/Probe Response frames 2017-02-19 17:37:55 +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 mesh: Add MESH_PMKSA_GET/ADD commands 2017-01-14 18:07:46 +02:00
ctrl_iface_ap.h mesh: Add MESH_PMKSA_GET/ADD commands 2017-01-14 18:07:46 +02:00
dfs.c DFS: Handle pre-CAC expired event 2017-03-09 17:01:50 +02:00
dfs.h DFS: Handle pre-CAC expired event 2017-03-09 17:01:50 +02:00
dhcp_snoop.c Fix DHCP/NDISC snoop deinit followed by failing re-init 2017-03-04 11:42:15 +02:00
dhcp_snoop.h AP: Add support for Proxy ARP, DHCP snooping mechanism 2014-10-28 01:08:29 +02:00
drv_callbacks.c OWE: Process Diffie-Hellman Parameter element in AP mode 2017-03-12 19:24:11 +02:00
eap_user_db.c Improve error messages related to EAP DB 2015-03-28 13:16:26 +02:00
fils_hlp.c FILS: Fix fils_hlp.c build with older netinet/udp.h definitions 2017-02-26 12:18:29 +02:00
fils_hlp.h FILS: DHCP relay for HLP requests 2017-02-01 18:17:39 +02:00
gas_serv.c MBO: Add MBO ANQP-element processing on AP 2017-03-10 18:33:51 +02:00
gas_serv.h MBO: Add MBO ANQP-element processing on AP 2017-03-10 18:33:51 +02:00
hostapd.c FT: Schedule wpa_ft_rrb_rx() through eloop in intra-process communication 2017-04-01 12:51:05 +03:00
hostapd.h FT: Schedule wpa_ft_rrb_rx() through eloop in intra-process communication 2017-04-01 12:51:05 +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 hostapd: Get channel number from frequency based on other modes as well 2017-02-26 12:24:03 +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 OWE: Define and parse OWE AKM selector 2017-03-12 19:24:11 +02:00
ieee802_1x.h FILS: Export IEEE 802.1X helper functions 2016-10-22 23:13:17 +03:00
ieee802_11.c FILS: Add FILS SK auth PFS support in AP mode 2017-03-12 23:20:32 +02:00
ieee802_11.h hostapd: Add IEEE 802.11ax HE IEs into Beacon/Probe Response frames 2017-02-19 17:37:55 +02:00
ieee802_11_auth.c Use os_memdup() 2017-03-07 13:19:10 +02:00
ieee802_11_auth.h VLAN: Separate station grouping and uplink configuration 2016-02-17 11:46:11 +02:00
ieee802_11_he.c hostapd: Add IEEE 802.11ax HE IEs into Beacon/Probe Response frames 2017-02-19 17:37:55 +02:00
ieee802_11_ht.c mesh: Use correct rate in HT and legacy mixed environment 2017-02-19 16:01:17 +02:00
ieee802_11_shared.c FILS: Add FILS SK auth PFS support in AP mode 2017-03-12 23:20:32 +02:00
ieee802_11_vht.c mesh: Use correct rate in VHT and HT mixed environment 2017-02-19 16:01:17 +02: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 Fix DHCP/NDISC snoop deinit followed by failing re-init 2017-03-04 11:42:15 +02: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: Remove dead code related to STSL negotiation state 2017-02-12 11:15:49 +02:00
pmksa_cache_auth.c mesh: Add MESH_PMKSA_GET/ADD commands 2017-01-14 18:07:46 +02:00
pmksa_cache_auth.h mesh: Add MESH_PMKSA_GET/ADD commands 2017-01-14 18:07:46 +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 RRM: Fix range request overriding 2017-02-09 13:26:06 +02:00
rrm.h Report beacon request TX status as control interface event 2017-01-03 16:02:58 +02:00
sta_info.c FILS: Add FILS SK auth PFS support in AP mode 2017-03-12 23:20:32 +02:00
sta_info.h FILS: Add FILS SK auth PFS support in AP mode 2017-03-12 23:20:32 +02:00
taxonomy.c Fix or supress various sparse warnings 2017-01-29 18:33:10 +02: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.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
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
wmm.c WMM: Fix estimated medium time calculation for some corner cases 2017-02-11 12:12:28 +02:00
wmm.h Remove obsolete license notifications 2013-12-24 22:59:52 +02:00
wnm_ap.c WNM: Remove unused code from BSS TM Req generation 2017-02-12 17:44:56 +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.c FILS: Fix fils_cache_id check 2017-03-26 21:13:21 +03:00
wpa_auth.h OWE: Process Diffie-Hellman Parameter element in AP mode 2017-03-12 19:24:11 +02:00
wpa_auth_ft.c FT: Merge similar error paths to use common steps 2017-02-19 12:23:21 +02:00
wpa_auth_glue.c FT: Schedule wpa_ft_rrb_rx() through eloop in intra-process communication 2017-04-01 12:51:05 +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 PeerKey: Remove dead code related to STSL negotiation state 2017-02-12 11:15:49 +02:00
wpa_auth_ie.c OWE: Process Diffie-Hellman Parameter element in AP mode 2017-03-12 19:24:11 +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
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