[PR #2544] [CLOSED] hickory-proto(serde): fix transparent structs and allow (de)serializing more types. #3128

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

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/2544
Author: @ArjixWasTaken
Created: 11/1/2024
Status: Closed

Base: mainHead: hickory-proto/serde


📝 Commits (4)

  • 05ad6c4 hickory-proto(serde): enable more enums/structs to be (de)serialized
  • 503c556 hickory-proto(serde): fix transparent structs
  • 88a651d format code
  • ede452a hickory-proto(serde): fix transparent structs x2

📊 Changes

14 files changed (+60 additions, -20 deletions)

View changed files

📝 crates/proto/src/op/edns.rs (+4 -0)
📝 crates/proto/src/op/header.rs (+5 -0)
📝 crates/proto/src/op/message.rs (+4 -0)
📝 crates/proto/src/op/op_code.rs (+4 -0)
📝 crates/proto/src/op/query.rs (+4 -0)
📝 crates/proto/src/op/response_code.rs (+4 -0)
📝 crates/proto/src/rr/dnssec/rdata/cdnskey.rs (+1 -0)
📝 crates/proto/src/rr/dnssec/rdata/cds.rs (+1 -0)
📝 crates/proto/src/rr/dnssec/rdata/rrsig.rs (+1 -0)
📝 crates/proto/src/rr/rdata/a.rs (+1 -0)
📝 crates/proto/src/rr/rdata/aaaa.rs (+1 -0)
📝 crates/proto/src/rr/rdata/https.rs (+1 -0)
📝 crates/proto/src/rr/rdata/name.rs (+1 -0)
📝 crates/proto/src/rr/rdata/svcb.rs (+28 -20)

📄 Description

Makes the following enums/structs (De)Serializable.

  1. Message
  2. Header
  3. OpCode
  4. ResponseCode
  5. Query
  6. Edns

And introduces #[serde(transparent)] on transparent structs that would otherwise fail to deserialize after being serialized.

Each commit is self-contained, so I'd advise you to review the changes made by looking at each commit.


Resolves #2511


🔄 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/2544 **Author:** [@ArjixWasTaken](https://github.com/ArjixWasTaken) **Created:** 11/1/2024 **Status:** ❌ Closed **Base:** `main` ← **Head:** `hickory-proto/serde` --- ### 📝 Commits (4) - [`05ad6c4`](https://github.com/hickory-dns/hickory-dns/commit/05ad6c4089b6fa41e09a72bb2b770420ba1bf534) hickory-proto(serde): enable more enums/structs to be (de)serialized - [`503c556`](https://github.com/hickory-dns/hickory-dns/commit/503c556af26415ddeb06f3e0238576d0b6f70e3f) hickory-proto(serde): fix transparent structs - [`88a651d`](https://github.com/hickory-dns/hickory-dns/commit/88a651d6b80a14ee535d8a983f1dd666e7e1cad5) format code - [`ede452a`](https://github.com/hickory-dns/hickory-dns/commit/ede452a3be3392336adb4139fda5997dea686c14) hickory-proto(serde): fix transparent structs x2 ### 📊 Changes **14 files changed** (+60 additions, -20 deletions) <details> <summary>View changed files</summary> 📝 `crates/proto/src/op/edns.rs` (+4 -0) 📝 `crates/proto/src/op/header.rs` (+5 -0) 📝 `crates/proto/src/op/message.rs` (+4 -0) 📝 `crates/proto/src/op/op_code.rs` (+4 -0) 📝 `crates/proto/src/op/query.rs` (+4 -0) 📝 `crates/proto/src/op/response_code.rs` (+4 -0) 📝 `crates/proto/src/rr/dnssec/rdata/cdnskey.rs` (+1 -0) 📝 `crates/proto/src/rr/dnssec/rdata/cds.rs` (+1 -0) 📝 `crates/proto/src/rr/dnssec/rdata/rrsig.rs` (+1 -0) 📝 `crates/proto/src/rr/rdata/a.rs` (+1 -0) 📝 `crates/proto/src/rr/rdata/aaaa.rs` (+1 -0) 📝 `crates/proto/src/rr/rdata/https.rs` (+1 -0) 📝 `crates/proto/src/rr/rdata/name.rs` (+1 -0) 📝 `crates/proto/src/rr/rdata/svcb.rs` (+28 -20) </details> ### 📄 Description Makes the following enums/structs (De)Serializable. 1. `Message` 2. `Header` 3. `OpCode` 4. `ResponseCode` 5. `Query` 6. `Edns` And introduces `#[serde(transparent)]` on transparent structs that would otherwise fail to deserialize after being serialized. Each commit is self-contained, so I'd advise you to review the changes made by looking at each commit. --- Resolves #2511 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 11:26:49 +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#3128
No description provided.