summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2012-07-13 10:32:12 +0000
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2012-07-13 10:32:12 +0000
commitd5d5baee1e40a52dcb8f5bfe5e16ccf3ab3ed9fd (patch)
treec8cc8f06c5179b2ccad8250bb5590d45261bda12
parentad5655a43f65816dcd2e3475aaa1f460cae33b48 (diff)
downloadawall-d5d5baee1e40a52dcb8f5bfe5e16ccf3ab3ed9fd.tar.bz2
awall-d5d5baee1e40a52dcb8f5bfe5e16ccf3ab3ed9fd.tar.xz
support for configuration-dependent default rules
-rw-r--r--awall/init.lua8
1 files changed, 6 insertions, 2 deletions
diff --git a/awall/init.lua b/awall/init.lua
index ecf983c..9787c53 100644
--- a/awall/init.lua
+++ b/awall/init.lua
@@ -33,7 +33,7 @@ function loadmodules(path)
end
for phase, rules in pairs(mod.defrules) do
if not defrules[phase] then defrules[phase] = {} end
- util.extend(defrules[phase], rules)
+ table.insert(defrules[phase], rules)
end
end
@@ -87,7 +87,11 @@ function Config:init(policyconfig)
end
local function insertdefrules(phase)
- if defrules[phase] then insertrules(defrules[phase]) end
+ for i, rulegroup in ipairs(defrules[phase] or {}) do
+ if type(rulegroup) == 'function' then
+ insertrules(rulegroup(self.input))
+ else insertrules(rulegroup) end
+ end
end
for i, path in ipairs(procorder) do morph(path, classmap[path]) end