diff options
Diffstat (limited to 'applications')
-rw-r--r-- | applications/luci-splash/luasrc/model/cbi/splash/splash.lua | 10 | ||||
-rwxr-xr-x | applications/luci-splash/root/etc/init.d/luci_splash | 29 |
2 files changed, 12 insertions, 27 deletions
diff --git a/applications/luci-splash/luasrc/model/cbi/splash/splash.lua b/applications/luci-splash/luasrc/model/cbi/splash/splash.lua index 37ef559af2..ed5cdc181a 100644 --- a/applications/luci-splash/luasrc/model/cbi/splash/splash.lua +++ b/applications/luci-splash/luasrc/model/cbi/splash/splash.lua @@ -11,13 +11,13 @@ s.template = "cbi/tblsection" s.addremove = true s.anonymous = true -iface = s:option(ListValue, "network", "Schnittstelle") -luci.model.uci.foreach("network", "interface", +iface = s:option(ListValue, "zone", "Firewallzone") +luci.model.uci.foreach("firewall", "zone", function (section) - if section[".name"] ~= "loopback" then - iface:value(section[".name"]) - end + iface:value(section.name) end) + +gateway = s:option(Value, "gateway", "Gateway") s = m:section(TypedSection, "whitelist", "Automatische Freigabe") s.template = "cbi/tblsection" diff --git a/applications/luci-splash/root/etc/init.d/luci_splash b/applications/luci-splash/root/etc/init.d/luci_splash index eb006e9b0d..7541f9935b 100755 --- a/applications/luci-splash/root/etc/init.d/luci_splash +++ b/applications/luci-splash/root/etc/init.d/luci_splash @@ -4,23 +4,14 @@ START=70 iface_add() { local cfg="$1" - config_get net "$cfg" network - [ -n "$net" ] || return 0 + config_get zone "$cfg" zone + [ -n "$zone" ] || return 0 - config_get iface "$net" ifname - [ -n "$iface" ] || return 0 - iface="${iface%%:*}" + config_get gw "$cfg" gateway + [ -n "$zone" ] || return 0 - config_get ipaddr "$net" ipaddr - [ -n "$ipaddr" ] || return 0 - - config_get netmask "$net" netmask - [ -n "$netmask" ] || return 0 - - eval "$(ipcalc.sh $ipaddr $netmask)" - - iptables -t nat -A luci_splash -i "$iface" -s "$NETWORK/$PREFIX" -j luci_splash_portal - iptables -t nat -A luci_splash_portal -i "$iface" -s "$NETWORK/$PREFIX" -d "$ipaddr" -p tcp -m multiport --dports 22,80,443 -j RETURN + iptables -t nat -A zone_$zone_prerouting -j luci_splash_portal + iptables -t nat -A luci_splash_portal -d "$gw" -p tcp -m multiport --dports 22,80,443 -j RETURN } blacklist_add() { @@ -63,15 +54,9 @@ start() { ### Start the splash httpd start-stop-daemon -S -b -q -x /usr/bin/luci-splashd - - ### Hook in the chain - iptables -t nat -A prerouting_rule -j luci_splash } -stop() { - ### Hook out the chain - iptables -t nat -D prerouting_rule -j luci_splash - +stop() { ### Clear subchains iptables -t nat -F luci_splash_leases iptables -t nat -F luci_splash_portal |