[PR #2924] [MERGED] Improve preserve_rdata fuzzer, store reserved CSYNC flags #3428

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

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/2924
Author: @divergentdave
Created: 4/11/2025
Status: Merged
Merged: 4/11/2025
Merged by: @divergentdave

Base: mainHead: david/preserve-rdata-fuzzer-improvements


📝 Commits (9)

  • 2f7f9dc Stop comparing record count fields
  • cbf7523 Print message when splitting RRs fails
  • 2c10341 Propagate errors through Decompressible trait
  • 32f74c6 Change error type in results
  • 2e6854b Add length check when skipping question section
  • 10c3c34 Label compression pointers are two bytes
  • 4974672 Print more information when record type changes
  • f7a721f Store reserved CSYNC flags
  • 63ade0b Reduce rightward drift with let-else

📊 Changes

2 files changed (+96 additions, -57 deletions)

View changed files

📝 crates/proto/src/rr/rdata/csync.rs (+5 -1)
📝 fuzz/fuzz_targets/preserve_rdata.rs (+91 -56)

📄 Description

This makes various improvements to the preserve_rdata fuzzer. More information is printed on failure, and I fixed handling of compressed names -- compressed labels are two bytes, not one. I also changed the CSYNC struct to store all reserved flags, rather than dropping them on decoding and clearing them on encoding.


🔄 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/2924 **Author:** [@divergentdave](https://github.com/divergentdave) **Created:** 4/11/2025 **Status:** ✅ Merged **Merged:** 4/11/2025 **Merged by:** [@divergentdave](https://github.com/divergentdave) **Base:** `main` ← **Head:** `david/preserve-rdata-fuzzer-improvements` --- ### 📝 Commits (9) - [`2f7f9dc`](https://github.com/hickory-dns/hickory-dns/commit/2f7f9dc0f5de35f54e17517f102a8309e1a11198) Stop comparing record count fields - [`cbf7523`](https://github.com/hickory-dns/hickory-dns/commit/cbf75235d2e6539ee347710cd10fb50ce144ea0f) Print message when splitting RRs fails - [`2c10341`](https://github.com/hickory-dns/hickory-dns/commit/2c103410712043623fa872b5ef32ce2f45134175) Propagate errors through Decompressible trait - [`32f74c6`](https://github.com/hickory-dns/hickory-dns/commit/32f74c67bd2ce1b45cd8b0319810fb50c299f9bb) Change error type in results - [`2e6854b`](https://github.com/hickory-dns/hickory-dns/commit/2e6854b73c101e7c72fbcf4019573f053756ddd4) Add length check when skipping question section - [`10c3c34`](https://github.com/hickory-dns/hickory-dns/commit/10c3c3445a25be38d942410cdd9c0b99aa0f2fc2) Label compression pointers are two bytes - [`4974672`](https://github.com/hickory-dns/hickory-dns/commit/497467213cb1a549c6b33cb319a0049cfcc8c583) Print more information when record type changes - [`f7a721f`](https://github.com/hickory-dns/hickory-dns/commit/f7a721f0c2dc822a3f527ee2367097c8964714a1) Store reserved CSYNC flags - [`63ade0b`](https://github.com/hickory-dns/hickory-dns/commit/63ade0b2ba59f77245a44c4652ed19f37f8b90c3) Reduce rightward drift with let-else ### 📊 Changes **2 files changed** (+96 additions, -57 deletions) <details> <summary>View changed files</summary> 📝 `crates/proto/src/rr/rdata/csync.rs` (+5 -1) 📝 `fuzz/fuzz_targets/preserve_rdata.rs` (+91 -56) </details> ### 📄 Description This makes various improvements to the preserve_rdata fuzzer. More information is printed on failure, and I fixed handling of compressed names -- compressed labels are two bytes, not one. I also changed the `CSYNC` struct to store all reserved flags, rather than dropping them on decoding and clearing them on encoding. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 11:43:05 +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#3428
No description provided.