hostapd/src
Jouni Malinen 2ab56694f6 Split ap_sta_set_authorized() into two steps
This function is both updating the hostapd-internal sta->flags value and
sending out the AP-STA-CONNECTED control interface message. When
authorizing a STA, the call to this function is followed by a driver
command to update the flags of the STA entry in the driver. That has a
race condition at least for UML time-travel since the AP-STA-CONNECTED
event is used as a message to wait for before running a connectivity
test or some other operation that depends on the data connection being
in working condition.

Split the function into two steps so that the driver STA entry update
can be done between those two steps for the cases where it matters for
the race condition. In other words, send the AP-STA-CONNECTED message
only after having authorized the STA in the driver.

Signed-off-by: Jouni Malinen <j@w1.fi>
2023-12-17 14:09:57 +02:00
..
ap Split ap_sta_set_authorized() into two steps 2023-12-17 14:09:57 +02:00
common WNM: Handle BTM request with Link Removal Imminent field set to 1 2023-12-16 19:12:23 +02:00
crypto OpenSSL: Check EVP_MAC_update() return value more consistently 2023-12-17 12:06:04 +02:00
drivers hostapd: Check the bridge if ioctl SIOCBRADDIF fails 2023-12-16 18:16:05 +02:00
eap_common crypto: Check if crypto_bignum_to_bin() is successful 2022-12-17 12:11:13 +02:00
eap_peer Compile-time config for dynamically loading libraries in wpa_supplicant 2023-11-05 10:23:29 +02:00
eap_server EAP-SIM/AKA server: Configurable limit to fast re-authentication 2023-09-21 11:55:49 +03:00
eapol_auth Do not disconnect EAPOL-Logoff before authentication 2023-05-04 11:10:16 +03:00
eapol_supp Compile-time config for dynamically loading libraries in wpa_supplicant 2023-11-05 10:23:29 +02:00
fst FST: More robust bounds checking of local data in fst_dump_mb_ies() 2022-05-08 17:18:58 +03:00
l2_packet l2_packet_freebsd: Enable receiving priority tagged (VID=0) frames 2023-10-28 17:50:09 +03:00
p2p P2P: Recover from successfully requested, but not started, listen 2023-12-10 19:30:44 +02:00
pae KaY: Make debug output consistent 2023-12-06 12:11:08 +02:00
pasn common: Simplify and avoid confusing defragmentation API 2023-11-25 10:56:56 +02:00
radius RADIUS: Add Filter-Id attribute 2022-10-31 11:56:57 +02:00
rsn_supp TDLS: Avoid unnecessary copying of the Link Identifier element 2023-12-17 11:51:35 +02:00
tls PKCS#1: Do not use pointer value after freeing 2023-12-17 12:17:10 +02:00
utils trace: binutils replaces bfd_hostptr_t with uintptr_t 2023-12-02 19:08:25 +02:00
wps WPS: Optimize attribute parsing workaround 2023-07-18 11:46:57 +03:00
build.rules build: Rebuild libs all the time 2020-10-12 20:18:02 +03:00
lib.rules build: lib.rules: Add common-clean 2020-10-16 12:51:12 +03:00
Makefile PASN: Move initiator changes into a separate file 2022-11-04 00:52:17 +02:00
objs.mk build: Fix dependency file inclusion 2020-10-12 11:05:16 +03:00