1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Manage the case when interface can't be binded in local API for status page

This commit is contained in:
Ycarus (Yannick Chabanois) 2024-07-16 09:50:31 +02:00
parent 643b87ec63
commit 462fbaae5a

View file

@ -1519,11 +1519,25 @@ function interfaces_status()
if serverip ~= "" then
local server_ping_test = sys.exec("ping -B -w 1 -c 1 -I " .. ifname .. " " .. serverip)
local server_ping_result = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | grep '100% packet loss'"))
local server_ping_nobind = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | grep 'Address not available'"))
if server_ping_result ~= "" then
server_ping = "DOWN"
if connectivity == "OK" then
connectivity = "WARNING"
end
elseif server_ping_nobind ~= "" then
server_ping_test = sys.exec("ping -w 1 -c 1 -I " .. ifname .. " " .. serverip)
server_ping_result = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | grep '100% packet loss'"))
if server_ping_result ~= "" then
server_ping = "DOWN"
if connectivity == "OK" then
connectivity = "WARNING"
end
else
mArray.openmptcprouter["vps_status"] = "UP"
server_ping = "UP"
latency = ut.trim(sys.exec("echo '" .. server_ping_test .. "' | cut -d '/' -s -f5 | cut -d '.' -f1"))
end
else
mArray.openmptcprouter["vps_status"] = "UP"
server_ping = "UP"