[PR #3199] [MERGED] Tidy up server crate SSL_KEYLOG_FILE configuration #3637

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

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/3199
Author: @cpu
Created: 8/12/2025
Status: Merged
Merged: 8/13/2025
Merged by: @cpu

Base: mainHead: cpu-tidy-ssl-keylog_dev


📝 Commits (7)

  • 2ef6b14 e2e-tests: sync Cargo.lock
  • 8af0170 server: support DoH with custom TLS ServerConfig
  • 98fb669 server: support DoQ with custom TLS ServerConfig
  • d43792d server: support DoH3 with custom TLS ServerConfig
  • 353ce73 server: consistent *_with_tls_config() ALPN guidance
  • 8208099 server: expose ability to construct a default TLS config
  • f72b8e6 isolate SSL_KEYLOG_FILE config to hickory-dns bin

📊 Changes

9 files changed (+340 additions, -51 deletions)

View changed files

📝 bin/src/hickory-dns.rs (+33 -8)
📝 crates/proto/src/h3/h3_server.rs (+12 -2)
📝 crates/proto/src/quic/quic_server.rs (+12 -2)
📝 crates/server/src/server/h2_handler.rs (+28 -9)
📝 crates/server/src/server/h3_handler.rs (+14 -3)
📝 crates/server/src/server/mod.rs (+127 -18)
📝 crates/server/src/server/quic_handler.rs (+14 -3)
📝 tests/e2e-tests/Cargo.lock (+99 -5)
📝 tests/integration-tests/tests/integration/server_future_tests.rs (+1 -1)

📄 Description

Follow-up from https://github.com/hickory-dns/hickory-dns/pull/3184

Avoid polluting the server crate APIs with a bool for SSL_KEYLOG_FILE support. Instead, lean on the ability wired through the various server APIs to allow providing a pre-configured rustls ServerConfig that can have keylog support enabled as one of many possible customizations.

Accomplishing this requires some up-front work to allow greater control of the rustls::ServerConfig used for DoQ, DoH and DoH3 servers.


🔄 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/3199 **Author:** [@cpu](https://github.com/cpu) **Created:** 8/12/2025 **Status:** ✅ Merged **Merged:** 8/13/2025 **Merged by:** [@cpu](https://github.com/cpu) **Base:** `main` ← **Head:** `cpu-tidy-ssl-keylog_dev` --- ### 📝 Commits (7) - [`2ef6b14`](https://github.com/hickory-dns/hickory-dns/commit/2ef6b14148865b4e1ef20fda47473551319366fe) e2e-tests: sync Cargo.lock - [`8af0170`](https://github.com/hickory-dns/hickory-dns/commit/8af0170a5b7c3692429d254cd5f1d3c2d44f9830) server: support DoH with custom TLS ServerConfig - [`98fb669`](https://github.com/hickory-dns/hickory-dns/commit/98fb669315e2bfc8b0122f2a1191d77947968f02) server: support DoQ with custom TLS ServerConfig - [`d43792d`](https://github.com/hickory-dns/hickory-dns/commit/d43792dd2acdf595673b35f01b792a886e7e6307) server: support DoH3 with custom TLS ServerConfig - [`353ce73`](https://github.com/hickory-dns/hickory-dns/commit/353ce7380c52e81fe75583858aa5e76554375f31) server: consistent *_with_tls_config() ALPN guidance - [`8208099`](https://github.com/hickory-dns/hickory-dns/commit/8208099f8fe3047c6aaa42be9d1a9839c92dff3d) server: expose ability to construct a default TLS config - [`f72b8e6`](https://github.com/hickory-dns/hickory-dns/commit/f72b8e61deba6b1df312d9f39201a83880899a43) isolate SSL_KEYLOG_FILE config to hickory-dns bin ### 📊 Changes **9 files changed** (+340 additions, -51 deletions) <details> <summary>View changed files</summary> 📝 `bin/src/hickory-dns.rs` (+33 -8) 📝 `crates/proto/src/h3/h3_server.rs` (+12 -2) 📝 `crates/proto/src/quic/quic_server.rs` (+12 -2) 📝 `crates/server/src/server/h2_handler.rs` (+28 -9) 📝 `crates/server/src/server/h3_handler.rs` (+14 -3) 📝 `crates/server/src/server/mod.rs` (+127 -18) 📝 `crates/server/src/server/quic_handler.rs` (+14 -3) 📝 `tests/e2e-tests/Cargo.lock` (+99 -5) 📝 `tests/integration-tests/tests/integration/server_future_tests.rs` (+1 -1) </details> ### 📄 Description Follow-up from https://github.com/hickory-dns/hickory-dns/pull/3184 Avoid polluting the server crate APIs with a bool for `SSL_KEYLOG_FILE` support. Instead, lean on the ability wired through the various server APIs to allow providing a pre-configured rustls `ServerConfig` that can have keylog support enabled as one of many possible customizations. Accomplishing this requires some up-front work to allow greater control of the `rustls::ServerConfig` used for DoQ, DoH and DoH3 servers. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 11:54:30 +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#3637
No description provided.