Skip to content

fix: respect transport protocol during hot reload - #11

Open
dr-hoseyn wants to merge 1 commit into
AminMGMT:mainfrom
dr-hoseyn:fix/udp-hot-reload
Open

fix: respect transport protocol during hot reload#11
dr-hoseyn wants to merge 1 commit into
AminMGMT:mainfrom
dr-hoseyn:fix/udp-hot-reload

Conversation

@dr-hoseyn

Copy link
Copy Markdown

Summary

  • probe the tunnel listener with its actual transport protocol during hot reload
  • use UDP checks for UDP, KCP, and QUIC instead of incorrectly probing TCP
  • skip unsafe availability probes for raw-socket XDI/SPOOF transports
  • give the tunnel and web listeners independent settling timeouts

Why

The previous reload path always used net.Listen(tcp, ...). For UDP-based transports this could report the port as available while the old UDP socket was still bound, causing the restarted tunnel to race and fail.

Verification

  • GOOS=linux GOARCH=amd64 go vet ./cmd
  • GOOS=linux GOARCH=amd64 go test -c ./cmd
  • added TCP/UDP/raw transport classification coverage and a UDP release/wait test

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