aboutsummaryrefslogtreecommitdiffstats
path: root/awall/iptables.lua
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2020-05-01 18:36:27 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2020-05-01 18:46:53 +0300
commite4b54f5d45fdb9f2044e4535d6e81dd9e915d519 (patch)
tree81731f648077168698615be31e73dc187923421c /awall/iptables.lua
parent02eda0dd53e875b9b41259f76fe8581d2159ffb2 (diff)
downloadawall-e4b54f5d45fdb9f2044e4535d6e81dd9e915d519.tar.bz2
awall-e4b54f5d45fdb9f2044e4535d6e81dd9e915d519.tar.xz
switch to Lua 5.3HEADmaster
fixes #8377
Diffstat (limited to 'awall/iptables.lua')
-rw-r--r--awall/iptables.lua24
1 files changed, 13 insertions, 11 deletions
diff --git a/awall/iptables.lua b/awall/iptables.lua
index cb19ff8..3a8a755 100644
--- a/awall/iptables.lua
+++ b/awall/iptables.lua
@@ -106,17 +106,19 @@ function BaseIPTables:flush() M.flush() end
M.IPTables = class(BaseIPTables)
function M.IPTables:init()
- self.config = {}
- setmetatable(
- self.config,
- {
- __index=function(t, k)
- t[k] = {}
- setmetatable(t[k], getmetatable(t))
- return t[k]
- end
- }
- )
+ local function nestedtable(levels)
+ return levels > 0 and setmetatable(
+ {},
+ {
+ __index=function(t, k)
+ t[k] = nestedtable(getmetatable(t).levels - 1)
+ return t[k]
+ end,
+ levels=levels
+ }
+ ) or {}
+ end
+ self.config = nestedtable(3)
end
function M.IPTables:dumpfile(family, iptfile)