Skip to content

fix(deps): hickory-resolver 0.26 and patched lockfiles - #139

Merged
github-actions[bot] merged 3 commits into
mainfrom
fix/dependabot-hickory
Oct 20, 2026
Merged

github-actions[bot] merged 3 commits into
mainfrom
fix/dependabot-hickory

Conversation

@brujack

@brujack brujack commented Oct 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • hickory-resolver 0.25.2 -> 0.26.2 (lock 0.26.3), clearing hickory-proto GHSA-3v94/RUSTSEC-2026-0118/0119 and hickory-resolver GHSA-5j98/GHSA-6f2x; Cargo.lock and fuzz/Cargo.lock refreshed so tar, serde_with, gix*, quinn-proto and rustls reach their patched versions.
  • API port in lib/src/contexts/variable_include/dns.rs. Regression caught in review and fixed: 0.26 ResolverConfig::default() has 0 name servers (0.25 defaulted to Google), so every dns+txt:// lookup failed with "no connections available". Now ResolverConfig::udp_and_tcp(&GOOGLE), matching 0.25 exactly; TXT answers filtered from the 0.26 generic Lookup.
  • deny.toml: removed the now-stale RUSTSEC-2026-0118/0119 ignores (verified: on main they fire without the ignores).

Test Plan

  • make test: nextest 1145 passed, pytest 77 passed; cargo deny check ok; cargo audit 10 -> 8 findings (rsa RUSTSEC-2023-0071 pre-existing).
  • New tests (offline): resolver config has the Google name servers; TXT filter (CNAME with =, CNAME before TXT, k=v=w, two TXT records); host-missing URL is an error. Every one proven against a mutant.
  • Live probe of the real txt_record_values: google.com 17 answers (main gives the same keys); NXDOMAIN still Err.
  • perf-regression: 4 benchmarks, ratios 1.02-1.03 vs a fresh main baseline.
  • Phase 3: security, dependency, test-quality (3 cycles), diff-scope, bug-scan, pr-review PASS.

Spec alignment

Part of ai-config spec 2026-10-20-fleet-dependabot-remediation (R1, R2).

🤖 Generated with Claude Code

https://claude.ai/code/session_019xLzrkRPPytfYRYLUBwAwJ

brujack and others added 3 commits October 19, 2026 23:15
…le entries

Clears hickory-proto RUSTSEC-2026-0118/0119 and brings fuzz/Cargo.lock
(gix, quinn-proto, rustls, serde_with, tar, hickory) to patched versions.
Port dns.rs to the 0.26 API (TokioRuntimeProvider, fallible build, Lookup
answers) and skip non-TXT answers explicitly, with unit tests.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xLzrkRPPytfYRYLUBwAwJ
hickory 0.26 derives an empty ResolverConfig::default() (0.25 returned
Google), so every dns+txt:// lookup failed with "no connections
available". Build the config explicitly via ResolverConfig::udp_and_tcp
(GOOGLE) in a small fn with a non-network test.

Add insert_txt_answers tests killing four mutants (TXT filter dropped,
rsplit_once, first-answer-only, continue->return). Drop the stale
RUSTSEC-2026-0118/0119 ignores from deny.toml; cargo deny reports them
as not detected after the 0.26 upgrade.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xLzrkRPPytfYRYLUBwAwJ
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xLzrkRPPytfYRYLUBwAwJ
@github-actions
github-actions Bot merged commit 7874d09 into main Oct 20, 2026
12 checks passed
@brujack
brujack deleted the fix/dependabot-hickory branch October 20, 2026 03:34
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