mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 03:05:51 +03:00
[GH-ISSUE #503] DNS Queries over HTTPS (DOH), tracking #209
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#209
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 @rumpelsepp on GitHub (May 31, 2018).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/503
I just wanted to create a tracking issue for this. Since last month or so, mozilla is experimenting with this.
https://datatracker.ietf.org/doc/draft-ietf-doh-dns-over-https/
https://groups.google.com/forum/#!msg/mozilla.dev.platform/_8OAKUHso0c/QUhjVYz3CAAJ
https://bugzilla.mozilla.org/show_bug.cgi?id=1446404
One could argue that an HTTP library could be used for this; the advantage of having this also in TRust-DNS would be the unification of the API for different transports.
@bluejekyll commented on GitHub (May 31, 2018):
Are you looking for the Resolver or Server support for this?
Edit: Gah, I should have read the title more closely... :)
@rumpelsepp commented on GitHub (Jun 1, 2018):
:) Since the RFC is not yet released, I thought it might be useful to have an issue to track its status.
@bluejekyll commented on GitHub (Jun 7, 2018):
Ok, I've started work on this. I'm planning to directly use the https://crates.io/crates/h2 library for this support. The work looks something like this:
trust-dns/httpscrateHttpsClientStreamwrapper forh2::clientHttpsClientStreamintotrust-dnsHttpsClientStreamintotrust-dns-resolverHttpsStreamwrapper forh2::serverHttpsStreamintotrust-dns-server@briansmith commented on GitHub (Jun 7, 2018):
It would be great if there could be a way to avoid building HttpsClientStream, and all its dependencies, when building trust-dns-resolver.
@bluejekyll commented on GitHub (Jun 7, 2018):
This will be optional in the Resolver like the dns-over-tls features, and default to off. Do you have more concerns than that?
@briansmith commented on GitHub (Jun 7, 2018):
Sounds good.
Nope!
@bluejekyll commented on GitHub (Jun 17, 2018):
FYI, I think the HttpsClientStream is done. before merging, I'm going to see what some of the underlying changes look like to support in the Resolver.
@bluejekyll commented on GitHub (Jun 24, 2018):
Ok, with #519 there is now a viable implementation of DNS-over-HTTPS in TRust-DNS.
I had to hack around what appears to be a poor abstraction over the IO streams. I want to look into that in a little more detail to see if there is a better solution, so this isn't landing yet.
Also, note that this initial implementation will only support Rustls for the TLS implementation.
@rumpelsepp commented on GitHub (Jun 25, 2018):
Thank you so much for your hard work!
@bluejekyll commented on GitHub (Jun 29, 2018):
That took a while, but #520 is going to be the path to merging. This is gets rid of the unnecessary Vec that was holding all the H2 responses, instead passing that back with a oneshot channel. There's some additional cleanup I want to do, but this is starting to look good.
Once this is all clean, the resolver will be merged, then I'll start working on the server/client.
@bluejekyll commented on GitHub (Jul 9, 2018):
I just merged #520
This means that master now has dns-over-https support for the Resolver. It currently only works with
rustlsand requires thedns-over-httpsfeature to be enabled. I'll open some bugs for supporting the Client and the Server at some point in the future.@bluejekyll commented on GitHub (Oct 5, 2018):
This was resolved completely in #557