Skip to content

fix(tunnel): honor native QUIC dial cancellation during DNS resolution - #62

Merged
cppla merged 1 commit into
mainfrom
codex/native-dns-cancellation
Oct 3, 2026
Merged

cppla merged 1 commit into
mainfrom
codex/native-dns-cancellation

Conversation

@cppla

@cppla cppla commented Oct 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Include relay DNS and service-port resolution in the existing client-owned native QUIC dial context and timeout budget. A stalled DNS lookup no longer keeps AutoCAR's physical dial worker alive after client cancellation or its deadline.
  • Preserve the standard UDP resolver's address-family preference, mapped IPv6/zones, empty host and service-port behavior. Individual callers still cancel only their wait on a shared attempt; the configured relay hostname still owns certificate verification.
  • Add isolated real-loopback DNS cancellation/deadline regressions and a successful named-relay control with a trusted DNS-only certificate, actual authenticated FIN/echo and joined closure. Document the standard-library/OS resolver background-work boundary.

Validation

  • The same frozen cancellation fixture failed both intended oracles once on the unchanged base, with independent cleanup; both pass after this fix. No candidate retry was needed.
  • Full make check and make race passed using Go 1.27.1.
  • Go 1.25.13 focused race/shuffle: exactly 12 top-level tests x10; 500 inclusive RUN/PASS nodes, zero failure/skip/race reports. Includes address compatibility, owned-worker cancellation, successful authenticated native QUIC, shared caller cancellation, reconnect, TLS fallback, and FD controls.
  • Actual isolated Linux/arm64 Docker execution: the same 12 top-level tests x3 (150 inclusive RUN/PASS nodes), CGO=0/non-race, no external network, zero failures/skips. Frozen source/input/compiler/binary guards passed; the owned test container was removed.

No dependency, wire protocol, default configuration, tag or release change. These are lifecycle, compatibility and successful-flow checks; they do not assert a browser fingerprint, comparative ranking or performance result. Client Close joins AutoCAR's physical worker, not every standard-library DNS or OS resolver worker.

Copilot AI balanced review requested due to automatic review settings October 3, 2026 07:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@cppla
cppla merged commit 20b5cb7 into main Oct 3, 2026
14 checks passed
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.

2 participants