Skip to content

Share DNS timeout budgets across DoH and UDP fallback#686

Merged
ryanfowler merged 1 commit into
mainfrom
fix-dns-timeout-budget-fallback
Jun 1, 2026
Merged

Share DNS timeout budgets across DoH and UDP fallback#686
ryanfowler merged 1 commit into
mainfrom
fix-dns-timeout-budget-fallback

Conversation

@ryanfowler

Copy link
Copy Markdown
Owner

Summary

  • Keep one TimeoutBudget alive across DoH POST and JSON fallback so RFC8484 retries cannot restart the timeout.
  • Carry the same budget through UDP A/AAAA lookups and truncated UDP-to-TCP fallback so the TCP retry uses the remaining time.
  • Update DNS inspection to reuse the budgeted DoH/UDP paths and document the invariant in AGENTS.md.
  • Add regressions for delayed DoH 415 fallback and truncated UDP fallback to verify elapsed time stays bounded by the original timeout.

Testing

  • cargo fmt
  • cargo clippy --locked --all-targets --all-features -- -D warnings
  • cargo test --all-features

@ryanfowler ryanfowler merged commit ea73944 into main Jun 1, 2026
4 checks passed
@ryanfowler ryanfowler deleted the fix-dns-timeout-budget-fallback branch June 1, 2026 03:36
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