mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 11:15:54 +03:00
[GH-ISSUE #2009] options to bypass domain validation? #847
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#847
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 @ibigbug on GitHub (Aug 27, 2023).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/2009
I was able to build a "bad name" with
rr::Name::from_str_relaxedfor example: some_domain.understorehowever when I use the client to exchange the message I got this error
does it mean the client is validating the domain and failing with invalid char - is there a way to bypass the validation?
@djc commented on GitHub (Aug 28, 2023):
This looks like an error from the idna crate. I'm not sure why/where that gets invoked, though. Can you provide some sample code for how your
Nameis passed to the client code you mention?@ibigbug commented on GitHub (Aug 30, 2023):
hi @djc thanks for you response. actually I was being misleading - I had two implementations of my DNS client and the manual crafting with bad names is actually working fine.
and the error was actually returned by the default system client, and the minimum repro is :
and looking at the options here https://docs.rs/trust-dns-resolver/latest/trust_dns_resolver/config/struct.ResolverOpts.html
I also don't see it's able to bypass the validation - any thoughts?
@djc commented on GitHub (Aug 31, 2023):
So
AsyncResolver::lookup_ip()takes animpl IntoName. If you useName::from_str_relaxed()and then pass the result intolookup_ip(), I think this will work?See also discussion in https://github.com/bluejekyll/trust-dns/issues/1904, and if you want to help with https://github.com/bluejekyll/trust-dns/pull/1919 that would be great, too!