Commit Graph

227 Commits

Author SHA1 Message Date
aditi
da2fb9de49 fix(wpa_supplicant):Deinit old dpp authentication data after receiving config. 2024-07-30 13:57:42 +05:30
Jiang Jiang Jian
50288969c2 Merge branch 'fix/backport_wifi_fixes_v5.3' into 'release/v5.3'
fix(wifi): backport some wifi fixes to v5.3

See merge request espressif/esp-idf!32291
2024-07-26 11:08:23 +08:00
Jiang Jiang Jian
758567a7b7 Merge branch 'bugfix/wps_reg_state_handling_v5.3' into 'release/v5.3'
fix(wpa_supplicant): Handle case when WPS registrar misses WSC_DONE sent by station (Backport v5.3)

See merge request espressif/esp-idf!32082
2024-07-25 22:02:21 +08:00
aditi_lonkar
2130416e2e fix(wifi):Fix for setting wps status fail when connection fails 2024-07-23 16:39:43 +08:00
Sarvesh Bodakhe
821f4a181f fix(wpa_supplicant): Handle case when WPS registrar misses WSC_DONE sent by station
When registrar somehow misses the WSC_DONE sent by station and station
goes for next connection after sending deauth, make sure that softAP
disables the registrar.
2024-07-12 12:07:44 +05:30
Sarvesh Bodakhe
5deaedfab1 fix(wifi): Fix issue of supplicant using wrong parameters to configure bss
- Ensure that wpa_supplicant's state machine registers the requirement for rsnxe
  before deciding to add rsnxe to a assoc request.

Co-authored-by: jgujarathi <jash.gujarathi@espressif.com>
2024-07-12 10:16:15 +05:30
Shreyas Sheth
33e6eaaabf fix(wpa_supplicant): Fix wpa3 AP crash because of dangling pointer 2024-06-24 13:54:30 +08:00
Shyamal Khachane
9e95b9b29c fix(esp_wifi): Backport some fixes to v5.3
1. Fix issue of station PMF not getting reset when disconnecing from PMF connection
2. Fix a memory leak that occurs when the SAE connection is interrupted
3. Drop any received auth responses that use a different algorithm than the one currently in use
2024-06-20 15:29:05 +05:30
Kapil Gupta
79cea90dc1 fix(esp_wifi): Correct action frame type in send_mgmt_frame API 2024-04-22 16:08:18 +05:30
Sarvesh Bodakhe
d97c8ed1b1 fix(wifi): Add bugfix to avoid RSNXE and KDE mismatch during 4-way-handshake 2024-04-16 19:49:28 +05:30
Kapil Gupta
95b522a1be fix(wifi): Fix encryption/decryption issue for mgmt packets
* Fix issues related to mgmt packets encryption in GCMP
* Fix issue of wrong decryption of mgmt packets when PMF is enabled
* Fix softAP bug in handling of SAE Reauthentication
2024-04-16 19:49:09 +05:30
Kapil Gupta
58ee771f3c fix(wifi): Run tools/format.sh on WiFi component 2024-04-16 10:58:37 +05:30
Shreyas Sheth
e3338a3103 fix(wpa_supplicant): Compile error when CONFIG_SAE is disabled
Closes https://github.com/espressif/esp-idf/issues/13553
2024-04-08 17:29:48 +05:30
Jiang Jiang Jian
ce6363095e Merge branch 'bugfix/wpa3_ap_ci_crash' into 'master'
fix(esp_wifi): Fix crash when assoc req comes before confirm is processed

Closes IDFCI-2090

See merge request espressif/esp-idf!29805
2024-04-02 20:05:06 +08:00
Shreyas Sheth
73ec4a74fd fix(esp_wifi): Fix crash when assoc req comes before confirm is processed 2024-04-02 14:28:59 +05:30
Kapil Gupta
00ab1ef500 feat(esp_wifi): Provide API to disable PMK caching 2024-04-02 10:21:26 +05:30
jgujarathi
9a88dab748 feat(esp_wifi): Add support for advanced roaming as a wifi app
- Adds support for advanced roaming as a wifi app.
2024-04-01 23:00:01 +08:00
jgujarathi
71e6c10f7c fix(wpa_supplicant): Update supplicant last scan time when application scanning
- Any scanning currently updates the bss table held by supplicant anyway,
  but the time record used to maintain the recency of the last scan is
  only updated by supplicant issued scans. Updating the last scan time
  for application trigerred scanning will prevent the needless scanning
  by supplicant if there has been an application trigerred scan in
  the time diff threshold(currently 10s).
2024-04-01 23:00:01 +08:00
jgujarathi
b23e29d5ae fix(wpa_supplicant): Add current bss channel as hint to scanning
- Add current bss channel as hint to scanning during supplicant connect
  making the process faster.
2024-04-01 23:00:01 +08:00
jgujarathi
560c951e33 fix(wpa_supplicant): Add default durations to supplicant issued scans
- Add default durations to supplicant issued scans based on results from
  initial experiments where probe response times were recorded in a
  significantly noisy environment. It was noticed  that  within 70ms
  we receive over 80% of the responses 90% of the time
2024-04-01 23:00:01 +08:00
jgujarathi
84d7ab5c0c fix(wpa_supplicant): Clear bssid flag and channel in supplicant disconnect handler
- Clear the bssid set flag and channel in supplicant disconnect handler as this
  can cause the station to recursively connect to the wrong AP in case
  roaming through BTM mechanisms fails.
- Fix issue with incorrect blocking time calculation when blocking scan
  issued for a single channel.
2024-04-01 23:00:01 +08:00
jgujarathi
c6134a23dd fix(wpa_supplicant): Replace Neighbor Report callback with an event
- Deprecate the existing esp_rrm_send_neighbor_rep_request() API
- Adds a new API to send neighbor report requests esp_rrm_send_neighbor_report_request().
  This replaces the older API's callback procedure with a new Wi-Fi
  event that is posted when the neighbor report is received.
  This moves the execution of the callback from supplicant
  context to freertos context.
2024-04-01 23:00:01 +08:00
jgujarathi
743772fb76 fix(btm): Improve BTM scanning effiency by using channel bitmap
- Improve the BTM scanning efficiency by using channel bitmap feature in
  scanning. This sets only the channels we need to scan instead of all.
2024-04-01 23:00:01 +08:00
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