[PR #3182] [MERGED] Send minimal responses to queries with QTYPE=ANY #3622

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

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/3182
Author: @divergentdave
Created: 8/7/2025
Status: Merged
Merged: 8/12/2025
Merged by: @divergentdave

Base: mainHead: david/minimal-any


📝 Commits (2)

  • 4a3a072 Replace uses of QTYPE=ANY in tests
  • faa7e90 Only return one RRset when handling QTYPE=ANY

📊 Changes

5 files changed (+133 additions, -205 deletions)

View changed files

📝 crates/server/src/authority/auth_lookup.rs (+1 -98)
📝 crates/server/src/authority/mod.rs (+1 -2)
📝 crates/server/src/store/in_memory/inner.rs (+24 -0)
📝 crates/server/src/store/in_memory/mod.rs (+4 -11)
📝 tests/integration-tests/tests/integration/sqlite_authority_tests.rs (+103 -94)

📄 Description

This changes the authoritative server to only pick one RRset to send in response to ANY queries. Limiting responses to ANY queries mitigates their use in DoS reflection attacks. This also brings us a step further in simplifying LookupRecords and decoupling the Authority trait interface from internal implementation details of the authoritative server.

This closes #3171.


🔄 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/3182 **Author:** [@divergentdave](https://github.com/divergentdave) **Created:** 8/7/2025 **Status:** ✅ Merged **Merged:** 8/12/2025 **Merged by:** [@divergentdave](https://github.com/divergentdave) **Base:** `main` ← **Head:** `david/minimal-any` --- ### 📝 Commits (2) - [`4a3a072`](https://github.com/hickory-dns/hickory-dns/commit/4a3a0722c06d703f7f2bc67f0da3b82a745c270b) Replace uses of QTYPE=ANY in tests - [`faa7e90`](https://github.com/hickory-dns/hickory-dns/commit/faa7e90b20b5ff60b0acfeb926c8bfce2ac59cca) Only return one RRset when handling QTYPE=ANY ### 📊 Changes **5 files changed** (+133 additions, -205 deletions) <details> <summary>View changed files</summary> 📝 `crates/server/src/authority/auth_lookup.rs` (+1 -98) 📝 `crates/server/src/authority/mod.rs` (+1 -2) 📝 `crates/server/src/store/in_memory/inner.rs` (+24 -0) 📝 `crates/server/src/store/in_memory/mod.rs` (+4 -11) 📝 `tests/integration-tests/tests/integration/sqlite_authority_tests.rs` (+103 -94) </details> ### 📄 Description This changes the authoritative server to only pick one RRset to send in response to ANY queries. Limiting responses to ANY queries mitigates their use in DoS reflection attacks. This also brings us a step further in simplifying `LookupRecords` and decoupling the `Authority` trait interface from internal implementation details of the authoritative server. This closes #3171. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 11:53:42 +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#3622
No description provided.