From 4e1943dbc816972e2bd8951cc6af5e40d6999407 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Wed, 29 Dec 2021 06:19:09 +0100 Subject: [PATCH] Moved webserverPassword into newSettings --- main/newsettings.h | 10 +++++++--- main/presets.cpp | 4 ---- main/stringsettings.h | 9 --------- main/webserver.cpp | 3 ++- main/webserver_displaycontrol.cpp | 5 +++-- main/webserver_ota.cpp | 8 ++++---- 6 files changed, 16 insertions(+), 23 deletions(-) diff --git a/main/newsettings.h b/main/newsettings.h index ecd4237..c85f23f 100644 --- a/main/newsettings.h +++ b/main/newsettings.h @@ -112,6 +112,8 @@ public: ConfigWrapper udpCloudHost {std::string{}, DoReset, {}, "udpCloudHost" }; ConfigWrapper otaUrl {std::string{}, DoReset, StringOr, "otaUrl" }; + ConfigWrapper webserverPassword {std::string{}, DoReset, {}, "websPassword" }; + #define NEW_SETTINGS(x) \ x(baseMacAddressOverride) \ x(hostname) \ @@ -249,7 +251,9 @@ public: \ x(cloudUrl) \ x(udpCloudHost) \ - // x(otaUrl) + x(otaUrl) \ + \ + // x(webserverPassword) template void callForEveryConfig(T &&callback) @@ -257,7 +261,7 @@ public: #define HELPER(x) callback(x); NEW_SETTINGS(HELPER) #undef HELPER - callback(otaUrl); + callback(webserverPassword); } auto getAllConfigParams() @@ -266,7 +270,7 @@ public: #define HELPER(x) std::ref(x), NEW_SETTINGS(HELPER) #undef HELPER - std::ref(otaUrl) + std::ref(webserverPassword) ); } }; diff --git a/main/presets.cpp b/main/presets.cpp index ba6360d..2086955 100644 --- a/main/presets.cpp +++ b/main/presets.cpp @@ -9,9 +9,6 @@ StringSettings makeDefaultStringSettings() #endif return { -#ifdef FEATURE_GARAGE - .garageUrl = {}, -#endif #ifdef FEATURE_NTP .timeServer = "europe.pool.ntp.org", #endif @@ -33,7 +30,6 @@ StringSettings makeDefaultStringSettings() #ifdef FEATURE_OTA .otaServerBranch = {}, #endif - .webserver_password = {}, }; } } // namespace presets diff --git a/main/stringsettings.h b/main/stringsettings.h index a37a8cf..68d5d68 100644 --- a/main/stringsettings.h +++ b/main/stringsettings.h @@ -6,10 +6,6 @@ struct StringSettings { -#ifdef FEATURE_GARAGE - std::string garageUrl; -#endif - #ifdef FEATURE_NTP std::string timeServer; #endif @@ -35,15 +31,11 @@ struct StringSettings #ifdef FEATURE_OTA std::string otaServerBranch; #endif - std::string webserver_password; }; template void StringSettings::executeForEveryCommonSetting(T &&callable) { -#ifdef FEATURE_GARAGE - callable("garageUrl", garageUrl); -#endif #ifdef FEATURE_NTP callable("timeServer", timeServer); #endif @@ -75,7 +67,6 @@ void StringSettings::executeForEveryCommonSetting(T &&callable) #ifdef FEATURE_DNS_NS callable("dnskey", dns_key); #endif - callable("webpw", webserver_password); } template diff --git a/main/webserver.cpp b/main/webserver.cpp index d523a11..f8a6105 100644 --- a/main/webserver.cpp +++ b/main/webserver.cpp @@ -30,6 +30,7 @@ #include "webserver_dumpnvs.h" #endif #include "globals.h" +#include "newsettings.h" using namespace std::chrono_literals; @@ -188,7 +189,7 @@ esp_err_t webserver_status_handler(httpd_req_t *req) char tmpBuf[256]; const auto key_result = httpd_query_key_value(wants_json_query.data(), "json", tmpBuf, 256); - if (key_result == ESP_OK && (tmpBuf == stringSettings.webserver_password || stringSettings.webserver_password.empty())) + if (key_result == ESP_OK && (configs.webserverPassword.value.empty() || configs.webserverPassword.value == tmpBuf)) { if (!menuDisplayChanged()) { diff --git a/main/webserver_displaycontrol.cpp b/main/webserver_displaycontrol.cpp index d2ef293..e131723 100644 --- a/main/webserver_displaycontrol.cpp +++ b/main/webserver_displaycontrol.cpp @@ -23,6 +23,7 @@ #include "buttons.h" #include "globals.h" #include "webserver_lock.h" +#include "newsettings.h" #ifdef FEATURE_WEBSERVER using esphttpdutils::HtmlTag; @@ -57,7 +58,7 @@ esp_err_t webserver_root_handler(httpd_req_t *req) char tmpBuf[256]; const auto key_result = httpd_query_key_value(wants_json_query.data(), "json", tmpBuf, 256); - if (key_result == ESP_OK && (tmpBuf == stringSettings.webserver_password || stringSettings.webserver_password.empty())) + if (key_result == ESP_OK && (configs.webserverPassword.value.empty() || configs.webserverPassword.value == tmpBuf)) { body += "{"; @@ -148,7 +149,7 @@ esp_err_t webserver_root_handler(httpd_req_t *req) body = body.erase(lastEckig+1, 1); } - else if (key_result != ESP_ERR_NOT_FOUND && tmpBuf != stringSettings.webserver_password) + else if (key_result != ESP_ERR_NOT_FOUND && tmpBuf != configs.webserverPassword.value) { CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::Unauthorized, "text/plain", ""); } diff --git a/main/webserver_ota.cpp b/main/webserver_ota.cpp index 08f26f4..ecaa7f4 100644 --- a/main/webserver_ota.cpp +++ b/main/webserver_ota.cpp @@ -58,7 +58,7 @@ esp_err_t webserver_ota_percentage_handler(httpd_req_t *req) char tmpBuf[256]; const auto key_result = httpd_query_key_value(wants_json_query.data(), "json", tmpBuf, 256); - if (key_result == ESP_OK && (tmpBuf == stringSettings.webserver_password || stringSettings.webserver_password.empty())) + if (key_result == ESP_OK && (configs.webserverPassword.value.empty() || configs.webserverPassword.value == tmpBuf)) { body += "{"; if (asyncOta) @@ -75,7 +75,7 @@ esp_err_t webserver_ota_percentage_handler(httpd_req_t *req) body += "}"; } - else if (key_result != ESP_ERR_NOT_FOUND && tmpBuf != stringSettings.webserver_password) + else if (key_result != ESP_ERR_NOT_FOUND && configs.webserverPassword.value == tmpBuf) { CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::Unauthorized, "text/plain", ""); } @@ -116,7 +116,7 @@ esp_err_t webserver_ota_handler(httpd_req_t *req) char tmpBuf[256]; const auto key_result = httpd_query_key_value(wants_json_query.data(), "json", tmpBuf, 256); - if (key_result == ESP_OK && (tmpBuf == stringSettings.webserver_password || stringSettings.webserver_password.empty())) + if (key_result == ESP_OK && (configs.webserverPassword.value.empty() || configs.webserverPassword.value == tmpBuf)) { body += "{"; @@ -176,7 +176,7 @@ esp_err_t webserver_ota_handler(httpd_req_t *req) if (std::string::npos != lastEckig) body = body.erase(lastEckig+1, 1); } - else if (key_result != ESP_ERR_NOT_FOUND && tmpBuf != stringSettings.webserver_password) + else if (key_result != ESP_ERR_NOT_FOUND && configs.webserverPassword.value == tmpBuf) { CALL_AND_EXIT(esphttpdutils::webserver_resp_send, req, esphttpdutils::ResponseStatus::Unauthorized, "text/plain", "");