commit | e53d700432793ec0d3bfd02000a4de599691c9d8 | [log] [tgz] |
---|---|---|
author | Jintao Lin <jintaolin@chromium.org> | Fri Jan 19 21:36:40 2024 |
committer | Jintao Lin <jintaolin@chromium.org> | Fri Jan 19 22:02:50 2024 |
tree | 01fde4d9ac360bfed43b159a51477bde6cd7d531 | |
parent | bf9693efc9329a5bd6eefed10efcba7badfe1309 [diff] | |
parent | 2a610711829dfcbb0e7ef37f9ada958095f4d013 [diff] |
CHROMIUM: merge-2a6107118 from branch/tag: upstream/main into branch: wpa_supplicant-2.10.0 Conflicts: src/common/ieee802_11_defs.h wpa_supplicant/bgscan_simple.c wpa_supplicant/bssid_ignore.c wpa_supplicant/events.c wpa_supplicant/scan.c wpa_supplicant/wpa_supplicant_i.h Changelog: ------------------------------------------------------------- Aditya Kumar Singh (1): Fix Multiple BSSID element length calculation Ainy Kumari (1): P2P: Do not skip updating BSS table when frequency is changed Andrei Otcheretianski (20): wpa_supplicant: Add config parameters for MLD testing wpa_supplicant: Remove duplicate logic in wpas_ml_element() wpa_supplicant: Fix ml_ie_len type in wpa_bss_parse_basic_ml_element() AP MLD: Don't include AP MLD ID in Beacon frames AP: Avoid setting same MLD and link address AP: Get rid of wpa_auth_pmksa_add3() wpa_supplicant: Use wpa_msg() in bssid_ignore.c tests: Add a unit test for RNR/basic ML element parsing tests: Update ML discovery test to also check probe requests wpa_supplicant: Remove redundant CONFIG_WNM in wnm_sta.c WNM: Skip current connection BSS when disassociate imminent is set AP: Fix EHT MCS size validation for received element tests: Add more EHT tests with various bandwidths and channels AP: Allow hex format for puncturing bitmap AP: Publish the correct PSD value in RNR TBTT information field Disable _FORTIFY_SOURCE when building with -O0 AP: Fix compilation warning in hapd_pasn_update_params() wpa_supplicant: Don't assign pointer to bool RSN: Fix (B)IGTK MLO KDE length print Get rid of multiple MIN macros Baligh Gasmi (1): Initialize the variables before using it in channel update Ben Greear (1): bgscan: Allow simple bgscan to do BTM queries Benjamin Berg (46): tests: Disable IPv6 in WNM keep-alive test nl80211: Do a roundtrip to reset event supressions SME: Drop old disassoc_while_authenticating workaround common: Simplify and avoid confusing defragmentation API EHT: Define status codes from IEEE P802.11be/D4.0 MLD: Also mark links as failed after association failure MLD: Return status code for links when rejecting association MLD: Add a TEST_FAIL to fail one link in an MLD association. MLD: Do not consider ignored BSSs for links when parsing RNR info nl80211: Add support to parse out link from error reply nl80211: Report link specific association failures from the kernel MLD: Ignore failed links from association attempt AP: Use a struct for Probe Response generation in/out params AP: Split Probe Response frame IE generation into a separate function AP: Add parsing of ML probe requests AP: MLO: Add helper to iterate all links of an AP MLD ML: Add basic handling of ML probe requests MLD: Use MLD MAC address for deauthentication tests: Avoid exception string matching for failures tests: Fix some incorrect failure waiting calls Share TEST_FAIL/TEST_ALLOC_FAIL/GET_FAIL/GET_ALLOC_FAIL handler trace: Use an array of skipped function names trace: Share common implementation for TEST_FAIL and TEST_ALLOC_FAIL trace: Document function pattern prefixes trace: Allow multiple failures in one test tests: Allow specifying multiple failure locations trace: Add TEST_FAIL_TAG macro to allow more narrow matching tests: Add some MLD association tests tests: Test driver association ML link rejection flow Use the link BSSID to resolve current BSS for whether to roam check SME: Remove comment in missing ML links handling tests: Strip trailing space from ip output tests: Explicitly set address to bind to tests: Write services needed for pyrad tests: Stop wpa_supplicant AP at end of VHT 80 MHz (US) test tests: Flag inside VM using an environment variable build: Properly grab the libpcsclite cflags tests: Optimize process memory reading using join tests: Run kmemleak between tests if available mesh: Set the mld_link_id to -1 when adding a station nl80211: Pass wiphy events to all affected interfaces nl80211: Retrieve maxattr via genl for nl80211 nl80211: Avoid sending unsupported attributes MLD: Read the correct BSSID from the RNR MLD: Fail connection if ML Authentication frame could not be parsed wpa_supplicant: Do not invalidate PMKSA cache for bssid_* updates Chaitanya Tata (4): Add an option to remove RRM and supported operating class indication Add an option to remove Robust AV (SCS, MSCS, QoS Management) Add an option to remove WMM-AC Fix MBO build with GAS dependency Chenming Huang (7): nl80211: Remove links when stopping AP MLD in hostapd nl80211: Specify link ID when sending Management frames nl80211: Add link ID when setting BSS attributes for AP MLD AP MLD: Handle channel switch event in correct link AP MLD: Handle DFS in correct link Add QCA vendor attributes for link id for HT-scan/ACS command AP MLD: Channel switch for specific link Chien Wong (1): build: bgscan_simple depends on WNM Daniel Gabay (5): bgscan: Fix bgscan_init() stub declaration MSCS: Extend MSCS response handling MSCS: Process unsolciited MSCS Response frames tests: Refactor MSCS tests: Extend MSCS testing Dmitrijs Martinovs (1): DFS: Change vht_capab according to user requested bandwidth Gururaj Pandurangi (1): Add QCA vendor attribute for EHT SCS traffic description support Hu Wang (1): nl80211: Add NL80211_ATTR_MLO_LINK_ID for NL80211_CMD_REMAIN_ON_CHANNEL Ilan Peer (52): AP MLD: Make BSS parameter change variable AP: Add support for testing ML link removal scan: Include AP MLD ID in ML probe request if needed scan: MLD: Include SSID in ML probe request AP MLD: Use MLD MAC address for SA query and response when needed AP: Handle re-association from a non-AP MLD tests: Add validation of number of valid and active links for MLO tests: Verify link removal (MLO) nl80211: Add support for handling MLO removed links AP MLD: Do not access WPA authenticator object if not valid AP MLD: Do not include empty MLO KDEs tests: Test GTK rekey in test_eht_mld_link_removal() nl80211: Do not allow off channel when frequency is not specified AP MLD: Do not modify flags for link stations AP: Always include WPA_STA_AUTHORIZED in station flags mask AP: Fix setting MLD Parameters subfield in RNR element Remove a spurious tab in hostapd_eid_rnr() WNM: Use correct address when configured as AP MLD WNM: Allow frames from AP MLD AP: Use AP MLD MAC address for terminating MLO association AP: When sending Action frames, use the AP MLD MAC address if needed WNM: Handle BTM request with Link Removal Imminent field set to 1 AP: MLD: Extend BSS transition management request for link removal tests: Verify BTM request with link removal imminent flow AP: Support overriding EHT operation puncturing mask tests: Add tests for EHT operation puncturing override nl80211: Add link ID to the queue parameters configuration print MLD: Add support for disabled APs nl80211: Include disabled links indication in association command AP: Add testing option to indicate an AP is disabled tests: Extend testing coverage for MLD association with disabled links AP: Use the MLD MAC address for SAE authentication failures and testing tests: Extend MLD SAE test to cover failed authentication RRM: Add support for including extended ID elements in beacon report AP: Update the HE regulatory information AP types for the 6 GHz band AP: Add configuration options for 6 GHz TPE Tx power tests: Add a simple configuration test for TX power control on 6 GHz AP: Add TPE element for Indoor standard power AP AP: Add an additional TPE element when needed tests: Extend the HE regulatory test to also exemplify SP AP tests: Modify the DSCP-to-TID mapping in QoS mapping tests AP MLD: Correctly set the BSS parameters change count in RNR AP: Unify code handling deauthentication/disassociation AP MLD: Fix station lookup in hostapd_ml_get_assoc_sta() AP: Move hostapd_ml_get_assoc_sta() to shared AP: Support deauthenticate/disassociate with MLD AP MLD: Remove link stations on a new station authentication tests: Add MLD tests for deauthentication and disassociation AP: Fix a typo in function name RRM: Fix the parsing of the Extended Request subelement in beacon req tests: Add couple of MBO and RRM tests with MLD RRM: Handle scan TSF BSSID matching in context of MLD Jaap Keuter (3): trace: binutils replaces bfd_hostptr_t with uintptr_t tests: Drop use of ifconfig, use ip instead KaY: Make debug output consistent Jintao Lin (5): dbus: Use current_bss to get correct group BSSID and frequency on client Move parse_freq() to be a common helper function Fix P2P_GROUP_ADD handling of the persistent group parameters dbus: Use PHY parameters from dbus or config for the GroupAdd command trace: Fix compilation issue due to using an undefined symbol Johannes Berg (11): tests: Give some operations more time ieee802_11_defs: Fix EHT_ML_PRES_BM_PROBE_REQ_AP_MLD_ID tests: kernel: Add test for regulatory disconnect in cfg80211 tests: Query carrier before data test tests: Reset WARN_ON_ONCE() state in the kernel ctrl_iface: Don't return -1 when dumping BSS information ctrl_iface: Fix newline in print_ml() tests: ap_vht_40: wait a bit before connectivity check tests: P2P: Also wait in go_neg_pbc() nl80211: Fix AP MLD MAC address on auth retry tests: Add a test for kernel KUnit tests Jouni Malinen (134): OpenSSL: Allow openssl_ciphers override with Suite B config on server tests: Suite B 192-bit level RSA failing (no CS match) OWE: Optimize transition mode AP scan with owe_only=1 STA configuration tests: OWE transition mode disabled on STA and AP using transition mode Prefer SAE over PSK in WPA3-Personal transition mode cases tests: MBSSID with a single SSID and different AKMs MBSSID: Use BIGTK from the transmitted BSS for beacon protection tests: MBSSID beacon protection tests: Set wpa_s->global for module tests dbus: Increase XML buffer size for an interface introspection data Ignore missing set_secure_ranging_ctx callback for testing purposes tests: Update capability checks to include OpenSSL 3.1 and 3.2 mesh: Fix PMKSA cache entry addition with external PMKSA management test: Mesh PMKSA entry validation with MESH_PMKSA_ADD Document Tunnel-Password encoding for passphrase/PSK WNM: Define BSS transition management reason values tests: bgscan_simple and BTM query tests: Make sigma_dut AP SAE tests more robust tests: Avoid race condition in RRM beacon report tests tests: Wait a bit after radio work start in dpp_listen() tests: Wait for CTRL-EVENT-REGDOM-CHANGE before starting AP tests: Wait for regdom events in wpas_config_file tests: Wait for hostapd event in addition to wpa_supplicant tests: Make dpp_two_initiators more robust P2P: Recover from successfully requested, but not started, listen tests: Clear STA state at the end of ap_ft_reassoc_proto tests: Avoid race condition in scan_external_trigger tests: Avoid race condition in ap_no_auth_ack tests: Fix the regdom wait in wpas_config_file tests: Fix wpas_mesh_pmksa_caching_ext to allow lifetime to decrease tests: Allow more time for DPP Authentication with chirping iteration P2P: Force clearing of p2p-send-action radio work on P2P_STOP_FIND tests: Wait for AP/GO event in addition to STA tests: DFS channel switch to VHT80/80+80/160 tests: Skip memory read errors in read_process_memory() tests: Work around a race condition in p2p_device_grpform_timeout_go tests: Wait for AP to complete connection before testing connectivity tests: Race condition in connect_cmd_concurrent_grpform_while_connecting tests: Wait for group key handshake before testing Michael MIC failure tests: Avoid a race in wpas_ap_lifetime_in_memory* tests: Wait longer in sigma_dut_ap_dpp_relay before timing out tests: Increase timeout in go_neg_forced_freq_diff_than_bss_freq tests: Avoid race condition in ap_pmf_assoc_comeback_wps tests: Wait hostapd processing to complete in ap_wpa2_eap_in_bridge Fix HE enabling for IBSS and mesh WNM: Accept link removal BSS TM Request AP MLD: Do not schedule disconnection on BSS TM Request link removal tests: Make EAP-IKEv2 protocol tests more robust tests: Make p2p_msg_go_neg_both_start more robust ACS: Check whether iface->current_mode is NULL before use More consistent sta pointer checks in handle_assoc() TDLS: Avoid unnecessary copying of the Link Identifier element OpenSSL: Check EVP_CIPHER_CTX_set_padding() return value more consistently OpenSSL: Check EVP_MAC_update() return value more consistently PKCS#1: Do not use pointer value after freeing Remove unused assignment from Country element generation tests: Avoid race condition in WPS ER tests tests: Avoid race condition in autogo_passphrase_len Split ap_sta_set_authorized() into two steps tests: More robust sigma_dut_dpp_qr_mutual_init_enrollee_pending tests: SCS and QoS characteristics tests: PASN authentication using driver event as trigger tests: Include DPP3 support in the example configuration tests: Include Suite B 192-bit support in the example configuration tests: Include MACsec in example configuration AP MLD: Skip unknown Multi-Link element subelements AP MLD: More careful checking of Multi-Link element length fields tests: AP MLD protocol testing tests: Avoid a race condition in DPP retry validation tests: Make p2p_channel_avoid* more robust tests: Make dpp_controller_init_through_relay* more robust tests: Avoid race condition in owe_transition_mode_ifname_acs tests: Make DPP mutual authentication cases more robust tests: Fix a typo in an error message nl80211: Accept NL80211_CMD_FRAME events in global context nl80211: Use socket cb instead of global->nl_cb in send_and_recv() nl80211: Use bss->nl_connect unconditionally nl80211: Move control port attribute adding into more accurate location nl80211: Remove send_and_recv_msgs_owner() nl80211: Do not set socket owner for NL80211_CMD_LEAVE_IBSS nl80211: Remove send_and_recv_msgs_connect_handle() nl80211: Add send_and_recv_cmd() helper nl80211: Add send_and_recv_resp() helper nl80211: Remove send_and_recv_msgs() tests: Make p2p_service_discovery_restart more robust tests: Wait for the dpp_init_enrollee_pkex thread to complete tests: Do not check TX status in dpp_qr_code_auth_neg_chan tests: Make GAS tests more robust and easier to debug tests: Make flush_scan_cache() more robust tests: Clean up PSK protocol tests to avoid issues tests: Add more time for the Presence Announcements to be received MBSSID: Element ID values in increasing order in Non-Inheritance element PASN: Select the latest available BSS entry for a BSSID tests: SAE and sae_password_file in hostapd configuration tests: Flush scan cache in ap_wps_and_sae nl80211: Fix AP deinit path in error cases nl80211: Fix AP deinit path (link removal) in error cases tests: Use longer timeout with sigma_dut in DPP reconfiguration steps Split hostapd_eid_rnr_iface() into two functions HS 2.0: Remove useless debug print in non-Hotspot 2.0 cases AP: Share a common helper function for determining length of TPE elements AP: A helper function for determining whether the AP is an SP AP Update definitions to point to the current IEEE 802.11 standard tests: P2P GO starting a persistent group with 80+80 MHz bandwidth tests: Try to keep GAS frames within gas_concurrent_scan capture tests: Full validation of ACS selecting HT40- channel tests: Automatic channel selection for EHT320 tests: Enable full testing for ACS with VHT160 Limit throughput estimation for HE 40 MHz based on HT info Limit throughput estimation for HE 80/160 MHz based on VHT info AP: Fix a regression in indoor 6 GHz AP determination AP MLD: Prefer STA entry that has sta->wpa_sm initialized AP MLD: Fix Association Response frame ACK handling AP MLD: MLD address conversion for hostapd_drv_send_action_addr3_ap() nl80211: More detailed debug print for Management frame TX Extend pmf_in_use() to be aware of affiliated links on non-AP MLD GAS: Accept GAS response using AP MLD MAC address tests: GAS/ANQP during MLO association tests: DPP responder while ML associated Fix compiler warnings on supplicant build with PASN but no FILS Introduce ether_addr_equal() WPS: Fix authorized MAC removal Use ether_addr_equal() to compare whether two MAC addresses are equal tests: Skip test cases that need FILS if CONFIG_FILS=y was not used tests: Allow more time for dpp_qr_code_no_chan_list_broadcast MSCS: Use a define for the MSCS Descriptor element fixed field length DPP: Work arouind missing Auth Confirm ACK for testing tests: Increase timeout for dpp_qr_code_auth_broadcast nl80211: Print kernel version in debug output nl80211: Print driver name in debug output tests: Make ACS tests more reliable tests: Longer association comeback time Verify center frequency seg0/seg1 mapping result before use tests: Make wpas_ap_wps more robust Juliusz Sosinowicz (1): SAE: prime_len means length in bytes not bits Jun Yu (1): Populate the new beacon hint event to wpa_msg() Jurijs Soloveckis (3): EHT: Fix conditions for including EHT Operation Information field EHT: Fix HE Channel Center Freq Seg0/Seg1 for 6 GHz 320 MHz cases EHT: Add configuration for the EHT default PE duration Liangwei Dong (1): Add QCA vendor command to query transmit power information Matthew Wang (2): Decrease cross-threshold roam difficulty with bgscan_simple Apply a symmetrical bias against moving away from higher bands Michael-CY Lee (5): hostapd: Check the bridge if ioctl SIOCBRADDIF fails ACS: Add HT40- support in the 2.4 GHz band ACS: Fix not selecting the best channel in the segment hostapd: Add eht_bw320_offset configuration option ACS: Extend the 320 MHz support Mikelis Vuls (1): EHT: Fix updating center freq segment 0 index for HE and VHT Nagarajan M (1): Add QCA vendor commands for SDWF Nicolas Escande (1): ACS: Add 320 MHz support for EHT Nirav Shah (1): Add QCA vendor command for flow policy configuration Prasanna JS (1): Add EHT mode support for ratemask configuration vendor command Purushottam Kushwaha (1): Define new command in qca_tsf_cmd to get AP channel switch TSF time Remi Pommarel (1): mesh: Add for_each_sta implementation in wpa_auth_callbacks Sai Pratyusha Magam (2): hostapd configuration file update using control interface Use sta->vlan_id when needed for VLAN offload Shiva Sankar Gajula (2): SAE passwords from a separate file Support VLAN offload with SAE password based selection Veerendranath Jakkam (1): MLD STA: Update SAE PWE derivation in hunting-and-pecking loop case Vinayak Yadawad (5): Fix references to correct driver capability flag for PSK/OWE offloads nl80211: Update port authorized indication for MLO address nl80211: Use attribute NL80211_ATTR_BSSID to scan for specific BSSID Handle PMKSA flush in the driver for SAE/OWE offload cases Support all PSK AKMs in case of AP mode PSK offload mukul sharma (1): Add QCA vendor command for reporting firmware page fault informatin 朱海 (1): P2P: Fix a logical error of workaround of extended listen failure BUG=b:320328525 TEST=ran wifi_matfunc, wifi_perf and hwsim tests. Signed-off-by: Jintao Lin <jintaolin@chromium.org> Cq-Depend: chromium:5216093 Change-Id: I6365f3df0ae8f86dc532f59b4a7d73d1c6b99700
This documents how to develop, test, and submit code to wpa_supplicant in ChromeOS.
This follows the standard ChromeOS development flow:
cros-workon-${BOARD} wpa_supplicant-cros emerge-${BOARD} wpa_supplicant-cros cros deploy ${DUT} wpa_supplicant-cros
Note that wpa_supplicant-cros/current
and wpa_supplicant-cros/next
are identical. This is a vestige of how we used to uprevs, but now that we've converted to automated merges, we no longer regularly use both directories other than for the occasional rollout of a new feature flag. Please develop in wpa_supplicant-cros/current
.
To restart wpa_supplicant after deploying:
(DUT) # restart wpasupplicant
sudo -u wpa -g wpa wpa_cli
dbus-send --system --print-reply --dest=fi.w1.wpa_supplicant1 \ /fi/w1/wpa_supplicant1/Interfaces/0 \ fi.w1.wpa_supplicant1.Interface.AddNetwork \ ...
or gdbus:
gdbus call --system --dest fi.w1.wpa_supplicant1 --object-path \ /fi/w1/wpa_supplicant1/Interfaces/0 --method \ fi.w1.wpa_supplicant1.Interface.AddNetwork \ ...
We try to follow kernel conventions detailed here. For trivial changes, feel free to send them upstream without internal review (see below for more details). Otherwise, upload them with a WIP: prefix to indicate that you'd like internal feedback first. After getting a +1 from relevant reviewers, you should send the patch upstream. For time-sensitive changes, we allow landing the change as FROMLIST with an UPSTREAM-TASK tag at the end specifying a bug number to track the task of upstreaming the change. Please also add the CrOSWiFi-PendingUpstreamReview hotlist to the task and add the patch to go/cros_supplicant_patches. For other changes, we prefer landing the change as UPSTREAM or BACKPORT to avoid accruing technical debt.
If you‘ve landed your change as FROMLIST, make sure to monitor the hostap mailing list so you can revise your patch if necessary. After it has been accepted upstream, revert the original FROMLIST patch and land it as UPSTREAM (or BACKPORT) to update the change to its latest version if necessary. There’s no need to do this if there is no diff between the UPSTREAM and FROMLIST patches. An easy way to do this is to run the following command:
diff <(git show ${FROMLIST_HASH}) <(git show ${UPSTREAM_HASH})
Note that there will always be diffs, but you can skip relanding as long as these diffs are part of the patch itself. Remember to close the task that was opened to track upstreaming, and remove the patch from go/cros_supplicant_patches.
For convenience, we suggest subscribing to the hostap mailing list so that your patches will be automatically posted to the list without approval. Note that DMARC restrictions may prevent subscribing to the mailing list with your @google.com email. Sending changes upstream is fairly similar to the kernel process. Follow those instructions to set up your git configuration and for best practices with respect to patch titling and formatting. Note that our wpa_supplicant repository already contains an upstream/main
branch that you can use to make sure the patch applies cleanly upstream. Once you are ready to send your patch(es), you can send them to j@w1.fi
(Jouni Malinen, the maintainer) and hostap@lists.infradead.org
(the mailing list).