Skip to content

Commit 9cb4f29

Browse files
committed
fix: Hide wifi password in AP mode
Fixes #257
1 parent 1cb92df commit 9cb4f29

2 files changed

Lines changed: 7 additions & 6 deletions

File tree

src/display/plugins/WebUIPlugin.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ void WebUIPlugin::setup(Controller *_controller, PluginManager *_pluginManager)
2626
},
2727
"display-firmware.bin", "display-filesystem.bin", "board-firmware.bin");
2828
pluginManager->on("controller:wifi:connect", [this](Event const &event) {
29-
const int apMode = event.getInt("AP");
30-
start(apMode);
29+
apMode = event.getInt("AP");
30+
start();
3131
});
3232
pluginManager->on("controller:ready", [this](Event const &) {
3333
ota->setControllerVersion(controller->getSystemInfo().version);
@@ -75,7 +75,7 @@ void WebUIPlugin::loop() {
7575
}
7676
}
7777

78-
void WebUIPlugin::start(bool apMode) {
78+
void WebUIPlugin::start() {
7979
if (apMode) {
8080
server.on("/connecttest.txt", [](AsyncWebServerRequest *request) {
8181
request->redirect("http://logout.net");
@@ -251,7 +251,7 @@ void WebUIPlugin::handleSettings(AsyncWebServerRequest *request) const {
251251
settings->setWifiSsid(request->arg("wifiSsid"));
252252
if (request->hasArg("mdnsName"))
253253
settings->setMdnsName(request->arg("mdnsName"));
254-
if (request->hasArg("wifiPassword"))
254+
if (request->hasArg("wifiPassword") && request->arg("wifiPassword") != "---unchanged---")
255255
settings->setWifiPassword(request->arg("wifiPassword"));
256256
settings->setHomekit(request->hasArg("homekit"));
257257
settings->setBoilerFillActive(request->hasArg("boilerFillActive"));
@@ -311,7 +311,7 @@ void WebUIPlugin::handleSettings(AsyncWebServerRequest *request) const {
311311
doc["haPort"] = settings.getHomeAssistantPort();
312312
doc["pid"] = settings.getPid();
313313
doc["wifiSsid"] = settings.getWifiSsid();
314-
doc["wifiPassword"] = settings.getWifiPassword();
314+
doc["wifiPassword"] = apMode ? "---unchanged---" : settings.getWifiPassword();
315315
doc["mdnsName"] = settings.getMdnsName();
316316
doc["temperatureOffset"] = String(settings.getTemperatureOffset());
317317
doc["pressureScaling"] = String(settings.getPressureScaling());

src/display/plugins/WebUIPlugin.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class WebUIPlugin : public Plugin {
2828
void loop() override;
2929

3030
private:
31-
void start(bool apMode);
31+
void start();
3232

3333
// Websocket handlers
3434
void handleOTASettings(uint32_t clientId, JsonDocument &request);
@@ -59,6 +59,7 @@ class WebUIPlugin : public Plugin {
5959
long lastCleanup = 0;
6060
long lastDns = 0;
6161
bool updating = false;
62+
bool apMode = false;
6263
String updateComponent = "";
6364
};
6465

0 commit comments

Comments
 (0)