From: Petr Špaček Date: Tue, 31 Mar 2020 12:33:00 +0000 (+0200) Subject: daf: fix consensus() function to correctly detect empty answers X-Git-Tag: v5.1.0~21^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6091c024f1d63cd6645a69a66702d92167a3645d;p=thirdparty%2Fknot-resolver.git daf: fix consensus() function to correctly detect empty answers consensus() function is affected by https://gitlab.labs.nic.cz/knot/knot-resolver/issues/554 so this fix helps only with single-instance scenarios. --- diff --git a/modules/daf/daf.lua b/modules/daf/daf.lua index 9b6696eeb..94d0a49d0 100644 --- a/modules/daf/daf.lua +++ b/modules/daf/daf.lua @@ -214,9 +214,13 @@ function M.enable(id) end local function consensus(op, ...) - local ret = true + local ret = false local results = map(string.format(op, ...)) - for _, r in ipairs(results) do + for idx, r in ipairs(results) do + if idx == 1 then + -- non-empty table, init to true + ret = true + end ret = ret and r end return ret