aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--awall/modules/filter.lua12
1 files changed, 7 insertions, 5 deletions
diff --git a/awall/modules/filter.lua b/awall/modules/filter.lua
index b8434f6..9fd5b2a 100644
--- a/awall/modules/filter.lua
+++ b/awall/modules/filter.lua
@@ -115,13 +115,13 @@ end
function Filter:trules()
local res = {}
- local function extrarules(key, cls, options)
+ local function extrarules(label, cls, options)
+ options = options or {}
+ local key = label..(options.index or '')
local obj = self.extrarules[key]
if not obj then
- options = options or {}
-
- local params = {label=(self.label and self.label..'-' or '')..key}
+ local params = {label=(self.label and self.label..'-' or '')..label}
for i, attr in ipairs(
{'in', 'out', 'src', 'dest', 'dnat', 'ipset', 'ipsec', 'service'}
) do
@@ -185,7 +185,9 @@ function Filter:trules()
if self.related then
for i, rule in listpairs(self.related) do
extrarules(
- 'related', RelatedRule, {src=rule, update={service=self.service}}
+ 'related',
+ RelatedRule,
+ {index=i, src=rule, update={service=self.service}}
)
end
else