Merge branch 'wifi_prov_mgr/service_key_check_v4.4' into 'release/v4.4'

wifi_prov_mgr: Added check for passphrase length in softAP scheme (v4.4)

See merge request espressif/esp-idf!16569
This commit is contained in:
Mahavir Jain
2022-01-26 02:37:43 +00:00
2 changed files with 7 additions and 1 deletions

View File

@@ -175,10 +175,15 @@ static esp_err_t set_config_service(void *config, const char *service_name, cons
}
wifi_prov_softap_config_t *softap_config = (wifi_prov_softap_config_t *) config;
strlcpy(softap_config->ssid, service_name, sizeof(softap_config->ssid));
if (service_key) {
const int service_key_len = strlen(service_key);
if (service_key_len < 8 || service_key_len >= sizeof(softap_config->password)) {
ESP_LOGE(TAG, "Incorrect passphrase length for softAP: %d (Expected: Min - 8, Max - 64)", service_key_len);
return ESP_ERR_INVALID_ARG;
}
strlcpy(softap_config->password, service_key, sizeof(softap_config->password));
}
strlcpy(softap_config->ssid, service_name, sizeof(softap_config->ssid));
return ESP_OK;
}

View File

@@ -265,6 +265,7 @@ void app_main(void)
/* What is the service key (could be NULL)
* This translates to :
* - Wi-Fi password when scheme is wifi_prov_scheme_softap
* (Minimum expected length: 8, maximum 64 for WPA2-PSK)
* - simply ignored when scheme is wifi_prov_scheme_ble
*/
const char *service_key = NULL;