summaryrefslogtreecommitdiffhomepage
path: root/applications
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2009-07-10 22:45:50 +0000
committerJo-Philipp Wich <jow@openwrt.org>2009-07-10 22:45:50 +0000
commita29c4ce658fbdcc1d507646b14b22de0cf4890fc (patch)
tree62864fa86a7bdf2f05bb9b0bac6dda6b460f8968 /applications
parentc5e52b76437355f833b03be7167234d29236a85f (diff)
applications/luci-splash: speedup splash dispatching
Diffstat (limited to 'applications')
-rw-r--r--applications/luci-splash/luasrc/controller/splash/splash.lua17
1 files changed, 13 insertions, 4 deletions
diff --git a/applications/luci-splash/luasrc/controller/splash/splash.lua b/applications/luci-splash/luasrc/controller/splash/splash.lua
index 2906298f1..362ad9def 100644
--- a/applications/luci-splash/luasrc/controller/splash/splash.lua
+++ b/applications/luci-splash/luasrc/controller/splash/splash.lua
@@ -11,12 +11,21 @@ function index()
end
function action_dispatch()
+ local uci = luci.model.uci.cursor_state()
local mac = luci.sys.net.ip4mac(luci.http.getenv("REMOTE_ADDR")) or ""
- local status = luci.util.execl("luci-splash status " .. mac)[1]
- if #mac > 0 and status == "new" then
- luci.http.redirect(luci.dispatcher.build_url("splash", "splash"))
- else
+ local access = false
+
+ uci:foreach("luci_splash", "lease", function(s)
+ if s.mac and s.mac:lower() == mac then access = true end
+ end)
+ uci:foreach("luci_splash", "whitelist", function(s)
+ if s.mac and s.mac:lower() == mac then access = true end
+ end)
+
+ if #mac > 0 and access then
luci.http.redirect(luci.dispatcher.build_url())
+ else
+ luci.http.redirect(luci.dispatcher.build_url("splash", "splash"))
end
end