Commit Graph

204 Commits

Author SHA1 Message Date
Jiang Jiang Jian
52380e3052 Merge branch 'bugfix/wps_reg_regression' into 'master'
fix(esp_wifi): Fixed regression caused by fe35466c when wpa_supplicant debug logs enabled (!28521)

See merge request espressif/esp-idf!29753
2024-03-22 13:53:18 +08:00
Sarvesh Bodakhe
72f0c47526 fix(esp_wifi): Fix regression caused by fe35466c when supplicant logs enabled 2024-03-20 10:53:30 +05:30
Sarvesh Bodakhe
1d71178193 fix(wpa_supplicant): Add bugfixes related to ciphersuites in wifi enterprise
- Avoid downgrading TLS ciphersuites when client RSA keys are larger than RSA-2048 bit.
- Note that when using bigger certificates on low-power chips without crypto
  hardware acceleration, it is recommended to adjust the task watchdog timer (TWDT)
  if it is enabled. For precise information on timing requirements, you can check
  performance numbers at https://github.com/espressif/mbedtls/wiki/Performance-Numbers.
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
05b882baea fix(wpa_supplicant): Update cipher suite list for TLSv1.3 suiteb and some refactoring
- Use MBEDTLS_TLS1_3_AES_256_GCM_SHA384 cipher for TLSv1.3-suiteb
- Call psa_crypto_init() in tls_connection_init() to reduce redundancy
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
ec09cdf885 feat(wpa_supplicant): Add TLS v1.3 support for WiFi enterprise
* Add TLS v1.3 support for following EAP methods:
  - EAP-TLS  (RFC 9190)
  - EAP-PEAP (RFC 9427)
  - EAP-TTLS (RFC 9427)
* Add mbedtls porting for TLS v1.3 exporter (RFC 8446 Section 7.5)
* Add new Kconfig flag to enable TLS v1.3 for EAP methods
* Advertise TLS v1.3 signature algorithms if TLS 1.3 is enabled for EAP
  methods
* Advertise TLS v1.3 cipher suites if CONFIG_ESP_WIFI_EAP_TLS1_3 enabled
* Add support to Ack protected success indication
  (workaround for EAP-TLS 1.3 and 1.2 compatibilty)
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
886bf9e82f feat(wpa_supplicant): Add support for RFC 5705 TLS exporter context with mbedTLS 2024-03-20 09:33:52 +05:30
Ervin Oro
562bc59576 Add support for an optional context parameter to TLS exporter
Allow an additional context value to be passed to TLS exporter as
specified in RFC 5705 section 4.

This does not yet implement it for the internal TLS implementation.
However, as currently nothing uses context yet, this will not break
anything right now. WolfSSL maintainers also stated that they are not
going to add context support yet, but would look into it if/when this is
required by a published draft or a standard.

Signed-off-by: Ervin Oro <ervin.oro@aalto.fi>
2024-03-20 09:33:52 +05:30
Jiang Jiang Jian
5f969c71be Merge branch 'bugfix/dpp_auth_deinit_crash' into 'master'
Fix issues with DPP stop listen and DPP auth data deinit

Closes WIFIBUG-443, WIFIBUG-442, WIFIBUG-421, and WIFIBUG-423

See merge request espressif/esp-idf!29404
2024-03-19 17:36:28 +08:00
jgujarathi
40ccd1525f fix(wpa_supplicant): Cancel offchannel listen operations before sending dpp fail
- Ensure that offchannel listening operations are cancelled before sending dpp
  fail event
2024-03-18 14:33:57 +05:30
jgujarathi
537cf9bfc0 fix(wpa_supplicant): Ensure dpp auth structure is deinited in dpp task context
- Ensure that the dpp auth data gets deinited only in DPP task context to ensure
  that there are no concurrency issues in usage of DPP auth data.
2024-03-18 14:33:57 +05:30
Sarvesh Bodakhe
fe35466cdd fix(wpa_supplicant): Improve execution flow for WPS registrar public APIs
Make sure that WPS registrar public APIs do not modify supplicant
data in application task context. Execute API functionlity in eloop
context to prevent protential race conditions.
2024-03-18 12:43:39 +05:30
Shyamal Khachane
fd556dc785 feat(wifi): Add support to handle OWE transition disable indication from AP 2024-03-15 13:56:00 +05:30
Sarvesh Bodakhe
34725cdbfd feat(wifi): Add support SAE-PK and WPA3-Enterprise transition disable 2024-03-15 13:55:31 +05:30
Shreyas Sheth
9127a8fb25 fix(wifi): Fix wpa3 crash for station added without sta lock 2024-03-14 15:36:32 +05:30
aditi_lonkar
90cc61588e feat(esp_wifi): Add support of Network Introduction Protocol in DPP 2024-02-21 12:47:32 +05:30
Kapil Gupta
3a2e0dcbfb Merge branch 'bugfix/mbo_api_flag' into 'master'
fix(wpa_supplicant):Add CONFIG_MBO flag for mbo apis.

Closes WIFIBUG-390

See merge request espressif/esp-idf!28560
2024-02-21 10:54:46 +08:00
muhaidong
d278ffc501 fix(wifi): fix esp_wifi_scan_start memory leakage issue
Closes https://github.com/espressif/esp-idf/issues/10693
2024-02-03 16:32:09 +08:00
Kapil Gupta
d033c3ebff fix(wifi): add low memory options for eap enterprise 2024-01-30 22:54:22 +08:00
aditi_lonkar
6006568c77 fix(wpa_supplicant):Add MBO config flag for mbo apis 2024-01-18 15:11:30 +05:30
Jiang Jiang Jian
9f2578a0bd Merge branch 'bugfix/wps_disable_crash' into 'master'
Fix a crash in esp_wifi_wps_disable

Closes WIFIBUG-252 and WIFIBUG-266

See merge request espressif/esp-idf!27233
2023-12-05 11:21:09 +08:00
jgujarathi
322aa53d9d fix(wpa_supplicant): Add support for a dpp authentication timeout
- Adds support for a 1 second dpp authentication timeout.
2023-12-01 15:08:32 +05:30
jgujarathi
8508363ce5 fix(wpa_supplicant): Restructuring DPP init method to ensure cleanup
- Restructuring DPP init function to ensure cleanup of variables in case of
  init failure
2023-12-01 12:23:03 +05:30
jgujarathi
76da067bce fix(wpa_supplicant): Fix location of clearing up dpp global variables
- Fix location of cleaing up dpp global variables to ensure that there are
  no concurrency issues.
2023-12-01 12:23:03 +05:30
jgujarathi
30c510020f fix(wpa_supplicant): Fix a memory leak in dpp deinit path
- Ensures that the auth information of dpp gets freed when there is
  dpp gets deinited.
2023-12-01 12:23:00 +05:30
aditi_lonkar
bdeec024e8 fix(esp_wifi):Fix WDT when esp_supp_dpp_start_listen called multiple times 2023-11-30 15:37:17 +05:30
jgujarathi
f73432f651 fix(wpa_supplicant): Move concurrent wps and dpp check to before creating task
- Move the check for checking concurrent wps and dpp check to before creating
  task rather than after.
2023-11-28 15:18:39 +05:30
jgujarathi
bb4b9d0687 fix(wpa_supplicant): Fix a crash in esp_wifi_wps_disable
- Fixes a crash observed in esp_wifi_wps_disable when wps process
  is ongoing, caused due to concurrency issues in cancelling timers.
2023-11-28 11:55:35 +05:30
Jiang Jiang Jian
65b8830d07 Merge branch 'bugfix/disallow_dpp_wps' into 'master'
fix(wifi): Disallow DPP and WPS concurrency

Closes WIFIBUG-205

See merge request espressif/esp-idf!26850
2023-11-15 10:41:59 +08:00
Kapil Gupta
c815fe67fa fix(wpa_supplicant): memzero wifi config before sending config event 2023-11-03 15:44:08 +05:30
Jiang Jiang Jian
b10580fb04 Merge branch 'bugfix/supplicant_tls_fix' into 'master'
fix(wpa_supplicant): Correct iv lenght passed in mbedtls_cipher_set_iv()

Closes WIFIBUG-212

See merge request espressif/esp-idf!26837
2023-11-02 13:59:05 +08:00
Kapil Gupta
69704efd5d fix(wifi): Disallow DPP and WPS concurrency 2023-11-01 19:09:58 +05:30
Kapil Gupta
442f802102 fix(wpa_supplicant): Correct iv lenght passed in mbedtls_cipher_set_iv() 2023-11-01 17:31:02 +05:30
Jiang Jiang Jian
15f62f87ed Merge branch 'bugfix/wpa3_softap_assoc_reject' into 'master'
fix(wifi): wpa3 softap fix deauth when assoc req recv before sae is finished

Closes WIFIBUG-95

See merge request espressif/esp-idf!25545
2023-11-01 10:37:12 +08:00
Jiang Jiang Jian
5f518dbdde Merge branch 'bugfix/disable_fastpbkdf2_hardwaredisable' into 'master'
fix(wpa_supplicant): implement sha1_finish for fastpbkdf2

Closes WIFIBUG-208

See merge request espressif/esp-idf!26682
2023-10-31 14:18:15 +08:00
Shreyas Sheth
8b8d4a0ffc fix(wifi): wpa3 softap fix deauth when assoc req recv before sae is finished 2023-10-31 06:13:49 +00:00
Sarvesh Bodakhe
0a95914839 fix(esp_wifi): Fix issue of station disconnecting immediately when AP RSSI is zero 2023-10-27 09:35:20 +05:30
Kapil Gupta
04d874d6a3 fix(wpa_supplicant): implement sha1_finish for fastpbkdf2 2023-10-26 13:27:39 +05:30
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
8037cf5517 change(wifi): Add supplicant's public API header files to doc 2023-09-14 13:11:00 +05:30
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