Commit Graph

511 Commits

Author SHA1 Message Date
jgujarathi
143079bfd7 fix(wpa_supplicant/dpp): Ensure dpp follows init->bootstrap->listen path
- esp_supp_dpp_init : Ensures that the mode is set to station before
  the API call.
- Ensures that dpp follows the path of init(esp_supp_dpp_init) ->
  bootstrap(esp_supp_dpp_bootstrap_gen) -> listen(esp_supp_dpp_start_listen)
  by returning errors if any of them is invoked out of order.
2023-10-17 14:27:14 +05:30
aditi_lonkar
cc3b0d9f49 fix(wpa_supplicant): Fix few dpp bugs
1) Fix crash in dpp Listen without bootstrap
  2) Fix crash on receiving dpp auth_req from hostapd with dpp akm
2023-10-17 14:27:14 +05:30
Jiang Jiang Jian
face850973 Merge branch 'feature/rename_wpa2_ent_to_eap_client_v5.1' into 'release/v5.1'
WiFi: Rename WPA2 enterprise APIs to EAP Client. (v5.1)

See merge request espressif/esp-idf!26082
2023-09-26 13:30:52 +08:00
Kapil Gupta
52120cde26 change(wifi): Add supplicant's public API header files to doc 2023-09-25 10:54:52 +05:30
jgujarathi
3d056fd748 fix(esp_wifi): Fix issues with extended caps IE, scan and HT40 mode
-Merges the addition of extended caps IE for assoc req, probe resp
 and beacons in a single place. This ensures that there are no
 duplicate Extended Caps IE in the frame. Moves the capability
 indication for BTM and HT20/40 from supplicant to wifi libs.

-Fix issue with frequent disconections when scanning for only a single
 channel.

-Prints error message and returns ESP_ERR_NOT_SUPPORTED in case
 esp32c2 tries to set bandwidth to HT40.
2023-09-20 19:44:57 +08:00
Kapil Gupta
981086ba30 change(esp_wifi): Rename WiFi enterprise connection APIs 2023-09-20 17:06:59 +05:30
Shreyas Sheth
05915fee6e docs(wifi): Update wifi and wifi security documentation
1. Update documentation for WPA3 Enterprise and WPA3 Enterprise 192-bit
mode
2. Update documentation for WPA3 OWE and OWE transition mode
3. Update documentation related to SAE PK, SAE PWE and Transition Disable
4. Update documnetation for wifi connect API
5. Fix config paramter information for wifi scan start
6. Fix documentation related to scan threshold config setting
7. Replace ESP_ERR_WIFI_ARG error code as ESP_ERR_INVALID_ARG
8. Update documentation for 802.11R Fast transition
2023-09-14 10:14:13 +08:00
Kapil Gupta
fc9ce3b5f4 ci(esp_wifi): unit test for fast PBKDF2 validation 2023-09-13 16:33:19 +08:00
Kapil Gupta
4756c22ffa change(esp_wifi): Port fast_pbkdf2 implementation for mbedlts
Add changes to use fast_pbkdf2 as default for PMK calculations.
fast_pbkdf2 is significantly faster than current implementations
for esp chips.

Also removes unnecessary code for pbkdf-sha256 and pbkdf-sha512.
2023-09-13 16:33:19 +08:00
Kapil Gupta
e62d11ef41 change(esp_wifi): Copy fastpbkdf2 implementation
Copy pbkdf2 implementation from https://github.com/ctz/fastpbkdf2(3c56895)
2023-09-13 16:33:19 +08:00
Jiang Jiang Jian
111779db5a Merge branch 'feature/configurable_wpa2_ent_v5.1' into 'release/v5.1'
Make enterprise support configurable to save binary size.(v5.1)

See merge request espressif/esp-idf!25558
2023-09-13 10:18:05 +08:00
Jiang Jiang Jian
0c27d2467d Merge branch 'bugfix/pbc_overlap_in_wps_pin_method_v5.1' into 'release/v5.1'
Fix for issue of wps-pbc overlap in wps-pin method(v5.1)

See merge request espressif/esp-idf!25695
2023-09-11 12:12:29 +08:00
Jiang Jiang Jian
1d91310e0f Merge branch 'bugfix/wps_wpa3_passphrase_v5.1' into 'release/v5.1'
WiFi: get passphrase in WPS if AP support SAE (v5.1)

See merge request espressif/esp-idf!25885
2023-09-11 10:54:18 +08:00
Kapil Gupta
797ec25a3f fix(wifi): Get passphrase in WPS if AP support SAE
Also add changes to send NACK if WPS message received twice.
2023-09-08 15:21:56 +05:30
aditi_lonkar
8254175931 wpa_supplicant: Fix for issue of wps-pbc overlap in wps-pin method 2023-09-07 15:14:35 +05:30
Kapil Gupta
397206d050 change(wifi): Reduce BSS logging in wpa_supplicant 2023-09-07 10:19:02 +05:30
Jiang Jiang Jian
3eed68cc9c Merge branch 'bugfix/update_supplicant_copyrights_v5.1' into 'release/v5.1'
Update copyright info for wpa_supplicant (v5.1)

See merge request espressif/esp-idf!25526
2023-08-28 13:49:25 +08:00
Jiang Jiang Jian
4299b9346b Merge branch 'bugfix/supplicant_osi_violation_v5.1' into 'release/v5.1'
Fix abstraction violation in wpa_supplicant (Backport v5.1)

See merge request espressif/esp-idf!25565
2023-08-28 10:30:37 +08:00
Nachiket Kukade
c15472b12e fix(supplicant): Fix abstraction violation in wpa_supplicant 2023-08-25 12:30:44 +05:30
aditi_lonkar
0624d5e58f esp_wifi: Make enterprise support configurable to save binary size. 2023-08-25 11:20:58 +05:30
Kapil Gupta
a22ba76f33 change(esp_wifi): Update copyright info for wpa_supplicant 2023-08-24 10:05:39 +05:30
Kapil Gupta
c7a7bb62c6 esp_wifi: Move ccmp mgmt enc/decrypt logs to verbose 2023-08-24 03:11:42 +00:00
Jiang Jiang Jian
372a34f6d5 Merge branch 'fix/wifi_wps_pbc_overlap_v5.1' into 'release/v5.1'
fix(wpa_supplicant): Add support to detect PBC overlap in wps registrar mode (Backport v5.1)

See merge request espressif/esp-idf!25440
2023-08-23 19:54:50 +08:00
Nachiket Kukade
c05a0b4c50 fix(supplicant): Ignore EAPOL non-key frames in EAPOL txdone callback 2023-08-21 18:06:32 +05:30
Sarvesh Bodakhe
2791508094 fix(wpa_supplicant): Add support to detect PBC overlap in wps registrar mode 2023-08-21 12:35:50 +05:30
Nachiket Kukade
feecbad7db fix(wifi): Fix EAPOL Key TxDone callback implementation
Fix issues arising due to not distinguishing between M2 and M4
TxDone during 4-way handshake. Also fix EAPOL frame rate to lowest
possible rate.
2023-08-16 19:26:22 +05:30
Jiang Jiang Jian
01c6fc6511 Merge branch 'bugfix/minor_enterprise_fixes_v5.1' into 'release/v5.1'
Drop Eapol msg if EAP success is not processed (Backport v5.1)

See merge request espressif/esp-idf!25065
2023-08-02 10:48:56 +08:00
jgujarathi
0ba37a2b85 fix(rrm) : Fix crash in RRM neighbour report requests.
Fix crash in sending new RRM neighbour report requests by removing
the call to neighbour report request timeout callback in case of
already ongoing neighbour report request timer.
2023-08-01 13:12:00 +05:30
Jiang Jiang Jian
5dfbd1eb8d Merge branch 'bugfix/malloc_free_removal_v5.1' into 'release/v5.1'
change(esp_wifi): Remove direct call of malloc() and free() (v5.1)

See merge request espressif/esp-idf!24932
2023-08-01 10:53:10 +08:00
Shyamal Khachane
c612f36786 fix(esp_wifi): Drop Eapol msg if EAP success is not processed 2023-07-28 15:11:44 +05:30
Kapil Gupta
020eba74c6 change(esp_wifi): Remove direct call of malloc() and free() 2023-07-22 07:13:53 +00:00
Shyamal Khachane
dbe7c4a78d fix(esp_wifi): Backport some wifi fixes
1. Fix memory leak caused by assoc IE and retry timer
2. Discard commit frame received at confirmed state in SAE
3. Ignore immediate assoc req received from the station while we are
processing the older one. Fix regression caused by 4cb4faa9
2023-07-21 15:06:09 +05:30
Jiang Jiang Jian
7d6a86062b Merge branch 'bugfix/multiple_btm_rrm_task_v51' into 'release/v5.1'
Fix race conditions in btm task deletion(v5.1)

See merge request espressif/esp-idf!24764
2023-07-14 08:10:39 +08:00
Kapil Gupta
d938559efb Fix(esp_wifi): Fix race conditions in btm task deletion 2023-07-13 10:13:57 +05:30
Kapil Gupta
02aa8e1a89 esp_wifi: Optimize sae crypto operations for esp32 2023-07-13 09:47:09 +05:30
jgujarathi
3095888aaf fix(wpa_supplicant) : Fix occasional crash during btm roam.
Fix crash due to premature deallocation of neighbour report elements
by scan_done. Post event to btm_rrm_t task to handle scan_done serially
rather than when btm_rrm_t task is processing btm request rx frame.
2023-07-12 10:39:05 +05:30
aditi_lonkar
33aff4c5a0 Fix for sending deauth before Eap-Failure in WPS 2023-07-10 02:20:51 +00:00
Shreyas Sheth
38e2a6fce6 esp_wifi: Bugfix concurrency observed while doing eloop register 2023-07-04 09:42:18 +05:30
Kapil Gupta
7c2743f379 esp_wifi: Fix WPS issue for WPA3+WPA2 mode 2023-06-09 18:22:59 +05:30
Shreyas Sheth
e8d9104953 esp_wifi: Bugfix wpsreg AP not responding to assoc req
Fixed regression caused by 2b8e40e7
2023-06-01 15:36:54 +05:30
jasta
3ef8c77588 esp_dpp: Fix retry with esp_supp_dpp_start_listen after failure
This fixes a subtle bug in which ESP_ERR_DPP_TX_FAILURE errors would
call esp_supp_dpp_stop_listen which sets the s_dpp_stop_listening flag
to true.  Subsequent attempts to restart listening with
esp_supp_dpp_start_listen then only attempt to listen once more for
500ms before reading the s_dpp_stop_listening flag again and giving up.

This contributes greatly to #10615, but the fix here is still largely
a work-around as it sometimes requires manually retrying a couple times
before it works.  Without this fix, any number of retries by
deinit/init again will seemingly not work as the retries for currently
unknown reasons.

Signed-off-by: Shreyas Sheth <shreyas.sheth@espressif.com>

Closes https://github.com/espressif/esp-idf/pull/10865
2023-05-19 17:17:18 +08:00
jgujarathi
9aedb4bd83 wpa_supplicant : Fix scan results for GCMP and GCMP-256 cipher.
Add support for recognising GCMP and GCMP-256 ciphers if used by AP.
Update the scan example to show the correct cipher.
2023-05-19 16:58:51 +08:00
jgujarathi
576489f8cf wpa_supplicant : Add MBO ie in probe request.
Adds the MBO information element in the probe request frame by resetting
scan_ie after set_config is done.
2023-05-19 16:58:40 +08:00
Sarvesh Bodakhe
7412d1a1a9 wpa_supplicant: Use 'mbedtls_pk_parse_public_key' to parse compressed EC public key and remove unnecessary code
Support to parse compressed EC public key is added from 'mbedtls-3.4.0'
2023-05-19 12:19:08 +08:00
Shyamal Khachane
90e354a723 wpa_supplicant: Reduce logging for SAE 2023-05-04 11:23:55 +05:30
Jiang Jiang Jian
961018d882 Merge branch 'bugfix/pmkid_sha256_bug_v5.1' into 'release/v5.1'
wpa_supplicant: Fix PMKID SHA-256 related regression (Backport v5.1)

See merge request espressif/esp-idf!23494
2023-04-28 07:52:52 +08:00
muhaidong
8d383980a1 esp_supplicant: wpa pmf should be disabled 2023-04-27 20:07:30 +08:00
Sarvesh Bodakhe
a64cbdea10 wpa_supplicant: Fix PMKID SHA-256 related regression
Fixed regression caused by commit 38e9c8b4
2023-04-27 11:35:20 +05:30
laokaiyao
954a6a2cff esp32h4: removed esp32h4 related codes 2023-04-26 18:53:12 +08:00
Shreyas Sheth
f9ebbdf6ea esp_wifi:Enable wpsreg to initialize in APSTA mode 2023-04-24 12:32:47 +08:00
Shreyas Sheth
79dabf50b0 esp_wifi: Install keys after successful transmission of EAPOL 4/4 Message 2023-04-24 12:31:21 +08:00
Shyamal Khachane
c046ddd642 wpa_supplicant : Fix association response processing in OWE 2023-04-07 11:45:46 +05:30
Jiang Jiang Jian
262149246d Merge branch 'bugfix/invalid_pmkid_in_eapol_1_of_4' into 'master'
wpa_supplicant: bugfix invalid pmkid in eapol 1 of 4

Closes WIFI-5636

See merge request espressif/esp-idf!23033
2023-04-03 17:24:29 +08:00
Shreyas Sheth
38e9c8b474 wpa_supplicant: Bugfix sending invalid PMKID by softAP in EAPOL message 1 of 4 2023-04-03 12:00:23 +05:30
Sarvesh Bodakhe
b89a851645 esp_wifi: Move wpa_supplicant WIFI_EVENT_STA_CONNECTED and WIFI_EVENT_STA_DISCONNECTED event handlers into callbacks
Executing supplicant WIFI_EVENT_STA_CONNECTED and WIFI_EVENT_STA_DISCONNECTED handlers in event-handler context can lead to concurrency issues.
Moving the functionality into 'wpa_sta_connected_cb' and 'wpa_sta_disconnected_cb' callbacks and execute in ppTask context.
2023-03-31 12:34:03 +05:30
Sarvesh Bodakhe
7fb6f3b9e3 esp_wifi: remove unnecessary code under SAE-PK configuration 2023-03-31 12:34:03 +05:30
Jiang Jiang Jian
74c151df44 Merge branch 'bugfix/fix_softap_wpa3_loop' into 'master'
Fix infinite loop in PMK mismatch case in WPA3 SoftAP

Closes WIFI-5627

See merge request espressif/esp-idf!22954
2023-03-30 14:42:00 +08:00
Shreyas Sheth
888b909e79 esp_wifi: WPA3 softap set PMF required true
1) Set NVS PMF required true if not specified by application when
   authmode is WPA3
2) Fix issue regarding cleanup of non associated sta_info
3) Fix implementation of sta lock to avoid concurrency issues
4) Fix softAP deinit crash when password is configured with max length
2023-03-29 13:07:52 +00:00
Jiang Jiang Jian
8448c72440 Merge branch 'bugfix/wps_phassphrase' into 'master'
wpa_supplicant: Get WPS credential in passphrase format

Closes IDFGH-8922

See merge request espressif/esp-idf!22454
2023-03-29 16:31:46 +08:00
Nachiket Kukade
7ee27bc956 wpa_supplicant: Fix infinite loop in PMK mismatch case in WPA3 SoftAP 2023-03-28 16:52:16 +05:30
muhaidong
61a5785414 Remove -Wno-format in esp_phy, esp_wifi, wpa_supplicant components 2023-03-27 06:42:08 +00:00
Kapil Gupta
5186b018c0 wpa_supplicant: Get WPS credential in passphrase format
Closes https://github.com/espressif/esp-idf/issues/10339
2023-03-24 10:40:04 +05:30
Gustavo Henrique Nihei
50145ed179 esp_rom: Remove STATUS struct in favor of ETS_STATUS
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-16 01:50:21 +08:00
Jiang Jiang Jian
3cad41ee77 Merge branch 'bugfix/wpa3_softap_supplicant_coverity_fixes' into 'master'
esp_wifi: Fix some SAE SoftAP issues

Closes WIFI-5493, WIFI-5498, IDF-7028, WIFI-5516, and WIFI-5515

See merge request espressif/esp-idf!22574
2023-03-13 10:33:27 +08:00
Shreyas Sheth
c797146f43 wpa_supplicant: Resolve WPA3 SAE softAP coverity issues
1) Resolve wpa_suppliant coverity issues caused by SAE softAP
2) Fix crash occured while deinitialization of softAP
   when authmode is changed
3) Fix issue related to anti clogging token and send_confirm
4) Put some AP specific functions under ESP_WIFI_SOFTAP_SUPPORT
   compilation flags
2023-03-12 17:33:17 +05:30
Nachiket Kukade
4c76af3f68 esp_wifi: Add support for NAN Discovery and Datapath
Update wifi lib with below -
1. Create NAN Discovery SM for beaconing & cluster formation
2. Create NAN interface for Tx/Rx of beacons & action frames
3. Add commands & events for NAN Services Publish/Subscribe/Followup
4. Add NAN Datapath definitions, Events, Peer structures
5. Support for forming and parsing of Datapath related attributes
6. Modules for NDP Req, Resp, Confirm, Term, Peer management
7. NAN Interface related additions in Datapath, Data Tx Q's

In addition include below changes -
1. Add netif and driver support for NAN Interface
2. Add simple examples for Publisher-Subscriber usecases
3. Add an advanced console example that supports commands
   for NAN Discovery, Services & Datapath
4. Add wifi_apps for providing better NAN API's and Peer management

Co-authored-by: Shyamal Khachane <shyamal.khachane@espressif.com>
2023-03-10 11:18:23 +05:30
Jiang Jiang Jian
58b3692540 Merge branch 'bugfix/add_unregister_wpa3_cb' into 'master'
wpa_supplicant : Fix issues encountered in WFA testing

Closes WIFI-5386

See merge request espressif/esp-idf!22396
2023-03-07 14:15:20 +08:00
gauri patankar
6f7cf98ffe esp_wifi: SAE Password Identifier support 2023-03-06 11:04:20 +05:30
jgujarathi
20c316d4cf wpa_supplicant : Add disable for tls key usage check.
Disable the key usage check this leads to false negative results
while using wfa certificates during testing.
2023-03-01 14:14:26 +05:30
jgujarathi
d9d1c3e334 wpa_supplicant : Add validations for 192-bit Suite B test cases.
Add validation for group data cipher, pairwise cipher and AKM Suites to
ensure correct ciphers are supported by AP during 192-bit Enterprise
connections.
2023-03-01 12:04:45 +05:30
Shreyas Sheth
2b8e40e760 esp_wifi: WPA3-SAE support for softAP 2023-02-28 12:25:05 +08:00
Alexey Lapshin
adcdfa641c wpa_supplicant: fix gcc-12 compile errors 2023-02-22 05:33:03 +00:00
jgujarathi
178497c432 wpa_supplicant : Add deinitialization of Enterprise config_methods.
Add deinitialization of config_methods as it prevents correct reinitialization of sta in eap_peer_config_init() during reassoc.
2023-02-17 17:21:41 +05:30
jgujarathi
a512a5d990 wpa_supplicant : Add support for unregistering wifi wpa3 callbacks.
Unregister wifi callbacks allows for disabling support for wpa3 functions when not required.
2023-02-17 17:20:49 +05:30
Sarvesh Bodakhe
d2f6a3dacc esp-wifi: add SAE-PK (Public Key) authentication support for station 2023-02-16 13:49:11 +05:30
Cao Sen Miao
fd3e0b0b18 esp32h2(ci): enable target test 2023-02-15 10:20:43 +08:00
Kapil Gupta
30a2558450 esp_wifi: Merge wpa_supplicant and esp_wifi Kconfig 2023-02-11 07:38:45 +08:00
Shreyas Sheth
a9095ba8e0 esp_wifi: bugfix RSNXE related changes
1. Set AP rsnxe len generic
2. Set transition_disable value in wifi get config
2023-02-07 12:26:54 +00:00
Jiang Jiang Jian
eb55a21fc8 Merge branch 'bugfix/minor_syntax_changes' into 'master'
wpa_supplicant  : Fixing collection of issues encountered during QuickTrack testing.

See merge request espressif/esp-idf!22097
2023-02-03 14:44:00 +08:00
jgujarathi
88ea8c5fed wpa_supplicant : Prevent h2e config overwrite
Current esp_wifi_get_config doesn't return correct value of h2e config which will cause h2e config to be overwritten in Station connected handler.

Add one preventative condition to take care of this.
2023-02-01 14:04:23 +05:30
jgujarathi
c565724f3a wpa_supplicant : fix invalid de-init of last_scan_res_used
During the wifi deinit last_scan_res_used is not set to 0 which will cause it be used directly after reinit.

Added changes which will set it to 0 during init and deinit.
2023-02-01 12:17:42 +05:30
jgujarathi
417fc6d404 wpa_supplicant : Correct scan results for GCMP RSN
Fixed a typo which was causing scan results for GCMP not showing correctly
2023-02-01 12:12:29 +05:30
gauri patankar
d14d001e44 wpa_supplicant:Fix potential null pointer dereference 2023-01-31 21:54:43 +05:30
gauri patankar
85de6f3f9a wpa_supplicant: Restore DEBUG_PRINT in supplicant 2023-01-25 16:57:44 +05:30
Kapil Gupta
de42b2912c Merge branch 'bugfix/update_wps_api_documentation' into 'master'
wpa_supplicant: Update WPS API documentation

Closes IDFGH-8996

See merge request espressif/esp-idf!21714
2023-01-25 18:52:51 +08:00
Sachin Parekh
d9ac69362a wpa_supplicant: Enable ECC test case 2023-01-18 14:25:53 +05:30
Jiang Jiang Jian
3636495d33 Merge branch 'bugfix/remove_redundant_debug_print' into 'master'
Remove redundant DEBUG_PRINT in supplicant

Closes IDFGH-9037

See merge request espressif/esp-idf!21857
2023-01-18 16:45:44 +08:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Laukik Hase
4f67662cab Merge branch 'feature/mbedtls-3.3.0' into 'master'
mbedtls: Update to v3.3.0

Closes IDF-6536

See merge request espressif/esp-idf!21897
2023-01-12 19:38:51 +08:00
Jiang Jiang Jian
73b838dac3 Merge branch 'bugfix/sae_auth_and_pmk_issues' into 'master'
Fix SAE open auth and PMK issues

Closes WIFI-5059

See merge request espressif/esp-idf!21910
2023-01-10 14:03:01 +08:00
Shyamal Khachane
9603d1d903 Fix SAE open auth and PMK issues 2023-01-10 14:03:00 +08:00
Laukik Hase
c2ab1af47f
wpa_supplicant: Update deprecated API (mbedtls_pkcs5_pbkdf2_hmac)
- The newer alternative does not require HMAC context for its
  operation
2023-01-09 15:41:36 +05:30
Kapil Gupta
45571b0525 Merge branch 'bugfix/remove_sha384_hash_for_bigger_certs' into 'master'
esp_wifi: remove sha384 hash for cert size > 2k

Closes WIFI-5208

See merge request espressif/esp-idf!21840
2023-01-09 18:07:50 +08:00
Chen Yudong
8aca3932b0 CI: enable more wifi cases 2023-01-06 06:03:52 +00:00
gauri patankar
68fb038f43 wpa_supplicant:Remove redundant DEBUG_PRINT in supplicant 2023-01-03 12:52:54 +05:30
Shreyas Sheth
d5c88500c0 wpa_supplicant: Bugfix wps coverity forward null pointer issue 2023-01-01 19:33:24 +00:00
Kapil Gupta
7a8a85877d Removed sha384 hash for certs > 2k 2022-12-29 15:16:58 +05:30
Cao Sen Miao
4713a9a7f2 ESP32H2: Introduce new chip target esp32h2, hello_world example supported 2022-12-29 12:29:14 +08:00
Jiang Jiang Jian
eab2792735 Merge branch 'bugfix/wps_start_state_issue' into 'master'
esp_wifi: Add check for wps start state

See merge request espressif/esp-idf!21100
2022-12-27 17:33:20 +08:00
Kapil Gupta
142f339642 wpa_supplicant: Update WPS API documentation 2022-12-27 13:04:20 +05:30