fix: improve relay robustness — errgroup, ping handling, PAKE for local relay#1114
fix: improve relay robustness — errgroup, ping handling, PAKE for local relay#1114abakum wants to merge 1 commit into
Conversation
…al relay - Replace sync.WaitGroup + panic with errgroup.Group (crash prevention) - Add receiveSkippingPing helper for relay keepalive pings - PAKE key exchange for encrypted IP discovery in local relay - Fix race condition: send error to errchan on connection failure - Gracefully refuse local relay on unexpected data - Add golang.org/x/sync v0.10.0 dependency
5e8cb3d to
5a5731d
Compare
fix: improve relay robustness — errgroup, ping handling, PAKE for local relayThis PR combines several robustness fixes for relay communication. Part A: Replace panic with errgroup (critical fix)Problem: In Solution: Replace Part B: Skip relay keepalive pingsProblem: The relay sends periodic keepalive pings ( Solution: Centralize ping-skipping logic in a new Part C: PAKE key exchange for local relay IP discoveryProblem: The receiver may not discover the sender via multicast (due to firewalls, different subnets, or IPv4/IPv6 mismatches). The receiver needs a fallback to request the sender's local IP addresses through the relay pipe. Solution: Extend Part D: Race condition fix in local relayProblem: When Solution: Send the error to Dependency: |
No description provided.