]> git.ipfire.org Git - thirdparty/hostap.git/log
thirdparty/hostap.git
18 months agotests: FST: Leave time to process session request
Johannes Berg [Wed, 24 Jan 2024 16:12:48 +0000 (17:12 +0100)] 
tests: FST: Leave time to process session request

Due to scheduling in UML time-travel, the test may continue
running and find that the failure didn't trigger when really
the frame just didn't make it through to the other side. Add
some time for the necessary processing.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agonl80211: Set allowed frequency list per link for AP MLD
Chenming Huang [Mon, 15 Jan 2024 12:03:18 +0000 (17:33 +0530)] 
nl80211: Set allowed frequency list per link for AP MLD

QCA_WLAN_VENDOR_ATTR_CONFIG_AP_ALLOWED_FREQ_LIST needs be to set per
link if operating as an AP MLD.

Signed-off-by: Chenming Huang <quic_chenhuan@quicinc.com>
18 months agoEnhance QCA vendor interface with new SAR version numbers
mukul sharma [Wed, 10 Jan 2024 10:14:32 +0000 (15:44 +0530)] 
Enhance QCA vendor interface with new SAR version numbers

Add more SAR version numbers in the qca_wlan_vendor_sar_version.

Signed-off-by: Mukul Sharma <quic_mukul@quicinc.com>
18 months agoMake test code easier for static analyzers
Jouni Malinen [Mon, 22 Jan 2024 20:02:39 +0000 (22:02 +0200)] 
Make test code easier for static analyzers

The previous os_strncmp() calls have already verified that there is a
space in the string, so this os_strchr() call cannot really return NULL.
Anyway, make this easier for static analyzers to understand.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoSAE: Fix resource leak on reading a separate password file
Jouni Malinen [Mon, 22 Jan 2024 20:00:35 +0000 (22:00 +0200)] 
SAE: Fix resource leak on reading a separate password file

The file needs to be closed on all paths before exiting from the
function.

Fixes: e748e50c629f ("SAE passwords from a separate file")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoACS: More consistent checking of the best channel pointer
Jouni Malinen [Mon, 22 Jan 2024 19:58:06 +0000 (21:58 +0200)] 
ACS: More consistent checking of the best channel pointer

It looks like best might be NULL in some cases, so check for this
explicitly before trying to dereference it for a debug print.

Fixes: 733de85680a4 ("ACS: Fix not selecting the best channel in the segment")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoFix error path on Key Data field decryption
Jouni Malinen [Mon, 22 Jan 2024 19:54:34 +0000 (21:54 +0200)] 
Fix error path on Key Data field decryption

key_data_buf is already freed on the common exit path, so do not try to
free it here on error.

Fixes: 4abc37e67b9a ("Support Key Data field decryption for EAPOL-Key msg 2/4 and 4/4")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoFT: Fix architecture for RxKH loading from a file
Jouni Malinen [Mon, 22 Jan 2024 19:30:10 +0000 (21:30 +0200)] 
FT: Fix architecture for RxKH loading from a file

src/ap/ap_config.c is not really supposed to call directly into a
function in hostapd/config_file.c. Furthermore, the wrapper through
ap_config.c did not really have any real value since it just called a
function that is within hostapd/*.c and that wrapper was called from
hostapd/*.c.

Instead of the wrapper, just call the function directly within the
hostapd directory.

Fixes: 392114a17960 ("FT: Add dynamic reload of RxKH definitions from file")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoOpenSSL: Fix a memory leak on an error path
Jouni Malinen [Mon, 22 Jan 2024 17:12:12 +0000 (19:12 +0200)] 
OpenSSL: Fix a memory leak on an error path

peerkey from EVP_PKEY_new() needs to be freed on all error paths.

Fixes: b062507670b5 ("OpenSSL: Implement crypto_ecdh routines without EC_KEY for OpenSSL 3.0")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agotests: Allow valgrind suppressions to be used
Jouni Malinen [Mon, 22 Jan 2024 16:27:24 +0000 (18:27 +0200)] 
tests: Allow valgrind suppressions to be used

This makes valgrind reports somewhat cleaner when external libraries
have memory leaks that are not straighforward to fix. In addition,
increase the number of functions to include backtraces since the default
was not large enough to cover some cases.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoAvoid uninitialized seq number in debug print for testing functionality
Jouni Malinen [Mon, 22 Jan 2024 16:26:19 +0000 (18:26 +0200)] 
Avoid uninitialized seq number in debug print for testing functionality

If the driver fetch for the current sequency number fails, do not try to
print the value in a debug print without having cleared it.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agotests: Fix a memory leak in a module test
Jouni Malinen [Mon, 22 Jan 2024 16:25:55 +0000 (18:25 +0200)] 
tests: Fix a memory leak in a module test

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agodbus: Avoid memory leak on error when signaling PropertiesChanged
Jouni Malinen [Mon, 22 Jan 2024 15:14:53 +0000 (17:14 +0200)] 
dbus: Avoid memory leak on error when signaling PropertiesChanged

put_changed_properties() might fail, e.g., due to memory allocation
failure or a failure in a property getter function. Such an error case
would have leaked the message iteration container since the call to
dbus_message_iter_close_container() would have been skipped.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agonl80211: Fix wiphy event handling when the driver is deinitialized
Jouni Malinen [Mon, 22 Jan 2024 12:39:54 +0000 (14:39 +0200)] 
nl80211: Fix wiphy event handling when the driver is deinitialized

Radar detection event could have resulted in the driver interface
instance getting deinitialized and the related memory freed in the
middle of the loop. This was not an issue when the event was passed only
into a single interface, but it became an issue when the loop tried to
send it to all interfaces. If the driver were removed, that loop check
would have used freed memory. Avoid this by explicitly checking that the
driver interface instance is still valid.

Fixes: f13683720239 ("nl80211: Pass wiphy events to all affected interfaces")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoDPP: Avoid a potential use-after-free on an error path in AP
Jouni Malinen [Mon, 22 Jan 2024 11:59:03 +0000 (13:59 +0200)] 
DPP: Avoid a potential use-after-free on an error path in AP

The TX status handler for DPP Authentication Confirm message might have
resulted in use-after-free if the start of a GAS query were to fail,
e.g., due to being somehow unable to transmit the initial request. Avoid
this by explicitly confirming that the authentication session was not
removed.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoDPP: Fix use-after-free in connection status reporting when using TCP
Jouni Malinen [Mon, 22 Jan 2024 11:11:17 +0000 (13:11 +0200)] 
DPP: Fix use-after-free in connection status reporting when using TCP

The current connection (struct dpp_connection) might get removed during
the dpp_tcp_send_msg() call, so the code setting the
on_tcp_tx_complete_remove flag needs to check whether that happened to
avoid a potential use-after-free.

Fixes: 33cb47cf0191 ("DPP: Fix connection result reporting when using TCP")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoDPP3: Fix potential use-after-free on push button bootstrap info
Jouni Malinen [Mon, 22 Jan 2024 10:41:02 +0000 (12:41 +0200)] 
DPP3: Fix potential use-after-free on push button bootstrap info

When removing the bootstrap info for the PB context, all the possible
pointers to that information needs to be cleared to avoid accesses to
freed memory.

Fixes: 37bccfcab854 ("DPP3: Push button bootstrap mechanism")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoEAP-SIM/AKA peer: Fix use-after-free for privacy identity
Jouni Malinen [Mon, 22 Jan 2024 09:47:00 +0000 (11:47 +0200)] 
EAP-SIM/AKA peer: Fix use-after-free for privacy identity

When the privacy protected itentity is used for EAP-SIM/AKA, the buffer
containing the identity was freed just before its use. Fix that by
reordering the operations.

Fixes: 881cb4198b55 ("EAP-SIM/AKA peer: Simplify identity selection for MK derivation")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agonl80211: Fix memory leak on libnl nl_cb
Jouni Malinen [Mon, 22 Jan 2024 09:35:51 +0000 (11:35 +0200)] 
nl80211: Fix memory leak on libnl nl_cb

nl_socket_get_cb() increases cb_refcnf for the cb that is bound to a
socket and as such, nl_cb_put() needs to be used with the returned cb
after having cloned it to avoid leaking memory due to cb_refcnt never
getting back to 0.

Fixes: da0d51fee74b ("nl80211: Use socket cb instead of global->nl_cb in send_and_recv()")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoOpenSSL: Fix a memory leak in crypto_ec_key_parse_priv()
Jouni Malinen [Sun, 21 Jan 2024 22:37:31 +0000 (00:37 +0200)] 
OpenSSL: Fix a memory leak in crypto_ec_key_parse_priv()

The OpenSSL 3.x version of crypto_ec_key_parse_priv using
OSSL_DECODER_CTX missed the call to free the context. Fix it to avoid a
memory leak.

Fixes: 4f4479ef9e1c ("OpenSSL: crypto_ec_key_parse_{priv,pub}() without EC_KEY API")
Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoAP MLD: Optimize struct mld_link_info size
Jouni Malinen [Sun, 21 Jan 2024 20:24:08 +0000 (22:24 +0200)] 
AP MLD: Optimize struct mld_link_info size

Use smaller variables when possible and reorder the variables to avoid
unnecessary padding. This drops struct mld_link_info size from 64 to 48
bytes and removes 240 bytes from struct sta_info.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoMark hostapd_gen_probe_resp() static
Jouni Malinen [Sun, 21 Jan 2024 20:09:07 +0000 (22:09 +0200)] 
Mark hostapd_gen_probe_resp() static

This function has been used only within beacon.c and it got accidentally
converted to a global function.

Fixes: 6b5e00a80e5f ("AP: Use a struct for Probe Response generation in/out params")
Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoAP MLD: Reduce struct mld_link_info size
Jouni Malinen [Sun, 21 Jan 2024 19:06:18 +0000 (21:06 +0200)] 
AP MLD: Reduce struct mld_link_info size

Replace the fixed length maximum buffer size for STA profile with
dynamically allocated buffers for active links. This reduces struct
mld_link_info size by almost 16 kB and drops the per-STA information in
struct sta_info to a more reasonable size to avoid the almost 10x
increase from MLO support.

In addition, free the resp_sta_profile buffers as soon as the ML element
has bee generated for (Re)Association Response frame since those buffers
are not needed after that.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoAP MLD: Fix RADIUS deinit
Jouni Malinen [Sun, 21 Jan 2024 19:00:57 +0000 (21:00 +0200)] 
AP MLD: Fix RADIUS deinit

The singleton RADIUS client design did not address the deinit path
properly. Since hapd->radius could be shared with another links, the
pointer on all those other links needs to be cleared before freeing the
RADIUS client context. Without this, deinit path could have ended trying
to use freed memory when clearing STA entries from other links and
trying to flush any pending RADIUS client messages.

Fixes: a213fee11da3 ("AP: MLO: Make IEEE 802.1X SM, authserv, and RADIUS client singletons")
Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoAP MLD: Use a helper function to set whether a STA is a non-AP MLD
Jouni Malinen [Sun, 21 Jan 2024 17:06:36 +0000 (19:06 +0200)] 
AP MLD: Use a helper function to set whether a STA is a non-AP MLD

This makes it easier to change the struct sta_info design for MLD by
reducing the number of direct references.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoAP MLD: Use a helper function to check if a STA is a non-AP MLD
Jouni Malinen [Sun, 21 Jan 2024 16:45:28 +0000 (18:45 +0200)] 
AP MLD: Use a helper function to check if a STA is a non-AP MLD

This makes it easier to change the struct sta_info design for MLD by
reducing the number of direct references.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agotests: Association comeback mechanism in wpa_supplicant
Jouni Malinen [Sun, 21 Jan 2024 10:17:07 +0000 (12:17 +0200)] 
tests: Association comeback mechanism in wpa_supplicant

Allow the Timeout Interval Type field in the Timeout Interval element to
be overridden with a different value for testing purposes to be able to
bypass the association comeback processing in mac80211. This allows the
wpa_supplicant internal functionality to be tested.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoSME: Handle PMF association comeback when not handled in driver
Harry Bock [Wed, 10 Jan 2024 19:09:09 +0000 (14:09 -0500)] 
SME: Handle PMF association comeback when not handled in driver

In associations using PMF (IEEE 802.11w/MFP), the infrastructure
implements SA teardown protection by rejecting an (Re)Association
Request frame from an already-associated client.  The AP responds with
error 30 (Association request rejected temporarily) to instruct the
(potentially spoofing) client to back off, while it issues an SA Query
procedure to the already-associated client. If the client can respond to
it within the back-off period, it considers the new association to be a
spoof attempt.

However, there are cases where a legitimate client might need to
handle this error response - consider if the STA has deauthenticated,
but the AP cannot hear it (out of range).  If the MFP STA has deleted
its keys, it cannot respond to the SA Query procedure.

This association comeback process has commonly been implemented in the
driver, e.g., within mac80211 in case of the Linux drivers that use SME
in userspace. However, there are drivers that do not implement this
functionality. Extended wpa_supplicant to cover such cases as well.

The current implementation interprets this association error as a true
error, and will either add the BSS to the list of ignored BSSIDs, or
continue to try other BSSes. This can cause wpa_supplicant to back off
trying to reconnect for progressively longer intervals, depending on the
infrastructure's configured comeback timeout.

Allow wpa_supplicant to interpret the error, searching for the Timeout
Interval element in the (Re)Association Response frame and starting a
timer in the SME layer to re-associate after the timeout. This can be a
long delay (1-4 seconds in my experience), but it is likely much shorter
than bouncing between nearby BSSes.

This does not change behavior for drivers that implement association
comeback timer internally since they do not report the temporary
association rejection status code to user space.

Signed-off-by: Harry Bock <hbock@zebra.com>
18 months agotests: Write more info and statistics in parallel-vm.log
Jouni Malinen [Sat, 20 Jan 2024 18:53:21 +0000 (20:53 +0200)] 
tests: Write more info and statistics in parallel-vm.log

This is helpful in tracking how the total test execution time changes.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoD-Bus: Add a signal for HS2.0 terms and conditions
Damien Dejean [Fri, 19 Jan 2024 15:52:54 +0000 (15:52 +0000)] 
D-Bus: Add a signal for HS2.0 terms and conditions

Add HS20TermsAndConditions signal to D-Bus API to allow clients to be
notified when the network requires the acceptance of terms and
conditions. The URL of the T&C page is provided as a signal parameter.

Signed-off-by: Damien Dejean <damiendejean@chromium.org>
18 months agowlantest: Do not decrease debug level for test vectors
Jouni Malinen [Sat, 20 Jan 2024 17:45:20 +0000 (19:45 +0200)] 
wlantest: Do not decrease debug level for test vectors

The CCMP PV1 test vector dropped debugging verbosity at the end. This
was not really supposed to be done since these test vectors are expected
to print at EXCESSIVE verbosity.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agowlantest: Add test vectors for S1G BIP
Henry Ptasinski [Thu, 11 Jan 2024 01:20:55 +0000 (17:20 -0800)] 
wlantest: Add test vectors for S1G BIP

- CMAC and GMAC modes
- 128-bit and 256-bit modes
- normal BIP and BIP using BCE
- test vectors with minimum and optional additional header elements in
  S1G beacon frames
- S1G Beacon Compatibility element in some cases, no other beacon body
   components

Signed-off-by: Henry Ptasinski <henry@e78com.com>
Signed-off-by: Andrew Pope <andrew.pope@morsemicro.com>
Signed-off-by: David Goodall <dave@morsemicro.com>
18 months agowlantest: Fix the cipher name in a BIP-GMAC-256 test vector
Henry Ptasinski [Thu, 11 Jan 2024 01:20:55 +0000 (17:20 -0800)] 
wlantest: Fix the cipher name in a BIP-GMAC-256 test vector

Signed-off-by: Henry Ptasinski <henry@e78com.com>
Signed-off-by: Andrew Pope <andrew.pope@morsemicro.com>
Signed-off-by: David Goodall <dave@morsemicro.com>
18 months agotests: FT with dynamic RxKHs configuration
Jouni Malinen [Sat, 20 Jan 2024 08:46:23 +0000 (10:46 +0200)] 
tests: FT with dynamic RxKHs configuration

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoFT: Add control interface command to show configured RxKHs
Dariusz Kopka [Mon, 15 Jan 2024 13:16:00 +0000 (14:16 +0100)] 
FT: Add control interface command to show configured RxKHs

The new GET_RXKHS control interface command can be used to list the
currently configured RxKHs.

Signed-off-by: Dariusz Kopka <dariusz@plume.com>
18 months agoFT: Add dynamic reload of RxKH definitions from file
Dariusz Kopka [Mon, 15 Jan 2024 13:16:00 +0000 (14:16 +0100)] 
FT: Add dynamic reload of RxKH definitions from file

hostapd reads the list of Rx Key Holders from hostapd.conf file.
However, for systems where topology changes dynamically, the update
of RxKHs list is required without reloading the whole configuration.

Introduce a new source of RxKH definition with original syntax:
- rxkh_file - Path to a file containing a list of RxKHs.

In addition, add a control interface command RELOAD_RXKHS to
reload RxKHs definition from the file specified in `rxkh_file`.

This allows hostapd to properly distribute Rx keys even after topology
change (assuming rxkh_file is updated and reload_rxkhs command issued).

Syntax of rxkh_file is the same as extraction of r0kh and r1kh options
from original hostapd.conf file.

```
r0kh=ff:ff:ff:ff:ff:ff * 00112233445566778899aabbccddeeff
r0kh=ff:ff:ff:ff:ff:ff * 00112233445566778899aabbccddeeff
r1kh=00:00:00:00:00:00 00:00:00:00:00:00 00112233445566778899aabbccddeef
r1kh=00:00:00:00:00:00 00:00:00:00:00:00 00112233445566778899aabbccddeef
r1kh=00:00:00:00:00:00 00:00:00:00:00:00 00112233445566778899aabbccddeef
```

Signed-off-by: Dariusz Kopka <dariusz@plume.com>
18 months agoFT: Move RxKH configuration clearing into a helper function
Dariusz Kopka [Mon, 15 Jan 2024 13:16:00 +0000 (14:16 +0100)] 
FT: Move RxKH configuration clearing into a helper function

This can be used as a shared function for reloading RxKHs at runtime.

Signed-off-by: Dariusz Kopka <dariusz@plume.com>
18 months agoFix building against OpenSSL 3
Jouke Witteveen [Mon, 15 Jan 2024 17:57:52 +0000 (18:57 +0100)] 
Fix building against OpenSSL 3

Smartcard support uses the ENGINE API of OpenSSL, which has been
deprecated as of OpenSSL 3. Rather than migrating the code to the new API
or pretending that we do not support OpenSSL 3, accept that we use
deprecated functionality.

Signed-off-by: Jouke Witteveen <j.witteveen@gmail.com>
18 months agonl80211: Avoid NL80211_WPA_VERSION_3 on older kernel versions
Benjamin Berg [Wed, 17 Jan 2024 19:04:28 +0000 (20:04 +0100)] 
nl80211: Avoid NL80211_WPA_VERSION_3 on older kernel versions

NL80211_WPA_VERSION_3 was only added in kernel 5.2 so it should not be
set for older kernel versions.  There is no direct way to check if the
value is supported. However, we can use the new infrastructure to check
whether the kernel has the NL80211_ATTR_SAE_PASSWORD attribute. It is
related and was added at the same time.

Fixes: 6cc78b3945d3 ("nl80211: Set NL80211_WPA_VERSION_2 vs. _3 based on AKM")
Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
18 months agotests: Use pgrep instead of ps
Benjamin Berg [Wed, 17 Jan 2024 18:02:31 +0000 (19:02 +0100)] 
tests: Use pgrep instead of ps

The ps command as shipped by busybox does not support the "command"
column. Change the code to use pgrep instead which will work fine in all
environments.

In addition, raise an exception if PID was not found since the test
would just hang with pid = 0.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
18 months agoRemove the MLD specific exception for distinguishing EAPOL-Key msg 2 and 4
Jouni Malinen [Tue, 16 Jan 2024 19:14:52 +0000 (21:14 +0200)] 
Remove the MLD specific exception for distinguishing EAPOL-Key msg 2 and 4

Now that we have a more advanced check for the differences within the
Key Data field, nonzero Key Data Length case can be determined to be
EAPOL-Key msg 4/4 if there is no RSNE in the Key Data field.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agotests: Encrypted Key Data field in EAPOL-Key msg 2/4 and 4/4
Jouni Malinen [Tue, 16 Jan 2024 19:12:43 +0000 (21:12 +0200)] 
tests: Encrypted Key Data field in EAPOL-Key msg 2/4 and 4/4

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoTesting functionality for EAPOL-Key Key Data field encryption
Jouni Malinen [Tue, 16 Jan 2024 19:11:23 +0000 (21:11 +0200)] 
Testing functionality for EAPOL-Key Key Data field encryption

Allow the Key Data field to be encrypted in EAPOL-Key msg 2/4 and 4/4.
This is for testing purposes to enable a convenient mechanism for
testing Authenticator behavior with either potential future extensions
or unexpected Supplicant behavior.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoSupport Key Data field decryption for EAPOL-Key msg 2/4 and 4/4
Jouni Malinen [Tue, 16 Jan 2024 19:05:13 +0000 (21:05 +0200)] 
Support Key Data field decryption for EAPOL-Key msg 2/4 and 4/4

Extend RSN authenticator to be able to process EAPOL-Key msg 2/4 and 4/4
messages in cases where the Key Data field is encrypted using AES key
wrapping (i.e., non-AEAD cipher). While there is not yet any defined
case where such encryption would be used in IEEE Std 802.11-2020,
extensions are considered to be added to use such constructions (e.g.,
in IEEE P802.11bh). As such, it is good to extend the parsing and
processing rules in the authenticator to be ready for such
functionality.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agotests: Extra element and KDE in EAPOL-Key msg 2/4 and 4/4
Jouni Malinen [Tue, 16 Jan 2024 14:04:40 +0000 (16:04 +0200)] 
tests: Extra element and KDE in EAPOL-Key msg 2/4 and 4/4

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoSupplicant side testing functionality for EAPOL-Key Key Data field
Jouni Malinen [Tue, 16 Jan 2024 14:03:34 +0000 (16:03 +0200)] 
Supplicant side testing functionality for EAPOL-Key Key Data field

Allow additional elements and KDEs to be added to EAPOL-Key msg 2/4 and
4/4. This is for testing purposes to enable a convenient mechanism for
testing Authenticator behavior with either potential future extensions or
incorrect Supplicant behavior.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoExtend mechanism to distinguish EAPOL-Key msg 2/4 from 4/4
Jouni Malinen [Tue, 16 Jan 2024 13:52:34 +0000 (15:52 +0200)] 
Extend mechanism to distinguish EAPOL-Key msg 2/4 from 4/4

The initial Authenticator implementation depended on the Key Data field
being empty for EAPOL-Key msg 4/4. This worked fine for years in
practice, but in theory, vendor specific elements or KDEs could have
been added inti EAPOL-Key msg 4/4 and that would have broken this
design. In addition, the MLD case did introduce a KDE into EAPOL-Key msg
4/4 and required changes here.

As an initial step to make this more robust for future extensions,
recognize a received EAPOL-Key message as msg 4/4 if it is for RSN
(i.e., not WPAv1), has Secure=1, contains an unencrypted Key Data field,
and does not include RSNE.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agotests: Supplicant protocol testing for EAPOL-Key msg 1/4 and 3/4
Jouni Malinen [Tue, 16 Jan 2024 11:06:49 +0000 (13:06 +0200)] 
tests: Supplicant protocol testing for EAPOL-Key msg 1/4 and 3/4

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agoAuthenticator side testing functionality for EAPOL-Key Key Data field
Jouni Malinen [Tue, 16 Jan 2024 11:04:59 +0000 (13:04 +0200)] 
Authenticator side testing functionality for EAPOL-Key Key Data field

Allow additional elements and KDEs to be added to EAPOL-Key msg 1/4 and
3/4 and allow EAPOL-Key msg 3/4 Key Data field to be not encrypted.
These are for testing purposes to enable a convenient mechanism for
testing supplicant behavior with either potential future extensions or
incorrect Authenticator behavior.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
18 months agotests: Make wpas_ap_wps more robust
Jouni Malinen [Sun, 14 Jan 2024 19:27:38 +0000 (21:27 +0200)] 
tests: Make wpas_ap_wps more robust

Avoid race conditions (especially with UML time travel) between AP
completion of 4-way handshake and traffic test.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoVerify center frequency seg0/seg1 mapping result before use
Jouni Malinen [Sun, 14 Jan 2024 18:21:26 +0000 (20:21 +0200)] 
Verify center frequency seg0/seg1 mapping result before use

Handle the center frequency to channel mapping more cleanly by skipping
the cases where the center frequencies are not set and verifying that
the mapping succeeds when they are set.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoInitialize the variables before using it in channel update
Baligh Gasmi [Fri, 12 Jan 2024 09:46:41 +0000 (10:46 +0100)] 
Initialize the variables before using it in channel update

seg0 and seg1 variables can have any initial value, but they may cause
the BSS to have a wrong configuration later on in cases where the
separate center frequencies are not set.

Signed-off-by: Baligh Gasmi <gasmibal@gmail.com>
18 months agotests: Longer association comeback time
Jouni Malinen [Sun, 14 Jan 2024 19:00:14 +0000 (21:00 +0200)] 
tests: Longer association comeback time

Verify functionality with 10000 TU comeback time in addition to the
hostapd default of 1000 TU.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoP2P: Fix a logical error of workaround of extended listen failure
朱海 [Thu, 11 Jan 2024 07:49:00 +0000 (15:49 +0800)] 
P2P: Fix a logical error of workaround of extended listen failure

When p2p->state == P2P_LISTEN_ONLY, the statement before it
'p2p->cfg->is_p2p_in_progress(p2p->cfg->cb_ctx)' will be true, too, so
this function will print a message "Operation in progress" and return;
the workaround to handle listen failure will be never reached.

I met such an error when the 'remain-on-channel' command failed, then
the function p2p_ext_listen_timeout() just printed 'Operation in
progress' again and again, and the listen operation was not started
anymore.

Fixes: 0f1034e3889e ("P2P: Refrain from performing extended listen during P2P connection")
Signed-off-by: zhuhai <zhuhai.mail@163.com>
18 months agoGet rid of multiple MIN macros
Andrei Otcheretianski [Wed, 10 Jan 2024 14:50:27 +0000 (16:50 +0200)] 
Get rid of multiple MIN macros

There are multiple redundant MIN macro declarations, some of which are
not protecting against side effects. Move it to common.h instead.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
18 months agoApply a symmetrical bias against moving away from higher bands
Matthew Wang [Thu, 28 Dec 2023 21:03:43 +0000 (21:03 +0000)] 
Apply a symmetrical bias against moving away from higher bands

There is currently a bias towards moving to higher bands but not one
against moving away from them. Fix that.

Signed-off-by: Matthew Wang <matthewmwang@chromium.org>
18 months agoDecrease cross-threshold roam difficulty with bgscan_simple
Matthew Wang [Thu, 28 Dec 2023 21:03:42 +0000 (21:03 +0000)] 
Decrease cross-threshold roam difficulty with bgscan_simple

Decrease the roam difficulty when roaming across the short background
scan threshold (i.e., when the current BSS RSSI is below the threshold
and the selected BSS RSSI is above the threshold). This tends to happen
in normal roaming scenarios when moving from the domain of one AP to
the domain of another.

Signed-off-by: Matthew Wang <matthewmwang@chromium.org>
18 months agotests: Make ACS tests more reliable
Jouni Malinen [Sun, 14 Jan 2024 17:42:23 +0000 (19:42 +0200)] 
tests: Make ACS tests more reliable

The test cases that used country code ZA for the actual test on the 5
GHz band ended up failing in some cases due to various race conditions
with the initial AP start on the 5 GHz band using country code US.
Reduce the risk for that type of failures by using the same country code
ZA for both AP starts.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agotests: Add a test for kernel KUnit tests
Johannes Berg [Wed, 3 Jan 2024 13:58:21 +0000 (14:58 +0100)] 
tests: Add a test for kernel KUnit tests

Add a test that runs the cfg80211/mac80211 kunit tests (they must be
built as modules to run at this point), and checks the results. The test
is skipped if all the modules fail to load.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agowpa_supplicant: Do not invalidate PMKSA cache for bssid_* updates
Benjamin Berg [Thu, 28 Dec 2023 13:19:24 +0000 (15:19 +0200)] 
wpa_supplicant: Do not invalidate PMKSA cache for bssid_* updates

These updates do not cause the PMKSA cache to become invalid. As such,
allow setting any of bssid_hint, bssid_ignore, and bssid_accept without
clearing the cache and causing the current connection to be dropped
immediately.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
18 months agoMLD: Fail connection if ML Authentication frame could not be parsed
Benjamin Berg [Thu, 28 Dec 2023 13:19:23 +0000 (15:19 +0200)] 
MLD: Fail connection if ML Authentication frame could not be parsed

If the Authentication frame response did not contain the expected ML
element (or it was invalid), we cannot continue with the ML association.
As such, the only choice we have in this case is to abort the
association.

If we do continue, we would end up sending the Association Request frame
with our MLD MAC address.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
18 months agoMLD: Read the correct BSSID from the RNR
Benjamin Berg [Thu, 28 Dec 2023 13:19:22 +0000 (15:19 +0200)] 
MLD: Read the correct BSSID from the RNR

The previous implementation would find the correct TBTT record in the
RNR but then always copied the BSSID from the first record out. Fix this
to copy the BSSID from the current position.

Fixes: de5e01010cb2 ("wpa_supplicant: Support ML probe request")
Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
18 months agoRRM: Handle scan TSF BSSID matching in context of MLD
Ilan Peer [Thu, 28 Dec 2023 13:19:21 +0000 (15:19 +0200)] 
RRM: Handle scan TSF BSSID matching in context of MLD

Compare the BSSID against the BSSIDs on the affiliated APs for which
there is a valid link in case of an ML association.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
18 months agonl80211: Print driver name in debug output
Jouni Malinen [Sun, 14 Jan 2024 15:32:22 +0000 (17:32 +0200)] 
nl80211: Print driver name in debug output

This can be helpful in debugging some driver specific issues.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agonl80211: Print kernel version in debug output
Jouni Malinen [Sun, 14 Jan 2024 15:18:57 +0000 (17:18 +0200)] 
nl80211: Print kernel version in debug output

This can be helpful in debugging some kernel specific issues.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agonl80211: Avoid sending unsupported attributes
Benjamin Berg [Thu, 28 Dec 2023 13:14:06 +0000 (15:14 +0200)] 
nl80211: Avoid sending unsupported attributes

The kernel will reject commands if newer attributes are included even
though they should not be. Add appropriate checks in set_ap().

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
18 months agonl80211: Retrieve maxattr via genl for nl80211
Benjamin Berg [Thu, 28 Dec 2023 13:14:05 +0000 (15:14 +0200)] 
nl80211: Retrieve maxattr via genl for nl80211

Older kernel versions may not support all attributes and may refuse
commands that include them. To avoid sending too new attributes query
the highest supported attribute. This allows adding appropriate checks
where needed.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
18 months agonl80211: Pass wiphy events to all affected interfaces
Benjamin Berg [Thu, 28 Dec 2023 13:12:48 +0000 (15:12 +0200)] 
nl80211: Pass wiphy events to all affected interfaces

Previously, we would only pass the event to the first interface that
matches. However, one wiphy can have multiple interfaces and each one
needs to get the event delivered. Without this, it could e.g. happen
that a radar detection event is forwarded to p2p-dev-wlan0 and not to
the wlan0 interface which actually needs it.

As such, keep iterating if we are processing a wiphy match and send the
event to all affected BSSs.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
18 months agotests: Increase timeout for dpp_qr_code_auth_broadcast
Jouni Malinen [Sun, 14 Jan 2024 10:44:15 +0000 (12:44 +0200)] 
tests: Increase timeout for dpp_qr_code_auth_broadcast

This allows another initiation round to be executed if the first
broadcast frame fails to get through.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoDPP: Work arouind missing Auth Confirm ACK for testing
Jouni Malinen [Sun, 14 Jan 2024 10:10:04 +0000 (12:10 +0200)] 
DPP: Work arouind missing Auth Confirm ACK for testing

The dpp_test DPP_TEST_STOP_AT_AUTH_CONF case is supposed to prevent the
GAS exchange from happening. It was possible to bypass that testing
functionality if the TX status event for the Authentication Confirm
message was lost or delayed long enough for the GAS Request to be
proessed first. This could happen at least with UML time travel.

Work around this by checking for the special dpp_test case within GAS
request handling.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agotests: Add couple of MBO and RRM tests with MLD
Ilan Peer [Tue, 26 Dec 2023 13:30:16 +0000 (15:30 +0200)] 
tests: Add couple of MBO and RRM tests with MLD

To validate correct operation when configured as MLD.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
18 months agoRRM: Fix the parsing of the Extended Request subelement in beacon req
Ilan Peer [Tue, 26 Dec 2023 13:30:15 +0000 (15:30 +0200)] 
RRM: Fix the parsing of the Extended Request subelement in beacon req

The Extended Request subelement of a Beacon Request is expected to also
include the Requested Element ID field (that identifies the Element ID
used to indicated extended elements) which needs to be skipped to get
the Requested Element ID Extensions.

Fixes: 2d4f905214b7 ("RRM: Add support for including extended ID elements in beacon report")
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
18 months agotests: Extend MSCS testing
Daniel Gabay [Tue, 26 Dec 2023 09:45:25 +0000 (11:45 +0200)] 
tests: Extend MSCS testing

Add tests for new response handling logic:
1. Verify MSCS change response handling in association / action frame.
2. Verify MSCS unsolicited response handling.

Signed-off-by: Daniel Gabay <daniel.gabay@intel.com>
18 months agotests: Refactor MSCS
Daniel Gabay [Tue, 26 Dec 2023 09:45:24 +0000 (11:45 +0200)] 
tests: Refactor MSCS

Add helper functions for common logic.

Signed-off-by: Daniel Gabay <daniel.gabay@intel.com>
18 months agoMSCS: Process unsolciited MSCS Response frames
Daniel Gabay [Tue, 26 Dec 2023 09:45:23 +0000 (11:45 +0200)] 
MSCS: Process unsolciited MSCS Response frames

Align MSCS response handling as described in IEEE P802.11-REVme/D4.0,
11.25.3 (MSCS procedures):

AP may send unsolicited MSCS Response frame using dialog_token == 0.
Instead of dropping the frame due to dialog_token mismatch, accept
it and set the status accordingly.

Signed-off-by: Daniel Gabay <daniel.gabay@intel.com>
18 months agoMSCS: Extend MSCS response handling
Daniel Gabay [Tue, 26 Dec 2023 09:45:23 +0000 (11:45 +0200)] 
MSCS: Extend MSCS response handling

Align MSCS response handling as described in IEEE P802.11-REVme/D4.0,
11.25.3 (MSCS procedures):

If an MSCS Descriptor element is present in a MSCS Response
frame that does not indicate a status of "SUCCESS", the request
type field is set to "change" - the element indicates a suggested
set of parameters that could be accepted by the AP in response to a
subsequent request by the non-AP STA.

Handle both MSCS Response frame and (Re)Association Response frame with
change request by extending WPA_EVENT_MSCS_RESULT with the change
values.

Note: since we extend MSCS_RESULT event, move the original event from
both MSCS Response frame and (Re)Association Response frame handlers to
a common function that handles now both 'change' and other response.

Signed-off-by: Daniel Gabay <daniel.gabay@intel.com>
18 months agoMSCS: Use a define for the MSCS Descriptor element fixed field length
Jouni Malinen [Sun, 14 Jan 2024 09:06:06 +0000 (11:06 +0200)] 
MSCS: Use a define for the MSCS Descriptor element fixed field length

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agotests: Allow more time for dpp_qr_code_no_chan_list_broadcast
Jouni Malinen [Sat, 13 Jan 2024 22:21:57 +0000 (00:21 +0200)] 
tests: Allow more time for dpp_qr_code_no_chan_list_broadcast

It looks like the first broadcast frame might be missed in some cases,
so increase the timeout here to allow another round of frames to be
attempted.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agotests: Skip test cases that need FILS if CONFIG_FILS=y was not used
Jouni Malinen [Sat, 13 Jan 2024 21:48:38 +0000 (23:48 +0200)] 
tests: Skip test cases that need FILS if CONFIG_FILS=y was not used

fils_offload_to_driver2 and wpas_config_file_key_mgmt require
CONFIG_FILS=y, but they did not use check_fils_capa().

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoUse ether_addr_equal() to compare whether two MAC addresses are equal
Jouni Malinen [Sat, 13 Jan 2024 21:15:36 +0000 (23:15 +0200)] 
Use ether_addr_equal() to compare whether two MAC addresses are equal

This was done with spatch using the following semantic patch and minor
manual edits to clean up coding style and avoid compiler warnings in
driver_wext.c:

@@
expression a,b;
@@
- os_memcmp(a, b, ETH_ALEN) == 0
+ ether_addr_equal(a, b)

@@
expression a,b;
@@
- os_memcmp(a, b, ETH_ALEN) != 0
+ !ether_addr_equal(a, b)

@@
expression a,b;
@@
- !os_memcmp(a, b, ETH_ALEN)
+ ether_addr_equal(a, b)

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoWPS: Fix authorized MAC removal
Jouni Malinen [Sat, 13 Jan 2024 21:11:08 +0000 (23:11 +0200)] 
WPS: Fix authorized MAC removal

Missing array referencing ended up only the first entry in the list to
be compared.

Fixes: 31fcea931d91 ("WPS 2.0: Add support for AuthorizedMACs attribute")
Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoIntroduce ether_addr_equal()
Jouni Malinen [Sat, 13 Jan 2024 21:05:52 +0000 (23:05 +0200)] 
Introduce ether_addr_equal()

This makes a code more readable for the large number of cases that use
os_memcmp() to check whether two ethernet addresses are equal.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoRSN: Fix (B)IGTK MLO KDE length print
Andrei Otcheretianski [Wed, 10 Jan 2024 15:31:04 +0000 (17:31 +0200)] 
RSN: Fix (B)IGTK MLO KDE length print

Array pointer was mistakenly printed instead of actual length.
Fix it.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
18 months agowpa_supplicant: Don't assign pointer to bool
Andrei Otcheretianski [Wed, 10 Jan 2024 12:33:59 +0000 (14:33 +0200)] 
wpa_supplicant: Don't assign pointer to bool

As it may result in compilation error.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
18 months agoFix compiler warnings on supplicant build with PASN but no FILS
Jouni Malinen [Sat, 13 Jan 2024 20:49:13 +0000 (22:49 +0200)] 
Fix compiler warnings on supplicant build with PASN but no FILS

Get rid of unused variables and functions.

Signed-off-by: Jouni Malinen <j@w1.fi>
18 months agoAP: Fix compilation warning in hapd_pasn_update_params()
Andrei Otcheretianski [Wed, 10 Jan 2024 12:02:48 +0000 (14:02 +0200)] 
AP: Fix compilation warning in hapd_pasn_update_params()

If CONFIG_FILS isn't set, the compiler complains about unused variables.
Fix it.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
18 months agobuild: bgscan_simple depends on WNM
Chien Wong [Fri, 5 Jan 2024 09:50:58 +0000 (17:50 +0800)] 
build: bgscan_simple depends on WNM

Fix build of wpa_supplicant if bgscan_simple is enabled while
WNM is not, as in the defconfig.

Fixes: ceb7f65dcc94 ("bgscan: Allow simple bgscan to do BTM queries")
Signed-off-by: Chien Wong <m@xv97.com>
18 months agotrace: Fix compilation issue due to using an undefined symbol
Jintao Lin [Thu, 4 Jan 2024 22:05:39 +0000 (22:05 +0000)] 
trace: Fix compilation issue due to using an undefined symbol

Fix commit 5545d995b3 which could use undefined symbol
testing_fail_alloc() in os_malloc() if CONFIG_WPA_TRACE=y is used
without CONFIG_WPA_TRACE_BFD=y.

Fixes: 5545d995b3d5 ("trace: Share common implementation for TEST_FAIL and TEST_ALLOC_FAIL")
Signed-off-by: Jintao Lin <jintaolin@chromium.org>
18 months agoAP: Fix a typo in function name
Ilan Peer [Tue, 26 Dec 2023 09:06:25 +0000 (11:06 +0200)] 
AP: Fix a typo in function name

Rename hostpad_dfs_update_background_chain() to
hostapd_dfs_update_background_chain().

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
18 months agomesh: Set the mld_link_id to -1 when adding a station
Benjamin Berg [Tue, 26 Dec 2023 09:06:24 +0000 (11:06 +0200)] 
mesh: Set the mld_link_id to -1 when adding a station

As otherwise the mld_link_id would be 0, which the driver would
consider a valid link id and would return an error.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
18 months agonl80211: Fix AP MLD MAC address on auth retry
Johannes Berg [Tue, 26 Dec 2023 08:29:46 +0000 (10:29 +0200)] 
nl80211: Fix AP MLD MAC address on auth retry

The AP MLD MAC address is meant to be preserved here, but since it's
reset to zeroes before attempting to authenticate in
nl80211_mark_disconnected(), we can't just point to the AP MLD MAC
address in drv->auth_ap_mld_addr. Fix it by using a copy.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agotests: Add MLD tests for deauthentication and disassociation
Ilan Peer [Mon, 25 Dec 2023 17:43:03 +0000 (19:43 +0200)] 
tests: Add MLD tests for deauthentication and disassociation

Verifying that the station can successfully associate again
after being deauthenticated or disassociated.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
18 months agoAP MLD: Remove link stations on a new station authentication
Ilan Peer [Mon, 25 Dec 2023 17:43:02 +0000 (19:43 +0200)] 
AP MLD: Remove link stations on a new station authentication

When a station tries to authenticate to an AP that is affiliated with an
AP MLD, we need to remove all station instances from all the APs.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
18 months agoAP: Support deauthenticate/disassociate with MLD
Ilan Peer [Mon, 25 Dec 2023 17:43:01 +0000 (19:43 +0200)] 
AP: Support deauthenticate/disassociate with MLD

When requested to deauthenticate/disassociate a station also handle the
corresponding MLD stations.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
18 months agoAP: Move hostapd_ml_get_assoc_sta() to shared
Ilan Peer [Mon, 25 Dec 2023 17:43:00 +0000 (19:43 +0200)] 
AP: Move hostapd_ml_get_assoc_sta() to shared

So it could be used from different contexts.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
18 months agoAP MLD: Fix station lookup in hostapd_ml_get_assoc_sta()
Ilan Peer [Mon, 25 Dec 2023 17:42:59 +0000 (19:42 +0200)] 
AP MLD: Fix station lookup in hostapd_ml_get_assoc_sta()

If the station is not an MLO station do not attempt to find the
association station and return false in the ML specific disconnection
processing.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
18 months agoAP: Unify code handling deauthentication/disassociation
Ilan Peer [Mon, 25 Dec 2023 17:42:58 +0000 (19:42 +0200)] 
AP: Unify code handling deauthentication/disassociation

This avoids unnecessary code duplication and adds the sta->wpa_sm deinit
calls for deauthentication while it was previously done only in the
disassociation case.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
18 months agotests: Run kmemleak between tests if available
Benjamin Berg [Mon, 25 Dec 2023 10:21:09 +0000 (12:21 +0200)] 
tests: Run kmemleak between tests if available

This triggers a kmemleak scan between tests. This allows finding memory
leaks and doing this should attribute the leak to the correct test in
most cases. Note that it does add a sleep after each test, as such it is
most sensible when combined with UML time-travel.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
18 months agotests: P2P: Also wait in go_neg_pbc()
Johannes Berg [Mon, 25 Dec 2023 10:21:08 +0000 (12:21 +0200)] 
tests: P2P: Also wait in go_neg_pbc()

Similar to other changes like this, wait a bit before
connectivity checks in go_neg_pbc().

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agotests: ap_vht_40: wait a bit before connectivity check
Johannes Berg [Mon, 25 Dec 2023 10:21:07 +0000 (12:21 +0200)] 
tests: ap_vht_40: wait a bit before connectivity check

We need the station to be fully set up on the AP before
running the connectivity check, not just the station to
be set up itself. Just waiting for the events seems to
still be racy so just sleep a little bit.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>