[PR #1987] [MERGED] DoH3 support #2741

Closed
opened 2026-03-16 11:05:44 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/1987
Author: @daxpedda
Created: 7/7/2023
Status: Merged
Merged: 10/6/2023
Merged by: @bluejekyll

Base: mainHead: http3


📝 Commits (10+)

  • 03c28db Proto client implementation
  • b5dfa01 Proto server implementation
  • 1518181 Resolver implementation
  • c8cd0d6 Server implementation
  • 32f0377 Util implementation
  • 72e918a Integration tests implementation
  • aa59d92 Binary implementation
  • b219ef6 Recursor implementation
  • 8925a49 Remove unnecessary whitespace
  • d094ed4 Remove incorrect warning in HTTP/3 stream handling

📊 Changes

43 files changed (+1682 additions, -181 deletions)

View changed files

📝 .github/workflows/test.yml (+1 -0)
📝 Cargo.lock (+44 -0)
📝 Cargo.toml (+2 -0)
📝 bin/Cargo.toml (+1 -1)
📝 bin/tests/named_https_tests.rs (+1 -1)
📝 crates/client/src/h2_client_connection.rs (+1 -1)
📝 crates/client/src/lib.rs (+3 -3)
📝 crates/proto/Cargo.toml (+3 -1)
📝 crates/proto/src/h2/h2_client_stream.rs (+6 -4)
📝 crates/proto/src/h2/h2_server.rs (+5 -4)
📝 crates/proto/src/h2/mod.rs (+4 -10)
crates/proto/src/h3/h3_client_stream.rs (+655 -0)
crates/proto/src/h3/h3_server.rs (+127 -0)
crates/proto/src/h3/mod.rs (+39 -0)
📝 crates/proto/src/http/error.rs (+13 -1)
crates/proto/src/http/mod.rs (+37 -0)
📝 crates/proto/src/http/request.rs (+34 -19)
📝 crates/proto/src/http/response.rs (+7 -6)
📝 crates/proto/src/lib.rs (+10 -1)
📝 crates/proto/src/quic/mod.rs (+1 -0)

...and 23 more files

📄 Description

This adds DNS-over-HTTP/3 support.

I'm not familiar with all the other TrustDNS crates, so I'm not too sure whats going on there. I made sure that DoH3 was added to every crate that was also using DoQ.

Requires #2036.
Fixes #1939.


🔄 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/1987 **Author:** [@daxpedda](https://github.com/daxpedda) **Created:** 7/7/2023 **Status:** ✅ Merged **Merged:** 10/6/2023 **Merged by:** [@bluejekyll](https://github.com/bluejekyll) **Base:** `main` ← **Head:** `http3` --- ### 📝 Commits (10+) - [`03c28db`](https://github.com/hickory-dns/hickory-dns/commit/03c28dbfd021ad06afbcaf757228862a404c1cb8) Proto client implementation - [`b5dfa01`](https://github.com/hickory-dns/hickory-dns/commit/b5dfa011b99b079b4ee0771db814674adeeaf9f5) Proto server implementation - [`1518181`](https://github.com/hickory-dns/hickory-dns/commit/15181811929f90c449d7e48a0e96919b6482184a) Resolver implementation - [`c8cd0d6`](https://github.com/hickory-dns/hickory-dns/commit/c8cd0d6a36d5b2e1d36ae8adbb03ac2b329402e3) Server implementation - [`32f0377`](https://github.com/hickory-dns/hickory-dns/commit/32f03779f716e78cf2c45bbf2694a3ccad7aa98d) Util implementation - [`72e918a`](https://github.com/hickory-dns/hickory-dns/commit/72e918aede6d792ea76a5baebcd0cf6bfadb03a8) Integration tests implementation - [`aa59d92`](https://github.com/hickory-dns/hickory-dns/commit/aa59d92fdf5604eb5960eda8e086297544bab89f) Binary implementation - [`b219ef6`](https://github.com/hickory-dns/hickory-dns/commit/b219ef6aeb9b9db98fb9998f33efd8c29e351091) Recursor implementation - [`8925a49`](https://github.com/hickory-dns/hickory-dns/commit/8925a49855e6b8bcc1d88efdbf8b427f36d2528d) Remove unnecessary whitespace - [`d094ed4`](https://github.com/hickory-dns/hickory-dns/commit/d094ed45f0cf27ccb93f327c0918115235286c3b) Remove incorrect warning in HTTP/3 stream handling ### 📊 Changes **43 files changed** (+1682 additions, -181 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/test.yml` (+1 -0) 📝 `Cargo.lock` (+44 -0) 📝 `Cargo.toml` (+2 -0) 📝 `bin/Cargo.toml` (+1 -1) 📝 `bin/tests/named_https_tests.rs` (+1 -1) 📝 `crates/client/src/h2_client_connection.rs` (+1 -1) 📝 `crates/client/src/lib.rs` (+3 -3) 📝 `crates/proto/Cargo.toml` (+3 -1) 📝 `crates/proto/src/h2/h2_client_stream.rs` (+6 -4) 📝 `crates/proto/src/h2/h2_server.rs` (+5 -4) 📝 `crates/proto/src/h2/mod.rs` (+4 -10) ➕ `crates/proto/src/h3/h3_client_stream.rs` (+655 -0) ➕ `crates/proto/src/h3/h3_server.rs` (+127 -0) ➕ `crates/proto/src/h3/mod.rs` (+39 -0) 📝 `crates/proto/src/http/error.rs` (+13 -1) ➕ `crates/proto/src/http/mod.rs` (+37 -0) 📝 `crates/proto/src/http/request.rs` (+34 -19) 📝 `crates/proto/src/http/response.rs` (+7 -6) 📝 `crates/proto/src/lib.rs` (+10 -1) 📝 `crates/proto/src/quic/mod.rs` (+1 -0) _...and 23 more files_ </details> ### 📄 Description This adds DNS-over-HTTP/3 support. I'm not familiar with all the other TrustDNS crates, so I'm not too sure whats going on there. I made sure that DoH3 was added to every crate that was also using DoQ. Requires #2036. Fixes #1939. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 11:05:44 +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#2741
No description provided.