Skip to content

fix(deps): bump hickory-proto 0.25.2 -> 0.26.3 - #100

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/hickory-026
Oct 5, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
fix/hickory-026

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Refs hyperpolymath/.git-private-farm#96 (owner ruling D138: accept the major bump and fix breakage).

What

  • hickory-proto 0.25.2 -> 0.26.3 in crates/hesiod-lib and crates/hesinfo, with Cargo.lock at 0.26.3. The floor is 0.26.3, not 0.26, so the manifest requirement no longer admits the affected 0.26.0.
  • Ported to the 0.26 message API. 0.26 replaced the Header getters and setters with public Metadata and section fields:
    • Header::response_from_request -> Metadata::response_from_request
    • queries()/answers() -> .queries/.answers; set_response_code, set_id and similar -> .metadata.*
    • Record::set_dns_class -> .dns_class; TXT::iter -> .txt_data; rr::record_data::RData is now private, so import rr::RData
  • Pre-existing build break fixed: hesinfo's validate command used a let-chain, but the workspace is edition = "2021". origin/main (3bd657b) does not compile (error: let chains are only allowed in Rust 2024 or later, crates/hesinfo/src/main.rs:245). I rewrote it as a nested if let with the same behaviour.

Resolves Dependabot alerts #2 (GHSA-3v94-mw7p-v465, >= 0.25.0-alpha.3, <= 0.25.2) and #3/#4/#5 (GHSA-q2qq-hmj6-3wpp, >= 0.3.1, <= 0.26.0). The locked 0.26.3 is outside both ranges.

Cargo.lock also gains jni*, rand 0.10-family and simd_cesu8 entries. These are hickory-proto 0.26's target-specific (Android) and RNG dependencies and are not compiled on Linux.

Verification (local, rustc 1.97.1)

  • cargo build --locked: ok (origin/main fails here, see above)
  • cargo test --locked: ok, 7 suites, 70 passed, 0 failed
  • cargo clippy --locked: no warnings
  • Smoke test: hesinfo serve on :15353, then dig -c HS -t TXT admin.passwd.ns.flatracoon.internal returned NOERROR with the aa flag and the correct TXT answer. An unknown key returned NXDOMAIN.
  • cargo fmt --check fails on main and on this branch. Every reported diff is in lines this PR does not touch (benches, tests, health.rs and others). Left as is to keep this diff minimal.

Not fixed here (pre-existing): hesinfo lookup queries <key>.<map>.ns without the zone suffix, so it gets NXDOMAIN from the server.

🤖 Generated with Claude Code

hickory-proto 0.25.2 is inside GHSA-q2qq-hmj6-3wpp (<= 0.26.0) and
GHSA-3v94-mw7p-v465 (0.25 line, no patched 0.25 release). Move both
crates to ^0.26.3 and port to the 0.26 message API, which replaced
Header getters/setters with public Metadata fields:

- Header::response_from_request -> Metadata::response_from_request
- message.queries()/answers() -> message.queries/answers fields
- set_response_code/set_op_code/... -> message.metadata.* fields
- Record::set_dns_class -> record.dns_class; TXT::iter -> txt_data
- rr::record_data::RData is private; import rr::RData

Also replace a let-chain in hesinfo's validate command with a nested
if-let: the workspace is edition 2021, so origin/main did not compile
(E: let chains are only allowed in Rust 2024).

Refs hyperpolymath/.git-private-farm#96

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 3f36f8e1-c0e5-4805-8c3a-01baf0c19c3e
📥 Commits

Reviewing files that changed from the base of the PR and between 3bd657b and bcd3677.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (4)
  • crates/hesinfo/Cargo.toml
  • crates/hesinfo/src/main.rs
  • crates/hesiod-lib/Cargo.toml
  • crates/hesiod-lib/src/server.rs
 ______________________________________________________________________
< I see you chose the 'dynamic typing' difficulty setting. On purpose. >
 ----------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

sonarqubecloud Bot commented Oct 5, 2026

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 3fe76d2 into main Oct 5, 2026
38 of 40 checks passed
@hyperpolymath
hyperpolymath deleted the fix/hickory-026 branch October 5, 2026 22:28
@coderabbitai

coderabbitai Bot commented Oct 5, 2026

Copy link
Copy Markdown

Add Carrot credits or activate Agent usage billing to use Autopilot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant