summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-splash/luasrc
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2015-01-22 21:52:04 +0100
committerJo-Philipp Wich <jow@openwrt.org>2015-01-22 21:57:00 +0100
commitfac02283137f6ff59363695bb07a3f9cec58e577 (patch)
tree5c3c00701d39cabc86858d270d159ffb08aa52a5 /applications/luci-app-splash/luasrc
parentb24dfd52ac4e45741bfe5049bf0f2e863ffffad2 (diff)
luci-app-splash: convert luci.sys.net.arptable() to luci.ip.neighbors()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Diffstat (limited to 'applications/luci-app-splash/luasrc')
-rw-r--r--applications/luci-app-splash/luasrc/controller/splash/splash.lua11
-rw-r--r--applications/luci-app-splash/luasrc/view/admin_status/splash.htm11
2 files changed, 17 insertions, 5 deletions
diff --git a/applications/luci-app-splash/luasrc/controller/splash/splash.lua b/applications/luci-app-splash/luasrc/controller/splash/splash.lua
index 97d0400822..a41015ea1a 100644
--- a/applications/luci-app-splash/luasrc/controller/splash/splash.lua
+++ b/applications/luci-app-splash/luasrc/controller/splash/splash.lua
@@ -25,9 +25,18 @@ end
function action_dispatch()
local uci = luci.model.uci.cursor_state()
- local mac = luci.sys.net.ip4mac(luci.http.getenv("REMOTE_ADDR")) or ""
+ local ipc = require "luci.ip"
+
+ local i, n
+ local mac = ""
local access = false
+ for i, n in ipairs(ipc.neighbors()) do
+ if n.mac and n.dest and n.dest:equal(luci.http.getenv("REMOTE_ADDR")) then
+ mac = n.mac
+ end
+ end
+
uci:foreach("luci_splash", "lease", function(s)
if s.mac and s.mac:lower() == mac then access = true end
end)
diff --git a/applications/luci-app-splash/luasrc/view/admin_status/splash.htm b/applications/luci-app-splash/luasrc/view/admin_status/splash.htm
index 67bb2fc49e..831fa75f65 100644
--- a/applications/luci-app-splash/luasrc/view/admin_status/splash.htm
+++ b/applications/luci-app-splash/luasrc/view/admin_status/splash.htm
@@ -9,6 +9,7 @@ local utl = require "luci.util"
local ipt = require "luci.sys.iptparser".IptParser()
local uci = require "luci.model.uci".cursor_state()
local wat = require "luci.tools.webadmin"
+local ipc = require "luci.ip"
local fs = require "nixio.fs"
local clients = { }
@@ -100,10 +101,12 @@ if fs.access(leasefile) then
end
end
-for i, a in ipairs(luci.sys.net.arptable()) do
- local c = clients[a["HW address"]:lower()]
- if c and not c.ip then
- c.ip = a["IP address"]
+for i, n in ipairs(ipc.neighbors({ family = 4 })) do
+ if n.mac and n.dest then
+ local c = clients[n.mac]
+ if c and not c.ip then
+ c.ip = n.dest:string()
+ end
end
end