From 3b8740860e0ec981c027e194d54decde059e24ec Mon Sep 17 00:00:00 2001 From: "tarun.kumar" Date: Sun, 1 Dec 2024 15:54:11 +0530 Subject: [PATCH] fix(softAP): Adjusted authentication mode for wpa-eap version 1 --- components/esp_rom/esp32c2/ld/esp32c2.rom.ld | 2 +- components/esp_wifi/include/esp_wifi_types_generic.h | 9 ++++++--- components/wpa_supplicant/src/rsn_supp/wpa.c | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/components/esp_rom/esp32c2/ld/esp32c2.rom.ld b/components/esp_rom/esp32c2/ld/esp32c2.rom.ld index e13e640564..7647a715a6 100644 --- a/components/esp_rom/esp32c2/ld/esp32c2.rom.ld +++ b/components/esp_rom/esp32c2/ld/esp32c2.rom.ld @@ -949,7 +949,7 @@ ieee80211_getcapinfo = 0x40002130; /* sta_recv_sa_query_resp = 0x40002144; */ ieee80211_set_max_rate = 0x4000214c; ic_set_sta = 0x40002150; -ieee80211_parse_wpa = 0x40002158; +/* ieee80211_parse_wpa = 0x40002158; */ ieee80211_add_assoc_req_ies = 0x40002160; ieee80211_add_probe_req_ies = 0x40002164; /* Data (.data, .bss, .rodata) */ diff --git a/components/esp_wifi/include/esp_wifi_types_generic.h b/components/esp_wifi/include/esp_wifi_types_generic.h index 482ee931da..51eee18abf 100644 --- a/components/esp_wifi/include/esp_wifi_types_generic.h +++ b/components/esp_wifi/include/esp_wifi_types_generic.h @@ -70,7 +70,7 @@ typedef struct { * @brief Wi-Fi authmode type * Strength of authmodes * Personal Networks : OPEN < WEP < WPA_PSK < OWE < WPA2_PSK = WPA_WPA2_PSK < WAPI_PSK < WPA3_PSK = WPA2_WPA3_PSK = DPP - * Enterprise Networks : WIFI_AUTH_WPA2_ENTERPRISE < WIFI_AUTH_WPA3_ENT_192 + * Enterprise Networks : WIFI_AUTH_WPA_ENTERPRISE < WIFI_AUTH_WPA2_ENTERPRISE < WIFI_AUTH_WPA3_ENT_192 */ typedef enum { WIFI_AUTH_OPEN = 0, /**< Authenticate mode : open */ @@ -78,8 +78,8 @@ typedef enum { WIFI_AUTH_WPA_PSK, /**< Authenticate mode : WPA_PSK */ WIFI_AUTH_WPA2_PSK, /**< Authenticate mode : WPA2_PSK */ WIFI_AUTH_WPA_WPA2_PSK, /**< Authenticate mode : WPA_WPA2_PSK */ - WIFI_AUTH_ENTERPRISE, /**< Authenticate mode : Wi-Fi EAP security */ - WIFI_AUTH_WPA2_ENTERPRISE = WIFI_AUTH_ENTERPRISE, /**< Authenticate mode : Wi-Fi EAP security */ + WIFI_AUTH_ENTERPRISE, /**< Authenticate mode : Wi-Fi EAP security, treated the same as WIFI_AUTH_WPA2_ENTERPRISE */ + WIFI_AUTH_WPA2_ENTERPRISE = WIFI_AUTH_ENTERPRISE, /**< Authenticate mode : WPA2-Enterprise security */ WIFI_AUTH_WPA3_PSK, /**< Authenticate mode : WPA3_PSK */ WIFI_AUTH_WPA2_WPA3_PSK, /**< Authenticate mode : WPA2_WPA3_PSK */ WIFI_AUTH_WAPI_PSK, /**< Authenticate mode : WAPI_PSK */ @@ -88,6 +88,9 @@ typedef enum { WIFI_AUTH_WPA3_EXT_PSK, /**< This authentication mode will yield same result as WIFI_AUTH_WPA3_PSK and not recommended to be used. It will be deprecated in future, please use WIFI_AUTH_WPA3_PSK instead. */ WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE, /**< This authentication mode will yield same result as WIFI_AUTH_WPA3_PSK and not recommended to be used. It will be deprecated in future, please use WIFI_AUTH_WPA3_PSK instead.*/ WIFI_AUTH_DPP, /**< Authenticate mode : DPP */ + WIFI_AUTH_DUMMY1, + WIFI_AUTH_DUMMY2, + WIFI_AUTH_WPA_ENTERPRISE, /**< Authenticate mode : WPA-Enterprise security */ WIFI_AUTH_MAX } wifi_auth_mode_t; diff --git a/components/wpa_supplicant/src/rsn_supp/wpa.c b/components/wpa_supplicant/src/rsn_supp/wpa.c index 9a1ad92386..f8d1bc972e 100644 --- a/components/wpa_supplicant/src/rsn_supp/wpa.c +++ b/components/wpa_supplicant/src/rsn_supp/wpa.c @@ -2265,7 +2265,7 @@ void wpa_set_profile(u32 wpa_proto, u8 auth_mode) struct wpa_sm *sm = &gWpaSm; sm->proto = wpa_proto; - if (auth_mode == WPA2_AUTH_ENT) { + if (auth_mode == WPA2_AUTH_ENT || (auth_mode == WPA_AUTH_UNSPEC)) { sm->key_mgmt = WPA_KEY_MGMT_IEEE8021X; /* for wpa2 enterprise */ } else if (auth_mode == WPA2_AUTH_ENT_SHA256) { sm->key_mgmt = WPA_KEY_MGMT_IEEE8021X_SHA256; /* for wpa2 enterprise sha256 */