Commit Graph

79 Commits

Author SHA1 Message Date
Kapil Gupta
cf0166d196 fix(esp_wifi): Use supplicant's internal SHA1 if not available from IDF 2025-04-21 13:38:29 +05:30
harshal.patil
a42be5b1dd fix(wpa_supplicant): Disable fastpbkdf2 when s/w and h/w SHA1 is disabled 2025-04-21 13:38:29 +05:30
Sajia
07540f3253 refactor(wifi): Add SAE PT config flag and optimize wifi bin size for sta mode 2025-04-03 10:00:28 +05:30
Kapil Gupta
1a5b2a267b fix(esp_wifi): Add alternate SHA1 APIs in WiFi
Add alternate SHA1 APIs to handle cases when
`CONFIG_MBEDTLS_SHA1_C` is disabled.
2025-03-19 15:11:10 +05:30
Kapil Gupta
3c7ca8f2c9 Merge branch 'bugfix/11kv_config_break' into 'master'
fix(esp_wifi): Correctly break 11kv config into wnm and rrm configs

Closes WIFIBUG-1065

See merge request espressif/esp-idf!37451
2025-03-05 18:28:26 +08:00
Kapil Gupta
c058048085 fix(esp_wifi): Correctly break 11kv config into wnm and rrm configs 2025-03-05 12:24:11 +05:30
Chien Wong
03311c6867 feat(wpa_supplicant): Add optimized PSK impl
Signed-off-by: Chien Wong <m@xv97.com>
2025-03-03 14:04:44 +05:30
Aditi
2ecc3c3bc7 fix(wpa_supplicant): Remove the btm_rrm task from supplicant
This commit removes btm_rrm_t task and CONFIG_SUPPLICANT_TASK from
wpa_supplicant and make the functions work in wifi task's context.
2025-01-03 16:46:25 +05:30
Aditi
a1631199dc fix(wpa_supplicant): Add two separate flags for RRM and WNM
Added two separate flags CONFIG_RRM(80211k) and CONFIG_WNM(80211v)
    flags under IEEE80211KV support flag.
2025-01-03 16:44:49 +05:30
yinqingzhao
f40c2cbc72 feat(wifi): avoid compiling components related to wifi when wifi is not supported 2024-11-19 11:02:09 +08:00
aditi_lonkar
cab4dc15f4 feat(esp_wifi): Restructure dpp crypto Layer APIs
1) Update dpp implementation as per upstram hostapd tag hostap_2_10.
2) Move dpp crypto routines into a separate source code file.
2024-09-29 19:13:20 +08:00
Alexey Lapshin
ed6e497c6f feat(build): add COMPILER_STATIC_ANALYZER option 2024-06-18 14:25:37 +08:00
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
xiehang
f3c5047638 feat(extconn): Supports external WiFi connections for ESP32p4 and other espressf chips 2024-04-01 11:44:52 +08:00
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
David Cermak
344cb342b8 fix(esp_wifi): Support for esp_wifi_remote 2024-02-01 12:17:43 +01:00
Kapil Gupta
36c38943c8 fix(wifi): Add support to move supplicant BSS to external memory 2023-12-13 16:07:13 +00:00
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
Shreyas Sheth
ee9ce51133 feat(wifi): Add SAE EXT key support for esp station 2023-10-18 17:10:31 +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
Kapil Gupta
9deb5ffccf change(esp_wifi): Rename WiFi enterprise connection APIs 2023-09-14 13:10:52 +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
Shreyas Sheth
2b8e40e760 esp_wifi: WPA3-SAE support for softAP 2023-02-28 12:25:05 +08:00
Sarvesh Bodakhe
d2f6a3dacc esp-wifi: add SAE-PK (Public Key) authentication support for station 2023-02-16 13:49:11 +05:30
Kapil Gupta
30a2558450 esp_wifi: Merge wpa_supplicant and esp_wifi Kconfig 2023-02-11 07:38:45 +08:00
gauri patankar
c286b0192b wpa_supplicant: Move SAE modules into dragonfly files 2022-10-11 11:26:39 +05:30
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
Jiang Jiang Jian
371a935e76 Merge branch 'bugfix/wpa2_enterprise_issues' into 'master'
esp_wifi: WPA2 enterprise related changes

Closes WIFI-4579

See merge request espressif/esp-idf!19162
2022-07-22 13:56:41 +08: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
David Cermak
5c383d7b73 esp_netif/lwip: Fix deps cycles to "lwip -> esp_netif -> phy-drivers"
Fix dependency tree so that lwip doesn't depend on any specific network
interface component.
Network interface drivers shall depend on esp_netif.
esp_netif shall depend on lwip (but not on any specific interface
driver) -- it optionally depends on vfs and esp_eth (need ethernet
header for L2/bridge mode)
2022-07-20 14:59:07 +02:00
Shyamal Khachane
6d55761f60 OWE support for station 2022-06-15 17:20:24 +05:30
Laukik Hase
28ac0b12fb mbedtls: Remove deprecated options from mbedtls/esp_config.h
- Removed options related to RC4 ciphersuite, SSL3 and TLS1
  (as per mbedtls v3.1.0)
2022-05-28 10:21:06 +05:30
Kapil Gupta
a6811adac7 wpa_supplicant: Add WPS registrar support for softAP mode 2022-05-24 12:11:53 +05:30
Kapil Gupta
c2429f1cf9 wpa_supplicant: sync eap code with upstream 2022-05-13 12:57:47 +08:00
Kapil Gupta
36321fda82 Merge branch 'feature/eloop_timer' into 'master'
wpa_supplicant: Add timer based eloop implementation

See merge request espressif/esp-idf!17430
2022-05-12 12:30:44 +08:00
Kapil Gupta
ecc87cfc8d wpa_supplicant: wps code updation
Update WPS code with upstream. Also moved ESP specific code
in another esp code folder.
2022-05-11 12:18:52 +00:00
Kapil Gupta
d06daee350 wpa_supplicant: Add timer based eloop implementation 2022-05-11 17:45:23 +05:30
kapil.gupta
3d5ca7ee6e wpa_supplicant: Add support for FT psk 2022-05-01 16:16:51 +05:30
Kapil Gupta
f57ccaabee esp_example: Enable MbedTLS for DPP enrollee by default 2022-01-28 13:53:39 +08:00
Hrudaynath Dhabe
5f96a6ffd2 esp_wifi: Add support for EAP-FAST authentication method 2021-11-22 17:33:36 +05:30
Zhang Jun Hao
a568b4fddf esp_wifi: support station only mode for code size down 2021-10-27 11:48:22 +08:00
Kapil Gupta
797c7144bd esp_wifi: Add support for GCMP and GMAC ciphers 2021-10-12 20:48:51 +08:00
Kapil Gupta
834afad47e esp_wifi: Add support for MBO certification 2021-10-04 15:56:14 +08:00
Kapil Gupta
393a9d5a94 wpa_supplicant: Update internal tls client with sha384/sha512 support
Add support for validating certificates with SHA384 and SHA512 hashes.
2021-09-13 14:11:55 +05:30
Kapil Gupta
e667d1af2e wpa_supplicant: bypass sonar checks for upstream code 2021-07-22 14:12:22 +08:00
Kapil Gupta
d3d977617b wpa_supplicant: Add WPS strict in config option
WPS strict disables workarounds with different APs and may cause
IOT issues. Remove this as default and introduce as a config option.

Also declare esp device as single band mobile device otherwise
WFA sniffer was not able to identify it in the certification setup.
2021-06-24 16:15:15 +08:00
David Cermak
02ac1baee4 wpa_supplicant: Temporarily disable write-string warning
Since some assignment of a string literal to `char *` variables were
added and not caught by the CI.
2021-06-10 22:22:48 +08:00
kapil.gupta
ad7cb5f5c1 wpa_supplicant: Write Crypto API based on mbedtls
This commit add following crypto changes

1. Update current crypto code with upstream supplicant code
2. Add a proper porting layer to use mbedtls APIs for all the crypto
   operations used by supplicant.

Internal crypto will be used when USE_MBEDLTS flag is disabled
in supplicant's menuconfig.

This commit also removes the clutter in crypto files due to partial
porting of some APIs to mbedtls, all the code from those files have
been removed and rewritten in a generic way, this is inspired from
current upstream code.

This also reduces the lib size significantly, supplicant's lib
size reduces around ~567kb after this change(NB: lib size doesn't
indicate reduction in final bin size).
2021-05-04 10:54:57 +00:00
Nachiket Kukade
87205dc2f4 Add DPP Enrollee Support
1. Modify DPP Protocol modules for our purpose
2. Add DPP supplicant task and modules to handle DPP frames
3. Add DPP Public API's and definitions for DPP
2021-01-25 13:24:21 +05:30
zhangyanjiao
c0f4fdfd4d wpa_supplicant: Use WPA3 flag to reduce code size
Flag ESP32_WIFI_ENABLE_WPA3_SAE from Menuconfig is used to
control the stack size required by WPA3. Use the same flag
to compile out the WPA3 code and control the code size.
With this flag disabled code footprint reduces by about 7.7kB
in libwpa_supplicant.a
Update WiFi libs with added checks to cleanly handle disabling
of WPA3 callbacks.

Closes https://github.com/espressif/esp-idf/issues/5971
2020-11-23 14:28:12 +08:00