Commit Graph
100 Commits
Author SHA1 Message Date
Kapil Gupta f538412383 fix(esp_wifi): Drop broadcast fragmented frames 2026-07-07 15:14:33 +05:30
Kapil Gupta baae8cb58a fix(esp_wifi): Correct igtk key installation in ft 2026-06-03 08:57:52 +05:30
Kapil Gupta fe9cabef44 fix(esp_wifi): Allow M1 in pmk caching case 2026-05-29 11:14:44 +05:30
Kapil Gupta 5207880ddb ci(wpa_supplicant): Add UT for supplicant crypto 2026-04-26 10:09:48 +05:30
Kapil Gupta 41980d9e85 fix(esp_wifi): Optimize crypto operations for SAE
- Montgomery multiplication fast path for P-256 mulmod
- Jacobi symbol for legendre (replacing exp_mod)
- Software Jacobian point multiplication for MPI-only chips
- ECC hardware acceleration for supported chips
- ECDH fast path for P-256
2026-04-25 16:54:16 +05:30
Kapil Gupta 37c48a5548 fix(esp_wifi): clean up fragment rx flow 2026-04-25 16:45:39 +05:30
Kapil Gupta e873d0ce79 fix(esp_wifi): Address review comments on MR 2026-04-25 16:41:55 +05:30
Kapil Gupta dfdc3002df fix(esp_wifi): Disconnect before sending WPS success event 2026-04-25 16:36:44 +05:30
Kapil Gupta 43eb40f5fa fix(esp_wifi): Address some issues in esp_supplicant WPS states
* Use atomic operations for s_wps_enabled flag access across tasks
  * Add bounds checking on WPS IE length and SSID before copying
  * Validate EAP-Expanded vendor/type and EAP-Request truncation
  * Use new EAP-WSC fragment helpers and length constants for clarity
  * Treat unexpected WSC opcodes/states as recoverable (no FAIL)
  * Use os_zalloc + proper cleanup in wifi_station_wps_init error path
  * Use wpa_hexdump_ascii_key for credential keys to avoid leaking PSK
  * Restore previous wps_type / s_wps_enabled if disable post fails
2026-04-25 16:31:09 +05:30
Kapil Gupta 096ef3aef0 fix(wps): harden enrollee WSC fragment handling 2026-04-25 16:23:21 +05:30
Kapil Gupta 122a21af89 ci(esp_wifi): skip timing test if hw not available 2026-04-25 14:55:42 +05:30
Kapil Gupta 43273d610a fix(wpa_supplicant): Add optimizations in fastpsk 2026-04-25 14:55:42 +05:30
Kapil Gupta 510d572d92 Merge branch 'bugfix/eap_frag_optimization_v5.3' into 'release/v5.3'
fix(esp_wifi): Skip allocation of new buffers during EAP processing (v5.3)

See merge request espressif/esp-idf!47875
2026-04-24 18:52:37 +05:30
Kapil Gupta 503b9c080a fix(esp_wifi): fail if ptk derivation fails 2026-04-23 12:01:11 +05:30
Kapil Gupta 5f030ae104 fix(esp_wifi): Skip allocation of new buffers during EAP processing 2026-04-23 09:48:05 +05:30
Kapil Gupta 80ca100f1e fix(esp_wifi): Change some defaults in roaming app 2026-04-07 10:23:54 +08:00
Kapil Gupta 4d11ccccf6 fix(esp_wifi): Check conditional compilation for roaming app features 2026-04-07 10:23:54 +08:00
Kapil Gupta 7244440a5a fix(esp_wifi): Cancel roaming_app_periodic_scan_internal_handler correctly 2026-04-07 10:23:54 +08:00
Kapil Gupta 1b63385961 fix(esp_wifi): Add some fixes in roaming app 2026-04-07 10:23:54 +08:00
Kapil Gupta 900fc56c94 fix(esp_wifi): Address some review comments and issues 2026-04-07 10:23:54 +08:00
Kapil Gupta bf055692a1 feat(roaming): ignore WPA2-only APs on transition disable
This commit introduces a new feature to the roaming logic. If the
currently connected AP has the 'transition disable' bit set in its
RSN IE, the roaming logic will now ignore any scanned APs that only
support WPA2-PSK. This prevents a security downgrade when roaming in a
mixed WPA2/WPA3 environment.

A new Kconfig option, CONFIG_ESP_WIFI_IGNORE_WPA2_ONLY_ON_TRANSITION_DISABLE,
has been added to control this feature. It is disabled by default.
2026-04-07 10:23:54 +08:00
Kapil Gupta e7d65ec349 fix(roaming_app): resolve issues in blacklisting logic
This commit addresses several issues in the BSSID blacklisting
feature of the roaming application:

- Merged duplicate  functions into a single,
  unified function, resolving a compilation error.
- Corrected  and
  to properly access the  member of the
  struct, fixing invalid memory access.
- Introduced  in Kconfig to enable
  the manual blacklisting feature and made auto-blacklisting
  dependent on it.
- Updated  to use the
  correct BSSID from .
- Optimized the removal of expired blacklist entries by using
   for better efficiency.
2026-04-07 10:23:54 +08:00
Kapil Gupta 522c28abeb fix(esp_wifi): Add blacklist logic in roaming app 2026-04-07 10:23:54 +08:00
Kapil Gupta d792e15589 fix(esp_wifi): Fix min scan time for btm scan 2026-03-10 11:06:15 +05:30
Kapil Gupta e77c2577d4 fix(esp_wifi): Add alt snonce verification in softAP 2026-03-04 12:02:54 +05:30
Kapil Gupta 883c4f0c26 docs: update vulnerabilities guide to mention CVE-2026-25532 2026-02-04 14:31:12 +05:30
Kapil Gupta 6f6766f917 Merge branch 'bugfix/invalid_memory_access_supplicant_v5.3' into 'release/v5.3'
fix(esp_wifi): Fix some invalid memory access (v5.3)

See merge request espressif/esp-idf!44276
2026-01-27 09:12:02 +05:30
Kapil Gupta e25dd27560 fix(esp_wifi): Fix invalid memory accesses in supplicant code 2026-01-26 15:24:13 +08:00
Kapil Gupta 916f742243 fix(esp_wifi): skip call to esp_fast_psk() when hardware SHA is not supported 2025-10-13 11:28:35 +05:30
Kapil Gupta 9e6d2b439d fix(mbedtls): Addressed comments on PR15679 2025-10-06 11:48:10 +05:30
Kapil Gupta 6304df70cf fix(esp_wifi): cleanup for crypto_ec struct 2025-10-06 11:47:28 +05:30
Kapil Gupta 8914f1d352 fix(esp_wifi): Add depenedency of 192 bit config on wifi enterprise
Closes https://github.com/espressif/esp-idf/issues/17567
2025-09-21 12:31:24 +05:30
Kapil Gupta 1699544639 fix (esp_wifi): Set default akm as eap for non AKM APs 2025-07-21 11:28:02 +05:30
Kapil Gupta d0bf6f54bd fix(wpa_supplicant): Delay sending of EAP_START for EAP auth 2025-07-21 11:27:26 +05:30
Kapil Gupta fc106b3dbd fix(esp_wifi): Address review comments 2025-07-18 23:50:46 +08:00
Kapil Gupta e47e4691b3 feat(esp_wifi): Add support to limit EAP methods
Added support to limit EAP method supported by device based on
user configuration.
2025-07-18 23:50:46 +08:00
Kapil Gupta 7d3734065a fix(esp_wifi): Set default ap mgmt cipher 2025-06-26 15:46:33 +05:30
Kapil Gupta 541628045a Merge branch 'fix/rrm_config_set_v5.3' into 'release/v5.3'
Set rrm config condition in case RRM monitoring is enabled

See merge request espressif/esp-idf!39432
2025-05-27 18:32:55 +05:30
Kapil Gupta 7a07743ecc ci(esp_wifi): Extend eloop test to verify wifi deinit properly 2025-05-27 13:45:32 +05:30
Kapil Gupta 56b6b03e57 fix(esp_wifi): Fixed some concurrency issues in eloop deinit 2025-05-27 13:45:27 +05:30
Kapil Gupta bc9d6c093f fix(esp_wifi): Add eloop blocking call API for public APIs 2025-05-27 13:45:20 +05:30
Kapil Gupta 7cfa2617af fix(esp_wifi): Fixed static analyzer issues 2025-05-27 13:39:46 +05:30
Kapil Gupta 4ab256a441 fix(esp_wifi): Disble IP renew skip by default 2025-05-27 13:39:46 +05:30
Kapil Gupta c2560ed96d fix(esp_wifi): Flush PMK when EAP config is changed 2025-04-30 15:34:16 +05:30
Kapil Gupta b3baf8c026 fix(esp_wifi): Code cleanup for PR#15550 PR#15551
Closes https://github.com/espressif/esp-idf/pull/15550
Closes https://github.com/espressif/esp-idf/pull/15551
2025-04-30 17:57:37 +08:00
Kapil Gupta b6cc3a4abc fix(esp_wifi): Increase WPS timeout 2025-04-30 15:25:10 +05:30
Kapil Gupta adfec6463d fix(esp_wifi): Use supplicant's internal SHA1 if not available from IDF 2025-04-29 11:21:34 +05:30
Kapil Gupta 502229f409 fix(esp_wifi): Add alternate SHA1 APIs in WiFi
Add alternate SHA1 APIs to handle cases when
`CONFIG_MBEDTLS_SHA1_C` is disabled.
2025-04-29 11:17:27 +05:30
Kapil Gupta d4151643ca fix(esp_wifi): Fix some compilation errors in roaming app 2025-04-07 18:58:08 +08:00
Kapil Gupta ef9da59ea9 fix(esp_wifi): Removed unnecessary handlers to cleanup 2025-04-07 18:58:08 +08:00
Kapil Gupta dc802d98d3 fix(esp_wifi): Roaming app, sync api naming 2025-04-07 18:58:08 +08:00
Kapil Gupta 2aa64cefae fix(esp_wifi): Some more cleanup for roaming app 2025-04-07 18:58:08 +08:00
Kapil Gupta 5deeaecdf4 fix(esp_wifi): moving around roaming app code a bit 2025-04-07 18:58:08 +08:00
Kapil Gupta 0b8775e1c7 fix(roaming_app): Add get set config params for the app 2025-04-07 18:58:08 +08:00
Kapil Gupta b353ab7427 fix(wifi): Provide a config option to skip IP renew during roam 2025-04-07 18:58:08 +08:00
Kapil Gupta a34e915a2a fix(esp_wifi): Set minimum scan time to 30ms in roaming app 2025-04-07 18:58:08 +08:00
Kapil Gupta 9e6700110a fix(wifi): Fix some issues observed in roaming app 2025-04-07 18:58:08 +08:00
Kapil Gupta e7480577f0 fix(ci): Update UT to verify fast psk calculations
Also update some comments
2025-04-07 18:56:56 +08:00
Kapil Gupta 2a2f77b5b5 fix(esp_wifi): Add some comments in github PR 15073
Closes https://github.com/espressif/esp-idf/pull/15073
2025-04-07 18:56:56 +08:00
Kapil Gupta 18d8bc4286 ci(wifi): Add builds for FT, RRM and WNM configs 2025-03-19 12:42:24 +05:30
Kapil Gupta 31bb54373d fix(wifi): Fixed compilation error when 11R is enabled without 11KV 2025-03-19 12:42:12 +05:30
Kapil Gupta 1c5d468279 fix(esp_wifi): Prevent flushing of FT data mistakenly 2025-03-05 12:39:23 +05:30
Kapil Gupta 91622962fc fix(esp_wifi): Correctly break 11kv config into wnm and rrm configs 2025-03-05 12:39:11 +05:30
Kapil Gupta 5a9b16d754 fix(esp_wifi): Address some review comments 2025-02-28 11:35:22 +08:00
Kapil Gupta 746abfa199 fix(esp_wifi): Fix stack curruption in btm task (v5.3) 2025-02-14 12:53:59 +05:30
Kapil Gupta 135a320b3c fix(esp_wifi): Fix stack corruption in wpa3 task 2025-02-13 14:23:35 +05:30
Kapil Gupta 70ad8d04ed fix(esp_wifi): fixed Stack corruption in DPP task 2025-02-13 14:23:35 +05:30
Kapil Gupta d6dec98447 fix(esp_wifi): fixed Stack corruption in WPS processing 2025-02-13 14:23:35 +05:30
Kapil Gupta 565b8914ae fix(esp_wifi): Fixed memory corruption in wifi enterprise
Closes https://github.com/espressif/esp-idf/issues/15370
2025-02-13 14:23:35 +05:30
Kapil Gupta 4442fe7787 fix(esp_wifi): Add review comments and some cleanup 2025-02-10 15:46:50 +05:30
Kapil Gupta 0b4bfb451f fix(esp_wifi): fix some analyzer issues
Closes https://github.com/espressif/esp-idf/issues/15097
Closes https://github.com/espressif/esp-idf/issues/15098
Closes https://github.com/espressif/esp-idf/issues/15099
2025-02-10 15:46:50 +05:30
Kapil Gupta 074235e261 fix(esp_wifi): Reduce scan frequency in WPS 2025-02-10 15:31:46 +05:30
Kapil Gupta b6a87e7e6d fix(esp_wifi): Enable EAP workarounds by default
Enabling this will make sure our behavior is same as upstream
wpa_supplicant.
2025-01-17 13:53:18 +08:00
Kapil Gupta 3a8cf533bc fix(wifi): Remove WPS IEs once WPS succeeds 2024-12-06 18:54:35 +08:00
Kapil Gupta baed5ea1e9 fix(esp_wifi): Stop roaming app when station stops 2024-10-25 23:39:05 +05:30
Kapil Gupta 9f27f51dbe fix(esp_wifi): Remove duplicate declaration of function 2024-10-25 23:32:14 +05:30
Kapil Gupta bff34554df fix(wifi): Add channel bit definition 2024-10-07 09:54:17 +05:30
Kapil Gupta 640f9750a4 fix(esp_wifi): Prevent memory overflow in WPS 2024-10-06 16:52:25 +05:30
Kapil Gupta f430a553de fix(esp_wifi): Mask some error conditions in WPS
Mask some error conditions in WPS to increase the probability of
WPS success.
2024-10-06 16:52:25 +05:30
Kapil Gupta 9f17d6fff8 fix(esp_wifi): Disable WPS timers once WPS succeed 2024-10-06 16:52:25 +05:30
Kapil Gupta 11c1627de9 fix(esp_wifi): Add support for 5ghz channel list for easy connect 2024-10-06 16:52:25 +05:30
Kapil Gupta 32d3b0b02c fix(esp_wifi): Allow connection with WPA mode in WPS 2024-10-06 16:52:25 +05:30
Kapil Gupta a7065d7020 fix(esp_wifi): Deinit WPS registrar during hostapd deinit 2024-10-06 16:52:25 +05:30
Kapil Gupta efc79c72ed fix(esp_wifi): Added prints in btm roam for error condition 2024-10-06 16:52:25 +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
Kapil Gupta 617130a485 Merge branch 'feat/scan_set_params_api' into 'master'
Adds a new API to set default scan parameters

Closes WIFI-6238, WIFI-6344, WIFIBUG-254, and IDFGH-12419

See merge request espressif/esp-idf!27761
2024-04-19 12:03:10 +08:00
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
Kapil Gupta d2978ab9d4 fix(ci): Skip spell check for WiFi component 2024-04-15 23:19:06 +05:30
Kapil Gupta 0ba7836bd2 fix(ci): Update coding rules for esp_wifi files 2024-04-15 23:18:33 +05:30
Kapil Gupta 00ab1ef500 feat(esp_wifi): Provide API to disable PMK caching 2024-04-02 10:21:26 +05:30
Kapil Gupta 464fd689a1 fix(esp_wifi): Send unicast probe requests if bssid is known during scan 2024-04-02 11:23:32 +08:00
Kapil Gupta 431a2a7d1c fix(esp_wifi): Address review comments 2024-04-01 23:00:01 +08:00
Kapil Gupta 59a62f2af6 fix(wpa_supplicant): (PEAP client) Update Phase 2 auth requirements
The previous PEAP client behavior allowed the server to skip Phase 2
authentication with the expectation that the server was authenticated
during Phase 1 through TLS server certificate validation. Various PEAP
specifications are not exactly clear on what the behavior on this front
is supposed to be and as such, this ended up being more flexible than
the TTLS/FAST/TEAP cases. However, this is not really ideal when
unfortunately common misconfiguration of PEAP is used in deployed
devices where the server trust root (ca_cert) is not configured or the
user has an easy option for allowing this validation step to be skipped.

Change the default PEAP client behavior to be to require Phase 2
authentication to be successfully completed for cases where TLS session
resumption is not used and the client certificate has not been
configured. Those two exceptions are the main cases where a deployed
authentication server might skip Phase 2 and as such, where a more
strict default behavior could result in undesired interoperability
issues. Requiring Phase 2 authentication will end up disabling TLS
session resumption automatically to avoid interoperability issues.

Allow Phase 2 authentication behavior to be configured with a new phase1
configuration parameter option:
'phase2_auth' option can be used to control Phase 2 (i.e., within TLS
tunnel) behavior for PEAP:
 * 0 = do not require Phase 2 authentication
 * 1 = require Phase 2 authentication when client certificate
   (private_key/client_cert) is no used and TLS session resumption was
   not used (default)
 * 2 = require Phase 2 authentication in all cases
2024-03-15 16:57:26 +08:00
Kapil Gupta 97e1afbe67 Merge branch 'bugfix/wps_scan_log_flood' into 'master'
Suppress RSN IE print to Verbose level

Closes WIFIBUG-437

See merge request espressif/esp-idf!29558
2024-03-13 22:51:45 +08:00
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
Kapil Gupta 2dc6783c55 Merge branch 'bugfix/esp32c2_eap_auth' into 'master'
fix(wifi): Added low heap usage Kconfig option for eap enterprise

Closes WIFIBUG-227 and WIFIBUG-296

See merge request espressif/esp-idf!26930
2024-02-01 12:33:46 +08:00
Kapil Gupta d033c3ebff fix(wifi): add low memory options for eap enterprise 2024-01-30 22:54:22 +08:00
Kapil Gupta 685fcf4278 Merge branch 'feature/supplicant_bss_extmem' into 'master'
WiFi: Add support to move supplicant BSS to external memory

See merge request espressif/esp-idf!27891
2024-01-11 15:55:14 +08:00
Kapil Gupta 5f8a276386 Merge branch 'bugfix/additional_autmode_incompatible_docs' into 'master'
Add docs for additional authmode incompatible situation

See merge request espressif/esp-idf!28179
2024-01-04 17:07:35 +08:00