summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-olsr
diff options
context:
space:
mode:
authorManuel Munz <freifunk@somakoma.de>2011-02-12 13:53:29 +0000
committerManuel Munz <freifunk@somakoma.de>2011-02-12 13:53:29 +0000
commit1f9e2e6e771a478d19a6629499d4bcf88721a024 (patch)
tree3309383e4d5225cf3cdc62af721b9ae25f8960fc /applications/luci-olsr
parent408a58f6f6b0d419bc6b81eb93f32c701e19118a (diff)
applications/luci-olsr: Add config option to disable resolving of IP addresses to names in status pages
Diffstat (limited to 'applications/luci-olsr')
-rw-r--r--applications/luci-olsr/luasrc/controller/olsr.lua41
-rw-r--r--applications/luci-olsr/luasrc/model/cbi/olsr/olsrddisplay.lua23
-rw-r--r--applications/luci-olsr/root/etc/config/luci_olsr2
3 files changed, 51 insertions, 15 deletions
diff --git a/applications/luci-olsr/luasrc/controller/olsr.lua b/applications/luci-olsr/luasrc/controller/olsr.lua
index f4d52c42d..c7c7f0141 100644
--- a/applications/luci-olsr/luasrc/controller/olsr.lua
+++ b/applications/luci-olsr/luasrc/controller/olsr.lua
@@ -10,39 +10,39 @@ function index()
local page = node("admin", "status", "olsr")
page.target = template("status-olsr/overview")
- page.title = "OLSR"
+ page.title = i18n("OLSR")
page.i18n = "olsr"
page.subindex = true
local page = node("admin", "status", "olsr", "neighbors")
page.target = call("action_neigh")
- page.title = i18n("Neighbors")
+ page.title = i18n("Neighbours")
page.subindex = true
page.order = 5
local page = node("admin", "status", "olsr", "routes")
page.target = call("action_routes")
- page.title = i18n("Routen")
+ page.title = i18n("Routes")
page.order = 10
local page = node("admin", "status", "olsr", "topology")
page.target = call("action_topology")
- page.title = i18n("Topologie")
+ page.title = i18n("Topology")
page.order = 20
local page = node("admin", "status", "olsr", "hna")
page.target = call("action_hna")
- page.title = "HNA"
+ page.title = i18n("HNA")
page.order = 30
local page = node("admin", "status", "olsr", "mid")
page.target = call("action_mid")
- page.title = "MID"
+ page.title = i18n("MID")
page.order = 50
local page = node("admin", "status", "olsr", "smartgw")
page.target = call("action_smartgw")
- page.title = "SmartGW"
+ page.title = i18n("SmartGW")
page.order = 60
local page = node("admin", "status", "olsr", "interfaces")
@@ -64,13 +64,19 @@ function index()
entry(
{"admin", "services", "olsrd", "hna"},
- cbi("olsr/olsrdhna"), "HNA Announcements"
+ cbi("olsr/olsrdhna"), i18n("HNA Announcements")
)
oplg = entry(
{"admin", "services", "olsrd", "plugins"},
- cbi("olsr/olsrdplugins"), "Plugins"
+ cbi("olsr/olsrdplugins"), i18n("Plugins")
)
+
+ odsp = entry(
+ {"admin", "services", "olsrd", "display"},
+ cbi("olsr/olsrddisplay"), i18n("Display")
+ )
+
oplg.i18n = "olsr"
oplg.leaf = true
oplg.subindex = true
@@ -227,6 +233,7 @@ end
function fetch_txtinfo(otable)
require("luci.sys")
local uci = require "luci.model.uci".cursor_state()
+ local resolve = uci:get("luci_olsr", "general", "resolve")
otable = otable or ""
local rawdata = luci.sys.httpget("http://127.0.0.1:2006/"..otable)
local rawdatav6 = luci.sys.httpget("http://[::1]:2006/"..otable)
@@ -260,9 +267,11 @@ function fetch_txtinfo(otable)
for k, key in pairs(keys) do
if key == "Remote IP" or key == "Dest. IP" or key == "Gateway IP" or key == "Gateway" then
data[name][di][key] = fields[k]
- hostname = nixio.getnameinfo(fields[k], "inet")
- if hostname then
- data[name][di]["Hostname"] = hostname
+ if resolve == "1" then
+ hostname = nixio.getnameinfo(fields[k], "inet")
+ if hostname then
+ data[name][di]["Hostname"] = hostname
+ end
end
if key == "Remote IP" and defaultgw then
if defaultgw == fields[k] then
@@ -320,9 +329,11 @@ function fetch_txtinfo(otable)
for k, key in pairs(keys) do
if key == "Remote IP" then
data[name][di][key] = "[" .. fields[k] .. "]"
- hostname = nixio.getnameinfo(fields[k], "inet6")
- if hostname then
- data[name][di]["Hostname"] = hostname
+ if resolve == "1" then
+ hostname = nixio.getnameinfo(fields[k], "inet6")
+ if hostname then
+ data[name][di]["Hostname"] = hostname
+ end
end
elseif key == "Local IP" then
data[name][di][key] = fields[k]
diff --git a/applications/luci-olsr/luasrc/model/cbi/olsr/olsrddisplay.lua b/applications/luci-olsr/luasrc/model/cbi/olsr/olsrddisplay.lua
new file mode 100644
index 000000000..48dc965c7
--- /dev/null
+++ b/applications/luci-olsr/luasrc/model/cbi/olsr/olsrddisplay.lua
@@ -0,0 +1,23 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2011 Manuel Munz <freifunk at somakoma de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+]]--
+
+m = Map("luci_olsr", translate("OLSR - Display Options"))
+
+s = m:section(TypedSection, "olsr")
+s.anonymous = true
+
+res = s:option(Flag, "resolve", translate("Resolve"),
+ translate("Resolve hostnames on status pages. It is generally safe to allow this, but if you use public IPs and have unstable DNS-Setup then those pages will load really slow. In this case disable it here."))
+res.default = "0"
+res.optional = true
+
+return m
diff --git a/applications/luci-olsr/root/etc/config/luci_olsr b/applications/luci-olsr/root/etc/config/luci_olsr
new file mode 100644
index 000000000..2dd4ffac1
--- /dev/null
+++ b/applications/luci-olsr/root/etc/config/luci_olsr
@@ -0,0 +1,2 @@
+config 'olsr' 'general'
+ option 'resolve' '1'