Propagate NX domain and no record found errors#2502
Merged
Conversation
c7787f1 to
7b44aae
Compare
djc
reviewed
Oct 9, 2024
Member
djc
left a comment
There was a problem hiding this comment.
Sounds good!
(Tiny nit: consider keeping the first line of commit messages under ~70 characters, would avoid weird wrapping in the GitHub UI.)
a900a62 to
bb306ef
Compare
45fee2c to
f949eed
Compare
Member
|
I guess I didn't fix the insecure look up issues before based on this PR. |
djc
reviewed
Oct 14, 2024
820ab50 to
537e4ff
Compare
djc
approved these changes
Oct 18, 2024
Merged
537e4ff to
35a97a4
Compare
This was referenced Oct 20, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR allows the Hickory recursor to more accurately provide NXDomain and NoData responses to queries. This required a number of changes to accomplish:
There are also new tests for basic response code correctness to validate the changes above, and un-ignoring some conformance tests that now pass.
This change-set covers all of the NXDomain and NoError response mangling scenarios I could find in the code base, and it fixes a few DNSSEC-related issues. Significant DNSSEC-related processing issues remain, however, and I think will need to be addressed in a separate PR. While working on this fix, I also noticed:
The net result of this is that any queries to an insecure delegation from a secure parent will fail if hickory is configured as a validating resolver (i.e., almost all queries will fail if hickory is configured as a validating resolver.)
This PR does not fix the insecure delegation validation problem, but any realistic fix is contingent on fixing this issues this PR does address.
Related Issues/PRs:
RecursorDnsHandlemisclasifiesDS no-ds.extended-dns-errors.com.asErrorKind::Forward#2435nxdomainconformance test forhickory-recursor#2477