Repository navigation
Conversation
AminMGMT
pushed a commit
that referenced
this pull request
Oct 9, 2026
…d openUDPPaths wrapper These three branches were the only ones of the 32 that could not be merged directly: each conflicted in exactly one file against a sibling that had already landed, and the branches live on a fork this session cannot push to. Resolutions, each verified rather than guessed: - #87 (reverse QUIC DNS bounded by the dial timeout) conflicted with #71 in internal/utils/network/quic.go, in the import block alone. Both sides' imports are kept: strings, sync and sync/atomic. - #84 (TCP proxy setup bounded, retry backoff cancellable) conflicted with #66 in internal/utils/network/tcp_dialer.go. main's copy of that file was byte-identical to #66's, so #66 was its only other author, and #84's version is a superset of it: it keeps #66's cancellable retry timer and AfterFunc guard and adds the per-attempt deadline. #84's version is taken whole. - #60 (direct tunnel recovery) conflicted with #85 in internal/tunnel/limits/limits.go. main's copy is byte-identical to #85's, which already carries #60's ctx/cancel/Close plus the pacingDeadline work, so it supersedes #60's change to that file and is kept. #60's other ten files apply unchanged. Separately, #76 kept openUDPPaths as a context.Background() shim after moving its only caller to openUDPPathsContext. Nothing calls it, so staticcheck fails the audit job with U1000 — red on main since #76 landed, and clean on main before it. The shim is removed and its explanation moved onto the function that does the work. Verified on the result: gofmt clean, go build ./... and go vet ./... pass, staticcheck clean, and go test ./... plus go test -race ./... match main's baseline (internal/socks fails only because this container has no IPv6, which fails on plain main too). Co-authored-by: dr-hoseyn <95236112+dr-hoseyn@users.noreply.github.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019wBoD8a2hetHgBWnfsRAuY
Owner
|
Closing: this landed on It conflicted with #71 in Thank you for this one. Generated by Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reverse QUIC resolved endpoint DNS outside the caller context, and its configured dial timeout only bounded a later control-channel read. A stalled resolver could hold reconnect workers and endpoint failover indefinitely. Resolve the endpoint with the same cancellation and timeout budget used by the QUIC handshake, before opening its UDP socket, and pass the configured timeout from the reverse client.
Validation: isolated blocked-resolver tests reproduce both cancellation and deadline failures on the original source. The fixed source passes cancellation, caller timeout, configured timeout, literal/service/IPv6 address compatibility, and established-connection lifetime checks under the race detector (five repetitions). Network/client/server transport race suites and vet also pass. Three existing files changed; no new test files.
Linux validation: https://github.com/dr-hoseyn/BackPack/actions/runs/37804600164
Final complete integrated tests, runtime race suites, vet and Linux ARM64 build: https://github.com/dr-hoseyn/BackPack/actions/runs/37807955630