]> git.ipfire.org Git - thirdparty/hostap.git/log
thirdparty/hostap.git
19 months agotests: Make dpp_two_initiators more robust
Jouni Malinen [Sun, 10 Dec 2023 08:50:32 +0000 (10:50 +0200)] 
tests: Make dpp_two_initiators more robust

This test case has a race condition between the first and second
initiated DPP exchange. New kernel scheduling with UML time-travel is
making the first exchange complete before the first one can be started.
Making this fully robust would likely need ext_mgmt_frame_handling=1 and
more complex test script, but as an initial workaround, split URI
parsing from dev[2] to happen before dev[1] is started so that only a
single DPP_AUTH_INIT command is needed during the race window.

In addition, detect the race condition and SKIP the test instead of
reporting FAIL.

Signed-off-by: Jouni Malinen <j@w1.fi>
19 months agotests: Wait for hostapd event in addition to wpa_supplicant
Jouni Malinen [Sat, 9 Dec 2023 11:04:14 +0000 (13:04 +0200)] 
tests: Wait for hostapd event in addition to wpa_supplicant

Wait for hostapd to complete processing before taking the next step in a
test instead of waiting just for wpa_supplicant. This avoids race
conditions with UML time-travel.

Signed-off-by: Jouni Malinen <j@w1.fi>
19 months agotests: Wait for regdom events in wpas_config_file
Jouni Malinen [Sat, 9 Dec 2023 15:20:02 +0000 (17:20 +0200)] 
tests: Wait for regdom events in wpas_config_file

Make sure the pending regdom changes are processed before returning to
avoid some potential race conditions.

Signed-off-by: Jouni Malinen <j@w1.fi>
19 months agotests: Wait for CTRL-EVENT-REGDOM-CHANGE before starting AP
Jouni Malinen [Sat, 9 Dec 2023 15:11:45 +0000 (17:11 +0200)] 
tests: Wait for CTRL-EVENT-REGDOM-CHANGE before starting AP

Wait for the country change to take effect before trying to start
wpa_supplicant AP mode on the 5 GHz band.

Signed-off-by: Jouni Malinen <j@w1.fi>
19 months agotests: Wait a bit after radio work start in dpp_listen()
Jouni Malinen [Sat, 9 Dec 2023 14:48:27 +0000 (16:48 +0200)] 
tests: Wait a bit after radio work start in dpp_listen()

Even though the radio work has started here, kernel might not have
started ROC (i.e., the REMAIN_ON_CHANNEL event has not yet been
received). Wait a bit to increase likelihood of everything being ready
for the following DPP operation.

Signed-off-by: Jouni Malinen <j@w1.fi>
19 months agotests: Avoid race condition in RRM beacon report tests
Jouni Malinen [Sat, 9 Dec 2023 14:11:12 +0000 (16:11 +0200)] 
tests: Avoid race condition in RRM beacon report tests

At least with UML time-travel, it is possible for the response frame to
be received before the TX status of the request is delivered. Such a
sequence resulted in run_req_beacon() dropping the response event and
the following step failing due to a missing event. Avoid this by caching
the received response in run_req_beacon() and returning them to the
caller.

Signed-off-by: Jouni Malinen <j@w1.fi>
19 months agotests: Make sigma_dut AP SAE tests more robust
Jouni Malinen [Sat, 9 Dec 2023 10:56:27 +0000 (12:56 +0200)] 
tests: Make sigma_dut AP SAE tests more robust

Wait some time before requesting disconnection to allow hostapd to
complete 4-way handshake processing. Wait some time after disconnection
has been completed on the STA before trying to use SAE again with the AP
so that hostapd has a chance to complete disconnection with UML
time-travel.

Signed-off-by: Jouni Malinen <j@w1.fi>
19 months agotests: bgscan_simple and BTM query
Jouni Malinen [Sun, 5 Nov 2023 17:56:08 +0000 (19:56 +0200)] 
tests: bgscan_simple and BTM query

Signed-off-by: Jouni Malinen <j@w1.fi>
19 months agobgscan: Allow simple bgscan to do BTM queries
Ben Greear [Sun, 26 Nov 2023 18:22:29 +0000 (10:22 -0800)] 
bgscan: Allow simple bgscan to do BTM queries

Allow doing X BSS transition management query calls before falling back
to scan.

Example format to do 4 BTM queries before attempting a scan:
bgscan="simple:30:-65:300:4"

Signed-off-by: Ben Greear <greearb@candelatech.com>
19 months agoWNM: Define BSS transition management reason values
Jouni Malinen [Sun, 5 Nov 2023 17:37:58 +0000 (19:37 +0200)] 
WNM: Define BSS transition management reason values

Signed-off-by: Jouni Malinen <j@w1.fi>
19 months agonl80211: Use attribute NL80211_ATTR_BSSID to scan for specific BSSID
Vinayak Yadawad [Fri, 8 Dec 2023 16:20:23 +0000 (21:50 +0530)] 
nl80211: Use attribute NL80211_ATTR_BSSID to scan for specific BSSID

With changes to optimize scan for specific BSSID, there arises a
scenario where in nl80211_trigger_scan() is called with a scan
randomization enabled. A combination of NL80211_ATTR_MAC for BSSID and
scan randomization, which uses NL80211_ATTR_MAC for a different purpose,
results in invalid error for the scan request. To fix the issue use
attribute NL80211_ATTR_BSSID instead of NL80211_ATTR_MAC.

NL80211_ATTR_BSSID was introduced in kernel commit 2fa436b3a2a7
("nl80211: Use different attrs for BSSID and random MAC addr in scan
req") in 2016. Prior to that, only NL80211_ATTR_MAC could be used for
specifying the target BSSID. For backwards compatibility, add the
NL80211_ATTR_MAC attribute as well when not using a random MAC address.

Signed-off-by: Vinayak Yadawad <vinayak.yadawad@broadcom.com>
20 months agotests: Test driver association ML link rejection flow
Benjamin Berg [Mon, 20 Nov 2023 23:51:54 +0000 (01:51 +0200)] 
tests: Test driver association ML link rejection flow

The underlying driver can reject only specific links in an association
request. In that case we will only ignore the corresponding BSS. Add a
test for this flow by simulating an association failure on the second
link specifically.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agotests: Add some MLD association tests
Benjamin Berg [Mon, 20 Nov 2023 23:51:53 +0000 (01:51 +0200)] 
tests: Add some MLD association tests

Test ML association, automatic link discovery using ML probe requests
and marking BSSs as failed after an ML association failure, if the
corresponding link also rejected the association.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agotests: Update ML discovery test to also check probe requests
Andrei Otcheretianski [Mon, 20 Nov 2023 23:51:52 +0000 (01:51 +0200)] 
tests: Update ML discovery test to also check probe requests

Also check that we can discover BSSs requests using ML probe requests.
Note that this requires a new enough mac80211 which parses the ML probe
request and reports the contained BSSs.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP: Always include WPA_STA_AUTHORIZED in station flags mask
Ilan Peer [Tue, 28 Nov 2023 10:14:10 +0000 (12:14 +0200)] 
AP: Always include WPA_STA_AUTHORIZED in station flags mask

As otherwise, the underlying driver would not handle a change
in the 'authorized' state.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agoAP MLD: Do not modify flags for link stations
Ilan Peer [Tue, 28 Nov 2023 10:14:09 +0000 (12:14 +0200)] 
AP MLD: Do not modify flags for link stations

All the station flags other than WPA_STA_SHORT_PREAMBLE are relevant
only for the MLD station and not to the link stations (as these flags
are related to the MLD state and not the link state).

As for the WPA_STA_SHORT_PREAMBLE, since the station is an EHT
station, it must have short preamble.

Thus, do not propagate the flags change for link stations to the driver.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agotests: kernel: Add test for regulatory disconnect in cfg80211
Johannes Berg [Fri, 16 Jun 2023 20:26:44 +0000 (22:26 +0200)] 
tests: kernel: Add test for regulatory disconnect in cfg80211

Add a test for regulatory disconnect, since that was broken
for quite a while in various ways.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
20 months agoFix MBO build with GAS dependency
Chaitanya Tata [Mon, 27 Nov 2023 19:21:01 +0000 (00:51 +0530)] 
Fix MBO build with GAS dependency

On the default configuration if MBO only is enabled then build breaks as GAS
is not selected, if other features that auto-enable GAS are selected
then it works.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
20 months agoEHT: Fix updating center freq segment 0 index for HE and VHT
Mikelis Vuls [Mon, 4 Dec 2023 12:27:48 +0000 (12:27 +0000)] 
EHT: Fix updating center freq segment 0 index for HE and VHT

Add additional check for 6 GHz operating class. Otherwise this results
in setting incorrect segment 0 index for 5 GHz 40 MHz channel 157-161,
which has the same center segment 0 index 159 as 6 GHz 320 MHz expected
channel.

Fixes: 085a3fc76e6b ("EHT: Add 320 channel width support")
Signed-off-by: Mikelis Vuls <mvuls@maxlinear.com>
20 months agoDocument Tunnel-Password encoding for passphrase/PSK
Jouni Malinen [Wed, 6 Dec 2023 10:07:11 +0000 (12:07 +0200)] 
Document Tunnel-Password encoding for passphrase/PSK

Signed-off-by: Jouni Malinen <j@w1.fi>
20 months agoKaY: Make debug output consistent
Jaap Keuter [Sun, 3 Dec 2023 15:04:28 +0000 (16:04 +0100)] 
KaY: Make debug output consistent

Be consistent in capitalization and peer presentation.

Signed-off-by: Jaap Keuter <jaap.keuter@xs4all.nl>
20 months agoEHT: Add configuration for the EHT default PE duration
Jurijs Soloveckis [Wed, 6 Dec 2023 08:55:22 +0000 (08:55 +0000)] 
EHT: Add configuration for the EHT default PE duration

Add a new configuration parameter for the duration of PE field in EHT TB
PPDU.

Signed-off-by: Jurijs Soloveckis <jsoloveckis@maxlinear.com>
20 months agotests: Drop use of ifconfig, use ip instead
Jaap Keuter [Mon, 4 Dec 2023 21:34:39 +0000 (22:34 +0100)] 
tests: Drop use of ifconfig, use ip instead

Signed-off-by: Jaap Keuter <jaap.keuter@xs4all.nl>
20 months agoAdd QCA vendor command to query transmit power information
Liangwei Dong [Fri, 17 Nov 2023 07:35:20 +0000 (15:35 +0800)] 
Add QCA vendor command to query transmit power information

Add a new QCA subcommand QCA_NL80211_VENDOR_SUBCMD_REGULATORY_TPC_INFO
and related attributes qca_wlan_vendor_attr_tpc_links,
qca_wlan_vendor_attr_tpc definition to query transmit power information
on STA interface from the driver for a connected AP.

The information includes regulatory max transmit power limit, AP local
power constraint advertised from AP's Beacon and Probe Response frames.
For PSD power mode, the information includes PSD power levels for each
subchannel of operating bandwidth. The information is driver calculated
power limits based on current regulatory domain, AP local power
constraint and other IEs. The information will be set to target. Target
will decide final TX power based on this and chip specific power
conformance test limits (CTL), and SAR limits.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
20 months agoAdd QCA vendor attributes for link id for HT-scan/ACS command
Chenming Huang [Tue, 28 Nov 2023 03:28:24 +0000 (08:58 +0530)] 
Add QCA vendor attributes for link id for HT-scan/ACS command

For AP MLD case, HT-scan and ACS happens per link. To determine the
correct link, link id is required.

Signed-off-by: Chenming Huang <quic_chenhuan@quicinc.com>
20 months agoAdd QCA vendor commands for SDWF
Nagarajan Maran [Fri, 24 Nov 2023 10:23:08 +0000 (15:53 +0530)] 
Add QCA vendor commands for SDWF

Define subcmd IDs 235 and 236 for Service Defined Wi-Fi (SDWF).

Signed-off-by: Nagarajan Maran <quic_nmaran@quicinc.com>
20 months agoAdd an option to remove WMM-AC
Chaitanya Tata [Mon, 27 Nov 2023 19:03:58 +0000 (00:33 +0530)] 
Add an option to remove WMM-AC

For a memory constrained system, it may be more important to reduce
binary size than include support for these capabilities.

By default this is enabled.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
20 months agoAdd an option to remove Robust AV (SCS, MSCS, QoS Management)
Chaitanya Tata [Mon, 27 Nov 2023 19:03:58 +0000 (00:33 +0530)] 
Add an option to remove Robust AV (SCS, MSCS, QoS Management)

For a memory constrained system, it may be more important to reduce
binary size than include support for these capabilities.

By default this is enabled.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
20 months agoAdd an option to remove RRM and supported operating class indication
Chaitanya Tata [Mon, 27 Nov 2023 19:03:58 +0000 (00:33 +0530)] 
Add an option to remove RRM and supported operating class indication

Removing radio measurements and supported operating class indication
might be needed to reduce binary size for a memory constrained system
that does not need more advanced features. However, removing these is
not recommended since they can help the AP manage the network and STA
steering.

By default this functionality is enabled.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
20 months agoPopulate the new beacon hint event to wpa_msg()
Jun Yu [Wed, 29 Nov 2023 06:54:49 +0000 (06:54 +0000)] 
Populate the new beacon hint event to wpa_msg()

Beacon hinting is a feature that can temporarily change the regulatory
rule flags on the channel where the radio hears the beacon. Add a new
event CTRL-EVENT-REGDOM-BEACON-HINT to notify the wpa_supplicant user
about an important update to the regulatory rules including which
frequencies are impacted, new power limit, and new rule flags.

Signed-off-by: Jun Yu <junyuu@chromium.org>
20 months agonl80211: Do not allow off channel when frequency is not specified
Ilan Peer [Wed, 29 Nov 2023 08:43:58 +0000 (10:43 +0200)] 
nl80211: Do not allow off channel when frequency is not specified

Do not allow offchannel operation for action frame transmission if
no frequency is specified, as this doesn't make sense.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agomesh: Add for_each_sta implementation in wpa_auth_callbacks
Remi Pommarel [Fri, 1 Dec 2023 15:14:11 +0000 (16:14 +0100)] 
mesh: Add for_each_sta implementation in wpa_auth_callbacks

The wpa_auth_callbacks for mesh was missing a for_each_sta
implementation. This is an issue with pmksa cache, as when a cache entry
expires the for_each_sta callback is called in order to clear the pmksa
reference for all sta that was using this entry. Not having a
for_each_sta callback will prevent this cleanup to happen then a sta
could still use this pmksa entry even after it has been freed.

This used after free was not a problem up until recently where
dpp_pkhash is now stored in pmksa entry and retreived later on causing
crash with below backtrace:

  _wpa_snprintf_hex                        src/utils/common.c:326
  wpa_snprintf_hex                         src/utils/common.c:348
  hostapd_ctrl_iface_sta_mib               src/ap/ctrl_iface_ap.c:542
  hostapd_ctrl_iface_sta_mib               src/ap/ctrl_iface_ap.c:542
  hostapd_ctrl_iface_sta_mib               src/ap/ctrl_iface_ap.c:600
  hostapd_ctrl_iface_sta                   src/ap/ctrl_iface_ap.c:615
  wpa_supplicant_ctrl_iface_process        src/wpa_supplicant/ctrl_iface.c:12741
  wpa_supplicant_global_ctrl_iface_receive src/wpa_supplicant/ctrl_iface_unix.c:1141
  eloop_sock_table_dispatch                src/utils/eloop.c:625
  eloop_run                                src/utils/eloop.c:1238
  wpa_supplicant_run                       src/wpa_supplicant/wpa_supplicant.c:8021
  main                                     src/wpa_supplicant/main.c:393

Adding a for_each_sta callbacks fixes that.

Fixes: 043dedee83a7 ("DPP: Expose enrollee pubkey hash for identification")
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
20 months agotest: Mesh PMKSA entry validation with MESH_PMKSA_ADD
Jouni Malinen [Sat, 2 Dec 2023 18:32:56 +0000 (20:32 +0200)] 
test: Mesh PMKSA entry validation with MESH_PMKSA_ADD

Signed-off-by: Jouni Malinen <j@w1.fi>
20 months agomesh: Fix PMKSA cache entry addition with external PMKSA management
Jouni Malinen [Sat, 2 Dec 2023 18:31:16 +0000 (20:31 +0200)] 
mesh: Fix PMKSA cache entry addition with external PMKSA management

The length of the PMK ended up getting lost when a PMKSA cache entry was
added based on externally managed information. Set the PMK length in SAE
context to get the correct length stored into the actual PMKSA cache
entry that gets created in this path.

Signed-off-by: Jouni Malinen <j@w1.fi>
20 months agotrace: binutils replaces bfd_hostptr_t with uintptr_t
Jaap Keuter [Thu, 30 Nov 2023 22:31:03 +0000 (23:31 +0100)] 
trace: binutils replaces bfd_hostptr_t with uintptr_t

According to this message https://marc.info/?l=binutils&m=165363679302282
the type bfd_hostptr_t is dropped in favor of uintptr_t.
Replace the use of this type in the code.

Signed-off-by: Jaap Keuter <jaap.keuter@xs4all.nl>
20 months agotests: Add a unit test for RNR/basic ML element parsing
Andrei Otcheretianski [Tue, 28 Nov 2023 01:50:07 +0000 (03:50 +0200)] 
tests: Add a unit test for RNR/basic ML element parsing

Going through everything to test parsing of the basic ML element and the
RNR element is not really feasible for MBSSID mode. As such, add a unit
test to excercise parsing the available links from the RNR, basic ML
element and MBSSID-Index element if present.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agotests: Update capability checks to include OpenSSL 3.1 and 3.2
Jouni Malinen [Sat, 2 Dec 2023 09:22:24 +0000 (11:22 +0200)] 
tests: Update capability checks to include OpenSSL 3.1 and 3.2

Signed-off-by: Jouni Malinen <j@w1.fi>
20 months agoIgnore missing set_secure_ranging_ctx callback for testing purposes
Jouni Malinen [Mon, 27 Nov 2023 10:01:15 +0000 (12:01 +0200)] 
Ignore missing set_secure_ranging_ctx callback for testing purposes

nl80211_set_secure_ranging_ctx() was already ignoring the operation, but
this is included only with CONFIG_DRIVER_NL80211_QCA=y. Make the default
case use same behavior based on the callback function not being defined.
This is needed to allow the following test cases to work:
pasn_owe_tm_kdk_secure_ltf pasn_sae_kdk_secure_ltf

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
20 months agoAP MLD: Handle DFS in correct link
Chenming Huang [Mon, 4 Sep 2023 05:30:01 +0000 (11:00 +0530)] 
AP MLD: Handle DFS in correct link

Link ID is needed for AP MLD to handle DFS events in the correct link.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
20 months agoAP MLD: Handle channel switch event in correct link
Chenming Huang [Tue, 5 Sep 2023 02:26:09 +0000 (07:56 +0530)] 
AP MLD: Handle channel switch event in correct link

USe the link ID information to determine the specific affiliated link
when processing channel switch events on an AP MLD.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
20 months agonl80211: Add link ID when setting BSS attributes for AP MLD
Chenming Huang [Tue, 5 Sep 2023 02:02:21 +0000 (07:32 +0530)] 
nl80211: Add link ID when setting BSS attributes for AP MLD

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
20 months agonl80211: Specify link ID when sending Management frames
Chenming Huang [Wed, 30 Aug 2023 13:01:47 +0000 (18:31 +0530)] 
nl80211: Specify link ID when sending Management frames

Extend nl80211_send_frame_cmd() to include the link ID to use for TX
with NL80211_CMD_FRAME.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
20 months agonl80211: Remove links when stopping AP MLD in hostapd
Chenming Huang [Wed, 6 Sep 2023 06:24:58 +0000 (11:54 +0530)] 
nl80211: Remove links when stopping AP MLD in hostapd

There is an issue when starting a non-MLD AP on the same interface that
previous operated as an AP MLD. When the previous AP MLD got stopped,
links were not removed when using hostapd. Next non-MLD AP will fail to
start because some nl80211 operations still require link id (e.g., set
freq).

Remove links when AP MLD is stop to avoid such issue. This was already
done in the deinit_ap() handler when using wpa_supplicant, but hostapd
needs to do same.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
20 months agotests: Test GTK rekey in test_eht_mld_link_removal()
Ilan Peer [Tue, 21 Nov 2023 15:23:59 +0000 (17:23 +0200)] 
tests: Test GTK rekey in test_eht_mld_link_removal()

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agoAP MLD: Do not include empty MLO KDEs
Ilan Peer [Tue, 21 Nov 2023 15:23:58 +0000 (17:23 +0200)] 
AP MLD: Do not include empty MLO KDEs

Do include group MLO KDEs for links for which the information is
missing.

In addition, set the KDE buffer length based on the added data.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agoAP MLD: Do not access WPA authenticator object if not valid
Ilan Peer [Tue, 21 Nov 2023 15:23:57 +0000 (17:23 +0200)] 
AP MLD: Do not access WPA authenticator object if not valid

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agonl80211: Add support for handling MLO removed links
Ilan Peer [Tue, 21 Nov 2023 15:23:56 +0000 (17:23 +0200)] 
nl80211: Add support for handling MLO removed links

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agotests: Verify link removal (MLO)
Ilan Peer [Mon, 20 Nov 2023 23:51:55 +0000 (01:51 +0200)] 
tests: Verify link removal (MLO)

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agotests: Add validation of number of valid and active links for MLO
Ilan Peer [Mon, 20 Nov 2023 23:51:51 +0000 (01:51 +0200)] 
tests: Add validation of number of valid and active links for MLO

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agotrace: Add TEST_FAIL_TAG macro to allow more narrow matching
Benjamin Berg [Mon, 20 Nov 2023 23:51:50 +0000 (01:51 +0200)] 
trace: Add TEST_FAIL_TAG macro to allow more narrow matching

The tag is inserted as the first item in the stack trace, making it
trivial to match against it from the test.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agotests: Allow specifying multiple failure locations
Benjamin Berg [Mon, 20 Nov 2023 23:51:49 +0000 (01:51 +0200)] 
tests: Allow specifying multiple failure locations

Having the ability to trigger multiple failures in one test can be
useful. Add support to the test infrastructure to do this.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agotrace: Allow multiple failures in one test
Benjamin Berg [Mon, 20 Nov 2023 23:51:48 +0000 (01:51 +0200)] 
trace: Allow multiple failures in one test

Refactor the backtrace matching a bit in order to allow triggering
multiple failures in one test.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agotrace: Document function pattern prefixes
Benjamin Berg [Mon, 20 Nov 2023 23:51:48 +0000 (01:51 +0200)] 
trace: Document function pattern prefixes

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agotrace: Share common implementation for TEST_FAIL and TEST_ALLOC_FAIL
Benjamin Berg [Mon, 20 Nov 2023 23:51:48 +0000 (01:51 +0200)] 
trace: Share common implementation for TEST_FAIL and TEST_ALLOC_FAIL

Get rid of more or less duplicated implementation of backtrace matching
for the two testing failure cases.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agotrace: Use an array of skipped function names
Benjamin Berg [Mon, 20 Nov 2023 23:51:48 +0000 (01:51 +0200)] 
trace: Use an array of skipped function names

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agoShare TEST_FAIL/TEST_ALLOC_FAIL/GET_FAIL/GET_ALLOC_FAIL handler
Benjamin Berg [Mon, 20 Nov 2023 23:51:48 +0000 (01:51 +0200)] 
Share TEST_FAIL/TEST_ALLOC_FAIL/GET_FAIL/GET_ALLOC_FAIL handler

Move the hostapd and wpa_supplicant control interface handlers into a
shared functions instead of duplicated implementation.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agotests: Fix some incorrect failure waiting calls
Benjamin Berg [Mon, 20 Nov 2023 23:51:47 +0000 (01:51 +0200)] 
tests: Fix some incorrect failure waiting calls

These were either sending the command to the wrong
hostapd/wpa_supplicant instance or using the wrong command. This
currently causes the wait to just immediately stop, but with future
commits it would start failing.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agotests: Avoid exception string matching for failures
Benjamin Berg [Mon, 20 Nov 2023 23:51:46 +0000 (01:51 +0200)] 
tests: Avoid exception string matching for failures

Future commits change the related code and exception string. Avoiding
using the context is easy here and actually avoids two layers of
nesting.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agowpa_supplicant: Use wpa_msg() in bssid_ignore.c
Andrei Otcheretianski [Mon, 20 Nov 2023 23:51:45 +0000 (01:51 +0200)] 
wpa_supplicant: Use wpa_msg() in bssid_ignore.c

This allows to use the messages for testing.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP: Get rid of wpa_auth_pmksa_add3()
Andrei Otcheretianski [Mon, 20 Nov 2023 23:51:43 +0000 (01:51 +0200)] 
AP: Get rid of wpa_auth_pmksa_add3()

Simply pass another parameter to wpa_auth_pmksa_add2() instead.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP: Handle re-association from a non-AP MLD
Ilan Peer [Mon, 20 Nov 2023 23:51:42 +0000 (01:51 +0200)] 
AP: Handle re-association from a non-AP MLD

When processing a (Re)Association Request frame and no corresponding
station is found, try to find the station using the station MLD MAC
address from the Basic ML element, as it is possible that the station
is trying to re-associate but with a different link address (in such
a case the underlying driver would not perform address translations).

When sending the (Re)Association Response frame, use the addresses from
the (Re)Association Request frame and not the AP MLD MAC address, again,
to avoid the address translation done in the driver.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP MLD: Use MLD MAC address for SA query and response when needed
Ilan Peer [Mon, 20 Nov 2023 23:51:41 +0000 (01:51 +0200)] 
AP MLD: Use MLD MAC address for SA query and response when needed

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agoMLD: Use MLD MAC address for deauthentication
Benjamin Berg [Mon, 20 Nov 2023 23:51:40 +0000 (01:51 +0200)] 
MLD: Use MLD MAC address for deauthentication

When connecting, pending_bssid is set to the main link that we are
authenticating/associating on. Later on, the MLD MAC address will be
stored in the bssid, but we may also try to deauthenticate before we are
connected and in that case, pending_bssid is not yet set to the MLD MAC
address.

As such, use the ap_mld_addr instead of pending_bssid if n_mld_links is
non-zero. This is the sensible thing to do and expected behavior on
nl80211.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP: Avoid setting same MLD and link address
Andrei Otcheretianski [Mon, 20 Nov 2023 23:51:39 +0000 (01:51 +0200)] 
AP: Avoid setting same MLD and link address

For AP MLD, when BSSID configuration is specified without mld_addr, the
first link address is used as the MLD MAC address as well. Though IEEE
P802.11be allows this, the current implementation and the kernel aren't
happy about it. Better avoid this.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoscan: MLD: Include SSID in ML probe request
Ilan Peer [Mon, 20 Nov 2023 23:51:38 +0000 (01:51 +0200)] 
scan: MLD: Include SSID in ML probe request

This improves chances with APs that do not reply to Probe Request frame
with short SSID or with direct BSSID.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agoscan: Include AP MLD ID in ML probe request if needed
Ilan Peer [Mon, 20 Nov 2023 23:51:37 +0000 (01:51 +0200)] 
scan: Include AP MLD ID in ML probe request if needed

According to IEEE P802.11be/D4.0, 35.3.4.2, the AP MLD ID must be
included in the Probe Request ML element in case it is sent to a
transmitted BSS in which case it should be set to 0. If it is sent to an
non-transmitted BSSID, the AP MLD ID should not be included.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP MLD: Don't include AP MLD ID in Beacon frames
Andrei Otcheretianski [Mon, 20 Nov 2023 23:51:36 +0000 (01:51 +0200)] 
AP MLD: Don't include AP MLD ID in Beacon frames

IEEE P802.11be/D4.0, 9.4.2.312.2.3 states that the AP MLD ID should only
be included in some ML probe responses. Beacon frames shouldn't include
AP MLD ID.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoML: Add basic handling of ML probe requests
Benjamin Berg [Mon, 20 Nov 2023 23:51:35 +0000 (01:51 +0200)] 
ML: Add basic handling of ML probe requests

This responds by simply embedding most of the IEs from the other links
into the ML element. This is not correct really, as inheritance rules
should be applied and an inheritance element may need to be added.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP: MLO: Add helper to iterate all links of an AP MLD
Benjamin Berg [Mon, 20 Nov 2023 23:51:34 +0000 (01:51 +0200)] 
AP: MLO: Add helper to iterate all links of an AP MLD

Add a simple for_each_mld_link helper that sets first variable to the
hapd data for every link. It takes the interfaces and MLD ID as
arguments and two extra integers as scratch variables (for the interface
and bss offsets).

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agoAP: Add parsing of ML probe requests
Benjamin Berg [Mon, 20 Nov 2023 23:51:33 +0000 (01:51 +0200)] 
AP: Add parsing of ML probe requests

This adds the parsing of ML probe requests. Handling will be added by a
later commit.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP: Split Probe Response frame IE generation into a separate function
Benjamin Berg [Mon, 20 Nov 2023 23:51:32 +0000 (01:51 +0200)] 
AP: Split Probe Response frame IE generation into a separate function

To support ML probe request we will need to include IEs from the other
hapd instances in the response. Split the function to allow just
generating the per-instance IEs separately.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP: Use a struct for Probe Response generation in/out params
Benjamin Berg [Mon, 20 Nov 2023 23:51:31 +0000 (01:51 +0200)] 
AP: Use a struct for Probe Response generation in/out params

This effectively moves setting the csa/ecsa/cca position to happen
only when a Probe Response template for offloading is generated.

One could probably avoid the global variable altogether, as the
value is immediately consumed into struct {csa,cca}_settings.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoMLD: Ignore failed links from association attempt
Benjamin Berg [Mon, 20 Nov 2023 23:51:28 +0000 (01:51 +0200)] 
MLD: Ignore failed links from association attempt

If for some reason association fails and a link which has an error is
reported, add that specific link to the ignore list. After that,
immediately retrigger the connection code. In the usual case, we are
then going to reconnect to the same AP MLD but with that particular link
not being included in the connection.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agonl80211: Report link specific association failures from the kernel
Benjamin Berg [Mon, 20 Nov 2023 23:51:30 +0000 (01:51 +0200)] 
nl80211: Report link specific association failures from the kernel

If a link specific error occured, mark the offending link within the
association parameters.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agonl80211: Add support to parse out link from error reply
Benjamin Berg [Mon, 20 Nov 2023 23:51:29 +0000 (01:51 +0200)] 
nl80211: Add support to parse out link from error reply

The kernel may report the link that caused an error by setting
NLMSGERR_ATTR_OFFS pointing to the NL80211_ATTR_MLO_LINKS element
that was the reason for the error.

Parse this information if the optional struct nl80211_err_info is
passed to send_and_recv_msgs().

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoMLD: Do not consider ignored BSSs for links when parsing RNR info
Benjamin Berg [Mon, 20 Nov 2023 23:51:27 +0000 (01:51 +0200)] 
MLD: Do not consider ignored BSSs for links when parsing RNR info

This avoids, e.g., trying to use a BSS that is rejected by mac80211 as a
link, which could fail the connection as a whole.

Note that this is not perfect. Ideally, the internal state would have a
more context sensitive ignore flag so that one could still use a BSS as
a link in some situation.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoMLD: Add a TEST_FAIL to fail one link in an MLD association.
Benjamin Berg [Mon, 20 Nov 2023 23:51:26 +0000 (01:51 +0200)] 
MLD: Add a TEST_FAIL to fail one link in an MLD association.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoMLD: Return status code for links when rejecting association
Benjamin Berg [Mon, 20 Nov 2023 23:51:26 +0000 (01:51 +0200)] 
MLD: Return status code for links when rejecting association

When the TX link rejects the association, return a status code for all
requested links. For simplicity, just return "TX link not accepted" so
that clients may try to connect to other links. This could be improved
to explicitly reject each link if directly associating to the link will
not work either.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoMLD: Also mark links as failed after association failure
Benjamin Berg [Mon, 20 Nov 2023 23:51:25 +0000 (01:51 +0200)] 
MLD: Also mark links as failed after association failure

Parse the link status values out of Multi-Link association response. If
the AP rejects ML association and marks the links as failed with a
reason code other than TX_LINK_NOT_ACCEPTED, also report these links to
wpas_connection_failed() and ignore them.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoEHT: Define status codes from IEEE P802.11be/D4.0
Benjamin Berg [Mon, 20 Nov 2023 23:51:24 +0000 (01:51 +0200)] 
EHT: Define status codes from IEEE P802.11be/D4.0

Add the new status code that had not yet been defined.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP: Add support for testing ML link removal
Ilan Peer [Mon, 20 Nov 2023 23:51:23 +0000 (01:51 +0200)] 
AP: Add support for testing ML link removal

Add support for testing ML link removal to hostapd. While such support
should inherently be integrated with the underlining driver, simulate
the inclusion of the ML reconfiguration element in hostapd.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoAP MLD: Make BSS parameter change variable
Ilan Peer [Mon, 20 Nov 2023 23:51:22 +0000 (01:51 +0200)] 
AP MLD: Make BSS parameter change variable

As a preparation to support link removal, make the BSS parameter
change count variable.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
20 months agowpa_supplicant: Fix ml_ie_len type in wpa_bss_parse_basic_ml_element()
Andrei Otcheretianski [Mon, 20 Nov 2023 23:51:21 +0000 (01:51 +0200)] 
wpa_supplicant: Fix ml_ie_len type in wpa_bss_parse_basic_ml_element()

Since the Multi-Link element can be fragmented, use size_t instead of
u8.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agowpa_supplicant: Remove duplicate logic in wpas_ml_element()
Andrei Otcheretianski [Mon, 20 Nov 2023 23:51:20 +0000 (01:51 +0200)] 
wpa_supplicant: Remove duplicate logic in wpas_ml_element()

Parsing multiple RNR elements already exists in
wpa_bss_parse_basic_ml_element(), so wpas_ml_element() just duplicates
the same code. Combine the functionality of both these functions and
remove the duplicate.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agowpa_supplicant: Add config parameters for MLD testing
Andrei Otcheretianski [Mon, 20 Nov 2023 23:51:19 +0000 (01:51 +0200)] 
wpa_supplicant: Add config parameters for MLD testing

Add band preference, BSSID preference, and single link enforcement
testing options. This is needed for testing MLO.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agodbus: Increase XML buffer size for an interface introspection data
Jouni Malinen [Sat, 25 Nov 2023 09:13:42 +0000 (11:13 +0200)] 
dbus: Increase XML buffer size for an interface introspection data

The current set of global configuration fields is getting close to the
previously used 15000 byte limit, so increase this size to 16000 and add
a note about the potential need to change this size when adding new
fields.

Signed-off-by: Jouni Malinen <j@w1.fi>
20 months agocommon: Simplify and avoid confusing defragmentation API
Benjamin Berg [Mon, 20 Nov 2023 23:51:18 +0000 (01:51 +0200)] 
common: Simplify and avoid confusing defragmentation API

Three functions were provided for defragmentation. First
ieee802_11_defrag(), ieee802_11_defrag_mle() and then
ieee802_11_defrag_data() which would do the actual job. With
ieee802_11_defrag() picking the member in the elements struct for an
EID. The problem with this is, that for the Multi-Link element, there
are multiple entries in the elems struct depending on its type. As such,
remove the intermediate function and simply pass the correct members
directly.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoieee802_11_defs: Fix EHT_ML_PRES_BM_PROBE_REQ_AP_MLD_ID
Johannes Berg [Mon, 20 Nov 2023 23:51:17 +0000 (01:51 +0200)] 
ieee802_11_defs: Fix EHT_ML_PRES_BM_PROBE_REQ_AP_MLD_ID

This Presence Bitmap field is B4..B15 of the Multi-Link Control field
and the value used here is for that full 16-bit field, not just within
the Presence Bitmap field.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
20 months agoSME: Drop old disassoc_while_authenticating workaround
Benjamin Berg [Mon, 20 Nov 2023 23:51:16 +0000 (01:51 +0200)] 
SME: Drop old disassoc_while_authenticating workaround

This workaround from commit 6d6f4bb87f33 ("nl80211: Work around mac80211
limitation on (re)auth when authenticated") pre-dates the code that
supresses the deauth or disconnect event from nl80211. Should this code
be called it would not actually work at this point, as important
internal state for the authentication attempt has already been lost.

Simply drop the code. This might also fix issues where we could get
into a bad state if a proper deauth/disconnect event happens while we
are authenticating or associating.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agonl80211: Do a roundtrip to reset event supressions
Benjamin Berg [Mon, 20 Nov 2023 23:51:15 +0000 (01:51 +0200)] 
nl80211: Do a roundtrip to reset event supressions

With nl80211 we need to supress the kernel generated event for any
disconnect and deauthenticate. This code is a bit fragile, as it
assumes that an event will happen. Commit b898b655824a ("nl80211: Do
not ignore disconnect event in case of !drv->associated") changed this
to only disconnect when the driver knows it is associated (apparently
required for P2P), however, deauthentication may also occur without
being associated yet.

Looking at the issue, what we are really interested in is whether the
event belongs to a disconnect/deauth command that we have send
ourselves. Any event happening after the disconnect/deauth completes
should not be suppressed (or after the next connect/auth as that would
be sufficient). We therefore need to know from the event stream
whether events were generated before or after disconnect/deauth
command completion.

To do so, send a simple command on the nl_event socket. As this will
be returned back to us in the correct order with regard to the events.
We can therefore use it to safely reset our internal
ignore_next_local_{deauth,disconnect} variables.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
20 months agotests: Give some operations more time
Johannes Berg [Fri, 24 Nov 2023 20:25:18 +0000 (21:25 +0100)] 
tests: Give some operations more time

With more channels now available in some regulatory domains, some scan
operations can take longer. Give them more time to complete in tests.

For two cases this required adding a timeout parameter to connect(),
which is then passed through.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
20 months agotests: Set wpa_s->global for module tests
Jouni Malinen [Fri, 24 Nov 2023 18:59:37 +0000 (20:59 +0200)] 
tests: Set wpa_s->global for module tests

This is needed to avoid NULL pointer deferencing in
wpa_supplicant_ctrl_iface_msg_cb() if any of the functions called from
wpas_bssid_ignore_module_tests_() ends up using wpa_msg().

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
20 months agonl80211: Update port authorized indication for MLO address
Vinayak Yadawad [Mon, 20 Nov 2023 12:39:33 +0000 (18:09 +0530)] 
nl80211: Update port authorized indication for MLO address

Handling of port authorized event for STA currently handles the
connected BSSID. This needs additional handling to support the AP MLD
address in case of MLO connection. The connected_addr expected by
cfg80211_port_authorized() is mld_addr for ML connection case.

Signed-off-by: Vinayak Yadawad <vinayak.yadawad@broadcom.com>
20 months agoACS: Add 320 MHz support for EHT
Nicolas Escande [Mon, 13 Nov 2023 08:55:55 +0000 (09:55 +0100)] 
ACS: Add 320 MHz support for EHT

Enable support for ACS in the IEEE 802.11be/320 MHz case. To do so we
just:
  - add channel definitions for the 320 MHz blocks of the 6 GHz band
  - handle CONF_OPER_CHWIDTH_320MHZ in the different cases
  - restrict 320 MHz to ieee80211be=1 only

Signed-off-by: Nicolas Escande <nico.escande@gmail.com>
20 months agoEHT: Fix HE Channel Center Freq Seg0/Seg1 for 6 GHz 320 MHz cases
Jurijs Soloveckis [Wed, 15 Nov 2023 08:48:05 +0000 (08:48 +0000)] 
EHT: Fix HE Channel Center Freq Seg0/Seg1 for 6 GHz 320 MHz cases

Fix for the HE Channel Center Freq Seg0/Seg1 within the HE 6GHz
Operation Information field. As downgrade of bandwidths for VHT and HE
when using puncturing is TODO for 320 MHz and/or if puncturing is
disabled and bandwidth is 320 MHz, the same rules as for 160 MHz should
be applied for Channel Center Freq Seg0/Seg1 within 6 GHz Operation
Information field.

Signed-off-by: Jurijs Soloveckis <jsoloveckis@maxlinear.com>
20 months agoEHT: Fix conditions for including EHT Operation Information field
Jurijs Soloveckis [Tue, 14 Nov 2023 12:47:05 +0000 (12:47 +0000)] 
EHT: Fix conditions for including EHT Operation Information field

Include EHT Operation Information field only if the operating bandwidth
is 320 MHz or there is at least one punctured 20 MHz subchannel. This
behavior is defined in IEEE P802.11be/D4.0, 35.15.1 (Basic EHT BSS
operation).

Signed-off-by: Jurijs Soloveckis <jsoloveckis@maxlinear.com>
20 months agoSAE: prime_len means length in bytes not bits
Juliusz Sosinowicz [Fri, 24 Nov 2023 14:36:49 +0000 (15:36 +0100)] 
SAE: prime_len means length in bytes not bits

The prime_len variable is used as the length in bytes but it is set as
the length in bits. This fixes the sae DH group tests with wolfSSL.

Fixes: f8f20717f87e ("SAE: Use const_time selection for PWE in FFC")
Signed-off-by: Juliusz Sosinowicz <juliusz@wolfssl.com>
20 months agotests: MBSSID beacon protection
Jouni Malinen [Fri, 24 Nov 2023 10:55:18 +0000 (12:55 +0200)] 
tests: MBSSID beacon protection

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
20 months agoMBSSID: Use BIGTK from the transmitted BSS for beacon protection
Jouni Malinen [Fri, 24 Nov 2023 10:53:09 +0000 (12:53 +0200)] 
MBSSID: Use BIGTK from the transmitted BSS for beacon protection

MBSSID shares a single Beacon frame with multiple BSSs. This implies
that the key used for beacon protection (BIGTK) needs to be shared. The
nontransmitted BSSs managed their own BIGTK previously and that resulted
in providing incorrect value to the stations associated with those BSSs.
Use the BIGTK from the transmitted BSS to fix this.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
20 months agotests: MBSSID with a single SSID and different AKMs
Jouni Malinen [Thu, 23 Nov 2023 21:17:06 +0000 (23:17 +0200)] 
tests: MBSSID with a single SSID and different AKMs

Test functionality in cases where MBSSID is used with a WPA2-Personal
only BSS as the transmitted BSS and WPA3-Personal BSS as the
nontransmitted BSS.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>