diff options
Diffstat (limited to 'applications/luci-app-upnp/luasrc/controller')
-rw-r--r-- | applications/luci-app-upnp/luasrc/controller/upnp.lua | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/applications/luci-app-upnp/luasrc/controller/upnp.lua b/applications/luci-app-upnp/luasrc/controller/upnp.lua index 95a0ef486..c4762434c 100644 --- a/applications/luci-app-upnp/luasrc/controller/upnp.lua +++ b/applications/luci-app-upnp/luasrc/controller/upnp.lua @@ -21,6 +21,8 @@ end function act_status() local uci = luci.model.uci.cursor() local lease_file = uci:get("upnpd", "config", "upnp_lease_file") + + local ipv4_hints = luci.sys.net.ipv4_hints() local ipt = io.popen("iptables --line-numbers -t nat -xnvL MINIUPNPD 2>/dev/null") if ipt then @@ -45,12 +47,22 @@ function act_status() if uln then descr = uln:match(string.format("^%s:%d:%s:%d:%%d*:(.*)$", proto:upper(), extport, intaddr, intport)) end if not descr then descr = "" end end + + local host_hint, _, e + + for _,e in pairs(ipv4_hints) do + if e[1] == intaddr then + host_hint = e[2] + break + end + end fwd[#fwd+1] = { num = num, proto = proto:upper(), extport = extport, intaddr = intaddr, + host_hint = host_hint, intport = intport, descr = descr } |