summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-01-24 14:11:30 +0000
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-01-24 14:11:30 +0000
commitbcddde588c8275ebae677235e24b4df264a746bd (patch)
treea6b07eb541ad3805d6eaec663b63325b19317088
parentdd21fa83ac063f3786fa17ddb23ff3f2d6536b56 (diff)
downloadawall-bcddde588c8275ebae677235e24b4df264a746bd.tar.bz2
awall-bcddde588c8275ebae677235e24b4df264a746bd.tar.xz
allow manipulation of option fragments in the middle of Rule.trules
-rw-r--r--awall/model.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/awall/model.lua b/awall/model.lua
index 452b148..c904a53 100644
--- a/awall/model.lua
+++ b/awall/model.lua
@@ -407,7 +407,11 @@ function Rule:trules()
end
end
- util.extend(res, ffilter(self:extraoptfrags()))
+ local ofrags = {}
+ for i, ofrag in ipairs(res) do
+ util.extend(ofrags, self:mangleoptfrag(ofrag))
+ end
+ util.extend(ofrags, self:extraoptfrags())
local tbl = self:table()
@@ -443,7 +447,7 @@ function Rule:trules()
return res
end
- res = convertchains(res)
+ res = convertchains(ffilter(ofrags))
tag(res, 'table', tbl, false)
local function checkzof(ofrag, dir, chains)
@@ -460,6 +464,8 @@ function Rule:trules()
return combinations(res, ffilter({{family='inet'}, {family='inet6'}}))
end
+function Rule:mangleoptfrag(ofrag) return {ofrag} end
+
function Rule:extraoptfrags() return {} end
function Rule:newchain(key)