[PR #520] [MERGED] DNS over HTTPS in Resolver #1495

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

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/520
Author: @bluejekyll
Created: 6/29/2018
Status: Merged
Merged: 7/9/2018
Merged by: @bluejekyll

Base: masterHead: refactor-dns-future


📝 Commits (10+)

  • 5b25631 initial HttpsClientStream impl
  • 292f27f redo the interface for the HttpsClientStream
  • c708bac add query parameter for query
  • 9ad88e2 add basic test
  • 2fb567f initial working HttpsClientStream
  • acbbe9a enable automated tests for https
  • 6bec17a cleanup response handling states
  • 0890fd5 make DnsStreamHandle on DnsFuture generic
  • 948f590 convert all streams to SerialMessage
  • 9dddabc refactor send_message to directly return a Future

📊 Changes

75 files changed (+3047 additions, -1612 deletions)

View changed files

📝 Cargo.toml (+1 -10)
📝 client/src/client/client_connection.rs (+4 -3)
📝 client/src/client/client_future.rs (+58 -40)
📝 client/src/client/memoize_client_handle.rs (+9 -19)
📝 client/src/multicast/mdns_client_connection.rs (+1 -1)
📝 client/src/tcp/tcp_client_connection.rs (+5 -7)
📝 client/src/udp/udp_client_connection.rs (+5 -7)
https/Cargo.toml (+66 -0)
https/README.md (+9 -0)
https/src/https_client_stream.rs (+661 -0)
https/src/lib.rs (+39 -0)
📝 integration-tests/src/lib.rs (+36 -12)
📝 integration-tests/src/mock_client.rs (+13 -16)
📝 integration-tests/src/tls_client_connection.rs (+6 -6)
📝 integration-tests/tests/client_future_tests.rs (+15 -4)
📝 integration-tests/tests/client_tests.rs (+4 -2)
📝 integration-tests/tests/lookup_tests.rs (+68 -73)
📝 integration-tests/tests/mdns_tests.rs (+13 -21)
📝 integration-tests/tests/name_server_pool_tests.rs (+12 -12)
📝 integration-tests/tests/server_future_tests.rs (+38 -24)

...and 55 more files

📄 Description

building on the work done in #519 this removes the Vec that held all the Future response and returns a direct handle to the H2 response type.

This also sets us up for a refactor in the future to support DNS streams of messages, for mDNS and things like long-lived queries.

There's still some cleanup to do, and I think a bunch of traits that can be removed now...


🔄 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/520 **Author:** [@bluejekyll](https://github.com/bluejekyll) **Created:** 6/29/2018 **Status:** ✅ Merged **Merged:** 7/9/2018 **Merged by:** [@bluejekyll](https://github.com/bluejekyll) **Base:** `master` ← **Head:** `refactor-dns-future` --- ### 📝 Commits (10+) - [`5b25631`](https://github.com/hickory-dns/hickory-dns/commit/5b25631e77d339e3b7625e56daebd09900d21d18) initial HttpsClientStream impl - [`292f27f`](https://github.com/hickory-dns/hickory-dns/commit/292f27f469e7900d5f21a88ffd9bf56b0855b2bd) redo the interface for the HttpsClientStream - [`c708bac`](https://github.com/hickory-dns/hickory-dns/commit/c708baccaf90fc675c854b4259cf26ff28b41378) add query parameter for query - [`9ad88e2`](https://github.com/hickory-dns/hickory-dns/commit/9ad88e2a42058a0e3ab5c4dc4de16735003bf748) add basic test - [`2fb567f`](https://github.com/hickory-dns/hickory-dns/commit/2fb567f095c227615cafa77dac87f112c2ecd7c7) initial working HttpsClientStream - [`acbbe9a`](https://github.com/hickory-dns/hickory-dns/commit/acbbe9a11b1801a02cb823ef3543bc7fae4422c1) enable automated tests for https - [`6bec17a`](https://github.com/hickory-dns/hickory-dns/commit/6bec17a1f56af6ea770430b42342e5993955ecfd) cleanup response handling states - [`0890fd5`](https://github.com/hickory-dns/hickory-dns/commit/0890fd56e694eda0b92ca806c504f80f33b8bbb5) make DnsStreamHandle on DnsFuture generic - [`948f590`](https://github.com/hickory-dns/hickory-dns/commit/948f590c08ce90a4d14b93b291bcc7b2927121d1) convert all streams to SerialMessage - [`9dddabc`](https://github.com/hickory-dns/hickory-dns/commit/9dddabcb6870f6ecb01860edc7eb653bf0a85166) refactor send_message to directly return a Future ### 📊 Changes **75 files changed** (+3047 additions, -1612 deletions) <details> <summary>View changed files</summary> 📝 `Cargo.toml` (+1 -10) 📝 `client/src/client/client_connection.rs` (+4 -3) 📝 `client/src/client/client_future.rs` (+58 -40) 📝 `client/src/client/memoize_client_handle.rs` (+9 -19) 📝 `client/src/multicast/mdns_client_connection.rs` (+1 -1) 📝 `client/src/tcp/tcp_client_connection.rs` (+5 -7) 📝 `client/src/udp/udp_client_connection.rs` (+5 -7) ➕ `https/Cargo.toml` (+66 -0) ➕ `https/README.md` (+9 -0) ➕ `https/src/https_client_stream.rs` (+661 -0) ➕ `https/src/lib.rs` (+39 -0) 📝 `integration-tests/src/lib.rs` (+36 -12) 📝 `integration-tests/src/mock_client.rs` (+13 -16) 📝 `integration-tests/src/tls_client_connection.rs` (+6 -6) 📝 `integration-tests/tests/client_future_tests.rs` (+15 -4) 📝 `integration-tests/tests/client_tests.rs` (+4 -2) 📝 `integration-tests/tests/lookup_tests.rs` (+68 -73) 📝 `integration-tests/tests/mdns_tests.rs` (+13 -21) 📝 `integration-tests/tests/name_server_pool_tests.rs` (+12 -12) 📝 `integration-tests/tests/server_future_tests.rs` (+38 -24) _...and 55 more files_ </details> ### 📄 Description building on the work done in #519 this removes the Vec that held all the Future response and returns a direct handle to the H2 response type. This also sets us up for a refactor in the future to support DNS streams of messages, for mDNS and things like long-lived queries. There's still some cleanup to do, and I think a bunch of traits that can be removed now... --- <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:28 +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#1495
No description provided.