[PR #509] [CLOSED] (wip) DNS over HTTPS support #1486

Closed
opened 2026-03-16 02:09:12 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/509
Author: @bluejekyll
Created: 6/11/2018
Status: Closed

Base: masterHead: support_dns_over_https


📝 Commits (7)

  • c760af2 initial HttpsClientStream impl
  • b7e97ec redo the interface for the HttpsClientStream
  • ff16639 add query parameter for query
  • df05a26 add basic test
  • 09a791e initial working HttpsClientStream
  • 2ef9dd9 enable automated tests for https
  • f9a16b3 cleanup response handling states

📊 Changes

14 files changed (+1015 additions, -14 deletions)

View changed files

📝 Cargo.toml (+1 -10)
https/Cargo.toml (+65 -0)
https/README.md (+9 -0)
https/src/https_client_stream.rs (+633 -0)
https/src/lib.rs (+35 -0)
📝 proto/src/error.rs (+2 -2)
📝 proto/src/xfer/dns_handle.rs (+2 -2)
proto/src/xfer/dns_stream.rs (+159 -0)
📝 proto/src/xfer/mod.rs (+68 -0)
proto/src/xfer/serial_message.rs (+37 -0)
📝 scripts/test_all_features.sh (+1 -0)
📝 scripts/test_default_features.sh (+1 -0)
📝 scripts/test_no_default_features.sh (+1 -0)
📝 scripts/test_windows.bat (+1 -0)

📄 Description

Still a lot of work to do here. This is adding this types (as work progresses this list will grow):

  • HttpsClientStream: An http/2.0 implementation over the H2 library supporting the client side of DNS over HTTPS spec: https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-10
  • DnsStream: This is a new abstraction that is pulling out some logic from TcpStream that will be common across all stream like implementations. Initially this will just be used with HTTPS, then it will be backported to all protocol implementations, UDP, TCP, and TLS (DTLS if ever supported).

fixes: #503


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/hickory-dns/hickory-dns/pull/509 **Author:** [@bluejekyll](https://github.com/bluejekyll) **Created:** 6/11/2018 **Status:** ❌ Closed **Base:** `master` ← **Head:** `support_dns_over_https` --- ### 📝 Commits (7) - [`c760af2`](https://github.com/hickory-dns/hickory-dns/commit/c760af2324d8c037c9cdfe8aba756d06ed159718) initial HttpsClientStream impl - [`b7e97ec`](https://github.com/hickory-dns/hickory-dns/commit/b7e97ec8c9ebf77e3c2a042887972d040c2d753d) redo the interface for the HttpsClientStream - [`ff16639`](https://github.com/hickory-dns/hickory-dns/commit/ff166391ab656136b1b8a30c43f34d0b53e4f6f8) add query parameter for query - [`df05a26`](https://github.com/hickory-dns/hickory-dns/commit/df05a26eb4839636b1124262c63ed440b2150e25) add basic test - [`09a791e`](https://github.com/hickory-dns/hickory-dns/commit/09a791e6fe2299499e67ce427fdc8794d52afad0) initial working HttpsClientStream - [`2ef9dd9`](https://github.com/hickory-dns/hickory-dns/commit/2ef9dd94c2b8670a9586e543e3766112c5302132) enable automated tests for https - [`f9a16b3`](https://github.com/hickory-dns/hickory-dns/commit/f9a16b3fdf3ed416dd78b36a21ebc98f722d240b) cleanup response handling states ### 📊 Changes **14 files changed** (+1015 additions, -14 deletions) <details> <summary>View changed files</summary> 📝 `Cargo.toml` (+1 -10) ➕ `https/Cargo.toml` (+65 -0) ➕ `https/README.md` (+9 -0) ➕ `https/src/https_client_stream.rs` (+633 -0) ➕ `https/src/lib.rs` (+35 -0) 📝 `proto/src/error.rs` (+2 -2) 📝 `proto/src/xfer/dns_handle.rs` (+2 -2) ➕ `proto/src/xfer/dns_stream.rs` (+159 -0) 📝 `proto/src/xfer/mod.rs` (+68 -0) ➕ `proto/src/xfer/serial_message.rs` (+37 -0) 📝 `scripts/test_all_features.sh` (+1 -0) 📝 `scripts/test_default_features.sh` (+1 -0) 📝 `scripts/test_no_default_features.sh` (+1 -0) 📝 `scripts/test_windows.bat` (+1 -0) </details> ### 📄 Description Still a lot of work to do here. This is adding this types (as work progresses this list will grow): - `HttpsClientStream`: An http/2.0 implementation over the H2 library supporting the client side of DNS over HTTPS spec: https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-10 - `DnsStream`: This is a new abstraction that is pulling out some logic from `TcpStream` that will be common across all stream like implementations. Initially this will just be used with HTTPS, then it will be backported to all protocol implementations, UDP, TCP, and TLS (DTLS if ever supported). fixes: #503 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 02:09:12 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#1486
No description provided.