]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
daf: bugfix for rule deletion, hint for duplicated rule
authorAnbang Wen <anbang@cloudflare.com>
Mon, 14 May 2018 23:19:57 +0000 (16:19 -0700)
committerMarek Vavruša <mvavrusa@cloudflare.com>
Fri, 7 Sep 2018 17:45:21 +0000 (10:45 -0700)
modules/daf/daf.lua

index 95c4e7f480b284942b8a4f91e27465d9abff6b7d..eea1ee9ffd9f8bac39e3a87d760c512113a68363 100644 (file)
@@ -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