[PR #1605] [CLOSED] Saethlin fix rdata zero #2453

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

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/1605
Author: @bluejekyll
Created: 12/11/2021
Status: Closed

Base: mainHead: saethlin-fix-rdata-zero


📝 Commits (9)

  • 5b88a52 Add failing test from round-trip fuzzing
  • a618bd2 Fix failing test
  • 2f43789 Make Record's Default impl consistent
  • d75c72f Do not use NULL rdata with ZERO rtype
  • 7ef630a first pass, make RData optional in Record
  • ed70efa add assert that all data in rd_length is consumed
  • d83b6cb ensure ZERO RData length is always verified
  • 316e3ae remove deprecated uses of Record::rdata
  • c48466b fix dynamic-dns matching

📊 Changes

52 files changed (+651 additions, -505 deletions)

View changed files

📝 bin/benches/comparison_benches.rs (+1 -1)
📝 bin/tests/named_tests.rs (+2 -2)
📝 bin/tests/server_harness/mod.rs (+3 -3)
📝 crates/client/README.md (+1 -1)
📝 crates/client/src/client/async_client.rs (+2 -7)
📝 crates/client/src/lib.rs (+3 -3)
📝 crates/client/src/op/update_message.rs (+1 -1)
📝 crates/client/src/rr/dnssec/signer.rs (+34 -16)
📝 crates/client/src/rr/dnssec/tsig.rs (+1 -1)
📝 crates/client/src/serialize/txt/parse_rdata.rs (+1 -0)
📝 crates/client/src/serialize/txt/rdata_parsers/svcb.rs (+4 -2)
📝 crates/client/src/serialize/txt/zone.rs (+2 -2)
📝 crates/proto/src/https/https_client_stream.rs (+16 -20)
📝 crates/proto/src/op/edns.rs (+6 -5)
📝 crates/proto/src/op/message.rs (+9 -0)
📝 crates/proto/src/rr/dnssec/rdata/tsig.rs (+3 -3)
📝 crates/proto/src/rr/dnssec/tbs.rs (+5 -2)
📝 crates/proto/src/rr/rdata/null.rs (+14 -17)
📝 crates/proto/src/rr/record_data.rs (+7 -1)
📝 crates/proto/src/rr/record_type.rs (+6 -0)

...and 32 more files

📄 Description

This is an alternate fix for #1594. It allows Dynamic DNS records to continue to work properly, but maintains the ZERO rdata with the ZERO record type and makes the Record::rdata optional to better reflect the ZERO and NULL types.

Closes: #1594
Fixes: #1571


🔄 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/1605 **Author:** [@bluejekyll](https://github.com/bluejekyll) **Created:** 12/11/2021 **Status:** ❌ Closed **Base:** `main` ← **Head:** `saethlin-fix-rdata-zero` --- ### 📝 Commits (9) - [`5b88a52`](https://github.com/hickory-dns/hickory-dns/commit/5b88a529725653683175fb0d8bcb17db5c8b8b69) Add failing test from round-trip fuzzing - [`a618bd2`](https://github.com/hickory-dns/hickory-dns/commit/a618bd220990742d63a483956cf4571a804b5119) Fix failing test - [`2f43789`](https://github.com/hickory-dns/hickory-dns/commit/2f4378956b0e2d304553d77f20e83a45adf0df87) Make Record's Default impl consistent - [`d75c72f`](https://github.com/hickory-dns/hickory-dns/commit/d75c72f320031f2b3121fa4217d425358aa99a03) Do not use NULL rdata with ZERO rtype - [`7ef630a`](https://github.com/hickory-dns/hickory-dns/commit/7ef630a5680757a05b9614789673a703947e1742) first pass, make RData optional in Record - [`ed70efa`](https://github.com/hickory-dns/hickory-dns/commit/ed70efa4063d1dc534b49c39a3579570a2ed186c) add assert that all data in rd_length is consumed - [`d83b6cb`](https://github.com/hickory-dns/hickory-dns/commit/d83b6cbdb7876ad406c225345b7f571fedc09f10) ensure ZERO RData length is always verified - [`316e3ae`](https://github.com/hickory-dns/hickory-dns/commit/316e3aebafdb4831f06ea309bd4ef62c16318d1f) remove deprecated uses of Record::rdata - [`c48466b`](https://github.com/hickory-dns/hickory-dns/commit/c48466b402f441a8c2120eaddd3398635a0d5f2c) fix dynamic-dns matching ### 📊 Changes **52 files changed** (+651 additions, -505 deletions) <details> <summary>View changed files</summary> 📝 `bin/benches/comparison_benches.rs` (+1 -1) 📝 `bin/tests/named_tests.rs` (+2 -2) 📝 `bin/tests/server_harness/mod.rs` (+3 -3) 📝 `crates/client/README.md` (+1 -1) 📝 `crates/client/src/client/async_client.rs` (+2 -7) 📝 `crates/client/src/lib.rs` (+3 -3) 📝 `crates/client/src/op/update_message.rs` (+1 -1) 📝 `crates/client/src/rr/dnssec/signer.rs` (+34 -16) 📝 `crates/client/src/rr/dnssec/tsig.rs` (+1 -1) 📝 `crates/client/src/serialize/txt/parse_rdata.rs` (+1 -0) 📝 `crates/client/src/serialize/txt/rdata_parsers/svcb.rs` (+4 -2) 📝 `crates/client/src/serialize/txt/zone.rs` (+2 -2) 📝 `crates/proto/src/https/https_client_stream.rs` (+16 -20) 📝 `crates/proto/src/op/edns.rs` (+6 -5) 📝 `crates/proto/src/op/message.rs` (+9 -0) 📝 `crates/proto/src/rr/dnssec/rdata/tsig.rs` (+3 -3) 📝 `crates/proto/src/rr/dnssec/tbs.rs` (+5 -2) 📝 `crates/proto/src/rr/rdata/null.rs` (+14 -17) 📝 `crates/proto/src/rr/record_data.rs` (+7 -1) 📝 `crates/proto/src/rr/record_type.rs` (+6 -0) _...and 32 more files_ </details> ### 📄 Description This is an alternate fix for #1594. It allows Dynamic DNS records to continue to work properly, ~~but maintains the ZERO rdata with the ZERO record type~~ and makes the `Record::rdata` optional to better reflect the ZERO and NULL types. Closes: #1594 Fixes: #1571 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 08:54:39 +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#2453
No description provided.