diff options
Diffstat (limited to 'awall/iptables.lua')
-rw-r--r-- | awall/iptables.lua | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/awall/iptables.lua b/awall/iptables.lua index 81b5c7f..b8b6b13 100644 --- a/awall/iptables.lua +++ b/awall/iptables.lua @@ -18,13 +18,16 @@ local families = {inet={cmd='iptables-restore', file='rules-save'}, local builtin = {'INPUT', 'FORWARD', 'OUTPUT', 'PREROUTING', 'POSTROUTING'} -config = {} -setmetatable(config, - {__index=function(t, k) - t[k] = {} - setmetatable(t[k], getmetatable(t)) - return t[k] - end}) +function reset() + config = {} + setmetatable(config, + {__index=function(t, k) + t[k] = {} + setmetatable(t[k], getmetatable(t)) + return t[k] + end}) +end +reset() local function dumpfile(family, iptfile) iptfile:write('# '..families[family].file..' generated by awall\n') @@ -43,13 +46,17 @@ local function dumpfile(family, iptfile) end end -function dump(dir) +function test() for family, tbls in pairs(config) do local pid, stdin = lpc.run(families[family].cmd, '-t') dumpfile(family, stdin) stdin:close() assert(lpc.wait(pid) == 0) + end +end +function dump(dir) + for family, tbls in pairs(config) do dumpfile(family, io.output(dir..'/'..families[family].file)) end end |