From: Anbang Wen Date: Mon, 14 May 2018 23:19:57 +0000 (-0700) Subject: daf: bugfix for rule deletion, hint for duplicated rule X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6b30e56d272fb5b6bd0b80e11f0c7ee02d04556e;p=thirdparty%2Fknot-resolver.git daf: bugfix for rule deletion, hint for duplicated rule --- diff --git a/modules/daf/daf.lua b/modules/daf/daf.lua index 95c4e7f48..eea1ee9ff 100644 --- a/modules/daf/daf.lua +++ b/modules/daf/daf.lua @@ -293,7 +293,8 @@ end function M.add(rule) -- Ignore duplicates for _, r in ipairs(M.rules) do - if r.info == rule then return r end + -- send a hint to the caller for duplicated rules + if r.info == rule then return r, true end end local id, action, filter = compile(rule) if not id then error(action) end @@ -318,10 +319,10 @@ end -- @function Remove a rule function M.del(id) - for _, r in ipairs(M.rules) do + for i, r in ipairs(M.rules) do if r.rule.id == id then policy.del(id) - table.remove(M.rules, id) + table.remove(M.rules, i) return true end end @@ -494,4 +495,4 @@ function M.config() ]]} end -return M \ No newline at end of file +return M