Commit Graph

220 Commits

Author SHA1 Message Date
Kapil Gupta
a1b842b1c6 wpa_supplicant: Add changes to fix broken dpp crypto 2022-03-14 18:26:35 +05:30
Anton Maklakov
e27f1331e4 components: correct printf() placeholder for time_t
Using C99 %jd, https://en.cppreference.com/w/c/chrono/time_t
2022-03-14 14:05:47 +07:00
Kapil Gupta
c098c253b1 wpa_supplicant: Add BTM security checks 2022-03-09 03:58:39 +00:00
0xFEEDC0DE64
9b7c345bce Fix compiler error in mbedtls
Closes https://github.com/espressif/esp-idf/pull/8500
Closes https://github.com/espressif/esp-idf/issues/8499
Closes IDFGH-6879
Closes IDFGH-6881
2022-03-07 12:15:08 +05:30
Aditya Patwardhan
72f12a0c8c Fix issue in wpa_supplicant 2022-03-03 01:37:10 +05:30
Laukik Hase
3925365351 ci: Fix pre-check stage failing tests
- Updated license headers
- Re-enabled public headers and static analysis checks
- Fix public header file check failure

Co-authored-by: Aditya Patwardhan <aditya.patwardhan@espressif.com>
2022-03-03 01:37:10 +05:30
Aditya Patwardhan
60b167f2d6 mbedtls-3.1 update: Removed the MBEDTLS_PRIVATE from multiple files
after they have been again made public in mbedtls-3.1

*Added `MBEDTLS_ALLOW_PRIVATE_ACCESS` in some files.
2022-03-03 01:37:10 +05:30
Kapil Gupta
6a164cc5bc Fix issues in wpa2 enterprise with mbedTLS 3.0 2022-03-03 01:37:10 +05:30
Aditya Patwardhan
3b71bd7326 mbedtls-3.0: Fixed ESP32 build issues
- Added MBEDLTS_PRIVATE(...) wherever necessary
- For functions like mbedtls_pk_parse_key(...), it is necessary to pass the RNG function
  pointers as parameter. Solved for dependent components: wpa_supplicant & openSSL
- For libcoap, the SSLv2 ClientHello handshake method has been deprecated, need to handle this.
  Currently, corresponding snippet has been commented.
- Examples tested: hello-world | https_request | wifi_prov_mgr

mbedtls-3.0: Fixed ESP32-C3 & ESP32-S3 build issues
- Removed MBEDTLS_DEPRECATED_REMOVED macro from sha1 port
- DS peripheral: esp_ds_rsa_sign -> removed unsused 'mode' argument
- Added MBEDTLS_PRIVATE(...) wherever required

mbedtls-3.0: Fixed ESP32-S2 build issues
- Fixed outdated function prototypes and usage in mbedlts/port/aes/esp_aes_gcm.c due to changes in GCM module

mbedtls-3.0: Fixed ESP32-H2 build issues

ci: Fixing build stage
- Added MBEDTLS_PRIVATE(...) wherever required
- Added RNG function parameter
- Updated GCM Module changes
- Updated Copyright notices

- Tests:
- build_esp_idf_tests_cmake_esp32
- build_esp_idf_tests_cmake_esp32s2
- build_esp_idf_tests_cmake_esp32c3
- build_esp_idf_tests_cmake_esp32s3

ci: Fixing build stage (mbedtls-related changes)
- Added MBEDTLS_PRIVATE(...) wherever required
- Updated SHAXXX functions
- Updated esp_config according to mbedtls changes

- Tests:
- build_examples_cmake_esp32
- build_examples_cmake_esp32s2
- build_examples_cmake_esp32c3
- build_examples_cmake_esp32s3

ci: Fixing build stage (example-related changes)
- Added MBEDTLS_PRIVATE(...) wherever required
- Updated SHAXXX functions
- Updated esp_config according to mbedtls changes

- Tests:
- build_examples_cmake_esp32
- build_examples_cmake_esp32s2
- build_examples_cmake_esp32c3
- build_examples_cmake_esp32s3

ci: Fixing target_test stage
- Updated test SSL version to TLS_v1_2

- Tests:
- example_test_protocols 1/2

ci: Fixing build stage
- Added checks for MBEDTLS_DHM_C (disabled by default)
- Updated esp_cryptoauthlib submodule
- Updated factory partition size for legacy BLE provisioning example

- Tests:
- build_examples_cmake_esp32
- build_examples_cmake_esp32s2
- build_examples_cmake_esp32c3
- build_examples_cmake_esp32s3

Co-authored-by: Laukik Hase <laukik.hase@espressif.com>
2022-03-03 01:37:10 +05:30
Aditya Patwardhan
45122533e0 mbedtls-3 update:
1) Fix build issue in mbedtls
2) skip the public headers check in IDF
3)Update Kconfig Macros
4)Remove deprecated config options
5) Update the sha API according to new nomenclature
6) Update mbedtls_rsa_init usage
7) Include mbedtls/build_info.h instead of mbedtls/config.h
8) Dont include check_config.h
9) Add additional error message in esp_blufi_api.h
2022-03-03 01:37:10 +05:30
Aditya Patwardhan
0483bfbbfe Initial Changes for updating mbedtls to v3.0 2022-03-03 01:37:09 +05:30
Kapil Gupta
20847eeb96 Merge branch 'bugfix/eap_client_crash' into 'master'
wpa_supplicant: Fix memory corruption

Closes WIFI-4299

See merge request espressif/esp-idf!16841
2022-02-11 09:54:27 +00:00
Jiang Jiang Jian
cca2234619 Merge branch 'feature/pmf_support_for_softAP' into 'master'
esp_wifi: Add pmf support for softAP.

Closes WIFI-1353

See merge request espressif/esp-idf!14906
2022-02-10 04:17:00 +00:00
aditi_lonkar
c3a661c0fd esp_wifi: Add pmf support for softAP. 2022-02-09 18:58:37 +05:30
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Kapil Gupta
9b38b15180 wpa_supplicant: Fix invalid memory dereference 2022-02-08 23:08:51 +08:00
Ivan Grokhotkov
d4190a9471 wpa_supplicant: mark global variables defined in headers 'extern'
...to avoid defining common symbols.
GCC since version 10 defaults to -fno-common and doesn't generate
common symbols, leading to duplicate definitions of these symbols.
2022-01-27 11:00:09 +07:00
Laukik Hase
76a29cd68d wpa_supplicant: Saved message-type digest used in handshake for PRF operations 2022-01-25 10:51:27 +05:30
Hrudaynath Dhabe
6d81821516 esp_wifi: Fix the negotiation of method with eap server. 2022-01-03 13:31:32 +05:30
Jiang Jiang Jian
2e06f1fee5 Merge branch 'bugfix/install_key_refactor' into 'master'
esp_wifi: refactor key install code

Closes WIFI-4014

See merge request espressif/esp-idf!14878
2021-12-24 06:56:41 +00:00
Jiang Jiang Jian
d7b83208c1 Merge branch 'bugfix/wpa3_memory_leak' into 'master'
esp_wifi: Fixes memory leak in wpa3.

Closes WIFI-4196

See merge request espressif/esp-idf!16520
2021-12-24 03:15:01 +00:00
Kapil Gupta
0336584f3e esp_wifi: Refactor key install code 2021-12-23 21:31:31 +08:00
aditi_lonkar
1eeac4943c esp_wifi: Fixes memory leak in wpa3 connection. 2021-12-23 12:26:58 +05:30
Kapil Gupta
14b949077d wpa_supplicant: Add WPS Fixes
Add following bugfixes

1. Station not able to connect when WPS pin is pressed first on AP.
2. PBC overlap getting detected for selected registrar PIN APs.
3. Station not considering authorised MACs for PIN method.
4. For PIN methodm If no AP is found, station will loop through
   APs in its vicinity and try to do WPS with them one by one till
   WPS timeout occurs. This is for some APs which do not set
   selected registrar correctly.
2021-12-20 17:34:30 +05:30
Hrudaynath Dhabe
9469f08a0b esp_wifi: Change the verbosity of wpa_supplicant logs.
Closes https://github.com/espressif/esp-idf/issues/8030
2021-12-14 14:23:31 +05:30
Kapil Gupta
d3542495ab ESP_WIFI: Remove static analysis warnings 2021-12-08 17:32:22 +05:30
Hrudaynath Dhabe
5f96a6ffd2 esp_wifi: Add support for EAP-FAST authentication method 2021-11-22 17:33:36 +05:30
Kapil Gupta
fa8f057ba8 wpa_supplicant: Fix compilation error when debug enabled
Closes https://github.com/espressif/esp-idf/issues/7789
2021-11-20 18:24:56 +05:30
Kapil Gupta
27e3422a23 wpa_supplicant: Optimize BTM request scan 2021-11-20 18:24:56 +05:30
Kapil Gupta
54940f58a4 esp_wifi: Add WPA3 192-bit certification support 2021-10-12 20:48:53 +08:00
Kapil Gupta
797c7144bd esp_wifi: Add support for GCMP and GMAC ciphers 2021-10-12 20:48:51 +08:00
Axel Lin
abb67d0033 wpa_supplicant: Fix wps_free_pins to remove all pins
Current code does not correctly free all pins in wps_free_pins due to the
semicolon at the end of dl_list_for_each_safe(). Fix it.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
2021-10-12 04:16:58 +08:00
Kapil Gupta
834afad47e esp_wifi: Add support for MBO certification 2021-10-04 15:56:14 +08:00
Zim Kalinowski
002cd296e1 Merge remote-tracking branch 'origin/master' into feature/github-7022 2021-10-03 12:25:39 +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
6647f48dda esp_wifi: Fix interoperability issue with windows 2008 2021-09-13 14:11:37 +05:30
Kapil Gupta
d3a42d787d wpa_supplicant: clean tls client state machine 2021-08-27 00:19:32 +08:00
Axel Lin
20d0891e1e wpa_supplicant: Trivial typo fix for setting spp_sup.require
No functional change since both SPP_AMSDU_CAP_ENABLE and SPP_AMSDU_REQ_ENABLE
are defined as 1.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Sagar Bijwe <sagar@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/7366
2021-08-11 13:07:31 +08:00
Ato Araki
aea865b360 Fix length typo
Closes https://github.com/espressif/esp-idf/pull/7037
2021-07-29 14:44:43 +08:00
Kapil Gupta
e667d1af2e wpa_supplicant: bypass sonar checks for upstream code 2021-07-22 14:12:22 +08:00
Kapil Gupta
16b64e8524 wpa_supplicant: Fix some issues in 11kv
Fix following issues:

1. RRM capability addition for open AP
2. Crash during scan flush
3. Station not able to connect if disassoc timer is present in BTM request
4. Memory leaks during wifi init/deinit.
2021-07-02 09:41:23 +05:30
Kapil Gupta
a7713676b8 wpa_supplicant: Fix crypto related bugs
1. Fix aes_unwrap functionality when hardware acceleration is disabled
2. Fix compilation errors when mbedTLS is disabled.
3. Disable WPA3 when mbedTLS is disabled.
2021-06-28 19:50:01 +08:00
Jiang Jiang Jian
d5845abe62 Merge branch 'bugfix/wps_wfa_cert_fixes' into 'master'
wpa_supplicant: Add WPS strict in config option

Closes WIFI-3624 and WIFI-3842

See merge request espressif/esp-idf!13545
2021-06-28 10:13:23 +00: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
Hrudaynath Dhabe
a260a1bafa wpa_supplicant: Fix supplicant debug logs errors. 2021-05-27 13:02:38 +05:30
Andrey Starodubtsev
6e343c1f8b Fix typo
s/\bUnknow\b/Unknown/g
2021-05-14 18:26:22 +03:00
Jiang Jiang Jian
9afd57057d Merge branch 'bugfix/add_sniffer_fcs_filter' into 'master'
example: Add sniffer FCSFAIL filter

Closes IDFGH-4661

See merge request espressif/esp-idf!12249
2021-05-08 07:31:51 +00: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
xiehang
adb15e4a5d esp_wifi: Modify ESP_IF_WIFI_STA to WIFI_IF_STA 2021-04-27 20:06:42 +08:00
Kapil Gupta
20bb0c3b02 wpa_supplicant: Group key reinstallation fixes
This commit reverts previous commit for GTK reinstallation fix
and corrects original fix.
2021-04-23 13:44:02 +05:30
Kapil Gupta
035909872b wpa_supplicant: Prevent reinstallation of an already in-use group key 2021-04-19 04:17:20 +00:00
Angus Gratton
d6f4d99d93 core system: Fix warnings in compilation when assertions are disabled
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
Marius Vikhammer
04df1f3a42 CI: enable example builds for C3
Enables building C3 examples in CI.

Fixes related warnings/errors and disables examples that cannot run.
2021-02-09 12:04:02 +08:00
Nachiket Kukade
f9ff3da5d4 wpa_supplicant: Fix error handling in DPP Action Rx
1. Fix error handling while receiving DPP Action frames
2. Update wifi lib to avoid forwarding Public action frames
   with NULL bss
2021-02-07 23:23:34 +08:00
Nachiket Kukade
76b2cb28d2 Add DPP Enrollee example
1. Add Example for DPP Enrollee
2. Use DPP Supplicant API's to setup connection
3. Add support for multiple channels in Bootstrapping
4. Add Unity testcase for testing Offchannel operations

Closes https://github.com/espressif/esp-idf/issues/5654
2021-01-25 13:26:33 +05:30
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
Nachiket Kukade
1ca80b4221 Add support for Remain-on-Channel and Action Tx
1. Add API's and structures for Remain-onChannel & Action Tx
2. Handling of events and callbacks for the operations
3. Update WiFi lib with related API support
2021-01-25 13:24:21 +05:30
Jiang Jiang Jian
1614cefd4f Merge branch 'bugfix/wpa_supplicant_coverity_issue_fixes' into 'master'
Fix some issues raised by Coverity static Analyzer.

Closes WIFI-3251

See merge request espressif/esp-idf!11918
2021-01-25 15:52:21 +08:00
Jiang Jiang Jian
76bb9565af Merge branch 'bugfix/fix_wifi_interface_use' into 'master'
esp_wifi: Modify ESP_IF_WIFI_STA to WIFI_IF_STA

See merge request espressif/esp-idf!12050
2021-01-25 12:18:27 +08:00
aditi_lonkar
562a5dd215 wpa_supplicant: Fix some memory leak issues by coverity static analyzer. 2021-01-25 03:37:47 +00:00
Alex
67d0460c2d Feature/wifi wapi release 2021-01-23 18:15:07 +08:00
kapil.gupta
7bc74089f4 esp_wifi: Add pairwise cipher support in softAP config
Closes https://github.com/espressif/esp-idf/issues/5963
2021-01-20 22:40:40 +05:30
xiehang
b8a8fe3f54 esp_wifi: Modify ESP_IF_WIFI_STA to WIFI_IF_STA 2021-01-19 11:55:44 +08:00
ronghulin
adfa43a3a4 feature: support tx amsdu 2021-01-15 20:10:18 +08:00
zhangyanjiao
1da9d9c356 esp_wifi: add esptouch v2
Closes https://github.com/espressif/esp-idf/issues/1311
2021-01-15 14:32:46 +08:00
Jiang Jiang Jian
56625eea1e Merge branch 'bugfix/11kv_bugfixes' into 'master'
wpa_supplicant: Remove lock during processing of BTM/RRM packets

Closes WIFI-3182 and WIFI-3175

See merge request espressif/esp-idf!11717
2020-12-25 19:09:27 +08:00
kapil.gupta
f14da2ecc0 wpa_supplicant: Remove lock during processing of btm/rrm packets
Lock is not required during btm/rrm action frames processing and
taking it may cause inconsistant behavior since wifi task
posts the events to this task.
2020-12-22 16:56:41 +05:30
kapil.gupta
903198ad7f esp_wifi: Fix some wifi bugs.
1. Send encrypted mgmt frames in pmf connection
2. Remove dependecy of SHA256 AKM on PMF
3. Fix null pointer dereference
4. Set TTLS default phase2 method as MSCHAPV2.
2020-12-21 14:27:10 +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
kapil.gupta
27101f9454 wpa_supplicant: Add initial roaming support
This commit adds different features from 802.11k and 802.11v
specifications to make the device ready for network assisted
roaming. It also adds initial framework for device to detect
whether it needs to move to a better AP.

Followings are added as part of this.

1. Support for sending neighbor report request and provide
   the report back to the APP.
2. Support for beacon measurement report.
3. Support for link measurement report.
4. Support for sending bss transition management query frame
   (triggered by the APP).
5. Support for bss transition management request and move
   to the candidate based on that.
6. Sending the bss transition management response.
2020-11-17 17:15:26 +05:30
Angus Gratton
420aef1ffe Updates for riscv support
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
  longer signed/unsigned int).

Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Nachiket Kukade
89a25e41c8 wpa_supplicant: Increase PMK Lifetime to a very high value
For WPA3 connection nearing PMK lifetime expiry, PMK Cache
needs a re-authentication or the cache will expire. After
current expiry of 12 hours Station ends up sending a deauth
to the AP. An SAE re-authentication also cannot occur without
a disconnection with current implementation. So increase the
PMK lifetime to 100 days for now.
2020-11-10 10:17:48 +00:00
kapil.gupta
474c38a5f3 esp_wifi: Add WPS Reason code in all failures 2020-10-21 10:56:19 +05:30
Nachiket Kukade
6ae4b3ef48 esp_wifi: Update wifi lib
1. Add STA checks during STA PMF operations
2. Fix WPA2-Ent issue with Open AP
3. Skip WPA-TKIP profile if PMF is required
4. Skip & clear Supplicant PMK Cache with mismatching AP config
2020-10-10 09:03:55 +00:00
kapil.gupta
ebc0b42c75 esp_wifi: Add support for 802.1x sha256 auth key mode
Closes https://github.com/espressif/esp-idf/issues/5805
2020-09-29 15:23:39 +05:30
Xia Xiaotian
bdbe74693f esp_wifi: refactor wifi code in order to adapter to new chips 2020-09-24 10:15:50 +08:00
Nachiket Kukade
3308ede898 espnow/pmf: Implement ESPNOW + PMF Co-existance
H/W decryption of Mgmt frames was disabled for PMF and done through
S/W. If ESPNOW packets go through this path, it affects backward
compatibility since method of decrypting Mgmt packets is different in H/W.

To address PMF + ESPNOW Co-existance, CCMP decryption method is modified
for ESPNOW packets so that they can be decrypted correctly. Since Tx
of ESPNOW packets can still be done in H/W alongside PMF, no change
required in encryption method in S/W.

Co-Authored-By: Nachiket Kukade <nachiket.kukade@espressif.com>
Co-Authored-By: zhangyanjiao <zhangyanjiao@espressif.com>
Co-Authored-By: kapil.gupta <kapil.gupta@espressif.com>
2020-09-02 09:26:39 +05:30
kapil.gupta
06bc7f1d2f wpa_supplicant: Deinit wpa2 states in wifi deinit 2020-08-26 03:51:37 +00:00
Jiang Jiang Jian
c27bd40d54 Merge branch 'feature/support_phase2TTLS_algos' into 'master'
wpa_supplicant: add support for PAP, MS-CHAP and CHAP as Phase 2 algorithms for TTLS alongside MS-CHAPv2

Closes FCS-361

See merge request espressif/esp-idf!8816
2020-08-07 14:06:12 +08:00
kapil.gupta
50b4cf9286 wpa_supplicant: Fix IOT issue with latest freeradius
Fix inter operability issue with freeradius version 3.0.21
and openssl 1.1.1f when internal tls client is used which
requires extension elements in client hello.

closes https://github.com/espressif/esp-idf/issues/5273
closes https://github.com/espressif/esp-idf/issues/5627
2020-08-04 04:50:58 +00:00
morris
2917651478 esp_rom: extract common ets apis into esp_rom_sys.h 2020-07-27 15:27:01 +08:00
Hrudaynath Dhabe
d7ccad371a wpa_supplicant: add support for PAP, MS-CHAP and CHAP as Phase 2 algorithms for TTLS alongside MS-CHAPv2 2020-07-23 11:07:14 +00:00
Jiang Jiang Jian
803cf064d2 Merge branch 'bugfix/eap_client_crash' into 'master'
wpa_supplicant: Fix null pointer deference and memleak

Closes IDFGH-3699

See merge request espressif/esp-idf!9690
2020-07-23 10:16:05 +08:00
Jiang Jiang Jian
bdca464da6 Merge branch 'bugfix/wpa3_to_wpa2_transition_fix' into 'master'
Fix WPA3 and WPA2 transition related failures

Closes WIFI-2555

See merge request espressif/esp-idf!9533
2020-07-23 09:51:05 +08:00
kapil.gupta
5502a553a7 wpa_supplicant: Fix invalid pointer deference and memleak
Add following changes as part of this:

1. EAP client will crash during validation of key size when CA
certs and keys not present. Add changes to validate it first.
2. Free memory allocated in TLS context
2020-07-20 19:56:06 +05:30
ronghulin
5f76927d96 bugfix: fix softap mode wpa memory leak 2020-07-16 07:26:19 +00:00
Nachiket Kukade
df14475c5b wpa_supplicant: Fix WPA3 and WPA2 transition related failures
1. If Device is connected to AP in WPA3-PSK mode, AP switching
security to WPA2-PSK causes connection failures even after reset.
Fix is to not store WPA3's PMK in NVS for caching.

2. AP switching back to WPA3 causes even more connection failures.
This is due to device not clearing Supplicant level PMK Cache when
it is no longer valid. Fix is to clear the Cache when 4-way handshake
fails and to check Key Mgmt of Cache before using.

3. When AP switches from WPA3 to WPA2, device's PMF config in
Supplicant remains enabled. This may cause failures during
4-way handshake. So clear PMF config in when PMF is no longer used.
2020-07-15 12:20:16 +00:00
Nachiket Kukade
81f037a299 Fix handling of multiple AP credentials in WPS
WPS can send multiple AP credentials, while existing implementation
will only use the first credentials which could be for the 5G band.
Fix this by passing these credentials to the App and attempting
to connect using each of those. Older Apps will remain compatible
without breaking WPS, but the issue will remain.
2020-07-08 11:02:55 +00:00
kapil.gupta
bd2815db10 wpa_supplicant: Support for mbedtls tls handshake
Add support for mbedtls based tls handshake, this removes
dependency from internal implementation of EAP client.
2020-06-26 17:20:22 +05:30
kapil.gupta
1cabd06f0c wpa_supplicant: Replace internal RSA APIs by mbedtls APIs
Curretly wpa_supplicant uses internal APIs for RSA operations
which internally uses lots of big num operations.

Big num operations are CPU expensive and can take a lot of time
which can cause watchdog timer to tigger.

This can be optimize by using mbedtls APIs which uses
hardware blocks for big num operations.

To fix this, write new crypto_mbedtls-rsa.c which has APIs
similar to crypto_internal-rsa.c but uses mbedtls APIs.
2020-06-07 15:31:12 +00:00
Angus Gratton
33bfe2393a Merge branch 'bugfix/wpa_supplicant_no_hw_mpi' into 'master'
wpa_supplicant: Allow building with mbedTLS integration but no hardware MPI

Closes IDFGH-3344

See merge request espressif/esp-idf!8822
2020-06-01 14:48:06 +08:00
Jiang Jiang Jian
af97a5abc3 Merge branch 'workaround/wps_iot_fixes' into 'master'
wpa_supplicant: WPS Inter operatability Fixes

See merge request espressif/esp-idf!8654
2020-05-20 11:32:34 +08:00
Angus Gratton
0927ec029e wpa_supplicant: Allow building with mbedTLS integration but no hardware MPI
Also disable the relevant function in bignum.h based on config, so fails at
compile not link time.

Closes https://github.com/espressif/esp-idf/issues/5321
2020-05-20 12:06:07 +10:00
kapil.gupta
fb53a454b9 ESP-WIFI: Optimize 4way handshake failure time
In case of wrong passpharse, AP will keep on sending 1/4 multiple
times which may take around 10 secs to disconnect and detect
wrong password event.

Add changes to reject EAPOL1 after 3 consecutive reception
2020-05-19 16:55:42 +05:30
kapil.gupta
76335b2558 wpa_supplicant: WPS Inter operatability Fixes
Add WPS IOT fixes under config option

Current fixes under this flag.
1. Allow NULL-padded WPS attributes.
2. Bypass WPS-Config method validation
2020-05-19 08:05:52 +00:00
Nachiket Kukade
c643d0a611 wpa_supplicant: Allow NULL-padded WPS attributes
Some AP's keep NULL-padding at the end of some variable length WPS
Attributes. This is not as par the WPS2.0 specs, but to avoid interop
issues, ignore the padding by reducing the attribute length by 1.
2020-05-19 08:05:52 +00:00
Nachiket Kukade
b302b4bb43 wpa_supplicant: Fix memory leaks in WPA3 connection
1. Buffers for SAE messages are not freed after the handshake.
   This causes memory leak, free buffers after SAE handshake.
2. SAE global data is not freed until the next WPA3 connection
   takes place, holding up heap space without reason. Free this
   data after SAE handshake is complete or event fails.
3. Update wifi lib which includes memory leak fix during BIP
   encryption/decryption operations.
2020-05-13 22:54:03 +05:30
Nachiket Kukade
f36455052d wpa_supplicant: Fix formatting of file esp_wpa3.c
Replace tabs with spaces in esp_wpa3.c.
2020-05-13 22:54:03 +05:30
Jiang Jiang Jian
5f2be35525 Merge branch 'bugfix/supplicant_general_fixes' into 'master'
wpa_supplicant: Fix some memleaks and invalid memory access

Closes IDF-1335

See merge request espressif/esp-idf!8201
2020-05-12 11:03:14 +08:00