modules/freifunk: Fix a problem that happened when ipv6 was not enabled by adding checks
This commit is contained in:
parent
1a2165b0bd
commit
56bff936e7
2 changed files with 74 additions and 57 deletions
|
@ -260,19 +260,29 @@ function public_status_json()
|
|||
local dr4 = sys.net.defaultroute()
|
||||
local dr6 = sys.net.defaultroute6()
|
||||
|
||||
if dr6 then
|
||||
def6 = {
|
||||
gateway = dr6.nexthop:string(),
|
||||
dest = dr6.dest:string(),
|
||||
dev = dr6.device,
|
||||
metr = dr6.metric }
|
||||
end
|
||||
|
||||
if dr4 then
|
||||
def4 = {
|
||||
gateway = dr4.gateway:string(),
|
||||
dest = dr4.dest:string(),
|
||||
dev = dr4.device,
|
||||
metr = dr4.metric }
|
||||
end
|
||||
|
||||
rv[#rv+1] = {
|
||||
time = os.date("%c"),
|
||||
uptime = twa.date_format(tonumber(sys.uptime())),
|
||||
load = string.format("%.2f, %.2f, %.2f", load1, load5, load15),
|
||||
mem = mem,
|
||||
defroutev4 = { gateway = dr4.gateway:string(),
|
||||
dest = dr4.dest:string(),
|
||||
dev = dr4.device,
|
||||
metr = dr4.metric },
|
||||
defroutev6 = { gateway = dr6.nexthop:string(),
|
||||
dest = dr6.dest:string(),
|
||||
dev = dr6.device,
|
||||
metr = dr6.metric }
|
||||
defroutev4 = def4,
|
||||
defroutev6 = def6
|
||||
}
|
||||
|
||||
luci.http.prepare_content("application/json")
|
||||
|
|
|
@ -133,59 +133,66 @@ local defroutev6 = sys.net.defaultroute6 ()
|
|||
u.innerHTML = st[i].mem;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v4dst');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev4.dest;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v4gw');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev4.gateway;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v4dev');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev4.dev;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v4metr');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev4.metr;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v6dst');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev6.dest;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v6gw');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev6.gateway;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v6dev');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev6.dev;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v6metr');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev6.metr;
|
||||
}
|
||||
|
||||
var u = document.getElementById('dyntime');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].time;
|
||||
}
|
||||
|
||||
if (st[i].defroutev4)
|
||||
{
|
||||
var u = document.getElementById('v4dst');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev4.dest;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v4gw');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev4.gateway;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v4dev');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev4.dev;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v4metr');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev4.metr;
|
||||
}
|
||||
}
|
||||
|
||||
if (st[i].defroutev6)
|
||||
{
|
||||
var u = document.getElementById('v6dst');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev6.dest;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v6gw');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev6.gateway;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v6dev');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev6.dev;
|
||||
}
|
||||
|
||||
var u = document.getElementById('v6metr');
|
||||
if (u)
|
||||
{
|
||||
u.innerHTML = st[i].defroutev6.metr;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
window.setTimeout(update_wifi_status, <%=interval%>);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue