]> git.ipfire.org Git - thirdparty/hostap.git/log
thirdparty/hostap.git
2 years agoAdd p2p_optimize_listen_chan=1 to default Android template
Hu Wang [Fri, 26 Aug 2022 03:17:50 +0000 (11:17 +0800)] 
Add p2p_optimize_listen_chan=1 to default Android template

Commit e3bd6e9dc0 ("P2P: Use another interface operating channel as
listen channel") allows P2P listen channel to be selected based on
another interface operating channel if it is one of social channels
(i.e., 2.4 GHz 1, 6, 11).

This optimization is disabled by default due to the technical
specification expectations, but since this can be quite helpful for
optimized behavior, enable it by adding p2p_optimize_listen_chan=1 to
the default Android configuration template.

2 years agoExtend attributes of QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO
Aleti Nageshwar Reddy [Wed, 27 Jul 2022 11:40:08 +0000 (17:10 +0530)] 
Extend attributes of QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO

Extend attributes of subcmd QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO
for quering per MCS TX and RX packets from the driver/firmware.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoQCA vendor attribute to configure periodic sounding
Kiran Kumar Lokere [Fri, 9 Sep 2022 23:42:45 +0000 (16:42 -0700)] 
QCA vendor attribute to configure periodic sounding

Add a new QCA vendor attribute to configure the periodic sounding for Tx
beamformer functionality.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agowlantest: MLD MAC Address in CCMP/GCMP AAD/nonce
Jouni Malinen [Mon, 5 Sep 2022 20:08:43 +0000 (23:08 +0300)] 
wlantest: MLD MAC Address in CCMP/GCMP AAD/nonce

Use the MLD MAC Address instead of link address in CCMP/GCMP AAD/nonce
construction when processing an individually addressed Data frame with
FromDS=1 or ToDS=1 between an AP MLD and non-AP MLD.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agowlantest: Recognize additional not-Robust Action categories
Jouni Malinen [Mon, 5 Sep 2022 18:56:08 +0000 (21:56 +0300)] 
wlantest: Recognize additional not-Robust Action categories

Do not complain about unprotected Action frames for additional
categories that have been defined as not being Robust.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agowlantest: Use link BSS entry instead of AP MLD entry for EAPOL-Key frames
Jouni Malinen [Mon, 5 Sep 2022 18:47:49 +0000 (21:47 +0300)] 
wlantest: Use link BSS entry instead of AP MLD entry for EAPOL-Key frames

SA/DA in EAPOL-Key frames might not be the BSSID when MLO is used. Check
for these cases to avoid adding unexpected BSS entries for AP MLD
instead of the per-link BSS entry. This is needed to be able to find the
derived keys when decrypting protected frames.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agowlantest: Distinguish EAPOL-Key msg 4/4 from 2/4 based on Key Nonce
Jouni Malinen [Mon, 5 Sep 2022 18:16:44 +0000 (21:16 +0300)] 
wlantest: Distinguish EAPOL-Key msg 4/4 from 2/4 based on Key Nonce

IEEE P802.11be adds the MAC Address KDE into the EAPOL-Key msg 4/4 when
MLO is used and as such, the previously used check for Key Data Length
value 0 is not sufficient for recognizing the EAPOL-Key msg 4/4 anymore.
Also check for an all zero Key Nonce value since that field is supposed
to be zero in EAPOL-Key msg 4/4 and it has to be a random value in
EAPOL-Key msg 2/4.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agowlantest: Use MLD MAC addresses, if known, as AA/SA in PTK derivation
Jouni Malinen [Mon, 5 Sep 2022 18:10:35 +0000 (21:10 +0300)] 
wlantest: Use MLD MAC addresses, if known, as AA/SA in PTK derivation

When MLO is used, the MLD MAC addresses of the AP MLD and non-AP MLD are
used as the Authenticator and Supplicant addresses. Update PTK
derivation to use this information to work with MLO.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agowlantest: Learn MLD MAC address from EAPOL-Key msg 1/4 and 2/4
Jouni Malinen [Mon, 5 Sep 2022 18:08:24 +0000 (21:08 +0300)] 
wlantest: Learn MLD MAC address from EAPOL-Key msg 1/4 and 2/4

IEEE P802.11be indicates the MLD MAC addresses, i.e., the Authenticator
and Supplicant addresses, in the MAC Address KDE in EAPOL-Key msg 1/4
and 2/4. Learn those addresses so that wlantest can be extended to
support MLO.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoValidate MAC Address KDE length in the parser
Jouni Malinen [Mon, 5 Sep 2022 17:56:49 +0000 (20:56 +0300)] 
Validate MAC Address KDE length in the parser

Verify that the MAC Address KDE includes enough data to contain a MAC
address as a part of the parsing function so that each caller would not
need to verify this separately. None of the existing users of this
parser actually needed the MAC address value, so there was not any use
for the length field before. The updated design is more robust for
future uses and gets rid of that unused length field as well.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoFix expiration logic for the first PTKSA cache entry
Vinay Gannevaram [Thu, 21 Jul 2022 14:47:26 +0000 (20:17 +0530)] 
Fix expiration logic for the first PTKSA cache entry

When an entry is added to the PTKSA cache, timer expiration is not set.
Check the list and set the timer expiration when the list is empty also.
When another entry is added to the list, it is placed before the relavant
entry in the order of expiry time of all entries present in the list.

Fixes: a4e36916168a ("WPA: Add PTKSA cache implementation")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoPASN: Set secure ranging context to driver after association
Vinay Gannevaram [Thu, 7 Jul 2022 21:17:08 +0000 (02:47 +0530)] 
PASN: Set secure ranging context to driver after association

After the secure association and PTK derivation are completed, if the
device supports LTF keyseed, generate the LTF keyseed using KDK and set
the ranging context to the driver by using the command
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoPASN: Configure secure ranging context to the driver in AP mode
Vinay Gannevaram [Thu, 7 Jul 2022 20:14:54 +0000 (01:44 +0530)] 
PASN: Configure secure ranging context to the driver in AP mode

AP as a responder, on successful completion of PASN authentication
configures the required keys by using the command
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT to the driver.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agonl80211: Define vendor interface functions to offload PASN authentication
Vinay Gannevaram [Tue, 26 Jul 2022 10:56:25 +0000 (16:26 +0530)] 
nl80211: Define vendor interface functions to offload PASN authentication

This defines the QCA vendor interface functions to offload PASN
authentication from the driver.

The driver sends the QCA_NL80211_VENDOR_SUBCMD_PASN event requesting to
perform PASN authentication with a list of peers with which the driver
needs to do ranging. wpa_supplicant performs PASN handshake with all the
peer devices and sets the required keys using the command
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT to the driver. After
PASN handshake is completed with all requested peers, wpa_supplicant
sends consolidated status for all peers to the driver.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoPASN: Set keys from PTKSA cache for a valid PTKSA entry
Vinay Gannevaram [Tue, 26 Jul 2022 08:26:03 +0000 (13:56 +0530)] 
PASN: Set keys from PTKSA cache for a valid PTKSA entry

Set secure ranging context to the driver for a valid PTKSA entry in the
PTKSA cache, if available. When the driver requests for PASN keys,
wpa_supplicant configures the keys from its cache if the keys for the
peer derived with the same own MAC address are available in the cache
instead of doing the full PASN handshake again.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agonl80211: Register PASN Authentication frames for SME-in-driver
Vinay Gannevaram [Tue, 26 Jul 2022 08:06:05 +0000 (13:36 +0530)] 
nl80211: Register PASN Authentication frames for SME-in-driver

This is needed to allow PASN processing offload from the driver to
wpa_supplicant.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agonl80211: Allow PASN Authentication frames with random (foreign) MAC address
Vinay Gannevaram [Tue, 26 Jul 2022 08:06:05 +0000 (13:36 +0530)] 
nl80211: Allow PASN Authentication frames with random (foreign) MAC address

To support secure ranging with a random MAC address, PASN handshake is
performed with a different source MAC address from the device's own
interface address. Hence, allow PASN Authentication frames with any
foreign MAC address to further process the Authentication frames.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoPASN: Deauthenticate on PTKSA cache entry expiration
Vinay Gannevaram [Fri, 8 Jul 2022 06:11:01 +0000 (11:41 +0530)] 
PASN: Deauthenticate on PTKSA cache entry expiration

Add an option for an alternative processing of PTKSA life time expiry.

Register a callback in wpa_supplicant to handle the life time expiry of
the keys in PTKSA cache. Send PASN deauthentication when a PTKSA cache
entry expires.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoPASN: Offload handshake for multiple peers from the driver
Vinay Gannevaram [Tue, 26 Jul 2022 07:50:48 +0000 (13:20 +0530)] 
PASN: Offload handshake for multiple peers from the driver

This brings in the functionality to hold multiple peers and perform PASN
authentication with each peer at a time and send the PASN response to
the driver. PASN parameters such as AKMP and cipher suite are obtained
from the BSS information of the cached scan results. Also add
functionality to trigger deauthentication to the peer for which PASN
request with action PASN_ACTION_DELETE_SECURE_RANGING_CONTEXT is
received.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoPASN: Add driver operation to set secure ranging context and PASN response
Vinay Gannevaram [Tue, 26 Jul 2022 07:09:17 +0000 (12:39 +0530)] 
PASN: Add driver operation to set secure ranging context and PASN response

This is used to set secure ranging context and send PASN response to the
driver.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoPASN: Add interface to handle PASN request from the driver
Vinay Gannevaram [Tue, 26 Jul 2022 06:46:45 +0000 (12:16 +0530)] 
PASN: Add interface to handle PASN request from the driver

This brings in the function declarations and data structures that are
required for handling PASN request from the driver, sending secure
ranging context and PASN response to the driver.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoPASN: Add function to compute LTF keyseed from KDK
Vinay Gannevaram [Tue, 26 Jul 2022 06:16:26 +0000 (11:46 +0530)] 
PASN: Add function to compute LTF keyseed from KDK

Add a function to derive the LTF keyseed from KDK. This function is
built only in case that CONFIG_PASN is enabled at build time.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoAdd own MAC address in PASN supplicant start and deauthentication
Vinay Gannevaram [Sun, 20 Mar 2022 09:59:49 +0000 (15:29 +0530)] 
Add own MAC address in PASN supplicant start and deauthentication

The driver requests PASN authentication for a peer with a specified
source (own) MAC address. Use the specified own MAC address for PASN
operations. This is needed to allow random MAC addresses to be used.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoAdd own MAC address used for key derivation to PTKSA cache
Vinay Gannevaram [Sun, 20 Mar 2022 09:26:00 +0000 (14:56 +0530)] 
Add own MAC address used for key derivation to PTKSA cache

On successful PASN handshake or 4-way handshake with a peer, PTK is
derived using the local and peer MAC addresses as input. Store the own
MAC address that is used for key derivation in PTKSA cache to maintain
that state over potential MAC addresses changes.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoStore secure ranging driver capabilities in WPA state machine
Vinay Gannevaram [Sun, 20 Mar 2022 13:56:02 +0000 (19:26 +0530)] 
Store secure ranging driver capabilities in WPA state machine

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoUse separate PASN capabilities for AP and STA modes
Vinay Gannevaram [Sun, 20 Mar 2022 13:56:02 +0000 (19:26 +0530)] 
Use separate PASN capabilities for AP and STA modes

Use separate capabilities for AP and STA modes for P802.11az security
parameters secure LTF support, secure RTT measurement exchange support,
and protection of range negotiation and measurement management frames
support.

P802.11az security parameters are considered to be supported for both
station and AP modes if the driver sets NL80211_EXT_FEATURE_SECURE_LTF,
NL80211_EXT_FEATURE_SECURE_RTT, and
NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE flags. The driver can
advertize capabilities specific to each mode using
QCA_WLAN_VENDOR_FEATURE_SECURE_LTF*,
QCA_WLAN_VENDOR_FEATURE_SECURE_RTT*, and
QCA_WLAN_VENDOR_FEATURE_PROT_RANGE_NEGO_AND_MEASURE* flags.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoEAPOL: Update PMK length in EAPOL callback to support longer keys
Vinayak Yadawad [Thu, 30 Jun 2022 04:08:14 +0000 (09:38 +0530)] 
EAPOL: Update PMK length in EAPOL callback to support longer keys

With introduction of newer AKMs, there is a need to update the PMK
length plumbed for the driver based 4-way handshake. To support this,
the current update the PMK length to 48, if the key management type uses
SHA-384. This is needed, e.g., for SUITE-B-192.

Signed-off-by: Vinayak Yadawad <vinayak.yadawad@broadcom.com>
2 years agoOpenSSL: Include rsa.h for all OpenSSL versions
Andre Heider [Wed, 22 Jun 2022 12:13:55 +0000 (14:13 +0200)] 
OpenSSL: Include rsa.h for all OpenSSL versions

This fixes the build with OpenSSL 1.1.1:
../src/crypto/crypto_openssl.c: In function 'crypto_rsa_oaep_sha256_decrypt':
../src/crypto/crypto_openssl.c:4404:49: error: 'RSA_PKCS1_OAEP_PADDING' undeclared (first use in this function)

Signed-off-by: Andre Heider <a.heider@gmail.com>
2 years agoP2P: Fix a typo in a comment about removing 6 GHz channels
Jouni Malinen [Wed, 31 Aug 2022 14:14:32 +0000 (17:14 +0300)] 
P2P: Fix a typo in a comment about removing 6 GHz channels

This was supposed to be talking about excluding 6 GHz channels, not 5
GHz.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoP2P: Skip 6 GHz band directly if 6 GHz P2P is disabled
Hector Jiang [Thu, 28 Apr 2022 10:56:33 +0000 (18:56 +0800)] 
P2P: Skip 6 GHz band directly if 6 GHz P2P is disabled

If 6 GHz is supported by the device but 6 GHz P2P is disabled, P2P
invitation would fail if the GO select an operating channel which is not
the preferred channel. The root cause is that the 5 GHz and 6 GHz bands
are both HOSTAPD_MODE_IEEE80211A so the 5 GHz channels would be added
twice for the P2P Client's following scanning frequency list. This will
cause scanning to fail with -EINVAL. Fix this by adding the 5 GHz
channels only once.

Signed-off-by: Hector Jiang <jianghaitao@zeku.com>
2 years agoFix wrong AKM priority for FILS
Seongsu Choi [Tue, 30 Aug 2022 04:21:16 +0000 (13:21 +0900)] 
Fix wrong AKM priority for FILS

According to the OCE specification, the STA shall select the AKM in
priority order from the list below.

1. FT Authentication over FILS (SHA-384) 00-0F-AC:17
2. FILS (SHA-384) 00-0F-AC:15
3. FT Authentication over FILS (SHA-256) 00-0F-AC:16
4. FILS (SHA-256) 00-0F-AC:14
5. FT Authentication using IEEE Std 802.1X (SHA-256) 00-0F-AC:3
6. Authentication using IEEE Std 802.1X (SHA-256) 00-0F-AC:5
7. Authentication using IEEE Std 802.1X 00-0F-AC:1

Move the FT-FILS-SHA256 check to be after the FILS-SHA384 one to match
this.

Signed-off-by: Seongsu Choi <seongsu.choi@samsung.com>
2 years agowlantest: Extend Management frame decryption to support GCMP and CCMP-256
Jouni Malinen [Mon, 29 Aug 2022 18:46:09 +0000 (21:46 +0300)] 
wlantest: Extend Management frame decryption to support GCMP and CCMP-256

Data frame processing had already been extended to support additional
cipher suites, but Robust Management frame processing was still using a
hardcoded cipher suite (CCMP-128). Extend it to support GCMP-128,
GCMP-256, and CCMP-256 as well.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agowlantest: Extend protected Data frame checks for GCMP and CCMP-256
Jouni Malinen [Mon, 29 Aug 2022 18:31:52 +0000 (21:31 +0300)] 
wlantest: Extend protected Data frame checks for GCMP and CCMP-256

The same rules that apply to CCMP-128 apply also for GCMP-128, CCMP-256,
and GCMP-256 here.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agotests: DPP push button and unsupported AP configuration
Jouni Malinen [Fri, 26 Aug 2022 21:51:25 +0000 (00:51 +0300)] 
tests: DPP push button and unsupported AP configuration

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoDPP3: Do not initiate PKEX for PB if no configuration is available
Jouni Malinen [Fri, 26 Aug 2022 21:50:05 +0000 (00:50 +0300)] 
DPP3: Do not initiate PKEX for PB if no configuration is available

Reorder PKEX initiation function to send out the PKEX Exchange Request
frame at the end after all possible error cases have been checked. This
prevents Enrollee from seeing a PKEX frame when the session is about to
fail.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoAdd QCA vendor interface to get SAR capabilities to userspace
mukul sharma [Fri, 19 Aug 2022 18:24:47 +0000 (23:54 +0530)] 
Add QCA vendor interface to get SAR capabilities to userspace

Add QCA_NL80211_VENDOR_SUBCMD_GET_SAR_CAPABILITY to get various SAR
capabilities supported by the WLAN firmware to userspace. These
capabilites are usually reported by the firmware during the initial
bootup handshake with the driver. Based on these capabilities, user
space can choose proper SAR indexes.

Signed-off-by: Mukul Sharma <quic_mukul@quicinc.com>
2 years agoAdd support to send multi AKM connect request when driver's SME in use
Veerendranath Jakkam [Sun, 20 Feb 2022 01:51:56 +0000 (07:21 +0530)] 
Add support to send multi AKM connect request when driver's SME in use

Add support to configure SAE, PSK, and PSK-SHA256 AKMs in connect
request when driver's SME in use. This is needed for implementing
WPA3-Personal transition mode correctly with any driver that handles
roaming internally.

Send additional AKMs configured in network block to driver based on
the maximum number of AKMs allowed by driver in connect request. Keep
first AKM in the list AKMs in the connect request as AKM selected by
wpa_supplicant to maintain backwards compatibility.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
2 years agonl80211: Determine maximum number of supported AKMs
Veerendranath Jakkam [Sun, 20 Feb 2022 01:51:56 +0000 (07:21 +0530)] 
nl80211: Determine maximum number of supported AKMs

Use the recently added attribute to determine whether the kernel
supports a larger number of AKM suites in various commands.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
2 years agoUpdate PSK after cross AKM roaming to WPA-PSK when driver's SME in use
Veerendranath Jakkam [Sun, 20 Feb 2022 03:29:13 +0000 (08:59 +0530)] 
Update PSK after cross AKM roaming to WPA-PSK when driver's SME in use

4-way handshake was failing after the driver roam from SAE to WPA-PSK
due to wpa_sm having an old PMK which was generated during previous SAE
connection.

To fix this update PSK to wpa_sm when AKM changes from SAE to WPA-PSK
for the target AP to have a correct PMK for 4-way handshake. Also,
update PSK to the driver when key management offload is enabled.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
2 years agoSync with wireless-next.git include/uapi/linux/nl80211.h
Jouni Malinen [Sat, 30 Jul 2022 08:12:00 +0000 (11:12 +0300)] 
Sync with wireless-next.git include/uapi/linux/nl80211.h

This brings in nl80211 definitions as of 2022-07-22. In addition, update
nl80211_command_to_string() to cover the new defined commands.

Signed-off-by: Jouni Malinen <j@w1.fi>
2 years agoDPP: Fix DPP_RELAY_ADD_CONTROLLER command parsing
Jouni Malinen [Thu, 25 Aug 2022 21:25:17 +0000 (00:25 +0300)] 
DPP: Fix DPP_RELAY_ADD_CONTROLLER command parsing

hostapd_dpp_add_controller() ended up trying to parse the IP address
without nul terminating it. This might work with some C libraries, but
not all. And anyway, this was already supposed to nul terminate the
string since a temporary copy is created of the constant string. Fix
this by adding the missed replacement of the space with nul.

Fixes: bfe3cfc382d6 ("DPP: Allow Relay connections to Controllers to be added and removed")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agotests: Skip sigma_dut_dpp_tcp_configurator_init_mutual_unsupported_curve if needed
Jouni Malinen [Thu, 25 Aug 2022 17:19:15 +0000 (20:19 +0300)] 
tests: Skip sigma_dut_dpp_tcp_configurator_init_mutual_unsupported_curve if needed

The part about checking the supported curves from the peer depends on
CONFIG_DPP3 and this test case needs to be skipped without that.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agonl80211: Silence a compiler warning on printf in 32-bit builds
Jouni Malinen [Thu, 25 Aug 2022 15:52:46 +0000 (18:52 +0300)] 
nl80211: Silence a compiler warning on printf in 32-bit builds

u64 needs "long long unsigned int" on 32-bit, so print this using a
typecase value so that both 32 and 64-bit builds work fine.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoDPP3: Use chirping channel list in PB discovery
Jouni Malinen [Thu, 25 Aug 2022 09:47:53 +0000 (12:47 +0300)] 
DPP3: Use chirping channel list in PB discovery

This design was changed in the draft specification, so update
implementation to match the new design. Instead of including all
supported 2.4 and 5 GHz channels, generate the channel list using the
same mechanism that was already used for chirping.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agotests: DPP PB channel changes
Jouni Malinen [Thu, 25 Aug 2022 09:46:17 +0000 (12:46 +0300)] 
tests: DPP PB channel changes

Prepare for an implementation change for the PB discovery channel list.
Move the standlone (not an AP) PB Configurators to a preferred channel
and enable Configurator connectivity indication in APs that act as PB
Configurators.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoDPP: Channel list generation for presence announcement to helper funcion
Jouni Malinen [Thu, 25 Aug 2022 09:19:58 +0000 (12:19 +0300)] 
DPP: Channel list generation for presence announcement to helper funcion

This procedure will be used for PB discovery as well, so move the
frequency array generation into a helper function.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoOpenSSL: Fix HPKE in some corner cases
Jouni Malinen [Wed, 24 Aug 2022 20:28:20 +0000 (23:28 +0300)] 
OpenSSL: Fix HPKE in some corner cases

EVP_PKEY_derive() might report a larger maximum size of the output than
HPKE_MAX_SHARED_SECRET_LEN under some conditions. That should be allowed
as long as the real final length is within the maximum limit.
Furthermore, since we are using a fixed length buffer for this, there is
no need to call EVP_PKEY_derive() twice to first learn the maximum
length. Use a bit longer buffer and allow OpenSSL to take care of the
update to the final length internally with than single call.

This showed up using the following test case sequence:
dbus_pkcs11 dpp_private_peer_introduction

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoDPP: Do not discard network introduction frames in test mode
Jouni Malinen [Wed, 24 Aug 2022 15:31:54 +0000 (18:31 +0300)] 
DPP: Do not discard network introduction frames in test mode

dpp_discard_public_action=1 was not supposed to prevent network
introduction, i.e., it was only for frames that could go through the
DPP-over-TCP path. Fix this not to prevent network introduction when
using DPP-over-TCP to configure a DPP AKM profile.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agotests: sigma_dut and DPP push button first on Enrollee
Jouni Malinen [Tue, 23 Aug 2022 15:56:17 +0000 (18:56 +0300)] 
tests: sigma_dut and DPP push button first on Enrollee

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2 years agoDPP: Do not use 6 GHz channels for push button
Jouni Malinen [Fri, 29 Jul 2022 18:15:37 +0000 (21:15 +0300)] 
DPP: Do not use 6 GHz channels for push button

For now, do not include 6 GHz channels since finding a Configurator from
a large number of channels would take excessive amount of time.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: sigma_dut and updated ConfResult value for Configurator failures
Jouni Malinen [Fri, 29 Jul 2022 15:56:49 +0000 (18:56 +0300)] 
tests: sigma_dut and updated ConfResult value for Configurator failures

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Add config response status value to DPP-CONF-SENT
Jouni Malinen [Fri, 29 Jul 2022 15:55:37 +0000 (18:55 +0300)] 
DPP: Add config response status value to DPP-CONF-SENT

This can be helpful for upper layers to be able to determine whether the
configuration was rejected.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: sigma_dut and DPP PB session overlap
Jouni Malinen [Thu, 28 Jul 2022 18:17:15 +0000 (21:17 +0300)] 
tests: sigma_dut and DPP PB session overlap

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoEnhance QCA vendor roam event to indicate MLO links after reassociation
Veerendranath Jakkam [Tue, 19 Jul 2022 09:23:16 +0000 (14:53 +0530)] 
Enhance QCA vendor roam event to indicate MLO links after reassociation

Enhance QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH event for the
driver to indicate the information of the associated links of MLO
roaming.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
3 years agoUpdate copyright notices for the QCA vendor definitions
Jouni Malinen [Thu, 28 Jul 2022 17:13:35 +0000 (20:13 +0300)] 
Update copyright notices for the QCA vendor definitions

Catch up with the changes from the last year.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: Temporary workaround for dpp_chirp_ap_5g
Jouni Malinen [Thu, 28 Jul 2022 14:58:01 +0000 (17:58 +0300)] 
tests: Temporary workaround for dpp_chirp_ap_5g

Configurator station seems to be unable to get the first Authentication
Request frame transmitted through mac80211_hwsim for some reason. It is
not really clear why this happens and why it started happening now, but
as a temporary workaround, wait a second here since that seems to avoid
this for some unknown reason.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: Fix fuzzing/sae build
Jouni Malinen [Thu, 28 Jul 2022 14:08:11 +0000 (17:08 +0300)] 
tests: Fix fuzzing/sae build

sae.c depends on wpa_common.c now and as such, this test build needs to
pull in whatever is needed there and that happens to include sha1-prf.c.
Add that to the fuzzer to fix the build.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: Fix p2p_channel_avoid3
Jouni Malinen [Thu, 28 Jul 2022 13:56:21 +0000 (16:56 +0300)] 
tests: Fix p2p_channel_avoid3

This test case assumed that the p2p_pref_chan 128:44 parameter would
have resulted in channel 44 (5220 MHz) being selected. That does not
work anymore since that channel was marked to require DFS/radar
detection in regdb. Fix the text case by changing to use another country
with rules that match the test case expectations.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: Add more time for scan/connection
Jouni Malinen [Thu, 28 Jul 2022 13:41:23 +0000 (16:41 +0300)] 
tests: Add more time for scan/connection

It looks like some test cases could fail due to timeouts since the 10
second wait may not be sufficient to cover some cases where 6 GHz
channels get scanned. Increase the timeouts to avoid hitting such cases.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agonl80211: Allow more time for the initial scan with 6 GHz
Jouni Malinen [Thu, 28 Jul 2022 13:40:05 +0000 (16:40 +0300)] 
nl80211: Allow more time for the initial scan with 6 GHz

The initial timeout of 10 seconds for the first scan before knowing
whether the driver reports scan completion events may not be sufficient
in cases where the driver ends up scanning a large number of channels.
In particular, this could be hit with 6 GHz support. Increase this
timeout when the driver indicates support for 6 GHz channels.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: Allow 6 GHz opclasses in MBO checks
Jouni Malinen [Thu, 28 Jul 2022 13:16:47 +0000 (16:16 +0300)] 
tests: Allow 6 GHz opclasses in MBO checks

It looks like the host update of regulatory information can still get
through somehow, so add alternative expected values for the supported
operating classes for cases where 6 GHz frequencies were added recently.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoRemove a host of unnecessary OPENSSL_IS_BORINGSSL ifdefs
David Benjamin [Mon, 13 Jun 2022 16:22:05 +0000 (12:22 -0400)] 
Remove a host of unnecessary OPENSSL_IS_BORINGSSL ifdefs

The <openssl/buf.h> include is relevant in both OpenSSL and BoringSSL
because the file uses BUF_MEM (include what you use). OpenSSL just
happened to include it via another file. OpenSSL also spells it
<openssl/buffer.h>, not matching the type, so use the compatible
spelling.

Additionally all the CHECKED_CAST and manual STACK_OF(T) definitions
call into BoringSSL internals. The correct, public APIs are simply to
just use the same code as OpenSSL and call the DEFINE_STACK_OF macros.

Signed-off-by: David Benjamin <davidben@google.com>
3 years agoAlways process pending QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH data
Veerendranath Jakkam [Mon, 25 Jul 2022 11:20:12 +0000 (16:50 +0530)] 
Always process pending QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH data

Commit 74818ca63f7e ("Process
QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH after NL80211_CMD_ROAM")
added workaround to hold the pending
QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH event data for up to 100 ms
in case NL80211_CMD_ROAM is not received first. The 100 ms wait period
was sufficient for most of the cases but it's observed that some times
kernel is taking more than 100 ms to process and send NL80211_CMD_ROAM
to userspace.

If NL80211_CMD_ROAM takes more than 100 ms
QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH event data getting ignored
though wpa_supplicant has it. To avoid this remove timeout for
QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH event data since driver
always indicates NL80211_CMD_ROAM along with
QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH.

In addition, clear the pending event data when marking the interface
disconnected since the roaming information is supposed to be used only
when reassociating without a disconnection.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
3 years agoQoS: Use common classifier_mask for ipv4/ipv6
Purushottam Kushwaha [Fri, 1 Jul 2022 06:48:12 +0000 (12:18 +0530)] 
QoS: Use common classifier_mask for ipv4/ipv6

ipv4_params/ip6_params in type4_params maintains separate classifier
mask while type4_params already has a common classifier_mask. Lets
use the common classifier mask for both ipv4/ipv6 params and remove
the redundant params_mask in ipv4_params/ip6_params.

Signed-off-by: Purushottam Kushwaha <quic_pkushwah@quicinc.com>
3 years agoAdd fixed FDD mode to qca_btc_chain_mode QCA vendor attribute
Xiaoning Ma [Wed, 27 Jul 2022 14:07:22 +0000 (22:07 +0800)] 
Add fixed FDD mode to qca_btc_chain_mode QCA vendor attribute

Previously when chains of BT and WLAN 2.4 GHz are separated,
hybrid mode will be used for BTC. Now adding fixed FDD mode
to fulfill different BTC scenarios.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: sigma_dut and DPP Enrollee unsupported curves
Jouni Malinen [Thu, 28 Jul 2022 08:22:44 +0000 (11:22 +0300)] 
tests: sigma_dut and DPP Enrollee unsupported curves

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Check Enrollee supported curves when building Config Response
Jouni Malinen [Thu, 28 Jul 2022 08:19:55 +0000 (11:19 +0300)] 
DPP: Check Enrollee supported curves when building Config Response

The Enrollee may report its supported curves in the bootstrapping URI.
If it does that, the Configurator may stop generating the Config Object
that would depend on the Enrollee using a curve that it did not indicate
as being supported. Check for this case while proessing the Config
Request and stop Configurator from building a configuration that is
known not to work.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: sigma_dut and DPP MUDURL setting for hostapd
Jouni Malinen [Wed, 27 Jul 2022 10:43:58 +0000 (13:43 +0300)] 
tests: sigma_dut and DPP MUDURL setting for hostapd

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Allow dpp_controller_start without arguments in CLIs
Jouni Malinen [Wed, 27 Jul 2022 09:33:40 +0000 (12:33 +0300)] 
DPP: Allow dpp_controller_start without arguments in CLIs

The DPP_CONTROLLER_START control interface command can be used without
any arguments, so do not force at least a single argument to be included
in wpa_cli and hostapd_cli.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoFix ifdef condition for imsi_privacy_cert
Jouni Malinen [Sun, 24 Jul 2022 21:27:20 +0000 (00:27 +0300)] 
Fix ifdef condition for imsi_privacy_cert

CRYPTO_RSA_OAEP_SHA256 is not sufficient here since ssid->eap does not
exist without IEEE8021X_EAPOL.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: SAE with extended key AKM
Jouni Malinen [Sun, 24 Jul 2022 18:47:12 +0000 (21:47 +0300)] 
tests: SAE with extended key AKM

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: More detailed report on SAE PMKSA caching error case
Jouni Malinen [Sun, 24 Jul 2022 15:40:30 +0000 (18:40 +0300)] 
tests: More detailed report on SAE PMKSA caching error case

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoSAE: Derive a variable length PMK with the new AKM suites
Jouni Malinen [Sun, 24 Jul 2022 19:16:40 +0000 (22:16 +0300)] 
SAE: Derive a variable length PMK with the new AKM suites

Select the PMK length based on the used group (prime length) when using
the new AKM suites for SAE.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoSAE: Indicate AKM suite selector in commit for new AKM suites
Jouni Malinen [Sun, 24 Jul 2022 19:24:56 +0000 (22:24 +0300)] 
SAE: Indicate AKM suite selector in commit for new AKM suites

SAE authentication needs to known which AKM suite is being used to be
able to determine the correct PMK length for the new AKM suite selectors
that use variable length keys.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoSAE: Use H2E unconditionally with the new AKM suites
Jouni Malinen [Sun, 24 Jul 2022 19:20:58 +0000 (22:20 +0300)] 
SAE: Use H2E unconditionally with the new AKM suites

The new SAE AKM suites are defined to use H2E, so ignore the sae_pwe
value when these AKM suites are used similarly to the way H2E gets
enabled when SAE Password Identifiers are used.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoSAE: Store PMK length and AKM in SAE data
Jouni Malinen [Sun, 24 Jul 2022 19:15:52 +0000 (22:15 +0300)] 
SAE: Store PMK length and AKM in SAE data

These are needed to be able to support new AKM suites with variable
length PMK.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoSAE: EAPOL-Key and key/MIC length information for the new AKM suites
Jouni Malinen [Sun, 24 Jul 2022 19:09:51 +0000 (22:09 +0300)] 
SAE: EAPOL-Key and key/MIC length information for the new AKM suites

Update the AKM suite specific mapping of various EAPOL-Key key lengths
and algorithms to include the new SAE AKM suites with variable length
keys.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoSAE: Driver capability flags for the new SAE AKM suites
Jouni Malinen [Sun, 24 Jul 2022 19:09:07 +0000 (22:09 +0300)] 
SAE: Driver capability flags for the new SAE AKM suites

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoSAE: Internal WPA_KEY_MGMT_* defines for extended key AKMs
Jouni Malinen [Sun, 24 Jul 2022 19:05:37 +0000 (22:05 +0300)] 
SAE: Internal WPA_KEY_MGMT_* defines for extended key AKMs

Define new WPA_KEY_MGMT_* values for the new SAE AKM suite selectors
with variable length keys. This includes updates to various mapping and
checking of the SAE key_mgmt values.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoSAE: Use wpa_key_mgmt_sae() helper
Jouni Malinen [Sun, 24 Jul 2022 15:43:21 +0000 (18:43 +0300)] 
SAE: Use wpa_key_mgmt_sae() helper

Use the existing helper function instead of maintaining multiple copies
of lists of SAE key management suites.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDefine new RSN AKM suite selector values
Jouni Malinen [Sun, 24 Jul 2022 10:58:38 +0000 (13:58 +0300)] 
Define new RSN AKM suite selector values

Add the new AKM suite selectors defined in IEEE P802.11-REVme/D1.3.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Clear push button announcement state on wpa_supplicant FLUSH
Jouni Malinen [Sat, 23 Jul 2022 20:31:46 +0000 (23:31 +0300)] 
DPP: Clear push button announcement state on wpa_supplicant FLUSH

This was already done in hostapd and same is needed for wpa_supplicant
to avoid testing issues due to session overlap detection from previous
test cases.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: DPP Controller/Relay with need to discover Controller
Jouni Malinen [Sat, 23 Jul 2022 19:44:11 +0000 (22:44 +0300)] 
tests: DPP Controller/Relay with need to discover Controller

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Event message for indicating when Relay would need a Controller
Jouni Malinen [Sat, 23 Jul 2022 19:42:24 +0000 (22:42 +0300)] 
DPP: Event message for indicating when Relay would need a Controller

The new DPP-RELAY-NEEDS-CONTROLLER control interface event can be used
to trigger mDNS discovery of a Controller to see if such a connection
can be established automatically at the time an Enrollee is trying to
initiate an operation.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: DPP Relay and adding/removing connection to a Controller
Jouni Malinen [Sat, 23 Jul 2022 14:40:36 +0000 (17:40 +0300)] 
tests: DPP Relay and adding/removing connection to a Controller

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Allow Relay connections to Controllers to be added and removed
Jouni Malinen [Sat, 23 Jul 2022 14:41:00 +0000 (17:41 +0300)] 
DPP: Allow Relay connections to Controllers to be added and removed

The new control interface commands "DPP_RELAY_ADD_CONTROLLER <IP addr>
<PK hash>" and "DPP_RELAY_REMOVE_CONTROLLER <IP addr>" can now be used
to dynamically add and remove connections to Controllers for the cases
where the connection is initialized through a DPP Public Action frame
(i.e., Controller as the Responder).

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoAdd a comparison function for hostapd_ip_addr
Jouni Malinen [Sat, 23 Jul 2022 14:10:24 +0000 (17:10 +0300)] 
Add a comparison function for hostapd_ip_addr

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Advertise Configurator connectivity on Relay automatically
Jouni Malinen [Sat, 23 Jul 2022 13:54:47 +0000 (16:54 +0300)] 
DPP: Advertise Configurator connectivity on Relay automatically

Instead of requiring explicit configuration through
dpp_configurator_connectivity=1, advertise Configurator connectivity
automatically if a Relay is configured with a Controller that can
operate as a Responder.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: DPP Relay and dynamic Controller addition
Jouni Malinen [Sat, 23 Jul 2022 10:41:36 +0000 (13:41 +0300)] 
tests: DPP Relay and dynamic Controller addition

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Dynamic Controller initiated connection on Relay
Jouni Malinen [Sat, 23 Jul 2022 10:41:36 +0000 (13:41 +0300)] 
DPP: Dynamic Controller initiated connection on Relay

Accept an incoming TCP connection from a Controller in a Relay that is
configured with dpp_relay_port even if that Controller is not configured
with a dpp_controller parameter. This allows more dynamic Controller
initiated operations, e.g., when using mDNS to discover a Relay.

This type of a dynamic Controller entry will not be used for exchanges
that are initiated by an Enrollee (i.e., based on a DPP Public Action
frame received by the Relay).

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Strict validation of PKEX peer bootstrapping key during auth
Jouni Malinen [Fri, 22 Jul 2022 18:08:08 +0000 (21:08 +0300)] 
DPP: Strict validation of PKEX peer bootstrapping key during auth

Verify that the peer does not change its bootstrapping key between the
PKEX exchange and the authentication exchange.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP3: Fix push button boostrapping key passing through PKEX
Jouni Malinen [Fri, 22 Jul 2022 18:06:04 +0000 (21:06 +0300)] 
DPP3: Fix push button boostrapping key passing through PKEX

When PKEX was started through the push button mechanism, the own
bootstrapping key was not bound correctly to the Authentication phase
information and that ended up in incorrectly generating a new
bootstrapping key for the Authentication exchange. Fix this by added the
needed own=<id> parameter into the cached parameters when using push
button.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Add peer=id entry for PKEX-over-TCP case
Jouni Malinen [Fri, 22 Jul 2022 18:04:08 +0000 (21:04 +0300)] 
DPP: Add peer=id entry for PKEX-over-TCP case

The peer=<id> information about the specific boostrapping key provided
through PKEX was added for Public Action frame cases, but the TCP
variant did not do same. Add the same information there to maintain
knowledge of the specific peer bootstrapping key from PKEX to
Authentication exchange.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: sigma_dut and DPP PB Configurator in wpa_supplicant
Jouni Malinen [Fri, 22 Jul 2022 09:39:58 +0000 (12:39 +0300)] 
tests: sigma_dut and DPP PB Configurator in wpa_supplicant

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP3: Push button Configurator in wpa_supplicant
Jouni Malinen [Fri, 22 Jul 2022 09:28:18 +0000 (12:28 +0300)] 
DPP3: Push button Configurator in wpa_supplicant

Extend DPP push button support in wpa_supplicant to allow the role of
the Configurator to be used. This provides similar functionality to the
way the DPP_PUSH_BUTTON command in hostapd worked when providing the
configuration parameters with that command (instead of building the
config object based on current AP configuration).

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: PB Configurator in wpa_supplicant
Jouni Malinen [Fri, 22 Jul 2022 09:27:24 +0000 (12:27 +0300)] 
tests: PB Configurator in wpa_supplicant

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: sigma_dut DPP/PKEX initiator as Configurator over TCP and Wi-Fi
Jouni Malinen [Thu, 21 Jul 2022 17:32:32 +0000 (20:32 +0300)] 
tests: sigma_dut DPP/PKEX initiator as Configurator over TCP and Wi-Fi

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Recognize own PKEX Exchange Request if it ends up being received
Jouni Malinen [Thu, 21 Jul 2022 17:30:07 +0000 (20:30 +0300)] 
DPP: Recognize own PKEX Exchange Request if it ends up being received

It is possible for a Controller to receive a copy of its own PKEX
Exchange Request in the case where the Controller is initiating a PKEX
exchange through a Relay. The Configurator role in the device would have
a matching PKEX code in that case and the device might reply as a PKEX
responder which would result in going through the exchange with the
Controller device itself. That is clearly not desired, so recognize this
special case by checking whether the Encrypted Key attribute value
matches a pending locally generated one when processing a received PKEX
Exchange Request.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agoDPP: Note PKEX code/identifier deletion in debug log
Jouni Malinen [Thu, 21 Jul 2022 14:48:54 +0000 (17:48 +0300)] 
DPP: Note PKEX code/identifier deletion in debug log

This was already done in hostapd, but not in wpa_supplicant.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
3 years agotests: DPP reconfig after Controller-initiated operation through Relay
Jouni Malinen [Thu, 21 Jul 2022 10:16:26 +0000 (13:16 +0300)] 
tests: DPP reconfig after Controller-initiated operation through Relay

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