Merge branch 'feature/configurable_wpa2_ent_v5.0' into 'release/v5.0'

Make enterprise support configurable to save binary size.(v5.0)

See merge request espressif/esp-idf!25557
This commit is contained in:
Jiang Jiang Jian 2023-09-21 10:37:20 +08:00
commit 0b4adebda5
5 changed files with 20 additions and 0 deletions

View File

@ -411,4 +411,13 @@ menu "Wi-Fi"
be shared to other devices, making it in readable format increases be shared to other devices, making it in readable format increases
that risk, also passphrase requires pbkdf2 to convert in psk. that risk, also passphrase requires pbkdf2 to convert in psk.
config ESP_WIFI_ENTERPRISE_SUPPORT
bool "Enable enterprise option"
default y
help
Select this to enable/disable enterprise connection support.
disabling this will reduce binary size.
disabling this will disable the use of any esp_wifi_sta_wpa2_ent_* (as APIs will be meaningless)
endmenu # Wi-Fi endmenu # Wi-Fi

View File

@ -184,9 +184,11 @@ void wpa_ap_get_peer_spp_msg(void *sm_data, bool *spp_cap, bool *spp_req)
bool wpa_deattach(void) bool wpa_deattach(void)
{ {
struct wpa_sm *sm = &gWpaSm; struct wpa_sm *sm = &gWpaSm;
#ifdef CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT
if (sm->wpa_sm_wpa2_ent_disable) { if (sm->wpa_sm_wpa2_ent_disable) {
sm->wpa_sm_wpa2_ent_disable(); sm->wpa_sm_wpa2_ent_disable();
} }
#endif
if (sm->wpa_sm_wps_disable) { if (sm->wpa_sm_wps_disable) {
sm->wpa_sm_wps_disable(); sm->wpa_sm_wps_disable();
} }

View File

@ -51,6 +51,7 @@ typedef enum { FALSE = 0, TRUE = 1 } Boolean;
static inline int wpa_key_mgmt_wpa_ieee8021x(int akm) static inline int wpa_key_mgmt_wpa_ieee8021x(int akm)
{ {
#ifdef CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT
return !!(akm & (WPA_KEY_MGMT_IEEE8021X | return !!(akm & (WPA_KEY_MGMT_IEEE8021X |
WPA_KEY_MGMT_FT_IEEE8021X | WPA_KEY_MGMT_FT_IEEE8021X |
WPA_KEY_MGMT_CCKM | WPA_KEY_MGMT_CCKM |
@ -58,6 +59,9 @@ static inline int wpa_key_mgmt_wpa_ieee8021x(int akm)
WPA_KEY_MGMT_IEEE8021X_SHA256 | WPA_KEY_MGMT_IEEE8021X_SHA256 |
WPA_KEY_MGMT_IEEE8021X_SUITE_B | WPA_KEY_MGMT_IEEE8021X_SUITE_B |
WPA_KEY_MGMT_IEEE8021X_SUITE_B_192)); WPA_KEY_MGMT_IEEE8021X_SUITE_B_192));
#else
return 0;
#endif
} }
static inline int wpa_key_mgmt_wpa_psk(int akm) static inline int wpa_key_mgmt_wpa_psk(int akm)

View File

@ -169,6 +169,7 @@ unsigned cipher_type_map_public_to_supp(wifi_cipher_type_t cipher)
} }
} }
#ifdef CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT
static bool is_wpa2_enterprise_connection(void) static bool is_wpa2_enterprise_connection(void)
{ {
uint8_t authmode; uint8_t authmode;
@ -184,6 +185,7 @@ static bool is_wpa2_enterprise_connection(void)
return false; return false;
} }
#endif
/** /**
* get_bssid - Get the current BSSID * get_bssid - Get the current BSSID
@ -698,9 +700,11 @@ void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
if (res) if (res)
goto failed; goto failed;
#ifdef CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT
if (is_wpa2_enterprise_connection()) { if (is_wpa2_enterprise_connection()) {
pmksa_cache_set_current(sm, NULL, sm->bssid, 0, 0); pmksa_cache_set_current(sm, NULL, sm->bssid, 0, 0);
} }
#endif
if (sm->renew_snonce) { if (sm->renew_snonce) {
if (os_get_random(sm->snonce, WPA_NONCE_LEN)) { if (os_get_random(sm->snonce, WPA_NONCE_LEN)) {

View File

@ -315,6 +315,7 @@ Wi-Fi
- Disabling :ref:`CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE` will save some Wi-Fi binary size if WPA3 support is not needed. (Note that WPA3 is mandatory for new Wi-Fi device certifications.) - Disabling :ref:`CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE` will save some Wi-Fi binary size if WPA3 support is not needed. (Note that WPA3 is mandatory for new Wi-Fi device certifications.)
- Disabling :ref:`CONFIG_ESP_WIFI_SOFTAP_SUPPORT` will save some Wi-Fi binary size if soft-AP support is not needed. - Disabling :ref:`CONFIG_ESP_WIFI_SOFTAP_SUPPORT` will save some Wi-Fi binary size if soft-AP support is not needed.
- Disabling :ref:`CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT` will save some Wi-Fi binary size if enterprise support is not needed.
.. only:: esp32 .. only:: esp32