Commit Graph

161 Commits

Author SHA1 Message Date
Shreyas Sheth
ee9ce51133 feat(wifi): Add SAE EXT key support for esp station 2023-10-18 17:10:31 +05:30
Jouni Malinen
7dbfd8c6da feat(wifi): Pull in wpa_supplicant upstream code for SAE EXT key
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>
2023-10-18 16:50:24 +05:30
Shreyas Sheth
e746fc0deb feat(wifi): Refactor and update wpa_supplicant with upstream 2023-10-18 16:50:24 +05:30
Kapil Gupta
4dedd3e69d fix(wifi): Fix static analyzer warning for WPS code 2023-10-17 10:03:39 +05:30
aditi_lonkar
236fa500c7 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-12 13:51:27 +00:00
jgujarathi
a08e4afd07 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-03 14:21:33 +05:30
Kapil Gupta
3b748a6cb7 Merge branch 'feature/rename_wpa2_ent_to_eap_client' into 'master'
WiFi: Rename WPA2 enterprise APIs to EAP Client.

See merge request espressif/esp-idf!25233
2023-09-18 16:16:54 +08:00
Kapil Gupta
9deb5ffccf change(esp_wifi): Rename WiFi enterprise connection APIs 2023-09-14 13:10:52 +05:30
jgujarathi
906685898d 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-14 10:19:27 +05:30
Jiang Jiang Jian
5933779f2d Merge branch 'feature/configurable_wpa2_ent' into 'master'
esp_wifi: Make enterprise support configurable to save binary size.

Closes WIFI-3597

See merge request espressif/esp-idf!24345
2023-09-13 10:17:44 +08:00
Kapil Gupta
c82a792bc3 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-11 19:33:17 +05:30
Kapil Gupta
fd04e98d28 change(esp_wifi): Copy fastpbkdf2 implementation
Copy pbkdf2 implementation from https://github.com/ctz/fastpbkdf2(3c56895)
2023-09-11 06:08:16 +00:00
Kapil Gupta
a0b5fb4aeb Merge branch 'bugfix/wps_wpa3_passphrase' into 'master'
WiFi: get passphrase in WPS if AP support SAE

Closes WIFIBUG-54 and WIFI-6252

See merge request espressif/esp-idf!25850
2023-09-11 10:16:53 +08:00
Kapil Gupta
ad62f428d2 fix(wifi): Get passphrase in WPS if AP support SAE
Also add changes to send NACK if WPS message received twice.
2023-09-08 10:48:55 +05:30
aditi_lonkar
c241c9fbd6 wpa_supplicant: Fix for issue of wps-pbc overlap in wps-pin method 2023-09-07 14:12:13 +05:30
aditi_lonkar
c88e7106ec esp_wifi: Make enterprise support configurable to save binary size. 2023-08-25 11:00:54 +05:30
Jiang Jiang Jian
b642bb9b53 Merge branch 'fix/wifi_wps_pbc_overlap' into 'master'
fix(wpa_supplicant): Add support to detect  PBC overlap in wps registrar mode

Closes WIFIBUG-56

See merge request espressif/esp-idf!25331
2023-08-21 14:49:24 +08:00
Nachiket Kukade
29e6603ba7 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-14 16:50:42 +05:30
Sarvesh Bodakhe
2c3394ff01 fix(wpa_supplicant): Add support to detect PBC overlap in wps registrar mode 2023-08-11 16:06:23 +05:30
Shyamal Khachane
d64a3d7755 fix(esp_wifi): Drop Eapol msg if EAP success is not processed 2023-07-28 15:00:03 +05:30
Shreyas Sheth
691eed15cc fix(wifi): Fix memory leak caused by assoc IE and retry timer 2023-07-20 10:13:25 +05:30
Shyamal Khachane
a9e6deb615 fix(esp_wifi): Discard commit frame received at confirmed state in SAE 2023-07-18 08:09:08 +05:30
Shreyas Sheth
88cbcf4696 fix(wifi): Bugfix ignore immediate assoc req received by AP
1) Ignore immediate assoc req received from the station while we are
processing the older one
2) Create station mutex (sta->lock) only for stations connecting with wpa3
security
3) Fix regression caused by 4cb4faa9
2023-07-15 13:53:51 +05:30
Jiang Jiang Jian
5995cab9c1 Merge branch 'bugfix/multiple_btm_rrm_task' into 'master'
Fix esp_supplicant_common_deinit to post delete btm_rrm_t task.

Closes IDFGH-9553

See merge request espressif/esp-idf!22674
2023-07-12 19:55:00 +08:00
Kapil Gupta
01a9b46ea9 Fix(esp_wifi): Fix race conditions in btm task deletion 2023-07-11 14:22:10 +05:30
Jiang Jiang Jian
cc1fe58ba3 Merge branch 'bugfix/sae_crypto_optimization_esp32' into 'master'
esp_wifi: Optimize sae crypto operations for esp32

See merge request espressif/esp-idf!24279
2023-07-11 13:57:29 +08:00
jgujarathi
98e33605b4 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-03 04:16:21 +00:00
Kapil Gupta
7dc8de15aa esp_wifi: Optimize sae crypto operations for esp32 2023-06-26 14:25:33 +05:30
Kapil Gupta
026f9b31fa esp_wifi: Fix WPS issue for WPA3+WPA2 mode 2023-06-05 10:50:53 +05:30
Shreyas Sheth
28e046d200 esp_wifi: Bugfix wpsreg AP not responding to assoc req
Fixed regression caused by 2b8e40e7
2023-06-02 02:07:55 +00:00
jgujarathi
00c0bf683f 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-05 10:12:29 +05:30
Sarvesh Bodakhe
cd0d42d43b 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-04-28 18:23:42 +05:30
muhaidong
76ac4add53 esp_supplicant: wpa pmf should be disabled 2023-04-27 10:56:25 +08:00
jasta
1885379ae3 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-04-23 20:27:20 +05:30
Shreyas Sheth
5524aad43f esp_wifi:Enable wpsreg to initialize in APSTA mode 2023-04-20 14:48:14 +05:30
Shreyas Sheth
dce0920329 esp_wifi: Install keys after successful transmission of EAPOL 4/4 Message 2023-04-12 18:32:24 +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
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
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
Shreyas Sheth
2b8e40e760 esp_wifi: WPA3-SAE support for softAP 2023-02-28 12:25:05 +08:00