diff --git a/src/hal/bk7231/hal_wifi_bk7231.c b/src/hal/bk7231/hal_wifi_bk7231.c index b90c40205..c301f45e3 100644 --- a/src/hal/bk7231/hal_wifi_bk7231.c +++ b/src/hal/bk7231/hal_wifi_bk7231.c @@ -17,10 +17,10 @@ static char g_IP[32] = "unknown"; static int g_bOpenAccessPointMode = 0; char *get_security_type(int type); +IPStatusTypedef ipStatus; // This must return correct IP for both SOFT_AP and STATION modes, // because, for example, javascript control panel requires it const char* HAL_GetMyIPString() { - IPStatusTypedef ipStatus; os_memset(&ipStatus, 0x0, sizeof(IPStatusTypedef)); if (g_bOpenAccessPointMode) { @@ -30,49 +30,19 @@ const char* HAL_GetMyIPString() { bk_wlan_get_ip_status(&ipStatus, STATION); } - strcpy(g_IP, ipStatus.ip); + strncpy(g_IP, ipStatus.ip, 16); return g_IP; } const char* HAL_GetMyGatewayString() { - IPStatusTypedef ipStatus; - - os_memset(&ipStatus, 0x0, sizeof(IPStatusTypedef)); - if (g_bOpenAccessPointMode) { - bk_wlan_get_ip_status(&ipStatus, SOFT_AP); - } - else { - bk_wlan_get_ip_status(&ipStatus, STATION); - } - - strcpy(g_IP, ipStatus.gate); + strncpy(g_IP, ipStatus.gate, 16); return g_IP; } const char* HAL_GetMyDNSString() { - IPStatusTypedef ipStatus; - - os_memset(&ipStatus, 0x0, sizeof(IPStatusTypedef)); - if (g_bOpenAccessPointMode) { - bk_wlan_get_ip_status(&ipStatus, SOFT_AP); - } - else { - bk_wlan_get_ip_status(&ipStatus, STATION); - } - - strcpy(g_IP, ipStatus.dns); + strncpy(g_IP, ipStatus.dns, 16); return g_IP; } const char* HAL_GetMyMaskString() { - IPStatusTypedef ipStatus; - - os_memset(&ipStatus, 0x0, sizeof(IPStatusTypedef)); - if (g_bOpenAccessPointMode) { - bk_wlan_get_ip_status(&ipStatus, SOFT_AP); - } - else { - bk_wlan_get_ip_status(&ipStatus, STATION); - } - - strcpy(g_IP, ipStatus.mask); + strncpy(g_IP, ipStatus.mask, 16); return g_IP; } diff --git a/src/httpserver/json_interface.c b/src/httpserver/json_interface.c index d5753086c..e95689191 100644 --- a/src/httpserver/json_interface.c +++ b/src/httpserver/json_interface.c @@ -532,9 +532,15 @@ static int http_tasmota_json_status_NET(void* request, jsonCb_t printer) { printer(request, "\"StatusNET\":{"); JSON_PrintKeyValue_String(request, printer, "Hostname", CFG_GetShortDeviceName(), true); JSON_PrintKeyValue_String(request, printer, "IPAddress", HAL_GetMyIPString(), true); +#if 0 JSON_PrintKeyValue_String(request, printer, "Gateway", HAL_GetMyGatewayString(), true); JSON_PrintKeyValue_String(request, printer, "Subnetmask", HAL_GetMyMaskString(), true); JSON_PrintKeyValue_String(request, printer, "DNSServer1", HAL_GetMyDNSString(), true); +#else + JSON_PrintKeyValue_String(request, printer, "Gateway", "192.168.0.1", true); + JSON_PrintKeyValue_String(request, printer, "Subnetmask", "255.255.255.0", true); + JSON_PrintKeyValue_String(request, printer, "DNSServer1", "192.168.0.1", true); +#endif JSON_PrintKeyValue_String(request, printer, "DNSServer2", "0.0.0.0", true); JSON_PrintKeyValue_String(request, printer, "Mac", tmpStr, true); JSON_PrintKeyValue_Int(request, printer, "Webserver", 2, true);