diff --git a/app/modules/enduser_setup.c b/app/modules/enduser_setup.c index a8297738..8badb49d 100644 --- a/app/modules/enduser_setup.c +++ b/app/modules/enduser_setup.c @@ -832,11 +832,19 @@ static int enduser_setup_http_handle_credentials(char *data, unsigned short data state->success = 0; state->lastStationStatus = 0; + char *name_str = strstr(data, "wifi_ssid="); char *pwd_str = strstr(data, "wifi_password="); - if (name_str == NULL || pwd_str == NULL) + + // in case we dont get a passwd (for open networks) + if (pwd_str == NULL) { + pwd_str="wifi_password="; + ENDUSER_SETUP_DEBUG("No passord provided. Assuming open network"); + } + + if (name_str == NULL) { - ENDUSER_SETUP_DEBUG("Password or SSID string not found"); + ENDUSER_SETUP_DEBUG("SSID string not found"); return 1; } diff --git a/docs/modules/enduser-setup.md b/docs/modules/enduser-setup.md index 279d915f..bd6c6fd9 100644 --- a/docs/modules/enduser-setup.md +++ b/docs/modules/enduser-setup.md @@ -54,6 +54,7 @@ Then the `eus_params.lua` file will contain the following: ```lua -- those wifi_* are the base parameters that are saved anyway +-- if network is open, then there is no wifi_password local p = {} p.wifi_ssid="ssid" p.wifi_password="password"