]> git.ipfire.org Git - thirdparty/hostap.git/log
thirdparty/hostap.git
5 years agoQCA vendor attribute to configure NSS
Sunil Dutt [Wed, 27 May 2020 11:25:49 +0000 (16:55 +0530)] 
QCA vendor attribute to configure NSS

Defines the attribute in SET(GET)_WIFI_CONFIGURATION to dynamically
configure NSS.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: SAE-PK transition disable indication
Jouni Malinen [Sat, 6 Jun 2020 09:18:55 +0000 (12:18 +0300)] 
tests: SAE-PK transition disable indication

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE-PK: Transition mode disabled indication processing
Jouni Malinen [Sat, 6 Jun 2020 09:06:59 +0000 (12:06 +0300)] 
SAE-PK: Transition mode disabled indication processing

Allow AP to disable transition mode for SAE-PK (i.e., prevent SAE
authentication without SAE-PK).

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: Verify SAE-PK use more explicitly
Jouni Malinen [Sat, 6 Jun 2020 09:10:41 +0000 (12:10 +0300)] 
tests: Verify SAE-PK use more explicitly

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE: Add sae_h2e and sae_pk to wpa_supplicant STATUS command
Jouni Malinen [Sat, 6 Jun 2020 09:09:47 +0000 (12:09 +0300)] 
SAE: Add sae_h2e and sae_pk to wpa_supplicant STATUS command

This provides additional information on which options were used during
SAE authentication.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE: Move H2E and PK flags to main sae_data
Jouni Malinen [Sat, 6 Jun 2020 09:08:37 +0000 (12:08 +0300)] 
SAE: Move H2E and PK flags to main sae_data

This maintains knowledge of whether H2E or PK was used as part of the
SAE authentication beyond the removal of temporary state needed during
that authentication. This makes it easier to use information about which
kind of SAE authentication was used at higher layer functionality.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoDocument more network profile parameters
Jouni Malinen [Sat, 6 Jun 2020 08:47:12 +0000 (11:47 +0300)] 
Document more network profile parameters

Some of the recently added wpa_supplicant network profile parameters
were not documented in wpa_supplicant.conf. Add these there based on the
documentation in config_ssid.h.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: SAE-PK only
Jouni Malinen [Sat, 6 Jun 2020 08:17:03 +0000 (11:17 +0300)] 
tests: SAE-PK only

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE-PK: Allow SAE authentication without PK to be disabled
Jouni Malinen [Sat, 6 Jun 2020 08:42:59 +0000 (11:42 +0300)] 
SAE-PK: Allow SAE authentication without PK to be disabled

The new wpa_supplicant network profile parameter sae_pk_only=1 can now
be used to disable use of SAE authentication without SAE-PK.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: Report unknown WpaSupplicant::connect() arguments
Jouni Malinen [Sat, 6 Jun 2020 08:25:40 +0000 (11:25 +0300)] 
tests: Report unknown WpaSupplicant::connect() arguments

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: sigma_dut and SAE-PK
Jouni Malinen [Fri, 5 Jun 2020 13:58:25 +0000 (16:58 +0300)] 
tests: sigma_dut and SAE-PK

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: sigma_dut controlled GTK rekeying
Jouni Malinen [Fri, 5 Jun 2020 12:35:44 +0000 (15:35 +0300)] 
tests: sigma_dut controlled GTK rekeying

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: Fix sigma_dut ap_get_mac_address result parsing
Jouni Malinen [Fri, 5 Jun 2020 10:41:59 +0000 (13:41 +0300)] 
tests: Fix sigma_dut ap_get_mac_address result parsing

Get only the actual BSSID part from the response string.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: sigma_dut controlled AP using OCV
Jouni Malinen [Fri, 5 Jun 2020 10:39:41 +0000 (13:39 +0300)] 
tests: sigma_dut controlled AP using OCV

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoWPS UPnP: Do not update Beacon frames unnecessarily on subscription removal
Jouni Malinen [Thu, 4 Jun 2020 18:04:59 +0000 (21:04 +0300)] 
WPS UPnP: Do not update Beacon frames unnecessarily on subscription removal

There is no need to update the WPS IE in Beacon frames when a
subscription is removed if that subscription is not for an actual
selected registrar. For example, this gets rids of unnecessary driver
operations when a subscription request gets rejected when parsing the
callback URLs.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE-PK: Increment the minimum password length to 9
Jouni Malinen [Wed, 3 Jun 2020 22:36:50 +0000 (01:36 +0300)] 
SAE-PK: Increment the minimum password length to 9

While this is not explicitly defined as the limit, lambda=8 (i.e., 9
characters with the added hyphen) is needed with Sec=5 to reach the
minimum required resistance to preimage attacks, so use this as an
implicit definition of the password length constraint.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: Skip too short SAE-PK passwords in positive testing
Jouni Malinen [Wed, 3 Jun 2020 22:41:50 +0000 (01:41 +0300)] 
tests: Skip too short SAE-PK passwords in positive testing

Lambda >= 12 is needed with Sec = 2, so drop the shorter password
lengths in the sae_pk and module_wpa_supplicant test cases.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE-PK: Determine hash algorithm from K_AP group instead of SAE group
Jouni Malinen [Wed, 3 Jun 2020 14:30:36 +0000 (17:30 +0300)] 
SAE-PK: Determine hash algorithm from K_AP group instead of SAE group

While the current implementation forces these groups to be same, that is
not strictly speaking necessary and the correct group to use here is
K_AP, not the SAE authentication group.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: Fix eapol-supp fuzzing tool build
Jouni Malinen [Tue, 2 Jun 2020 20:35:17 +0000 (23:35 +0300)] 
tests: Fix eapol-supp fuzzing tool build

Boolean handling was changed to use "true" instead of "TRUE", but this
location was missed.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: SAE-PK
Jouni Malinen [Sat, 30 May 2020 20:30:42 +0000 (23:30 +0300)] 
tests: SAE-PK

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE-PK: A tool for generating SAE-PK Modifier and password
Jouni Malinen [Tue, 2 Jun 2020 19:44:42 +0000 (22:44 +0300)] 
SAE-PK: A tool for generating SAE-PK Modifier and password

sae_pk_gen can be used to generate Modifier (M) and password for SAE-PK
based on a previously generated EC private key, Sec value (2..5), and
SSID.

For example, these commands can be used to generate the private key and
the needed hostapd configuration parameter options:

make sae_pk_gen
openssl ecparam -genkey -outform DER -out saepk.der -name prime256v1
./sae_pk_gen saepk.der 3 "SAE-PK test"

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoShow SAE capabilities in control interface
Jouni Malinen [Sat, 30 May 2020 20:30:42 +0000 (23:30 +0300)] 
Show SAE capabilities in control interface

Indicate local support for SAE H2E and SAE-PK.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoShow SAE flags in scan results
Jouni Malinen [Sat, 30 May 2020 20:30:42 +0000 (23:30 +0300)] 
Show SAE flags in scan results

Indicate AP support for SAE H2E and SAE-PK in scan results.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE-PK: STA functionality
Jouni Malinen [Sat, 30 May 2020 20:30:42 +0000 (23:30 +0300)] 
SAE-PK: STA functionality

This adds STA side functionality for SAE-PK. This version enables SAE-PK
automatically based on the configured SAE password value if the selected
AP advertises support for SAE-PK.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE-PK: AP functionality
Jouni Malinen [Sat, 30 May 2020 20:30:42 +0000 (23:30 +0300)] 
SAE-PK: AP functionality

This adds AP side functionality for SAE-PK. The new sae_password
configuration parameters can now be used to enable SAE-PK mode whenever
SAE is enabled.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: Module test for SAE-PK
Jouni Malinen [Sat, 30 May 2020 20:30:42 +0000 (23:30 +0300)] 
tests: Module test for SAE-PK

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE-PK: Extend SAE functionality for AP validation
Jouni Malinen [Sat, 30 May 2020 20:30:42 +0000 (23:30 +0300)] 
SAE-PK: Extend SAE functionality for AP validation

This adds core SAE functionality for a new mode of using SAE with a
specially constructed password that contains a fingerprint for an AP
public key and that public key being used to validate an additional
signature in SAE confirm from the AP.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoSAE-PK: Identifier definitions
Jouni Malinen [Sat, 30 May 2020 20:30:42 +0000 (23:30 +0300)] 
SAE-PK: Identifier definitions

Add the assigned identifiers for SAE-PK elements and fields.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOpenSSL: Additional EC functionality for SAE-PK
Jouni Malinen [Sat, 30 May 2020 20:30:42 +0000 (23:30 +0300)] 
OpenSSL: Additional EC functionality for SAE-PK

These will be needed for implementing SAE-PK ECDSA signing and signature
verification operations.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agowpaspy: Be a bit more careful on detaching the control interface
Jouni Malinen [Mon, 1 Jun 2020 19:24:00 +0000 (22:24 +0300)] 
wpaspy: Be a bit more careful on detaching the control interface

Check that the client socket is still open before trying to detach the
control interface to avoid undesired exceptions on cleanup paths on
unexpected errors due to the socket getting closed.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: OCV channel mismatch validation by STA
Jouni Malinen [Fri, 29 May 2020 21:29:56 +0000 (00:29 +0300)] 
tests: OCV channel mismatch validation by STA

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOCV: Report OCI validation failures with OCV-FAILURE messages (STA)
Jouni Malinen [Fri, 29 May 2020 21:24:15 +0000 (00:24 +0300)] 
OCV: Report OCI validation failures with OCV-FAILURE messages (STA)

Convert the previously used text log entries to use the more formal
OCV-FAILURE prefix and always send these as control interface events to
allow upper layers to get information about unexpected operating channel
mismatches.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOCV: Allow OCI channel to be overridden for testing (AP)
Jouni Malinen [Fri, 29 May 2020 21:04:53 +0000 (00:04 +0300)] 
OCV: Allow OCI channel to be overridden for testing (AP)

Add hostapd configuration parameters oci_freq_override_* to allow the
OCI channel information to be overridden for various frames for testing
purposes. This can be set in the configuration and also updated during
the runtime of a BSS.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoDPP2: Derive a separate key for enveloped data
Jouni Malinen [Fri, 29 May 2020 18:42:33 +0000 (21:42 +0300)] 
DPP2: Derive a separate key for enveloped data

Derive a new key from bk to be used as the password for PBKDF2 instead
of using ke for this.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoDPP: Fix a typo in a comment
Jouni Malinen [Fri, 29 May 2020 18:35:26 +0000 (21:35 +0300)] 
DPP: Fix a typo in a comment

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOSEN: Do not send the actual BIGTK to OSEN STAs
Jouni Malinen [Fri, 29 May 2020 18:07:45 +0000 (21:07 +0300)] 
OSEN: Do not send the actual BIGTK to OSEN STAs

OSEN STAs are not authenticated, so do not send the actual BIGTK for
them so that they cannot generate forged protected Beacon frames. This
means that OSEN STAs cannot enable beacon protection.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoFT: Do not expose GTK/IGTK in FT Reassociation Response frame in OSEN
Jouni Malinen [Fri, 29 May 2020 18:23:09 +0000 (21:23 +0300)] 
FT: Do not expose GTK/IGTK in FT Reassociation Response frame in OSEN

Do not include the actual GTK/IGTK value in FT protocol cases in OSEN or
with DGAF disabled (Hotspot 2.0). This was already the case for the
EAPOL-Key cases of providing GTK/IGTK, but the FT protocol case was
missed. OSEN cannot really use FT, so that part is not impacted, but it
would be possible to enable FT in a Hotspot 2.0 network that has DGAF
disabled.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoWNM: Do not expose GTK/IGTK in WNM Sleep Mode Response frame in OSEN
Jouni Malinen [Fri, 29 May 2020 18:04:40 +0000 (21:04 +0300)] 
WNM: Do not expose GTK/IGTK in WNM Sleep Mode Response frame in OSEN

Do not include the actual GTK/IGTK value in WNM Sleep Mode Response
frame if WNM Sleep Mode is used in OSEN or in a network where use of GTK
is disabled. This was already the case for the EAPOL-Key cases of
providing GTK/IGTK, but the WNM Sleep Mode exit case was missed.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: HS 2.0 deauthentication request PMF misbehavior (+HTC)
Jouni Malinen [Fri, 29 May 2020 17:55:18 +0000 (20:55 +0300)] 
tests: HS 2.0 deauthentication request PMF misbehavior (+HTC)

Verify driver/mac80211 behavior with HT Control field in Public Action
frames.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: OWE transition mode with owe_transition_ifname
Jouni Malinen [Tue, 26 May 2020 13:15:45 +0000 (16:15 +0300)] 
tests: OWE transition mode with owe_transition_ifname

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOWE: Skip beacon update of transition BSS if it is not yet enabled
Hu Wang [Fri, 15 May 2020 06:20:32 +0000 (14:20 +0800)] 
OWE: Skip beacon update of transition BSS if it is not yet enabled

When a single hostapd process manages both the OWE and open BSS for
transition mode, owe_transition_ifname can be used to clone the
transition mode information (i.e., BSSID/SSID) automatically. When both
BSSs use ACS, the completion of ACS on the 1st BSS sets state to
HAPD_IFACE_ENABLED and the OWE transition mode information is updated
for all the other BSSs. However, the 2nd BSS is still in the ACS phase
and the beacon update messes up the state for AP startup and prevents
proper ACS competion.

If 2nd BSS is not yet enabled (e.g., in ACS), skip beacon update and
defer OWE transition information cloning until the BSS is enabled.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: Enforce proper OCV behavior for SA Query Response from STA
Jouni Malinen [Tue, 26 May 2020 09:31:16 +0000 (12:31 +0300)] 
tests: Enforce proper OCV behavior for SA Query Response from STA

Now that there is a pending mac80211 patch ("mac80211: allow SA-QUERY
processing in userspace") to allow wpa_supplicant to take care of SA
Query Request processing, start enforcing correct behavior for this in
ocv_sa_query and wpa2_ocv_sta_override_sa_query_resp.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoAdd a vendor attribute to get OEM data
Sachin Ahuja [Mon, 18 May 2020 14:30:18 +0000 (20:00 +0530)] 
Add a vendor attribute to get OEM data

Add an attribute QCA_WLAN_VENDOR_ATTR_OEM_DATA_RESPONSE_EXPECTED
to get the response for the queried data.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoVendor attributes for configuring LDPC, TX STBC, RX STBC
Sunil Dutt [Wed, 6 May 2020 19:46:35 +0000 (01:16 +0530)] 
Vendor attributes for configuring LDPC, TX STBC, RX STBC

Defines the attributes in SET(GET)_WIFI_CONFIGURATION to dynamically
configure capabilities: LDPC, TX STBC, RX STBC.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: sigma_dut controlled STA using OCV
Jouni Malinen [Mon, 25 May 2020 20:24:55 +0000 (23:24 +0300)] 
tests: sigma_dut controlled STA using OCV

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: OCV and post-CSA SA Query error cases
Jouni Malinen [Mon, 25 May 2020 18:54:49 +0000 (21:54 +0300)] 
tests: OCV and post-CSA SA Query error cases

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOCV: Disconnect STAs that do not use SA Query after CSA
Jouni Malinen [Mon, 25 May 2020 18:55:49 +0000 (21:55 +0300)] 
OCV: Disconnect STAs that do not use SA Query after CSA

Verify that all associated STAs that claim support for OCV initiate an
SA Query after CSA. If no SA Query is seen within 15 seconds,
deauthenticate the STA.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOCV: Report validation errors for (Re)Association Request frames
Jouni Malinen [Mon, 25 May 2020 17:46:32 +0000 (20:46 +0300)] 
OCV: Report validation errors for (Re)Association Request frames

Add the OCV-FAILURE control interface event to notify upper layers of
OCV validation issues in FT and FILS (Re)Association Request frames.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: OCV with OCI override on STA
Jouni Malinen [Mon, 25 May 2020 15:32:32 +0000 (18:32 +0300)] 
tests: OCV with OCI override on STA

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOCV: Report validation errors for EAPOL-Key messages in AP mode
Jouni Malinen [Mon, 25 May 2020 16:08:16 +0000 (19:08 +0300)] 
OCV: Report validation errors for EAPOL-Key messages in AP mode

Add the OCV-FAILURE control interface event to notify upper layers of
OCV validation issues in EAPOL-Key msg 2/4 and group 2/2.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOCV: Report validation errors for SA Query Request/Response in AP mode
Jouni Malinen [Mon, 25 May 2020 15:41:04 +0000 (18:41 +0300)] 
OCV: Report validation errors for SA Query Request/Response in AP mode

Add a new OCV-FAILURE control interface event to notify upper layers of
OCV validation issues. This commit adds this for SA Query processing in
AP mode.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOCV: Move "OCV failed" prefix to callers
Jouni Malinen [Mon, 25 May 2020 15:33:00 +0000 (18:33 +0300)] 
OCV: Move "OCV failed" prefix to callers

Make reporting of OCV validation failure reasons more flexible by
removing the fixed prefix from ocv_verify_tx_params() output in
ocv_errorstr so that the caller can use whatever prefix or encapsulation
that is most appropriate for each case.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoOCV: Add support to override channel info OCI element (STA)
Vamsi Krishna [Fri, 8 May 2020 17:59:04 +0000 (23:29 +0530)] 
OCV: Add support to override channel info OCI element (STA)

To support the STA testbed role, the STA has to use specified channel
information in OCI element sent to the AP in EAPOL-Key msg 2/4, SA Query
Request, and SA Query Response frames. Add override parameters to use
the specified channel while populating OCI element in all these frames.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoClear current PMKSA cache selection on association/roam
Jouni Malinen [Mon, 25 May 2020 13:25:50 +0000 (16:25 +0300)] 
Clear current PMKSA cache selection on association/roam

It was possible for the RSN state machine to maintain old PMKSA cache
selection (sm->cur_pmksa) when roaming to another BSS based on
driver-based roaming indication. This could result in mismatching state
and unexpected behavior, e.g., with not generating a Suite B PMKSA cache
entry.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agotests: Suite B using PMKSA caching and roaming
Jouni Malinen [Mon, 25 May 2020 13:20:33 +0000 (16:20 +0300)] 
tests: Suite B using PMKSA caching and roaming

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agowlantest: Fix RSNE check in FT 4-way handshake msg 3/4
Jouni Malinen [Mon, 25 May 2020 10:42:08 +0000 (13:42 +0300)] 
wlantest: Fix RSNE check in FT 4-way handshake msg 3/4

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agowlantest: Validate FT elements in Reassociation Response frame
Jouni Malinen [Sat, 23 May 2020 21:35:13 +0000 (00:35 +0300)] 
wlantest: Validate FT elements in Reassociation Response frame

Verify that RSNE, MDE, and FTE have valid information in FT
Reassociation Response frames. In addition, decrypt GTK, IGTK, and BIGTK
from the frame.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agowlantest: Validate FT elements in Reassociation Request frame
Jouni Malinen [Sat, 23 May 2020 18:44:16 +0000 (21:44 +0300)] 
wlantest: Validate FT elements in Reassociation Request frame

Verify that RSNE, MDE, and FTE have valid information in FT
Reassociation Request frames.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agowlantest: Store PMK-R1 in STA entry
Jouni Malinen [Sat, 23 May 2020 18:43:36 +0000 (21:43 +0300)] 
wlantest: Store PMK-R1 in STA entry

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agoDebug print PMK-R0/R1 and PMKR0/R1Name in the helper functions
Jouni Malinen [Sat, 23 May 2020 18:42:45 +0000 (21:42 +0300)] 
Debug print PMK-R0/R1 and PMKR0/R1Name in the helper functions

There is no need to have all callers debug print these separately.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agowlantest: Store PMK-R0 length explicitly
Jouni Malinen [Sat, 23 May 2020 18:24:01 +0000 (21:24 +0300)] 
wlantest: Store PMK-R0 length explicitly

PMK-R0 is not of fixed length, so store its length explicitly.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agowlantest: Handle FT over-the-DS association state update cleanly
Jouni Malinen [Sat, 23 May 2020 18:11:33 +0000 (21:11 +0300)] 
wlantest: Handle FT over-the-DS association state update cleanly

It is expected for the STA entry on the target AP to move directly from
State 1 to State 3 when performing FT over-the-DS (i.e., FT Action
Request/Response frame exchange through the old AP followed by
Reassociation Request/Response frame exchange with the target AP).

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agoVendor attributes for ssetting TX A-MSDU and RX A-MSDU parameters
Min Liu [Thu, 7 May 2020 08:20:10 +0000 (16:20 +0800)] 
Vendor attributes for ssetting TX A-MSDU and RX A-MSDU parameters

Define QCA vendor attributes for SET(GET)_WIFI_CONFIGURATION to
dynamically configure capabilities for TX A-MSDU and RX A-MSDU.

Signed-off-by: Min Liu <minliu@codeaurora.org>
5 years agoQCA vendor command for adding and deleting TSPEC
Min Liu [Mon, 13 Apr 2020 13:36:48 +0000 (21:36 +0800)] 
QCA vendor command for adding and deleting TSPEC

Add a QCA vendor subcommand QCA_NL80211_VENDOR_SUBCMD_CONFIG_TSPEC
to add and delete TSPEC in STA mode.
The attributes defined in enum qca_wlan_vendor_attr_config_tspec
are used to encapsulate required information.

Signed-off-by: Min Liu <minliu@codeaurora.org>
5 years agoVendor attributes to configure PMF protection and disassoc Tx for testing
Kiran Kumar Lokere [Fri, 24 Apr 2020 20:15:34 +0000 (13:15 -0700)] 
Vendor attributes to configure PMF protection and disassoc Tx for testing

Add new QCA vendor attributes to configure misbehavior for PMF
protection for Management frames and to inject Disassociation frames.

These attributes are used for testing purposes.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoAdd QCA vendor interface support to configure PHY modes
Vamsi Krishna [Fri, 17 Apr 2020 11:30:34 +0000 (17:00 +0530)] 
Add QCA vendor interface support to configure PHY modes

Add an attribute that can be used with
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION vendor command to
configure different PHY modes to the driver/firmware.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agonl80211: Control the registration for RRM frame with driver_param
Sunil Dutt [Mon, 27 Apr 2020 09:06:16 +0000 (14:36 +0530)] 
nl80211: Control the registration for RRM frame with driver_param

wpa_supplicant registered to process the Radio Measurement Request
frames unconditionally. This would prevent other location based
applications from handling these frames. Enable such a use case by
allowing wpa_supplicant to be configured not to register to process
these frames. This can now be done by adding "no_rrm=1" to the
driver_param configuration parameter.

In addition, wpa_driver_nl80211_init() does not have the provision to
take driver_params. Hence, resubscribe again with cfg80211 when this
driver parameter "no_rrm=1" is set after the initial setup steps.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
5 years agoHE: Process HE 6 GHz band capab from associating HE STA
Rajkumar Manoharan [Fri, 24 Apr 2020 22:45:41 +0000 (15:45 -0700)] 
HE: Process HE 6 GHz band capab from associating HE STA

Process HE 6 GHz band capabilities in (Re)Association Request frames and
pass the information to the driver.

Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
5 years agoHE: Add 6 GHz Band Capabilities element in Beacon and response frames
Rajkumar Manoharan [Fri, 24 Apr 2020 22:45:37 +0000 (15:45 -0700)] 
HE: Add 6 GHz Band Capabilities element in Beacon and response frames

Construct HE 6 GHz Band Capabilities element (IEEE 802.11ax/D6.0,
9.4.2.261) from HT and VHT capabilities and add it to Beacon, Probe
Response, and (Re)Association Response frames when operating on the 6
GHz band.

Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
5 years agoHE: Add HE 6 GHz Band Capabilities into ieee802_11_parse_elems()
Rajkumar Manoharan [Fri, 24 Apr 2020 22:45:36 +0000 (15:45 -0700)] 
HE: Add HE 6 GHz Band Capabilities into ieee802_11_parse_elems()

Handle 6 GHz band capability element parsing for association.

Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
5 years agoHE: Remove VHT Operation Information from HE Operation element
Rajkumar Manoharan [Fri, 24 Apr 2020 22:45:35 +0000 (15:45 -0700)] 
HE: Remove VHT Operation Information from HE Operation element

The VHT Operation Information subfield is conditonally present, so do
not hardcoded it in struct ieee80211_he_operation. These members of the
struct are not currently used, so these can be removed without impact to
functionality.

Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
5 years agoHE: Define 6 GHz band capability elements
Rajkumar Manoharan [Fri, 24 Apr 2020 22:45:34 +0000 (15:45 -0700)] 
HE: Define 6 GHz band capability elements

Defines IEEE P802.11ax/D6.0, 9.4.2.261 HE 6 GHz Band Capabilities
element and 6 GHz Operation Information field of HE Operation element
(IEEE P802.11ax/D6.0, Figure 9-787k).

Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
5 years agodefconfig: Enable TDLS
Davide Caratti [Fri, 24 Apr 2020 12:43:06 +0000 (14:43 +0200)] 
defconfig: Enable TDLS

Some distros (e.g., Debian and Arch) already build wpa_supplicant with
support for TDLS, and Fedora is about to enable this feature as well.
Set CONFIG_TDLS=y in wpa_supplicant default build configuration.

Signed-off-by: Davide Caratti <davide.caratti@gmail.com>
5 years agotests: Use test-name.* style files more consistently
Jouni Malinen [Sun, 17 May 2020 13:03:29 +0000 (16:03 +0300)] 
tests: Use test-name.* style files more consistently

Use params['prefix'] to build the file names for dynamically generated
files.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agotests: Handle unexpected get_driver_status_field() error
Jouni Malinen [Sun, 17 May 2020 10:04:26 +0000 (13:04 +0300)] 
tests: Handle unexpected get_driver_status_field() error

If the current country code cannot be fetched, do not try to report the
current value in the log since that will result in TypeError exception.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agotests: Avoid hapd reference before assignment on error cases
Jouni Malinen [Sun, 17 May 2020 09:59:53 +0000 (12:59 +0300)] 
tests: Avoid hapd reference before assignment on error cases

Couple of VHT test cases missed explicit setting of hapd to None before
trying to start hostapd. Add those to avoid unexpected exceptions in
case hostapd start fails.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agotests: Add description for test cases that were missing it
Jouni Malinen [Sat, 16 May 2020 22:29:40 +0000 (01:29 +0300)] 
tests: Add description for test cases that were missing it

All test_*() functions are expected to use __doc__ to provide a short
description of the test case.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agotests: Unify ignore_old_scan_res resetting
Jouni Malinen [Sat, 16 May 2020 22:25:11 +0000 (01:25 +0300)] 
tests: Unify ignore_old_scan_res resetting

Add a decorator that clears ignore_old_scan_res parameter value instead
of doing this with try/finally in large number of test cases.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agotests: Unify IPv6 disabling
Johannes Berg [Thu, 7 May 2020 10:47:52 +0000 (12:47 +0200)] 
tests: Unify IPv6 disabling

Add a decorator that disables IPv6 and requires running
under a VM, rather than open-coding that many times.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agotests: Fix ACS freqlist testing
Jouni Malinen [Sat, 16 May 2020 21:59:00 +0000 (00:59 +0300)] 
tests: Fix ACS freqlist testing

The freqlist parameter uses comma, not space, separated values. Add
another test case for checking freqlist values that do not use the
preferred channel numbers to make sure the frequency list is actually
used as a constraint for selecting the channel.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agoACS: Channel selection based freqlist
neo_jou [Mon, 11 May 2020 07:42:49 +0000 (15:42 +0800)] 
ACS: Channel selection based freqlist

When doing ACS, check freqlist also if it is specified.

Signed-off-by: neojou <neojou@gmail.com>
5 years agotests: Delayed group rekey retransmit test for IGTK
Johannes Berg [Thu, 7 May 2020 08:26:51 +0000 (10:26 +0200)] 
tests: Delayed group rekey retransmit test for IGTK

Add a test for delayed group rekey retransmission that checks that
the IGTK is protected against it by not resetting the IPN replay
counter when reinstalling such a key.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agotests: Reset the correct key's PN for group key handshake testing
Johannes Berg [Thu, 7 May 2020 08:26:50 +0000 (10:26 +0200)] 
tests: Reset the correct key's PN for group key handshake testing

While adding support for IGTK and BIGTK here, I tested this without
protections (i.e., with protections removed from both wpa_supplicant and
the driver), and while I got some bad resets on the debugfs values, it
should have failed with "unexpected connectivity".

Fix this to be correct - we need to reset the GTK PN, not the PTK PN in
this test.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agotests: Extend debugfs key state reading for IGTK/BIGTK
Johannes Berg [Thu, 7 May 2020 08:26:49 +0000 (10:26 +0200)] 
tests: Extend debugfs key state reading for IGTK/BIGTK

Extend the debugfs read helpers to work with IGTK and BIGTK.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoAdd a helper function for recognizing BIP enum wpa_alg values
Jouni Malinen [Sat, 16 May 2020 21:17:55 +0000 (00:17 +0300)] 
Add a helper function for recognizing BIP enum wpa_alg values

Use a shared wpa_alg_bip() function for this and fix the case in
nl_add_key() to cover all BIP algorithms. That fix does not change any
behavior since the function is not currently used with any BIP
algorithm, but it is better to avoid surprises should it ever be needed
with IGTK.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agoRename WPA_ALG_IGTK to use the correct cipher name for BIP
Jouni Malinen [Sat, 16 May 2020 21:11:59 +0000 (00:11 +0300)] 
Rename WPA_ALG_IGTK to use the correct cipher name for BIP

IGTK is the key that is used a BIP cipher. WPA_ALG_IGTK was the
historical name used for this enum value when only the AES-128-CMAC
based BIP algorithm was supported. Rename this to match the style used
with the other BIP options.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agohostapd: Extend RESET_PN for BIGTK
Johannes Berg [Thu, 7 May 2020 08:26:48 +0000 (10:26 +0200)] 
hostapd: Extend RESET_PN for BIGTK

Extend the RESET_PN command to allow resetting the BIGTK PN
for testing.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agotests: Replace gtk boolean by keytype in cipher suite tests
Johannes Berg [Thu, 7 May 2020 08:26:47 +0000 (10:26 +0200)] 
tests: Replace gtk boolean by keytype in cipher suite tests

Replace the gtk boolean by a keytype value indicating
GTK or PTK, to be able to extend to other types later.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoFix a typo in a comment
Jouni Malinen [Sat, 16 May 2020 19:12:46 +0000 (22:12 +0300)] 
Fix a typo in a comment

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agotests: Skip TOD-TOFU/STRICT tests if build does not support this
Jouni Malinen [Sat, 16 May 2020 18:58:10 +0000 (21:58 +0300)] 
tests: Skip TOD-TOFU/STRICT tests if build does not support this

This functionality is currently available only with OpenSSL and internal
TLS implementation.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agoD-Bus: Increase introspection buffer size
Jouni Malinen [Sat, 16 May 2020 18:46:24 +0000 (21:46 +0300)] 
D-Bus: Increase introspection buffer size

It was apparently possible to hit the 20000 octet limit in some cases,
so increase the limit to avoid process termination due to insufficient
room for preparing a response to Introspect calls.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agowolfssl: Do not hardcode include directory in wpa_supplicant build
Jouni Malinen [Sat, 16 May 2020 18:07:45 +0000 (21:07 +0300)] 
wolfssl: Do not hardcode include directory in wpa_supplicant build

This is not really appropriate for any kind of cross compilations and is
not really needed in general since system specific values can be set in
.config.

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agowolfssl: Fix crypto_bignum_rand() implementation
Jouni Malinen [Sat, 16 May 2020 18:02:17 +0000 (21:02 +0300)] 
wolfssl: Fix crypto_bignum_rand() implementation

The previous implementation used mp_rand_prime() to generate a random
value in range 0..m. That is insanely slow way of generating a random
value since mp_rand_prime() is for generating a random _prime_ which is
not what is needed here. Replace that implementation with generationg of
a random value in the requested range without doing any kind of prime
number checks or loops to reject values that are not primes.

This speeds up SAE and EAP-pwd routines by couple of orders of
magnitude..

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agowolfssl: Fix compiler warnings on size_t printf format use
Jouni Malinen [Sat, 16 May 2020 18:01:51 +0000 (21:01 +0300)] 
wolfssl: Fix compiler warnings on size_t printf format use

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agoSAE: Fix a typo in a comment
Jouni Malinen [Sat, 16 May 2020 18:01:32 +0000 (21:01 +0300)] 
SAE: Fix a typo in a comment

Signed-off-by: Jouni Malinen <j@w1.fi>
5 years agotests: Flush scan results before checking alloc failure
Thomas Pedersen [Fri, 1 May 2020 21:02:11 +0000 (14:02 -0700)] 
tests: Flush scan results before checking alloc failure

When run after other tests, It was likely that the target
bss was already present in scan_fail, so the
scan_for_bss() wouldn't trip the allocation failure in
wpa_bss_add(). Flush the scan results before the scan to
ensure wpa_bss_add() is called and consistently pass
scan_fail.

Signed-off-by: Thomas Pedersen <thomas@adapt-ip.com>
5 years agotests: sigma_dut: set regulatory inside try/except
Thomas Pedersen [Fri, 1 May 2020 21:02:07 +0000 (14:02 -0700)] 
tests: sigma_dut: set regulatory inside try/except

If sigma_dut is not installed, start_sigma_dut() will
throw an exception. Call start_sigma_dut() inside the
try/except to correctly reset the regulatory domain.

This fixes several seemingly random failures due to
regulatory domain not being reset.

Signed-off-by: Thomas Pedersen <thomas@adapt-ip.com>
5 years agowpa_gui: Fix build with Inkscape 1.0
Jan Tojnar [Wed, 6 May 2020 22:29:53 +0000 (00:29 +0200)] 
wpa_gui: Fix build with Inkscape 1.0

Inkscape 1.0 revamped their CLI flags, breaking the icon build.

https://wiki.inkscape.org/wiki/index.php?title=Using_the_Command_Line#Background

Signed-off-by: Jan Tojnar <jtojnar@gmail.com>
5 years agonl80211: Change AKM suite limit from warning to debug print
Petr Štetiar [Mon, 11 May 2020 08:16:51 +0000 (10:16 +0200)] 
nl80211: Change AKM suite limit from warning to debug print

Commit dd74ddd0dff6 ("nl80211: Handle AKM suite selectors for AP
configuration") added warning log message "nl80211: Not enough room for
all AKM suites (num_suites=X > NL80211_MAX_NR_AKM_SUITES)" which in some
cases fills logs every 3 seconds, so fix this by increasing the log
message level to debug.

Reported-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Ref: https://patchwork.ozlabs.org/project/openwrt/patch/20200504130757.12736-1-ynezz@true.cz/#2429246
Fixes: dd74ddd0dff6 ("nl80211: Handle AKM suite selectors for AP configuration")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
5 years agotests: Automatic channel selection and RX during ACS
Jouni Malinen [Sat, 16 May 2020 09:18:42 +0000 (12:18 +0300)] 
tests: Automatic channel selection and RX during ACS

Signed-off-by: Jouni Malinen <j@w1.fi>