]> git.ipfire.org Git - thirdparty/knot-resolver.git/commit
validate: work around some SERVFAILs (iterating mode)
authorVladimír Čunát <vladimir.cunat@nic.cz>
Thu, 8 Jun 2017 15:03:22 +0000 (17:03 +0200)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Fri, 9 Jun 2017 09:00:24 +0000 (11:00 +0200)
commitfe77cee9f262f610009381e82a0487059cbc7f0f
tree16de0a5a211346092b70bec512e965930e6b7a01
parent8ae906e08bc0fb25087590ab05c067e8797e4545
validate: work around some SERVFAILs (iterating mode)

- This affects the iterating mode only (except for a verbose message).
- The problem was introduced when implementing forwarding in 651c5aad.
- Example that was affected: *.org.ru.

When the same server is authoritative for multiple consecutive zones,
with a higher one being signed and a lower one being unsigned, we may
get an unsigned answer even in case we *think* we're currently in a
signed zone.

In particular, DS (sub-)queries are important because of being used to
prove the insecurity of zones - in that case the iterator can correctly
determine the (unexpected) zone name from which the answer came, due to
seeing the SOA record, but that is too late for zone_cut_check() to try
getting a trust chain to it, so we need to YIELD for it to do it.
lib/layer/validate.c