]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/resolve/resolved-dns-transaction.c
resolved: don't consider NSEC/NSEC3 RRs as "pimary" for transactions
authorLennart Poettering <lennart@poettering.net>
Mon, 25 Jan 2016 14:48:36 +0000 (15:48 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 25 Jan 2016 16:19:20 +0000 (17:19 +0100)
commit4cb94977ed8d384a0f476dd0b0ed7b51058a3bd4
treebc851e2a6c8a9241f34f1fb13cc080db903d69d1
parentcbd100ac7cb74d7d44c7e6dda09d26b2616776f7
resolved: don't consider NSEC/NSEC3 RRs as "pimary" for transactions

So far, abritrary NSEC and NSEC3 RRs were implicitly consider "primary" for any transaction, meaning we'd abort the
transaction immediately if we couldn't validate it. With this patch this logic is removed, and the NSEC/NSEC3 RRs will
not be considered primary anymore. This has the effect that they will be dropped from the message if they don't
validate, but processing continues. This is safe to do, as they are required anyway to validate positive wildcard and
negative responses, and if they are missing then, then message will be considered unsigned, which hence means the
outcome is effectively the same.

This is benefical in case the server sends us NSEC/NSEC3 RRs that are not directly related to the lookup we did, but
simply auxiliary information. Previously, if we couldn't authenticate those RRs we'd fail the entire lookup while with
this change we'll simply drop the auxiliary information and proceed without it.
src/resolve/resolved-dns-transaction.c