mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 03:05:51 +03:00
[GH-ISSUE #2810] Authoritative name server does not send referral for queries at or below delegation point #1061
Labels
No labels
blocked
breaking-change
bug
bug:critical
bug:tests
cleanup
compliance
compliance
compliance
crate:all
crate:client
crate:native-tls
crate:proto
crate:recursor
crate:resolver
crate:resolver
crate:rustls
crate:server
crate:util
dependencies
docs
duplicate
easy
easy
enhance
enhance
enhance
feature:dns-over-https
feature:dns-over-quic
feature:dns-over-tls
feature:dnsssec
feature:global_lb
feature:mdns
feature:tsig
features:edns
has workaround
ops
perf
platform:WASM
platform:android
platform:fuchsia
platform:linux
platform:macos
platform:windows
pull-request
question
test
tools
tools
trust
unclear
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/hickory-dns#1061
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @divergentdave on GitHub (Feb 27, 2025).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/2810
Describe the bug
When a Hickory DNS name server receives a query for a name that it does not have authoritative data for, it does not return a referral. It only responds with NS records if the query itself is for NS records at exactly the delegation point.
To Reproduce
Steps to reproduce the behavior:
cargo run --example explore --manifest-path conformance/Cargo.tomlandDNS_TEST_SUBJECT="hickory $(pwd)" DNS_TEST_PEER="hickory $(pwd)" cargo run --example explore --manifest-path conformance/Cargo.toml.docker execcommands in the output.a.
dig @172.XXX.0.4 hickory-dns.testing. Ab.
dig @172.XXX.0.4 testing. Ac.
dig @172.XXX.0.4 hickory-dns.testing. NSd.
dig @172.XXX.0.4 testing. NSExpected behavior
Hickory DNS should not be returning AA (authoritative answer) responses for
hickory-dns.testing.records, since it is below a zone cut. It should be returning NS records for a referral to the authoritative name server for the child zone in more cases.Version:
Crate: hickory-server
Version: main
Additional context
This was encountered in #2807.
@cpu commented on GitHub (Jul 30, 2025):
I think I just bumped into this using
DNS_TEST_PEER="hickory"with the conformance testingexplore.rsexample w/unboundacting as the recursive resolver (More debugging context in this Discord thread). In this configuration only the.Hickory nameserver is consulted for a query likedig @172.21.0.6 A nx.hickory-dns.testing., nottesting.orhickory-dns.testing.Switching to
bindas the auth nameservers produces the expected results, and so does using HickoryDNS as the recursor withDNS_TEST_SUBJECT, in that case because of the more aggressive q-name minimization in the hickory resolver vsunbound.I think this bug is specific to the auth server impl, and not the recursor (?)
@xi0 commented on GitHub (Feb 25, 2026):
I just bumped into this issue trying to move the zone cld.dk to hickory dns. The subdelegation is desk.cld.dk.
I moved the zone back to Google Cloud DNS for now. :(