From bb4348a7f19a1f08d79cdd2e38568bc04abaf077 Mon Sep 17 00:00:00 2001 From: Eric Duminil <eric.duminil@gmail.com> Date: Tue, 15 Feb 2022 23:35:54 +0100 Subject: [PATCH] Show password with ***** in HTML form Needs more testing --- ampel-firmware/src/lib/IotWebConf/src/IotWebConfParameter.cpp | 4 ++-- ampel-firmware/src/lib/IotWebConf/src/IotWebConfTParameter.h | 4 ++-- ampel-firmware/web_config.cpp | 2 -- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/ampel-firmware/src/lib/IotWebConf/src/IotWebConfParameter.cpp b/ampel-firmware/src/lib/IotWebConf/src/IotWebConfParameter.cpp index be9d99b..269c38e 100644 --- a/ampel-firmware/src/lib/IotWebConf/src/IotWebConfParameter.cpp +++ b/ampel-firmware/src/lib/IotWebConf/src/IotWebConfParameter.cpp @@ -400,7 +400,7 @@ String PasswordParameter::renderHtml( bool dataArrived, bool hasValueFromPost, String valueFromPost) { - return TextParameter::renderHtml("password", true, String("")); + return TextParameter::renderHtml("password", true, String(this->valueBuffer)); } void PasswordParameter::debugTo(Stream* out) @@ -425,7 +425,7 @@ void PasswordParameter::update(String newValue) Serial.print(this->getId()); Serial.print(": "); #endif - if (newValue.length() > 0) + if (newValue != current->valueBuffer) { // -- Value was set. newValue.toCharArray(current->valueBuffer, current->getLength()); diff --git a/ampel-firmware/src/lib/IotWebConf/src/IotWebConfTParameter.h b/ampel-firmware/src/lib/IotWebConf/src/IotWebConfTParameter.h index 65796d5..ecf50c8 100644 --- a/ampel-firmware/src/lib/IotWebConf/src/IotWebConfTParameter.h +++ b/ampel-firmware/src/lib/IotWebConf/src/IotWebConfTParameter.h @@ -575,7 +575,7 @@ using CharArrayDataType<len>::CharArrayDataType; Serial.print(this->getId()); Serial.print(": "); #endif - if (newValue.length() > 0) + if (newValue != this->_value) { // -- Value was set. strncpy(this->_value, newValue.c_str(), len); @@ -601,7 +601,7 @@ protected: virtual String renderHtml( bool dataArrived, bool hasValueFromPost, String valueFromPost) override { - return InputParameter::renderHtml(dataArrived, true, String("")); + return InputParameter::renderHtml(dataArrived, true, String(this->_value)); } private: const char* _customHtmlPwd = "ondblclick=\"pw(this.id)\""; diff --git a/ampel-firmware/web_config.cpp b/ampel-firmware/web_config.cpp index 1d4672d..d4096b9 100644 --- a/ampel-firmware/web_config.cpp +++ b/ampel-firmware/web_config.cpp @@ -15,7 +15,6 @@ #include "src/lib/IotWebConf/src/IotWebConfTParameter.h" #include "src/lib/IotWebConf/src/IotWebConfOptionalGroup.h" -//TODO: Check memory consumption. Disable DEBUG info? //TODO: Convert all strings to F-strings namespace web_config { @@ -114,7 +113,6 @@ namespace web_config { TextTParameter<STRING_LEN> mqttUserParam = Builder<TextTParameter<STRING_LEN>>("mqtt_user").label("MQTT User").defaultValue(MQTT_USER).build(); - //TODO: Show the number of * for password? PasswordTParameter<STRING_LEN> mqttPasswordParam = Builder<PasswordTParameter<STRING_LEN>>("mqtt_password").label( "MQTT password").defaultValue(MQTT_PASSWORD).build(); -- GitLab