Commit Graph
100 Commits
Author SHA1 Message Date
Kapil Gupta 33aec06e76 fix(esp_wifi): Enable EAP workarounds by default
Enabling this will make sure our behavior is same as upstream
wpa_supplicant.
2025-01-03 17:43:29 +05:30
Kapil Gupta 1c5a84c369 fix(wifi): Remove WPS IEs once WPS succeeds 2024-12-04 11:47:37 +08:00
Kapil Gupta 6699f1a51c fix(esp_wifi): Prevent memory overflow in WPS 2024-10-07 11:12:35 +05:30
Kapil Gupta 11ffeab864 fix(esp_wifi): Mask some error conditions in WPS
Mask some error conditions in WPS to increase the probability of
WPS success.
2024-10-07 11:12:35 +05:30
Kapil Gupta 071585dd4d fix(esp_wifi): Disable WPS timers once WPS succeed 2024-10-07 11:12:35 +05:30
Kapil Gupta 8fbd04f839 fix(esp_wifi): Allow connection with WPA mode in WPS 2024-10-07 11:12:05 +05:30
Kapil Gupta a4b226b7c1 fix(esp_wifi): Deinit WPS registrar during hostapd deinit 2024-10-07 10:24:21 +05:30
Kapil Gupta 5beab45cfe fix(esp_wifi): Added prints in btm roam for error condition 2024-10-07 10:23:40 +05:30
Kapil Gupta a350973f03 Merge branch 'bugfix/dpp_auth_failure_v5.2' into 'release/v5.2'
fix(wpa_supplicant):Deinit old dpp authentication data after receiving config.(v5.2)

See merge request espressif/esp-idf!32434
2024-08-04 13:44:52 +08:00
Kapil Gupta 42680d30ae fix(esp_wifi): backport some dpp fixes 2024-07-19 13:29:48 +08:00
Kapil Gupta 5ce43f68f3 fix(esp_wifi): Correct action frame type in send_mgmt_frame API 2024-04-24 01:52:35 +05:30
Kapil Gupta 280ec09b03 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-24 01:48:06 +05:30
Kapil Gupta f9feb970b9 feat(esp_wifi): Provide API to disable PMK caching 2024-04-17 09:40:22 +05:30
Kapil Gupta b761052e6b 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 13:21:59 +05:30
Kapil Gupta 3d8fd79a10 fix(wifi): add low memory options for eap enterprise 2024-02-19 14:33:55 +08:00
Kapil Gupta d900eed440 fix(wifi): Add support to move supplicant BSS to external memory 2024-01-27 10:40:54 +05:30
Kapil Gupta ffd46a32f7 docs(wifi): Add documentation for ESP defined disconnect reasoncodes 2024-01-15 11:24:15 +05:30
Kapil Gupta 476f83c602 fix(wifi): Disallow DPP and WPS concurrency 2023-11-16 12:34:23 +05:30
Kapil Gupta ab93a6bd5b fix(wpa_supplicant): memzero wifi config before sending config event 2023-11-16 12:34:10 +05:30
Kapil Gupta e3c2ee1ba9 fix(wpa_supplicant): implement sha1_finish for fastpbkdf2 2023-11-03 06:04:50 +00:00
Kapil Gupta 89dcaf4ae5 fix(esp_wifi): Drop fragmented AMPDU(fixCVE-2020-26142) 2023-11-03 10:17:41 +08:00
Kapil Gupta 7a701fbc85 fix(esp_wifi): Fix key install issue in PTK renew 2023-11-03 10:16:48 +08:00
Kapil Gupta 94c38470ac fix(wpa_supplicant): Fix compilation issue in EAP disabled 2023-11-02 16:17:18 +05:30
Kapil Gupta ba274216b9 fix(wpa_supplicant): Correct iv lenght passed in mbedtls_cipher_set_iv() 2023-11-01 18:02:18 +05:30
Kapil Gupta 23a9880544 Merge branch 'bugfix/wps_condition_chain' into 'master'
fix(wifi): Fix static analyzer warning for WPS code

See merge request espressif/esp-idf!26492
2023-10-18 14:22:04 +08:00
Kapil Gupta 4dedd3e69d fix(wifi): Fix static analyzer warning for WPS code 2023-10-17 10:03:39 +05:30
Kapil Gupta b73e46223b Merge branch 'bugfix/dpp_api_mode_check' into 'master'
Ensure dpp follows init->bootstrap->listen path

Closes WIFIBUG-165 and WIFIBUG-157

See merge request espressif/esp-idf!26302
2023-10-11 16:24:02 +08:00
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 3fa88a3536 change(wifi): Add dependency of group 19 for MbedTLS crypto 2023-09-14 18:02:22 +05:30
Kapil Gupta 8037cf5517 change(wifi): Add supplicant's public API header files to doc 2023-09-14 13:11:00 +05:30
Kapil Gupta 944ae2e36c change(example): Update eap-fast example 2023-09-14 13:11:00 +05:30
Kapil Gupta 5d80a476f1 change(example): Update wifi enterprise example 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
Kapil Gupta eafc34b930 ci(esp_wifi): increase UT runner count 2023-09-11 19:37:58 +05:30
Kapil Gupta e6c5bd111d ci(esp_wifi): unit test for fast PBKDF2 validation 2023-09-11 19:33:54 +05:30
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
Kapil Gupta 42ac4614e6 change(wifi): Reduce BSS logging in wpa_supplicant 2023-08-22 14:31:02 +00:00
Kapil Gupta d0fb902789 Merge branch 'bugfix/update_supplicant_copyrights' into 'master'
change(esp_wifi): Update copyright info for wpa_supplicant

See merge request espressif/esp-idf!24919
2023-08-03 13:17:31 +08:00
Kapil Gupta fb908dfe98 change(esp_wifi): Update copyright info for wpa_supplicant 2023-08-02 18:51:37 +05:30
Kapil Gupta 2b18dd4899 fix(wifi): Prevent PMF config overwritten by tx_cb 2023-08-02 11:33:33 +00:00
Kapil Gupta 01a9b46ea9 Fix(esp_wifi): Fix race conditions in btm task deletion 2023-07-11 14:22:10 +05:30
Kapil Gupta 7dc8de15aa esp_wifi: Optimize sae crypto operations for esp32 2023-06-26 14:25:33 +05:30
Kapil Gupta 09916413a4 esp_wifi: Move ccmp mgmt enc/decrypt logs to verbose 2023-06-20 17:24:40 +05:30
Kapil Gupta f6b9c4846b Merge branch 'bugfix/wps_deauth_sent_before_eap_failure' into 'master'
esp_wifi: Send deauth before Eap-Failure in WPS registrar

Closes WIFI-5999

See merge request espressif/esp-idf!24164
2023-06-20 18:26:54 +08:00
Kapil Gupta 32479c960b esp_wifi: Remove direct call of malloc() and free() 2023-06-14 11:50:58 +05:30
Kapil Gupta 026f9b31fa esp_wifi: Fix WPS issue for WPA3+WPA2 mode 2023-06-05 10:50:53 +05:30
Kapil Gupta f73bd61ebe Merge branch 'bugfix/dpp_retry_start_listening_issue' into 'master'
esp_dpp: Fix retry with esp_supp_dpp_start_listen after failure

See merge request espressif/esp-idf!23369
2023-04-26 01:07:03 +08:00
Kapil Gupta a189bdbc7d Merge branch 'bugfix/init_wpsreg_in_APSTA_mode' into 'master'
esp_wifi:Enable wpsreg to initialize in APSTA mode

Closes WIFI-5436

See merge request espressif/esp-idf!23034
2023-04-21 17:15:00 +08: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
Kapil Gupta 80be82eca2 Merge branch 'bugfix/wifi_enterprise_example_typo' into 'master'
esp_wifi: fix typo in wifi_enterprise example README

Closes IDFGH-8595

See merge request espressif/esp-idf!22462
2023-03-08 12:13:06 +08:00
Kapil Gupta 1c35430012 esp_wifi: Add nvs for new config params after esp32c2 2023-02-14 19:42:37 +05:30
Kapil Gupta 30a2558450 esp_wifi: Merge wpa_supplicant and esp_wifi Kconfig 2023-02-11 07:38:45 +08:00
Kapil Gupta a75a36f8c2 Merge branch 'bugfix/fix_ftm_procedure_with_peer_failed_status_4_issue' into 'master'
esp_wifi: fix ftm procedure with peer failed status 4 issue

Closes WIFI-4600

See merge request espressif/esp-idf!22267
2023-02-09 16:00:47 +08:00
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
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
Kapil Gupta 7a8a85877d Removed sha384 hash for certs > 2k 2022-12-29 15:16:58 +05:30
Kapil Gupta 142f339642 wpa_supplicant: Update WPS API documentation 2022-12-27 13:04:20 +05:30
Kapil Gupta 7f3b18d454 esp_exmaples: Update ESP32C2 chip in Readme 2022-12-02 15:12:25 +05:30
Kapil Gupta 924c709efe WiFi: Add WPS softAP registrar example and events 2022-12-02 15:12:25 +05:30
Kapil Gupta 4967e90571 esp_wifi: Add changes to skip SAE handshake during WPS connection 2022-12-01 15:37:43 +05:30
Kapil Gupta 9e0e7bf5ba esp_wifi: STA set extra IEs for open AP
Fixed regression caused by !21292
2022-12-01 09:24:06 +05:30
Kapil Gupta 73bd4ea619 Merge branch 'bugfix/sta_set_extra_ies_for_open_AP' into 'master'
esp_wifi: STA set extra IEs for open AP

Closes WIFI-5012

See merge request espressif/esp-idf!21292
2022-11-30 22:28:03 +08:00
Kapil GuptaandNachiket Kukade ed2abeb07f esp_wifi: Update wifi libs
Add changes to prevent security overwritten in full scan

Co-authored-by: Nachiket Kukade <nachiket.kukade@espressif.com>
2022-11-24 10:42:57 +05:30
Kapil Gupta e8e7e3f946 esp_wifi: Flush PMK caching if bss akm has changed 2022-11-21 18:34:13 +05:30
Kapil Gupta 93dd1b2175 Merge branch 'bugfix/fixing_memory_leak_in_wps_scan_master' into 'master'
Adds improvements to esp_wps code to cover up potential memory leaks.

See merge request espressif/esp-idf!20741
2022-11-10 12:39:26 +08:00
Kapil Gupta 52b24918f0 esp_wifi: Add config option for AP retry count
Provide a config option for station to retry with the AP
if connection fails first time.
2022-11-01 09:09:00 +00:00
Kapil Gupta 7278cf3e16 Merge branch 'feature/move_eloop_to_pptask' into 'master'
wpa_supplicant: Run eloop timer in ppTask context

Closes WIFI-4981

See merge request espressif/esp-idf!20481
2022-10-31 12:48:43 +08:00
Kapil Gupta b52659dd87 Merge branch 'bugfix/eloop_timer_crash' into 'master'
wpa_supplicant: Validate eloop struct before deleting it

Closes WIFI-4968

See merge request espressif/esp-idf!20818
2022-10-28 12:18:16 +08:00
Kapil Gupta 79b6e32ea7 wpa_supplicant: Validate eloop struct before deleting it 2022-10-27 09:16:18 +05:30
Kapil Gupta 404aa30290 wpa_supplicant: Run eloop timer in ppTask context
Currently eloop runs in timer context which may cause some
inconsistent behavior.

Add changes to run eloop in ppTask context
2022-10-26 18:09:25 +05:30
Kapil Gupta 198a4335f2 Remove unnecessary code from disconnect handler 2022-10-04 21:38:59 +05:30
Kapil Gupta 7a7bdf05d5 Merge branch 'bugfix/eap_hash_key_len_validation' into 'master'
esp_wifi:adding hash key length validation

Closes WIFI-4882 and WIFI-4825

See merge request espressif/esp-idf!20438
2022-09-30 19:32:30 +08:00
Kapil Gupta cc6196ff6a esp_wifi: Remove unnecessary function pointer from wpa_sm_init 2022-09-29 12:46:53 +00:00
Kapil Gupta 6729f870b9 wpa_supplicant: Prevent pmk flush for unspecified reasoncode 2022-09-26 15:09:48 +05:30
Kapil Gupta 2bbd5ea69c Merge branch 'bugfix/wps_connect_to_open_ap' into 'master'
esp_wifi: bugfix wps connect to open AP

See merge request espressif/esp-idf!20247
2022-09-20 23:59:47 +08:00
Kapil Gupta 1cfd20c476 Merge branch 'bugfix/wps_connection_optimization' into 'master'
wpa_supplicant: Use channel from WPS scan for WPS connect

See merge request espressif/esp-idf!20184
2022-09-20 20:09:31 +08:00
Kapil Gupta 3c5c108fa8 wpa_supplicat: Use same channel as found in WPS scan for WPS connect 2022-09-16 10:58:03 +05:30
Kapil Gupta 06db6c2098 Merge branch 'bugfix/wps_ssid_len_validation' into 'master'
wpa_supplicant: Add WPS ssid length validation

See merge request espressif/esp-idf!19486
2022-08-29 13:55:17 +08:00
Kapil Gupta 964f0ad5ad wpa_supplicant: remove RC4 and 3DES ciphers for TLS
MbedTLS-3.x has dropped support for 3DES and RC4 TLS cipher
suites. Removing them from supplicant as well

Closes https://github.com/espressif/esp-idf/issues/9607
2022-08-23 13:02:05 +05:30
Kapil Gupta 4df06ed2f0 wpa_supplicant: Fix WPS connection issue after WPS done
esp_wifi_disconnect is needed to clear the wifi state and enable
station to connect to new SSID. Add changes to call it after
WPS is done.
2022-08-22 20:32:34 +05:30
Kapil Gupta 51f785fabe wpa_supplicant: Add WPS ssid length validation 2022-08-10 12:08:40 +05:30
Kapil Gupta e9c18ad02f esp_wifi: set default authmode as wpa2 2022-07-30 10:43:39 +05:30
Kapil Gupta ebd6a467b4 Merge branch 'bugfix/rsnxe_invalid_pointer_dereference' into 'master'
wpa_supplicant: fix invalid pointer free

Closes WIFI-4672, WIFI-4673, and WIFI-4674

See merge request espressif/esp-idf!19287
2022-07-29 14:25:58 +08:00
Kapil Gupta 465996fba5 wpa_supplicant: fix invalid pointer free 2022-07-28 12:47:31 +00:00
Kapil Gupta 951928960b esp_wifi: WPA2 enterprise related changes
1. Removed DHE ciphers when mbedTLS is disabled since they take
too much processing power.
2. Removed support of SHA384 and SHA512 when mbedTLS is disabled
due to too much processing needed.
3. Fixed bugs in crypto_hash_init API which was causing
EAP connections to fail when mbedTLS was enabled.
4. Cleaned some code of crypto_hash_***
2022-07-21 13:33:18 +05:30
Kapil Gupta b8267a59eb Merge branch 'bugfix/wps_disable_disconnect' into 'master'
WiFi: Do not disconnect in WPS disable API incase WPS is done/scanning

Closes IDFGH-7807

See merge request espressif/esp-idf!19092
2022-07-20 18:47:32 +08:00
Kapil Gupta 9d98cd8f8d WiFi: Do not disconnect in WPS disable incase WPS is done/scanning
Closes https://github.com/espressif/esp-idf/issues/9341
2022-07-18 14:57:01 +05:30
Kapil Gupta 882ad4e5e7 Merge branch 'feature/eloop_debug_framework' into 'master'
wpa_supplicant: Add debug info for eloop functions

See merge request espressif/esp-idf!18451
2022-07-18 14:17:25 +08:00
Kapil Gupta ff00a1c7a2 esp_wifi: Clear old keys before going for new connection 2022-07-12 16:37:55 +05:30
Kapil Gupta 674967d0a6 Merge branch 'bugfix/wps_scan_ssid_copy' into 'master'
Correct SSID copy length during WPS scan

Closes WIFI-4533

See merge request espressif/esp-idf!18571
2022-06-18 22:55:35 +08:00
Kapil Gupta 7fae6ce4f2 Correct SSID copy length during WPS scan 2022-06-18 13:26:48 +00:00
Kapil Gupta 6212a50edd wpa_supplicant: Add debug info for eloop functions 2022-06-16 10:36:34 +05:30
Kapil Gupta bb23d783c0 Merge branch 'bugfix/sta_rejoin_softap_mode_issue' into 'master'
wpa_supplicant: Add changes to deinit sta_info correctly

Closes WIFI-4441

See merge request espressif/esp-idf!18395
2022-06-07 21:47:14 +08:00
Kapil Gupta ed35b6d4fc Merge branch 'bugfix/supplicant_issues' into 'master'
fix some supplicant issues

Closes WIFI-4446 and WIFI-4445

See merge request espressif/esp-idf!18362
2022-06-07 15:49:38 +08:00
Kapil Gupta ed2bed49c0 wpa_supplicant: Add changes to deinit sta_info correctly
Incase sta pointer is not null during station join, deinit of
previous sm causing crash due to incorrect typecast.

Add changes to correct this.
2022-06-07 11:41:53 +05:30
Kapil Gupta 28a06d07f7 Corrected hash size for sta_info structure 2022-06-06 16:38:04 +05:30
Kapil Gupta e9128b3b5b wpa_supplicant: Removed ESP32 reference from generic APIs/Code 2022-06-06 11:03:36 +05:30