diff options
Diffstat (limited to 'applications/luci-app-olsr')
-rw-r--r-- | applications/luci-app-olsr/luasrc/controller/olsr.lua | 16 | ||||
-rw-r--r-- | applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm | 37 |
2 files changed, 33 insertions, 20 deletions
diff --git a/applications/luci-app-olsr/luasrc/controller/olsr.lua b/applications/luci-app-olsr/luasrc/controller/olsr.lua index 74deb716c4..cfadd9b7c7 100644 --- a/applications/luci-app-olsr/luasrc/controller/olsr.lua +++ b/applications/luci-app-olsr/luasrc/controller/olsr.lua @@ -80,12 +80,15 @@ end function action_json() local http = require "luci.http" local utl = require "luci.util" - local uci = require "luci.model.uci".cursor_state() + local uci = require "luci.model.uci".cursor() local jsonreq4 local jsonreq6 - jsonreq4 = utl.exec("echo /status | nc 127.0.0.1 9090") - jsonreq6 = utl.exec("echo /status | nc ::1 9090") + local v4_port = uci:get("olsrd", "olsrd_jsoninfo", "port") or 9090 + local v6_port = uci:get("olsrd6", "olsrd_jsoninfo", "port") or 9090 + + jsonreq4 = utl.exec("(echo /status | nc 127.0.0.1 " .. v4_port .. ") 2>/dev/null" ) + jsonreq6 = utl.exec("(echo /status | nc ::1 " .. v6_port .. ") 2>/dev/null") http.prepare_content("application/json") if not jsonreq4 or jsonreq4 == "" then jsonreq4 = "{}" @@ -368,8 +371,11 @@ function fetch_jsoninfo(otable) local IpVersion = uci:get_first("olsrd", "olsrd","IpVersion") local jsonreq4 = "" local jsonreq6 = "" - jsonreq4 = utl.exec("echo /" .. otable .. " | nc 127.0.0.1 9090") - jsonreq6 = utl.exec("echo /" .. otable .. " | nc ::1 9090") + local v4_port = uci:get("olsrd", "olsrd_jsoninfo", "port") or 9090 + local v6_port = uci:get("olsrd6", "olsrd_jsoninfo", "port") or 9090 + + jsonreq4 = utl.exec("(echo /" .. otable .. " | nc 127.0.0.1 " .. v4_port .. ") 2>/dev/null") + jsonreq6 = utl.exec("(echo /" .. otable .. " | nc ::1 " .. v6_port .. ") 2>/dev/null") local jsondata4 = {} local jsondata6 = {} local data4 = {} diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm index 0a81d17b46..fa32315280 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm @@ -6,7 +6,9 @@ -%> <% -local ipv = luci.model.uci.cursor():get_first("olsrd", "olsrd", "IpVersion", "4") + +has_ipv4_conf = luci.model.uci.cursor():get_first("olsrd", "olsrd", "IpVersion") +has_ipv6_conf = luci.model.uci.cursor():get_first("olsrd6", "olsrd", "IpVersion") function write_conf(conf, file) local fs = require "nixio.fs" @@ -19,23 +21,23 @@ end conf = luci.http.formvalue() -if conf.openwrt then +if conf.openwrt_v4 then write_conf("/etc/config/olsrd", "olsrd") return false end -if conf.conf_v4 then - write_conf("/var/etc/olsrd.conf.ipv4", "olsrd.conf.ipv4") +if conf.openwrt_v6 then + write_conf("/etc/config/olsrd6", "olsrd6") return false end -if conf.conf_v6 then - write_conf("/var/etc/olsrd.conf.ipv6", "olsrd.conf.ipv6") +if conf.conf_v4 then + write_conf("/var/etc/olsrd.conf", "olsrd.conf") return false end -if conf.conf then - write_conf("/var/etc/olsrd.conf", "olsrd.conf") +if conf.conf_v6 then + write_conf("/var/etc/olsrd6.conf", "olsrd6.conf") return false end @@ -200,13 +202,18 @@ XHR.poll(10, '<%=REQUEST_URI%>/json', { }, <span id="version">-<span> </td></tr> <tr><td width="33%"><%:Download Config%></td><td> - <a href="<%=REQUEST_URI%>?openwrt">OpenWrt</a>, - <% if ipv == "6and4" then %> - <a href="<%=REQUEST_URI%>?conf_v4">OLSRD IPv4</a>, - <a href="<%=REQUEST_URI%>?conf_v6">OLSRD IPv6</a> - <% else %> - <a href="<%=REQUEST_URI%>?conf">OLSRD</a> - <% end %> + <% if has_ipv4_conf then %> + <a href="<%=REQUEST_URI%>?openwrt_v4">OpenWrt (IPv4)</a>, + <% end %> + <% if has_ipv6_conf then %> + <a href="<%=REQUEST_URI%>?openwrt_v6">OpenWrt (IPv6)</a>, + <% end %> + <% if has_ipv4_conf then %> + <a href="<%=REQUEST_URI%>?conf_v4">OLSRD (IPv4)</a>, + <% end %> + <% if has_ipv6_conf then %> + <a href="<%=REQUEST_URI%>?conf_v6">OLSRD (IPv6)</a> + <% end %> </td></tr> </table> </fieldset> |