mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 19:25:56 +03:00
[PR #1173] [MERGED] Make EDNS optional for resolvers #2039
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#2039
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?
📋 Pull Request Information
Original PR: https://github.com/hickory-dns/hickory-dns/pull/1173
Author: @CtrlZvi
Created: 7/26/2020
Status: ✅ Merged
Merged: 8/4/2020
Merged by: @bluejekyll
Base:
main← Head:optional-edns📝 Commits (1)
afb3fb1Make EDNS optional for resolvers📊 Changes
4 files changed (+15 additions, -4 deletions)
View changed files
📝
crates/proto/src/xfer/dns_handle.rs(+1 -2)📝
crates/proto/src/xfer/dns_request.rs(+2 -0)📝
crates/resolver/src/async_resolver.rs(+9 -2)📝
crates/resolver/src/dns_sd.rs(+3 -0)📄 Description
Some servers do not support EDNS, and some (such as the ingress-dns
addon to Minikube) return malformed DNS responses when sent EDNS
additional records. Previously, it was not possible to not send the
EDNS records, despite having a ResolverOpts field for it, which was
confusing.
This commit wires the ResolverOpts edns0 option to a new
DnsRequestOptions field and uses that option to control whether or not
additional EDNS records should be used.
Note: this changes the default behavior of the resolver, as the default
value for ResolverOpts::edns0 is false, but previously the additional
EDNS records would be added anyway. It seems this change is inline with
the desired behavior, as the defaults are intended to match the
resolv.conf defaults, which do not use EDNS.
Signed-off-by: Zvi "CtrlZvi" Effron viz_skywalker+GitHub@outlook.com
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.