summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-splash/luasrc
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2009-06-16 21:41:29 +0000
committerJo-Philipp Wich <jow@openwrt.org>2009-06-16 21:41:29 +0000
commit992bc68b2b9d95d7fa46eeef42a67cd51291701d (patch)
tree4370f2ecfb1d910ae29846b7b969d84ad448335d /applications/luci-splash/luasrc
parent65cde286cc146be7dea165c2cb34732cb8953a57 (diff)
applications/luci-splash:
- use kilobyte/s for rate limiting - reject traffic instead of silently dropping it - allow unsplashed access to the mesh - add possibility to specify non-splashed destination networks - reorganize iptables rules
Diffstat (limited to 'applications/luci-splash/luasrc')
-rw-r--r--applications/luci-splash/luasrc/model/cbi/splash/splash.lua40
-rw-r--r--applications/luci-splash/luasrc/view/admin_status/splash.htm12
2 files changed, 38 insertions, 14 deletions
diff --git a/applications/luci-splash/luasrc/model/cbi/splash/splash.lua b/applications/luci-splash/luasrc/model/cbi/splash/splash.lua
index 22d13c7cc..e9d000f0d 100644
--- a/applications/luci-splash/luasrc/model/cbi/splash/splash.lua
+++ b/applications/luci-splash/luasrc/model/cbi/splash/splash.lua
@@ -6,28 +6,35 @@ m = Map("luci_splash", "Client-Splash", [[Client-Splash ist das Freifunk Hotspot
s = m:section(NamedSection, "general", "core", "Allgemein")
s:option(Value, "leasetime", "Freigabezeit", "h")
-s:option(Value, "limit_up", "Upload-Limitierung", "Kilobit/s - limitiert die Upload-Geschwindigkeit von Clients")
-s:option(Value, "limit_down", "Download-Limitierung", "Kilobit/s - limitiert die Download-Geschwindigkeit von Clients")
+s:option(Value, "limit_up", "Upload-Limitierung", "Kilobyte/s - limitiert die Upload-Geschwindigkeit von Clients")
+s:option(Value, "limit_down", "Download-Limitierung", "Kilobyte/s - limitiert die Download-Geschwindigkeit von Clients")
s:option(DummyValue, "_tmp", "",
"Bandbreitenlimitierung für Clients wird aktiviert wenn sowohl Up- als auch " ..
"Download-Geschwindigkeit angegeben werden. Auf 0 setzen um die Limitierung zu deaktivieren. " ..
"Clients in der Whitelist werden nicht limitiert.")
-s = m:section(TypedSection, "iface", "Schnittstellen")
+s = m:section(TypedSection, "iface", "Schnittstellen",
+ "Bestimmt die Schnittstellen auf denen Splashing aktiviert werden soll. " ..
+ "Diese Einstellungen müssen normalerweise nicht angepasst werden.")
+
s.template = "cbi/tblsection"
s.addremove = true
s.anonymous = true
local uci = luci.model.uci.cursor()
-zone = s:option(ListValue, "zone", "Firewallzone")
+zone = s:option(ListValue, "zone", "Firewallzone",
+ "Splash-Regeln in der angegebenen Zone eingliedern")
+
uci:foreach("firewall", "zone",
function (section)
zone:value(section.name)
end)
-iface = s:option(ListValue, "network", "Netzwerk")
+iface = s:option(ListValue, "network", "Netzwerk",
+ "Client-Verkehr auf der angegebenen Schnittstelle abfangen")
+
uci:foreach("network", "interface",
function (section)
if section[".name"] ~= "loopback" then
@@ -40,16 +47,35 @@ uci:foreach("network", "alias",
iface:value(section[".name"])
end)
-s = m:section(TypedSection, "whitelist", "Automatische Freigabe")
+
+s = m:section(TypedSection, "whitelist", "Whitelist",
+ "MAC-Adressen in dieser Liste werden automatisch freigegeben und unterliegen " ..
+ "keiner Bandbreitenlimitierung.")
+
s.template = "cbi/tblsection"
s.addremove = true
s.anonymous = true
s:option(Value, "mac", "MAC-Adresse")
-s = m:section(TypedSection, "blacklist", "Automatische Sperrung")
+
+s = m:section(TypedSection, "blacklist", "Blacklist",
+ "MAC-Adressen in dieser Liste werden automatisch gesperrt. Verkehr von diesen " ..
+ "Adressen wird komplett verworfen und es wird kein Verbindungsaufbau via WLAN " ..
+ "zugelassen.")
+
s.template = "cbi/tblsection"
s.addremove = true
s.anonymous = true
s:option(Value, "mac", "MAC-Adresse")
+
+s = m:section(TypedSection, "subnet", "Freigegebene Subnetze",
+ "Hier eingetragene Subnetze oder Host-Adressen sind vom Splash-Vorgang ausgenommen.")
+
+s.template = "cbi/tblsection"
+s.addremove = true
+s.anonymous = true
+s:option(Value, "ipaddr", "IP-Adresse")
+s:option(Value, "netmask", "Netzmaske", "optional bei Host-Adressen").rmempty = true
+
return m
diff --git a/applications/luci-splash/luasrc/view/admin_status/splash.htm b/applications/luci-splash/luasrc/view/admin_status/splash.htm
index 20ea25b87..4690e3348 100644
--- a/applications/luci-splash/luasrc/view/admin_status/splash.htm
+++ b/applications/luci-splash/luasrc/view/admin_status/splash.htm
@@ -58,13 +58,11 @@ for _, r in ipairs(ipt:find({table="nat", chain="luci_splash_leases"})) do
end
end
-for _, r in ipairs(ipt:find({table="filter", chain="luci_splash_counter"})) do
- if r.options and #r.options >= 2 and r.options[1] == "MAC" then
- local c = clients[r.options[2]:lower()]
- if c and c.packets == 0 then
- c.bytes = tonumber(r.bytes)
- c.packets = tonumber(r.packets)
- end
+for _, r in ipairs(ipt:find({table="filter", chain="luci_splash_filter", options={"MAC"}})) do
+ local c = clients[r.options[2]:lower()]
+ if c and c.packets == 0 then
+ c.bytes = tonumber(r.bytes)
+ c.packets = tonumber(r.packets)
end
end