mirror of
https://github.com/pvvx/RTL00_WEB.git
synced 2025-07-31 20:31:05 +00:00
update
This commit is contained in:
parent
163c8c1876
commit
5657871f02
23 changed files with 168 additions and 28 deletions
|
|
@ -101,8 +101,8 @@ typedef struct
|
|||
WS_FRSTAT ws; // параметры websoc
|
||||
#endif
|
||||
#if USE_WEB_AUTH_LEVEL
|
||||
uint8 auth_level; // Уровень авторизации по паролю
|
||||
uint8 auth_realm; // Требуемый уровень авторизации (минимальный уровень)
|
||||
uint8 auth_level; // Уровень авторизации пользователя по паролю WEB_AUTH_LEVEL_TYPE
|
||||
uint8 auth_realm; // Требуемый уровень авторизации (минимальный уровень) WEB_AUTH_LEVEL_TYPE
|
||||
#endif
|
||||
uint8 fileType; // File type to return with Content-Type (if SCB_FCALBACK)
|
||||
} WEB_SRV_CONN;
|
||||
|
|
|
|||
|
|
@ -14,11 +14,13 @@
|
|||
#include "netbios/netbios.h"
|
||||
#include "sntp/sntp.h"
|
||||
#include "user/sys_cfg.h"
|
||||
#include "wifi_api.h"
|
||||
#include "web/web_srv.h"
|
||||
#include "webfs/webfs.h"
|
||||
|
||||
struct SystemCfg syscfg = {
|
||||
.cfg.w = SYS_CFG_DEBUG_ENA
|
||||
| SYS_CFG_PIN_CLR_ENA
|
||||
#if defined(USE_NETBIOS) && USE_NETBIOS
|
||||
| SYS_CFG_NETBIOS_ENA
|
||||
#endif
|
||||
|
|
@ -59,7 +61,11 @@ void sys_write_cfg(void)
|
|||
|
||||
void user_init_thrd(void) {
|
||||
|
||||
flash_read_cfg(&syscfg, FEEP_ID_SYS_CFG, sizeof(syscfg));
|
||||
if(syscfg.cfg.b.pin_clear_cfg_enable
|
||||
&& 0) { // user_test_clear_pin()
|
||||
wifi_cfg.load_flg = 0;
|
||||
}
|
||||
else flash_read_cfg(&syscfg, FEEP_ID_SYS_CFG, sizeof(syscfg));
|
||||
|
||||
if(!syscfg.cfg.b.debug_print_enable) print_off = 1;
|
||||
|
||||
|
|
|
|||
|
|
@ -358,15 +358,24 @@ void ICACHE_FLASH_ATTR web_int_callback(TCP_SERV_CONN *ts_conn, uint8 *cstr)
|
|||
#endif
|
||||
ifcmp("start") tcp_puts("0x%08x", web_conn->udata_start);
|
||||
else ifcmp("stop") tcp_puts("0x%08x", web_conn->udata_stop);
|
||||
#if USE_WEB_AUTH_LEVEL
|
||||
else ifcmp("realm") tcp_puts("%u", web_conn->auth_realm);
|
||||
else ifcmp("auth") tcp_puts("%u", web_conn->auth_level);
|
||||
#endif
|
||||
else ifcmp("xml_") {
|
||||
cstr+=4;
|
||||
ifcmp("scan") web_wscan_xml(ts_conn);
|
||||
#if WEB_DEBUG_FUNCTIONS
|
||||
#if USE_WEB_AUTH_LEVEL
|
||||
if(web_conn->auth_level < WEB_AUTH_LEVEL_USER) return;
|
||||
#endif
|
||||
else {
|
||||
web_conn->udata_start&=~3;
|
||||
ifcmp("ram") tcp_puts("0x%08x", *((uint32*)web_conn->udata_start));
|
||||
else tcp_put('?');
|
||||
web_conn->udata_start += 4;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else ifcmp("sys_") {
|
||||
cstr+=4;
|
||||
|
|
@ -394,7 +403,12 @@ void ICACHE_FLASH_ATTR web_int_callback(TCP_SERV_CONN *ts_conn, uint8 *cstr)
|
|||
else ifcmp("clkcpu") tcp_puts("%u", HalGetCpuClk());
|
||||
else ifcmp("debug") tcp_put('1' - (print_off & 1)); // rtl_print on/off
|
||||
#if WEB_DEBUG_FUNCTIONS
|
||||
else ifcmp("restart") web_conn->web_disc_cb = (web_func_disc_cb)sys_reset;
|
||||
else ifcmp("restart") {
|
||||
#if USE_WEB_AUTH_LEVEL
|
||||
if(web_conn->auth_level < WEB_AUTH_LEVEL_USER) return;
|
||||
#endif
|
||||
web_conn->web_disc_cb = (web_func_disc_cb)sys_reset;
|
||||
}
|
||||
else ifcmp("ram") tcp_puts("0x%08x", *((uint32 *)(ahextoul(cstr+3)&(~3))));
|
||||
else ifcmp("rdec") tcp_puts("%d", *((uint32 *)(ahextoul(cstr+4)&(~3))));
|
||||
#endif // #if WEB_DEBUG_FUNCTIONS
|
||||
|
|
@ -519,6 +533,9 @@ void ICACHE_FLASH_ATTR web_int_callback(TCP_SERV_CONN *ts_conn, uint8 *cstr)
|
|||
#endif
|
||||
}
|
||||
else ifcmp("bin_") {
|
||||
#if USE_WEB_AUTH_LEVEL
|
||||
if(web_conn->auth_level < WEB_AUTH_LEVEL_USER) return;
|
||||
#endif
|
||||
cstr+=4;
|
||||
ifcmp("flash") {
|
||||
cstr+=5;
|
||||
|
|
@ -553,6 +570,9 @@ void ICACHE_FLASH_ATTR web_int_callback(TCP_SERV_CONN *ts_conn, uint8 *cstr)
|
|||
}
|
||||
#if WEB_DEBUG_FUNCTIONS
|
||||
else ifcmp("hexdmp") {
|
||||
#if USE_WEB_AUTH_LEVEL
|
||||
if(web_conn->auth_level < WEB_AUTH_LEVEL_USER) return;
|
||||
#endif
|
||||
if(cstr[6]=='d') ts_conn->flag.user_option1 = 1;
|
||||
else ts_conn->flag.user_option1 = 0;
|
||||
web_hexdump(ts_conn);
|
||||
|
|
|
|||
|
|
@ -83,6 +83,14 @@ void ICACHE_FLASH_ATTR web_int_vars(TCP_SERV_CONN *ts_conn, uint8 *pcmd, uint8 *
|
|||
#endif
|
||||
ifcmp("start") web_conn->udata_start = val;
|
||||
else ifcmp("stop") web_conn->udata_stop = val;
|
||||
#if USE_WEB_AUTH_LEVEL
|
||||
else ifcmp("user") web_conn->auth_level = UserAuthorization(pvar, strlen(pvar));
|
||||
else if(web_conn->auth_level < WEB_AUTH_LEVEL_USER) {
|
||||
if(!web_conn->auth_realm) web_conn->auth_realm = WEB_AUTH_LEVEL_USER;
|
||||
SetSCB(SCB_AUTH);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#if WEB_DEBUG_FUNCTIONS
|
||||
else ifcmp("sys_") {
|
||||
cstr+=4;
|
||||
|
|
@ -236,6 +244,12 @@ void ICACHE_FLASH_ATTR web_int_vars(TCP_SERV_CONN *ts_conn, uint8 *pcmd, uint8 *
|
|||
os_memcpy(lwip_host_name[1], pvar, len);
|
||||
}
|
||||
netbios_set_name(WLAN_AP_NETIF_NUM, lwip_host_name[1]);
|
||||
if(wifi_cfg.save_flg & BID_AP_HOSTNAME) {
|
||||
WEB_SRV_QFNK x;
|
||||
x.fnk = write_wifi_cfg;
|
||||
x.param = BID_AP_HOSTNAME;
|
||||
xQueueSendToBack(xQueueWebSrv, &x, 0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
else ifcmp("dhcp") wifi_ap_dhcp.mode = val;
|
||||
|
|
@ -287,6 +301,12 @@ void ICACHE_FLASH_ATTR web_int_vars(TCP_SERV_CONN *ts_conn, uint8 *pcmd, uint8 *
|
|||
os_memcpy(lwip_host_name[0], pvar, len);
|
||||
netbios_set_name(WLAN_ST_NETIF_NUM, lwip_host_name[0]);
|
||||
}
|
||||
if(wifi_cfg.save_flg & BID_ST_HOSTNAME) {
|
||||
WEB_SRV_QFNK x;
|
||||
x.fnk = write_wifi_cfg;
|
||||
x.param = BID_ST_HOSTNAME;
|
||||
xQueueSendToBack(xQueueWebSrv, &x, 0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
else ifcmp("dhcp") wifi_st_dhcp.mode = val;
|
||||
|
|
|
|||
|
|
@ -442,7 +442,10 @@ web_parse_fname(HTTP_CONN *CurHTTP, TCP_SERV_CONN *ts_conn)
|
|||
if(pcmp != NULL) {
|
||||
WEB_SRV_CONN *web_conn = (WEB_SRV_CONN *)ts_conn->linkd;
|
||||
#if USE_WEB_AUTH_LEVEL
|
||||
web_conn->auth_realm = WEB_AUTH_LEVEL_USER;
|
||||
pcmp += sizeof(ProtectedFilesName) - 1;
|
||||
web_conn->auth_realm = atoi(pcmp) + 1;
|
||||
printf("[%s] ar%d ", pcmp, web_conn->auth_realm);
|
||||
// web_conn->auth_realm = WEB_AUTH_LEVEL_USER;
|
||||
#endif
|
||||
SetSCB(SCB_AUTH);
|
||||
}
|
||||
|
|
@ -846,6 +849,10 @@ LOCAL bool ICACHE_FLASH_ATTR webserver_open_file(HTTP_CONN *CurHTTP, TCP_SERV_CO
|
|||
if(rom_xstrcmp(pstr, web_cgi_fname)) {
|
||||
web_inc_fp(web_conn, WEBFS_WEBCGI_HANDLE);
|
||||
web_conn->content_len = sizeHTTPdefault;
|
||||
#if USE_WEB_AUTH_LEVEL
|
||||
// web_conn->auth_realm = WEB_AUTH_LEVEL_USER;
|
||||
// SetSCB(SCB_AUTH);
|
||||
#endif
|
||||
CurHTTP->fileType = HTTP_HTML;
|
||||
#if DEBUGSOO > 1
|
||||
os_printf("of%d[%s] ", web_conn->webfile, CurHTTP->pFilename);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue