Bladeren bron

[web]fix func HTTP_NoFound

balbekova 4 jaren geleden
bovenliggende
commit
90b590edef
2 gewijzigde bestanden met toevoegingen van 27 en 13 verwijderingen
  1. 12 5
      modules/HTTP_Server/http_server.c
  2. 15 8
      modules/HTTP_Server/my_ssl_server.c

+ 12 - 5
modules/HTTP_Server/http_server.c

@@ -1221,15 +1221,22 @@ char *HTTP_GetRequest(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t lenBu
 char *HTTP_NoFound(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut)
 {
     (void)bufIn;
-    (void)bufOut;
     (void)lenBufIn;
     (void)reqNum;
+    if (Authenticated) {
 #ifdef HTTP_AUTH_ENABLE
-    HTTP_UpdateUserLoginTime(user_id);
+        HTTP_UpdateUserLoginTime(user_id);
 #endif
-    fs_open("/index.html", &file); // +
-    *lenBufOut = file.len;
-    return file.data;
+        fs_open("/index.html", &file); // +
+        *lenBufOut = file.len;
+        return file.data;
+    } else {
+        strcpy(bufOut, HTTP_401_NO_AUTH);
+        strcat(bufOut,
+        "<!DOCTYPE html><html lang=""><head><meta http-equiv=\"refresh\" content=\"0;url=/login.html\"/></head></html>\r\n");
+        *lenBufOut = strlen(bufOut);
+        return bufOut;
+    }
 }
 
 

+ 15 - 8
modules/HTTP_Server/my_ssl_server.c

@@ -1595,16 +1595,23 @@ char *HTTP_GetRequest(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t lenBu
 
 char* HTTP_NoFound(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut)
 {
-	(void)bufIn;
-	(void)bufOut;
-	(void)lenBufIn;
-  (void)reqNum;
+    (void)bufIn;
+    (void)lenBufIn;
+    (void)reqNum;
+    if (Authenticated) {
 #ifdef HTTP_AUTH_ENABLE
-  HTTP_UpdateUserLoginTime(user_id);
+        HTTP_UpdateUserLoginTime(user_id);
 #endif
-	fs_open("/index.html", &file); // +
-	*lenBufOut = file.len;
-	return file.data;
+        fs_open("/index.html", &file); // +
+        *lenBufOut = file.len;
+        return file.data;
+    } else {
+        strcpy(bufOut, HTTP_401_NO_AUTH);
+        strcat(bufOut,
+        "<!DOCTYPE html><html lang=""><head><meta http-equiv=\"refresh\" content=\"0;url=/login.html\"/></head></html>\r\n");
+        *lenBufOut = strlen(bufOut);
+        return bufOut;
+    }
 }
 
 /**