State FAIL does not stop iteration because kr_resolve_consume() resets
RESOLVED flag on failed attempts. This causes excessive attempts,
basically forcing kresd to try all authoritative servers before giving
up.
This excessive iteration also caused crash on assert in answer_fail
function.
if available and luaossl >= 20181207 (!819)
- send EDNS with SERVFAILs, e.g. on validation failures (#180, !827)
- prefill module: avoid crash on empty zone file (#474, !840)
+- rebinding module: avoid excessive iteration on blocked attempts (!842)
+- rebinding module: fix crash caused by race condition (!842)
+
Knot Resolver 4.0.0 (2019-04-18)
================================
log('[' .. string.format('%5d', qry.id) .. '][rebinding] '
.. 'blocking blacklisted IP \'' .. kres.rr2str(bad_rr)
.. '\' received from IP ' .. tostring(kres.sockaddr_t(req.upstream.addr)))
- return kres.FAIL
+ return kres.DONE
end
return M