diff options
author | Manuel Munz <freifunk@somakoma.de> | 2011-02-12 13:53:29 +0000 |
---|---|---|
committer | Manuel Munz <freifunk@somakoma.de> | 2011-02-12 13:53:29 +0000 |
commit | 1f9e2e6e771a478d19a6629499d4bcf88721a024 (patch) | |
tree | 3309383e4d5225cf3cdc62af721b9ae25f8960fc /applications | |
parent | 408a58f6f6b0d419bc6b81eb93f32c701e19118a (diff) |
applications/luci-olsr: Add config option to disable resolving of IP addresses to names in status pages
Diffstat (limited to 'applications')
-rw-r--r-- | applications/luci-olsr/luasrc/controller/olsr.lua | 41 | ||||
-rw-r--r-- | applications/luci-olsr/luasrc/model/cbi/olsr/olsrddisplay.lua | 23 | ||||
-rw-r--r-- | applications/luci-olsr/root/etc/config/luci_olsr | 2 |
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' |