From ac594c19fa136dffa2e225700addade4637a956b Mon Sep 17 00:00:00 2001 From: James Golovich Date: Sun, 1 Apr 2018 15:41:10 -0700 Subject: [PATCH 1/3] Set default name in Config.h This also sets the default Realm in HTTP Authentication to the name, instead of using the default asyncesp --- src/BrewPiLess.cpp | 24 ++++++++++++------------ src/Config.h | 4 ++++ src/WiFiSetup.h | 2 +- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/BrewPiLess.cpp b/src/BrewPiLess.cpp index 4dd8f6375..562d5223b 100644 --- a/src/BrewPiLess.cpp +++ b/src/BrewPiLess.cpp @@ -85,10 +85,10 @@ extern "C" { /**************************************************************************************/ static const char DefaultConfiguration[] PROGMEM = R"END( -{"name":"brewpiless", -"user":"brewpiless", -"pass":"brewpiless", -"title":"brewpiless", +{"name":DEFAULT_NAME, +"user":DEFAULT_USERNAME, +"pass":DEFAULT_PASS, +"title":DEFAULT_NAME, "protect":0, "wifi":1, "ip":"0.0.0.0", @@ -427,7 +427,7 @@ class BrewPiWebHandler: public AsyncWebHandler else if(request->method() == HTTP_GET && request->url() == CONFIG_PATH){ request->redirect(request->url() + ".htm"); }else if(request->method() == HTTP_POST && request->url() == CONFIG_PATH){ - if(!request->authenticate(username, password)) + if(!request->authenticate(username, password,DEFAULT_NAME)) return request->requestAuthentication(); if(request->hasParam("data", true)){ @@ -476,22 +476,22 @@ class BrewPiWebHandler: public AsyncWebHandler request->send(200,"application/json","{}"); }else if(request->method() == HTTP_GET && request->url() == RESETWIFI_PATH){ - if(!request->authenticate(username, password)) + if(!request->authenticate(username, password,DEFAULT_NAME)) return request->requestAuthentication(); request->send(200,"text/html","Done, restarting.."); requestRestart(true); }else if(request->method() == HTTP_POST && request->url() == FLIST_PATH){ - if(!request->authenticate(username, password)) + if(!request->authenticate(username, password,DEFAULT_NAME)) return request->requestAuthentication(); handleFileList(request); }else if(request->method() == HTTP_DELETE && request->url() == DELETE_PATH){ - if(!request->authenticate(username, password)) + if(!request->authenticate(username, password,DEFAULT_NAME)) return request->requestAuthentication(); handleFileDelete(request); }else if(request->method() == HTTP_POST && request->url() == FPUTS_PATH){ - if(!request->authenticate(username, password)) + if(!request->authenticate(username, password,DEFAULT_NAME)) return request->requestAuthentication(); handleFilePuts(request); @@ -538,7 +538,7 @@ class BrewPiWebHandler: public AsyncWebHandler #endif #if AUTO_CAP else if(request->url() == CAPPER_PATH){ - if(!request->authenticate(username, password)) + if(!request->authenticate(username, password,DEFAULT_NAME)) return request->requestAuthentication(); // auto cap. bool response=true; @@ -584,7 +584,7 @@ class BrewPiWebHandler: public AsyncWebHandler } } - if(auth && !request->authenticate(username, password)) + if(auth && !request->authenticate(username, password,DEFAULT_NAME)) return request->requestAuthentication(); sendFile(request,path); //request->send(SPIFFS, path); @@ -1031,7 +1031,7 @@ class ExternalDataHandler:public AsyncWebHandler if(length ==0) return request->send(500);; uint8_t error; - if(externalData.processJSON(data,length,request->authenticate(username, password),error)){ + if(externalData.processJSON(data,length,request->authenticate(username, password,DEFAULT_NAME),error)){ request->send(200,"application/json","{}"); }else{ if(error == ErrorAuthenticateNeeded) return request->requestAuthentication(); diff --git a/src/Config.h b/src/Config.h index 6da2cc693..5ddbb941e 100644 --- a/src/Config.h +++ b/src/Config.h @@ -396,6 +396,10 @@ #define EMIWorkaround 1 #define BPL_VERSION "2.7" +#define DEFAULT_NAME "brewpiless" +#define DEFAULT_USERNAME DEFAULT_NAME +#define DEFAULT_PASS DEFAULT_NAME + #ifndef EanbleParasiteTempControl #define EanbleParasiteTempControl 0 diff --git a/src/WiFiSetup.h b/src/WiFiSetup.h index 6b1b501b4..c9748dd34 100644 --- a/src/WiFiSetup.h +++ b/src/WiFiSetup.h @@ -21,7 +21,7 @@ class WiFiSetupClass // void preInit(void); void setNetwork(WiFiMode mode,IPAddress ip,IPAddress gw,IPAddress mask); - void begin(void){begin("brewpiless");} + void begin(void){begin(DEFAULT_NAME);} void begin(char const *ssid,const char *passwd=NULL); void beginAP(char const *ssid,const char *passwd=NULL); From 11e85c7092e5a4a4b6f4d44161bcc5839d928066 Mon Sep 17 00:00:00 2001 From: James Golovich Date: Mon, 9 Apr 2018 22:52:31 -0700 Subject: [PATCH 2/3] Make sure the realm is actually passed to the client Missed merging this chunk before --- src/BrewPiLess.cpp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/BrewPiLess.cpp b/src/BrewPiLess.cpp index 562d5223b..5b5ffd999 100644 --- a/src/BrewPiLess.cpp +++ b/src/BrewPiLess.cpp @@ -407,8 +407,8 @@ class BrewPiWebHandler: public AsyncWebHandler String data=request->getParam("data", true, false)->value(); //DBG_PRINTF("putline:%s\n",data.c_str()); - if(data.startsWith("j") && !request->authenticate(username, password)) - return request->requestAuthentication(); + if(data.startsWith("j") && !request->authenticate(username, password, DEFAULT_NAME)) + return request->requestAuthentication(DEFAULT_NAME); brewPi.putLine(data.c_str()); request->send(200,"application/json","{}"); @@ -427,8 +427,8 @@ class BrewPiWebHandler: public AsyncWebHandler else if(request->method() == HTTP_GET && request->url() == CONFIG_PATH){ request->redirect(request->url() + ".htm"); }else if(request->method() == HTTP_POST && request->url() == CONFIG_PATH){ - if(!request->authenticate(username, password,DEFAULT_NAME)) - return request->requestAuthentication(); + if(!request->authenticate(username, password, DEFAULT_NAME)) + return request->requestAuthentication(DEFAULT_NAME); if(request->hasParam("data", true)){ @@ -472,27 +472,27 @@ class BrewPiWebHandler: public AsyncWebHandler AsyncWebParameter* tvalue = request->getParam("off", true); DBG_PRINTF("Set timezone:%ld\n",tvalue->value().toInt()); TimeKeeper.setTimezoneOffset(tvalue->value().toInt()); - } + } request->send(200,"application/json","{}"); - + }else if(request->method() == HTTP_GET && request->url() == RESETWIFI_PATH){ - if(!request->authenticate(username, password,DEFAULT_NAME)) - return request->requestAuthentication(); + if(!request->authenticate(username, password, DEFAULT_NAME)) + return request->requestAuthentication(DEFAULT_NAME); request->send(200,"text/html","Done, restarting.."); requestRestart(true); }else if(request->method() == HTTP_POST && request->url() == FLIST_PATH){ - if(!request->authenticate(username, password,DEFAULT_NAME)) - return request->requestAuthentication(); + if(!request->authenticate(username, password, DEFAULT_NAME)) + return request->requestAuthentication(DEFAULT_NAME); handleFileList(request); }else if(request->method() == HTTP_DELETE && request->url() == DELETE_PATH){ - if(!request->authenticate(username, password,DEFAULT_NAME)) - return request->requestAuthentication(); + if(!request->authenticate(username, password, DEFAULT_NAME)) + return request->requestAuthentication(DEFAULT_NAME); handleFileDelete(request); }else if(request->method() == HTTP_POST && request->url() == FPUTS_PATH){ - if(!request->authenticate(username, password,DEFAULT_NAME)) - return request->requestAuthentication(); + if(!request->authenticate(username, password, DEFAULT_NAME)) + return request->requestAuthentication(DEFAULT_NAME); handleFilePuts(request); }else if(request->method() == HTTP_GET && request->url() == GETSTATUS_PATH){ @@ -538,8 +538,8 @@ class BrewPiWebHandler: public AsyncWebHandler #endif #if AUTO_CAP else if(request->url() == CAPPER_PATH){ - if(!request->authenticate(username, password,DEFAULT_NAME)) - return request->requestAuthentication(); + if(!request->authenticate(username, password, DEFAULT_NAME)) + return request->requestAuthentication(DEFAULT_NAME); // auto cap. bool response=true; if(request->hasParam("cap")){ @@ -584,8 +584,8 @@ class BrewPiWebHandler: public AsyncWebHandler } } - if(auth && !request->authenticate(username, password,DEFAULT_NAME)) - return request->requestAuthentication(); + if(auth && !request->authenticate(username, password, DEFAULT_NAME)) + return request->requestAuthentication(DEFAULT_NAME); sendFile(request,path); //request->send(SPIFFS, path); } @@ -1031,10 +1031,10 @@ class ExternalDataHandler:public AsyncWebHandler if(length ==0) return request->send(500);; uint8_t error; - if(externalData.processJSON(data,length,request->authenticate(username, password,DEFAULT_NAME),error)){ + if(externalData.processJSON(data,length,request->authenticate(username, password, DEFAULT_NAME),error)){ request->send(200,"application/json","{}"); }else{ - if(error == ErrorAuthenticateNeeded) return request->requestAuthentication(); + if(error == ErrorAuthenticateNeeded) return request->requestAuthentication(DEFAULT_NAME); else request->send(500); } } From 55d2cad3b5d0027ba462bc325a5d944d863c4b03 Mon Sep 17 00:00:00 2001 From: James Golovich Date: Mon, 9 Apr 2018 22:59:59 -0700 Subject: [PATCH 3/3] Revert default config for now Didn't properly test on a new setup. --- src/BrewPiLess.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/BrewPiLess.cpp b/src/BrewPiLess.cpp index 5b5ffd999..67ea8509a 100644 --- a/src/BrewPiLess.cpp +++ b/src/BrewPiLess.cpp @@ -85,10 +85,10 @@ extern "C" { /**************************************************************************************/ static const char DefaultConfiguration[] PROGMEM = R"END( -{"name":DEFAULT_NAME, -"user":DEFAULT_USERNAME, -"pass":DEFAULT_PASS, -"title":DEFAULT_NAME, +{"name":"brewpiless", +"user":"brewpiless", +"pass":"brewpiless", +"title":"brewpiless", "protect":0, "wifi":1, "ip":"0.0.0.0",