Commit Graph

499 Commits

Author SHA1 Message Date
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