From 00d5d215cde55e3f9e6952b15c680e72677d7131 Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Sat, 25 Jul 2020 08:45:31 +0200 Subject: [PATCH] Switched to internal base64 --- platformio.ini | 2 +- src/web/AmsWebServer.cpp | 12 +++--------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/platformio.ini b/platformio.ini index 26ea5097..a8b31e4f 100755 --- a/platformio.ini +++ b/platformio.ini @@ -4,7 +4,7 @@ extra_configs = platformio-user.ini [common] framework = arduino -lib_deps = HanReader@1.0.1, ArduinoJson@6.14.1, MQTT@2.4.7, DallasTemperature@3.8.1, EspSoftwareSerial@6.7.1, 582@1.0.0, RemoteDebug@3.0.5, Time@1.6 +lib_deps = HanReader@1.0.1, ArduinoJson@6.14.1, MQTT@2.4.7, DallasTemperature@3.8.1, EspSoftwareSerial@6.7.1, RemoteDebug@3.0.5, Time@1.6 [env:hw1esp12e] platform = espressif8266@2.5.1 diff --git a/src/web/AmsWebServer.cpp b/src/web/AmsWebServer.cpp index cf3bcada..d9c1c783 100644 --- a/src/web/AmsWebServer.cpp +++ b/src/web/AmsWebServer.cpp @@ -21,7 +21,7 @@ #include "root/delete_html.h" #include "root/reset_html.h" -#include "Base64.h" +#include "base64.h" AmsWebServer::AmsWebServer(RemoteDebug* Debug, HwTools* hw) { this->debugger = Debug; @@ -97,15 +97,9 @@ bool AmsWebServer::checkSecurity(byte level) { String providedPwd = server.header("Authorization"); providedPwd.replace("Basic ", ""); - char inputString[providedPwd.length()]; - providedPwd.toCharArray(inputString, providedPwd.length()+1); - int inputStringLength = sizeof(inputString); - int decodedLength = Base64.decodedLength(inputString, inputStringLength); - char decodedString[decodedLength]; - Base64.decode(decodedString, inputString, inputStringLength); - printD("Received auth: %s", decodedString); - access = String(decodedString).equals(expectedAuth); + String expectedBase64 = base64::encode(expectedAuth, expectedAuth.length()); + access = providedPwd.equals(expectedBase64); } if(!access) {