2 LuCI - Lua Configuration Interface
4 Copyright 2008 Steven Barth <steven@midlink.org>
5 Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
11 http://www.apache.org/licenses/LICENSE-2.0
16 m = Map("firewall", translate("fw_traffic"))
17 s = m:section(TypedSection, "forwarding", translate("fw_forwarding"), translate("fw_forwarding1"))
18 s.template = "cbi/tblsection"
22 iface = s:option(ListValue, "src", translate("fw_src"))
23 oface = s:option(ListValue, "dest", translate("fw_dest"))
25 luci.model.uci.cursor():foreach("firewall", "zone",
27 iface:value(section.name)
28 oface:value(section.name)
33 s = m:section(TypedSection, "rule")
36 s.template = "cbi/tblsection"
37 s.extedit = luci.dispatcher.build_url("admin", "network", "firewall", "rule", "%s")
41 function s.create(self, section)
42 created = TypedSection.create(self, section)
45 function s.parse(self, ...)
46 TypedSection.parse(self, ...)
48 m.uci:save("firewall")
49 luci.http.redirect(luci.dispatcher.build_url(
50 "admin", "network", "firewall", "rule", created
55 s:option(DummyValue, "_name", translate("name"))
56 s:option(DummyValue, "proto", translate("protocol"))
58 src = s:option(DummyValue, "src", translate("fw_src"))
59 function src.cfgvalue(self, s)
61 self.map:get(s, "src") or "*",
62 self.map:get(s, "src_ip") or "0.0.0.0/0",
63 self.map:get(s, "src_port") or "*"
67 dest = s:option(DummyValue, "dest", translate("fw_dest"))
68 function dest.cfgvalue(self, s)
70 self.map:get(s, "dest") or "*",
71 self.map:get(s, "dest_ip") or "0.0.0.0/0",
72 self.map:get(s, "dest_port") or "*"
77 s:option(DummyValue, "target")