Skip to content

Commit eb8924a

Browse files
committed
0.8.149
* fix redirect after login with newest webserver version
1 parent 6815b7d commit eb8924a

File tree

3 files changed

+27
-20
lines changed

3 files changed

+27
-20
lines changed

src/CHANGES.md

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## 0.8.149 - 2024-10-01
44
* fixed send power limit #1757
55
* merged: Fix minor typos #1758
6+
* fix redirect after login with newest webserver version
67

78
## 0.8.148 - 2024-09-30
89
* fixed send power limit #1757

src/platformio.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ platform = [email protected]
154154
board = lolin_d32
155155
lib_deps =
156156
${env.lib_deps}
157-
https://github.com/mathieucarbou/ESPAsyncWebServer#v3.2.4
157+
https://github.com/mathieucarbou/ESPAsyncWebServer#v3.3.7
158158
build_flags = ${env.build_flags}
159159
-DSPI_HAL
160160
monitor_filters =

src/web/web.h

+25-19
Original file line numberDiff line numberDiff line change
@@ -216,31 +216,36 @@ class Web {
216216
}
217217

218218
private:
219-
inline void checkRedirect(AsyncWebServerRequest *request) {
220-
if ((mConfig->sys.protectionMask & PROT_MASK_INDEX) != PROT_MASK_INDEX)
221-
request->redirect(F("/index"));
222-
else if ((mConfig->sys.protectionMask & PROT_MASK_LIVE) != PROT_MASK_LIVE)
223-
request->redirect(F("/live"));
224-
else if ((mConfig->sys.protectionMask & PROT_MASK_HISTORY) != PROT_MASK_HISTORY)
225-
request->redirect(F("/history"));
226-
else if ((mConfig->sys.protectionMask & PROT_MASK_SERIAL) != PROT_MASK_SERIAL)
227-
request->redirect(F("/serial"));
228-
else if ((mConfig->sys.protectionMask & PROT_MASK_SYSTEM) != PROT_MASK_SYSTEM)
229-
request->redirect(F("/system"));
230-
else
231-
request->redirect(F("/login"));
232-
}
233-
234-
void checkProtection(AsyncWebServerRequest *request) {
219+
bool checkProtection(AsyncWebServerRequest *request) {
235220
if(mApp->isProtected(request->client()->remoteIP().toString().c_str(), "", true)) {
236-
checkRedirect(request);
237-
return;
221+
if ((mConfig->sys.protectionMask & PROT_MASK_INDEX) != PROT_MASK_INDEX) {
222+
request->redirect(F("/index"));
223+
return true;
224+
} else if ((mConfig->sys.protectionMask & PROT_MASK_LIVE) != PROT_MASK_LIVE) {
225+
request->redirect(F("/live"));
226+
return true;
227+
} else if ((mConfig->sys.protectionMask & PROT_MASK_HISTORY) != PROT_MASK_HISTORY) {
228+
request->redirect(F("/history"));
229+
return true;
230+
} else if ((mConfig->sys.protectionMask & PROT_MASK_SERIAL) != PROT_MASK_SERIAL) {
231+
request->redirect(F("/serial"));
232+
return true;
233+
} else if ((mConfig->sys.protectionMask & PROT_MASK_SYSTEM) != PROT_MASK_SYSTEM) {
234+
request->redirect(F("/system"));
235+
return true;
236+
} else {
237+
request->redirect(F("/login"));
238+
return true;
239+
}
238240
}
241+
242+
return false;
239243
}
240244

241245
void getPage(AsyncWebServerRequest *request, uint16_t mask, const uint8_t *zippedHtml, uint32_t len) {
242246
if (CHECK_MASK(mConfig->sys.protectionMask, mask))
243-
checkProtection(request);
247+
if(checkProtection(request))
248+
return;
244249

245250
AsyncWebServerResponse *response = beginResponse(request, 200, F("text/html; charset=UTF-8"), zippedHtml, len);
246251
response->addHeader(F("Content-Encoding"), "gzip");
@@ -337,6 +342,7 @@ class Web {
337342
if (String(request->arg("pwd")) == String(mConfig->sys.adminPwd)) {
338343
mApp->unlock(request->client()->remoteIP().toString().c_str(), true);
339344
request->redirect("/index");
345+
return;
340346
}
341347
}
342348

0 commit comments

Comments
 (0)