[PR #2331] [MERGED] Fix SOA referrals #2957

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

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/2331
Author: @marcus0x62
Created: 7/30/2024
Status: Merged
Merged: 8/4/2024
Merged by: @bluejekyll

Base: mainHead: soa_referral_fix


📝 Commits (2)

  • ecc056b PR #2325 broke SOA-based referrals by casting
  • c59cd58 Added tests for ForwardNS and ForwardSOA; fixed caching client to pass through NS record inProtoError::NoRecordsFound when present

📊 Changes

4 files changed (+113 additions, -8 deletions)

View changed files

📝 crates/proto/src/error.rs (+2 -3)
📝 crates/resolver/src/caching_client.rs (+8 -4)
📝 tests/integration-tests/src/mock_client.rs (+5 -1)
📝 tests/integration-tests/tests/lookup_tests.rs (+98 -0)

📄 Description

PR #2325 broke SOA-based referrals by casting SOA records in the nameservers query response section into NS Records; this patch changes the logic in crates/proto/src/error.rs to only add records from the nameservers section of a non-responsive message to the nameserver list if the record type is NS, preserving the existing SOA-forwarding logic.

This was breaking certain NS referrals, notably SOA referals for cloudflare nameservers.


🔄 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/2331 **Author:** [@marcus0x62](https://github.com/marcus0x62) **Created:** 7/30/2024 **Status:** ✅ Merged **Merged:** 8/4/2024 **Merged by:** [@bluejekyll](https://github.com/bluejekyll) **Base:** `main` ← **Head:** `soa_referral_fix` --- ### 📝 Commits (2) - [`ecc056b`](https://github.com/hickory-dns/hickory-dns/commit/ecc056ba5526695e6009d881d0b805a557959fa5) [PR #2325](https://github.com/hickory-dns/hickory-dns/pull/2325) broke SOA-based referrals by casting - [`c59cd58`](https://github.com/hickory-dns/hickory-dns/commit/c59cd58f4d43ce55c06bd12f41820afacf3e4bdc) Added tests for ForwardNS and ForwardSOA; fixed caching client to pass through NS record inProtoError::NoRecordsFound when present ### 📊 Changes **4 files changed** (+113 additions, -8 deletions) <details> <summary>View changed files</summary> 📝 `crates/proto/src/error.rs` (+2 -3) 📝 `crates/resolver/src/caching_client.rs` (+8 -4) 📝 `tests/integration-tests/src/mock_client.rs` (+5 -1) 📝 `tests/integration-tests/tests/lookup_tests.rs` (+98 -0) </details> ### 📄 Description [PR #2325](https://github.com/hickory-dns/hickory-dns/pull/2325) broke SOA-based referrals by casting SOA records in the nameservers query response section into NS Records; this patch changes the logic in crates/proto/src/error.rs to only add records from the nameservers section of a non-responsive message to the nameserver list if the record type is NS, preserving the existing SOA-forwarding logic. This was breaking certain NS referrals, notably SOA referals for cloudflare nameservers. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 11:17:25 +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#2957
No description provided.