projects
/
project
/
luci.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
aab6378
)
libs/core: some firewall model enhancements
author
Jo-Philipp Wich
<jow@openwrt.org>
Mon, 1 Nov 2010 19:39:02 +0000
(19:39 +0000)
committer
Jo-Philipp Wich
<jow@openwrt.org>
Mon, 1 Nov 2010 19:39:02 +0000
(19:39 +0000)
libs/core/luasrc/model/firewall.lua
patch
|
blob
|
history
diff --git
a/libs/core/luasrc/model/firewall.lua
b/libs/core/luasrc/model/firewall.lua
index
160995c
..
c4904eb
100644
(file)
--- a/
libs/core/luasrc/model/firewall.lua
+++ b/
libs/core/luasrc/model/firewall.lua
@@
-64,14
+64,31
@@
function commit(self, ...)
uci_r:load(...)
end
uci_r:load(...)
end
+function get_defaults()
+ return defaults()
+end
+
+function new_zone(self)
+ local name = "newzone"
+ local count = 1
+
+ while self:get_zone(name) do
+ count = count + 1
+ name = "newzone%d" % count
+ end
+
+ return self:add_zone(name)
+end
+
function add_zone(self, n)
if _valid_id(n) and not self:get_zone(n) then
function add_zone(self, n)
if _valid_id(n) and not self:get_zone(n) then
+ local d = defaults()
local z = uci_r:section("firewall", "zone", nil, {
name = n,
network = " ",
local z = uci_r:section("firewall", "zone", nil, {
name = n,
network = " ",
- input = d
efaults
:input() or "DROP",
- forward = d
efaults
:forward() or "DROP",
- output = d
efaults
:output() or "DROP"
+ input = d:input() or "DROP",
+ forward = d:forward() or "DROP",
+ output = d:output() or "DROP"
})
return z and zone(z)
})
return z and zone(z)
@@
-315,15
+332,15
@@
function zone.network(self)
end
function zone.input(self)
end
function zone.input(self)
- return self:get("input") or "DROP"
+ return self:get("input") or
defaults():input() or
"DROP"
end
function zone.forward(self)
end
function zone.forward(self)
- return self:get("forward") or "DROP"
+ return self:get("forward") or
defaults():forward() or
"DROP"
end
function zone.output(self)
end
function zone.output(self)
- return self:get("output") or "DROP"
+ return self:get("output") or
defaults():output() or
"DROP"
end
function zone.add_network(self, net)
end
function zone.add_network(self, net)