Commit Graph
29 Commits
Author SHA1 Message Date
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
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
Kapil Gupta f3c55dbecd esp_wifi: Add station based check for auth frame formation 2021-05-11 16:35:42 +05:30
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
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
Kapil Gupta 00b1738197 esp_wifi: Fixed crash issue in presence of WEP AP 2021-02-05 09:13:24 +00: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
kapil.gupta de22f3a4e5 MbedTLS: Add software fallback implementation for exp mod
Add configuration option to fallback to software implementation
for exponential mod incase of hardware is not supporting it
for larger MPI value.

Usecase:
ESP32C3 only supports till RSA3072 in hardware. This config option
will help to support 4k certificates for WPA enterprise connection.
2021-01-18 18:47:51 +05:30
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
kapil.gupta 447eb894c0 esp_wifi: Always register pmf tx/rx routines
Fixes the issue when PMF packets are not sent after mode change.
2020-11-24 15:56:42 +05:30
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
kapil.gupta 474c38a5f3 esp_wifi: Add WPS Reason code in all failures 2020-10-21 10:56:19 +05:30
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
kapil.gupta e13ab93b98 esp_wifi: Fix null pointer dereferences in mgmt rx 2020-08-26 12:40:46 +05:30
kapil.gupta 06bc7f1d2f wpa_supplicant: Deinit wpa2 states in wifi deinit 2020-08-26 03:51:37 +00: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
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
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
kapil.gupta 179292f9b3 esp_wifi: Remove auth_changed event and fix wpa2 authmode threshold
Added following as part of this change
1. Removed auth_changed event
2. Updated doc regarding usage of  WPA/WEP secuiry modes
3. Fixed WPA2 enterprise authmode threshold.
2020-06-04 17:54:26 +05:30
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
kapil.gupta 3b5fcbe06f wpa_supplicant: Fix some memleaks and invalid memory access
Add changes to fix issues reported in clang analyzer
2020-05-06 10:31:59 +00:00
kapil.gupta ab784bb53a wpa_supplicant: Port dpp feature from supplicant
Add files required for DPP feature from upstream.
These file expose the functionality to create DPP packets.
Ported crypto layer from openssl to mbedtls.

Interfacing to use these API will be added in seperate commit
2020-04-14 18:53:35 +05:30
kapil.gupta 0ae58fc59f wpa_supplicant: Add parsing support for WEP40 key
WEP key is passed as ascii key without "", add parsing support
in supplicant for this.
2020-03-16 06:14:19 +00:00
kapil.gupta c634de1532 esp-wifi: Fix crash during WEP shared auth
VNC 1181
WIFI Lib: 526
2020-03-03 17:29:03 +08:00