Commit Graph

585 Commits

Author SHA1 Message Date
David Cermak
344cb342b8 fix(esp_wifi): Support for esp_wifi_remote 2024-02-01 12:17:43 +01:00
David Cermak
9088655030 fix(esp_wifi): Separate public and native wifi interface types 2024-02-01 12:17:37 +01: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
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
laokaiyao
11e19f40b9 feat(esp32c5): support to build hello world on esp32c5 beta3 2024-01-09 13:11:11 +08:00
Kapil Gupta
36c38943c8 fix(wifi): Add support to move supplicant BSS to external memory 2023-12-13 16:07:13 +00:00
igor.udot
6e258a879d fix: add count for wpa test 2023-12-06 15:58:05 +08:00
igor.udot
e0a40feb5c refactor: changed logic of unity_tester, replaced threads by generators 2023-12-06 15:58:05 +08:00
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
Jiang Jiang Jian
e6a490c2ae Merge branch 'bugfix/dpp_listen_bugs' into 'master'
fix(wpa_supplicant): Fix few bugs in dpp

See merge request espressif/esp-idf!26792
2023-12-01 11:07:18 +08:00
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
Ivan Grokhotkov
88fa79fcc7
feat(unity): upgrade to 2.6.0-RC1 2023-11-28 20:22:02 +01:00
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
muhaidong
147463a0ac fix(wifi): allow some special igtk keyindx to workaround faulty APs 2023-11-16 20:20:08 +08:00
Jiang Jiang Jian
b7c2e63bb4 Merge branch 'bugfix/supplicant_disconnect_process' into 'master'
esp_wifi:  Fix bug in esp_wifi_deauthenticate_internal() & wpa_supplicant: Add parameter to configure reason code of deauth frame

Closes WIFIBUG-13

See merge request espressif/esp-idf!23776
2023-11-15 23:52:32 +08:00
Sarvesh Bodakhe
b42e14c9b7 fix(wifi): fix bug in 'esp_wifi_deauthenticate_internal' and other improvements 2023-11-15 08:27:50 +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
Sarvesh Bodakhe
2d83e3e7f4 fix(wpa_supplicant): Add some bugfixes in wpa_supplicant
1) Add parameter to configure reason code of deauth frame
2) Add logs to indicate MIC failure 4-Way-Handshake
3) Process RSNXE capabilities only if AP advertises them
2023-11-15 08:06:37 +05:30
Sudeep Mohanty
d507a86285 feat(freertos): Exposed Kconfig option for configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES
This commit exposes the FreeRTOS List integrity check option
configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES via menuconfig.
2023-11-09 14:54:13 +01: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
f89a879e80 Merge branch 'bugfix/fix_compilation_issue' into 'master'
fix(wpa_supplicant): Fix compilation issue in EAP disabled

Closes IDFGH-11304

See merge request espressif/esp-idf!26659
2023-10-31 14:29:15 +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
Kapil Gupta
53939de34e fix(wpa_supplicant): Fix compilation issue in EAP disabled 2023-10-25 09:55:12 +05:30
Jiang Jiang Jian
6db16c6e81 Merge branch 'feature/sta_sae_ext_key' into 'master'
feat(wifi): Add support for sae ext key for station

Closes WIFI-6170

See merge request espressif/esp-idf!24833
2023-10-19 18:49:15 +08:00
Zim Kalinowski
fa1a3ce0b5 Merge branch 'refactor/components_linux_compatible' into 'master'
Exclude all currently incompatible components from Linux build

Closes IDF-8318 and IDF-5996

See merge request espressif/esp-idf!25598
2023-10-18 20:17:49 +08:00
Shreyas Sheth
ee9ce51133 feat(wifi): Add SAE EXT key support for esp station 2023-10-18 17:10:31 +05:30
Jouni Malinen
98cc860e86 feat(wifi): Pull in wpa_supplicant upstream code for SAE EXT key
SAE: Derive a variable length PMK with the new AKM suites

Select the PMK length based on the used group (prime length) when using
the new AKM suites for SAE.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-10-18 16:50:24 +05:30
Jouni Malinen
3ec105067c feat(wifi): Pull in wpa_supplicant upstream code for SAE EXT key
SAE: Indicate AKM suite selector in commit for new AKM suites

SAE authentication needs to known which AKM suite is being used to be
able to determine the correct PMK length for the new AKM suite selectors
that use variable length keys.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-10-18 16:50:24 +05:30
Jouni Malinen
5719f7908d feat(wifi): Pull in wpa_supplicant upstream code for SAE EXT key
SAE: EAPOL-Key and key/MIC length information for the new AKM suites

Update the AKM suite specific mapping of various EAPOL-Key key lengths
and algorithms to include the new SAE AKM suites with variable length
keys.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-10-18 16:50:24 +05:30
Jouni Malinen
21ac680eac feat(wifi): Pull in wpa_supplicant upstream code for SAE EXT key
SAE: Internal WPA_KEY_MGMT_* defines for extended key AKMs

Define new WPA_KEY_MGMT_* values for the new SAE AKM suite selectors
with variable length keys. This includes updates to various mapping and
checking of the SAE key_mgmt values.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-10-18 16:50:24 +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
Jouni Malinen
b95ace06b8 feat(wifi): Pull in wpa_supplicant upstream code for SAE EXT key
Define new RSN AKM suite selector values

Add the new AKM suite selectors defined in IEEE P802.11-REVme/D1.3.

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
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
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
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
Alexey Lapshin
a41e3d408f fix(wpa_supplicant): fix sys/types include 2023-10-09 12:13:02 +04:00
Ivan Grokhotkov
2b1e9af12f
change(wpa_supplicant): clean up test_sae, set leak thresholds
- fix relative includes
- remove ESP32-H2-related TODO — an ifdef is not needed now since the
  whole app is built only for SOC_WIFI_SUPPORTED=y
- set leak threshold in test case
2023-10-04 17:46:45 +02:00
Ivan Grokhotkov
1745baffae
change(wpa_supplicant): reformat test_sae with astyle 2023-10-04 17:46:45 +02:00
Ivan Grokhotkov
c07ee2d56b
change(wpa_supplicant): test_offchannel: cleanups and leak thresholds
- sort includes
- fix relative includes
- replace TEMPORARY_DISABLED_FOR_TARGETS with just IDF_TARGET_ESP32,
  to avoid having to change this file when bringing up new chips
- astyle formatting
- set leak threshold in test cases
- use the new 'wifi_two_dut' environment marker instead of UT_T2_1
2023-10-04 17:46:45 +02:00
Ivan Grokhotkov
098d28276e
change(wpa_supplicant): set leak threshold in test_fast_pbkdf2 2023-10-04 17:46:45 +02:00
Ivan Grokhotkov
6c27208ade
change(wpa_supplicant): reformat test_fast_pbkdf2 with astyle 2023-10-04 17:46:45 +02:00
Ivan Grokhotkov
191a9021c2
change(wpa_supplicant): clean up test_eloop, set leak threshold
- sort includes, fix relative includes
- make all globals static
- remove ifdef SOC_WIFI_SUPPORTED since the whole test app is only
  built when SOC_WIFI_SUPPORTED is set
2023-10-04 17:46:45 +02:00
Ivan Grokhotkov
6eec370532
change(wpa_supplicant): reformat test_eloop with astyle 2023-10-04 17:46:45 +02:00
Ivan Grokhotkov
955e2076b6
change(wpa_supplicant): clean up test_dpp, set leak threshold 2023-10-04 17:46:44 +02:00
Ivan Grokhotkov
b9952370b4
change(wpa_supplicant): reformat test_dpp with astyle 2023-10-04 17:46:44 +02:00
Ivan Grokhotkov
6e22dc2fe2
ci(wpa_supplicant): set leak thresholds in test_crypto 2023-10-04 17:46:44 +02:00
Ivan Grokhotkov
ff87a0061c
feat(wpa_supplicant): migrate the tests from unit-test-app 2023-10-04 13:09:19 +02: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
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
aditi_lonkar
c241c9fbd6 wpa_supplicant: Fix for issue of wps-pbc overlap in wps-pin method 2023-09-07 14:12:13 +05:30
Jiang Jiang Jian
550f5b7593 Merge branch 'bugfix/reduce_bss_logging' into 'master'
WiFi: Reduce BSS logging in wpa_supplicant

Closes WIFIBUG-57 and WIFIBUG-17

See merge request espressif/esp-idf!25247
2023-08-28 13:44:38 +08:00
aditi_lonkar
c88e7106ec esp_wifi: Make enterprise support configurable to save binary size. 2023-08-25 11:00:54 +05:30
Nachiket Kukade
2b24798e33 fix(supplicant): Fix abstraction violation in wpa_supplicant 2023-08-23 10:03:05 +05:30
Kapil Gupta
42ac4614e6 change(wifi): Reduce BSS logging in wpa_supplicant 2023-08-22 14:31:02 +00:00
Jiang Jiang Jian
514d9a8594 Merge branch 'docs/update_wifi_and_wpa_supplicant_documentation' into 'master'
Docs: Update wifi and wpa_supplicant documentation

See merge request espressif/esp-idf!24029
2023-08-22 19:29:37 +08:00
Nachiket Kukade
d3284d7189 fix(supplicant): Ignore EAPOL non-key frames in EAPOL txdone callback 2023-08-21 18:01:16 +05:30
Shreyas Sheth
043b8b55a1 docs(wifi): Update wifi and wifi security documentation
1. Update documentation for WPA3 Enterprise and WPA3 Enterprise 192-bit
mode
2. Update documentation for WPA3 OWE and OWE transition mode
3. Update documentation related to SAE PK, SAE PWE and Transition Disable
4. Update documnetation for wifi connect API
5. Fix config paramter information for wifi scan start
6. Fix documentation related to scan threshold config setting
7. Replace ESP_ERR_WIFI_ARG error code as ESP_ERR_INVALID_ARG
8. Update documentation for 802.11R Fast transition
2023-08-21 12:29:11 +00:00
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
Armando
706d684418 feat(esp32p4): introduced new target esp32p4, supported hello_world 2023-08-09 19:33:25 +08:00
Kapil Gupta
fb908dfe98 change(esp_wifi): Update copyright info for wpa_supplicant 2023-08-02 18:51:37 +05:30
Jiang Jiang Jian
e6e0b0dc40 Merge branch 'bugfix/neighbour_report_crash' into 'master'
Fix crash in RRM neighbour report requests.

Closes WIFI-5838

See merge request espressif/esp-idf!24993
2023-08-01 15:24:56 +08:00
Jiang Jiang Jian
07dd194fdb Merge branch 'bugfix/minor_enterprise_fixes' into 'master'
Minor enterprise fixes

See merge request espressif/esp-idf!24987
2023-08-01 15:16:23 +08:00
Shyamal Khachane
d64a3d7755 fix(esp_wifi): Drop Eapol msg if EAP success is not processed 2023-07-28 15:00:03 +05:30
Jiang Jiang Jian
8ef5a0f723 Merge branch 'bugfix/ccmp_decrypt_log' into 'master'
esp_wifi: Move ccmp mgmt enc/decrypt logs to verbose

See merge request espressif/esp-idf!24331
2023-07-26 10:37:06 +08:00
jgujarathi
c610594abb fix(rrm) : Fix crash in RRM neighbour report requests.
Fix crash in sending new RRM neighbour report requests by removing
the call to neighbour report request timeout callback in case of
already ongoing neighbour report request timer.
2023-07-25 16:38:59 +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
Jiang Jiang Jian
12306efc19 Merge branch 'bugfix/btm_scan_done_crash' into 'master'
wpa_supplicant : Fix race condition in BTM scan

Closes WIFI-5838

See merge request espressif/esp-idf!23775
2023-07-04 16:03:08 +08:00
Jiang Jiang Jian
f5ccae4d93 Merge branch 'bugfix/concurrency_while_eloop_register' into 'master'
esp_wifi: Bugfix concurrency observed while doing eloop register

Closes WIFI-5955

See merge request espressif/esp-idf!24046
2023-07-03 13:41:36 +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