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 dr4 = sys.net.defaultroute()
|
||||||
local dr6 = sys.net.defaultroute6()
|
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] = {
|
rv[#rv+1] = {
|
||||||
time = os.date("%c"),
|
time = os.date("%c"),
|
||||||
uptime = twa.date_format(tonumber(sys.uptime())),
|
uptime = twa.date_format(tonumber(sys.uptime())),
|
||||||
load = string.format("%.2f, %.2f, %.2f", load1, load5, load15),
|
load = string.format("%.2f, %.2f, %.2f", load1, load5, load15),
|
||||||
mem = mem,
|
mem = mem,
|
||||||
defroutev4 = { gateway = dr4.gateway:string(),
|
defroutev4 = def4,
|
||||||
dest = dr4.dest:string(),
|
defroutev6 = def6
|
||||||
dev = dr4.device,
|
|
||||||
metr = dr4.metric },
|
|
||||||
defroutev6 = { gateway = dr6.nexthop:string(),
|
|
||||||
dest = dr6.dest:string(),
|
|
||||||
dev = dr6.device,
|
|
||||||
metr = dr6.metric }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
luci.http.prepare_content("application/json")
|
luci.http.prepare_content("application/json")
|
||||||
|
|
|
@ -133,59 +133,66 @@ local defroutev6 = sys.net.defaultroute6 ()
|
||||||
u.innerHTML = st[i].mem;
|
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');
|
var u = document.getElementById('dyntime');
|
||||||
if (u)
|
if (u)
|
||||||
{
|
{
|
||||||
u.innerHTML = st[i].time;
|
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%>);
|
window.setTimeout(update_wifi_status, <%=interval%>);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue