diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2016-08-30 20:26:55 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2016-09-30 12:50:47 +0300 |
commit | 994f2316dbb4dd499d28f2f4e2c9b8e1d048a01f (patch) | |
tree | 6fa8468ac3d477db4129f4ec0791bba41b825d26 | |
parent | 0254cee7a501c8b7a3d4952aea33e010a31f45bf (diff) | |
download | awall-994f2316dbb4dd499d28f2f4e2c9b8e1d048a01f.tar.bz2 awall-994f2316dbb4dd499d28f2f4e2c9b8e1d048a01f.tar.xz |
create action chains immediately
-rw-r--r-- | awall/init.lua | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/awall/init.lua b/awall/init.lua index 9fcbecd..0266c82 100644 --- a/awall/init.lua +++ b/awall/init.lua @@ -80,7 +80,7 @@ function M.Config:init(policyconfig) self.objects = policyconfig:expand() self.iptables = IPTables() - local acfrags = {} + local actions = {} local function insertrules(trules) for i, trule in ipairs(trules) do @@ -93,7 +93,11 @@ function M.Config:init(policyconfig) table=trule.table, chain=trule.target } - acfrags[optfrag.location(acfrag)] = acfrag + local key = optfrag.location(acfrag) + if not actions[key] then + actions[key] = true + insertrules(optfrag.combinations(achains, {acfrag})) + end end if trule.position == 'prepend' then @@ -136,10 +140,6 @@ function M.Config:init(policyconfig) end end - local ofrags = {} - for k, v in pairs(acfrags) do table.insert(ofrags, v) end - insertrules(optfrag.combinations(achains, ofrags)) - self.ipset = IPSet(self.objects.ipset) end |