Skip to content

Skip host-socket checks in relay-only ICE mode - #470

Open
Mr444-dev wants to merge 1 commit into
ValveSoftware:masterfrom
Mr444-dev:fix/relay-only-ice
Open

Mr444-dev wants to merge 1 commit into
ValveSoftware:masterfrom
Mr444-dev:fix/relay-only-ice

Conversation

@Mr444-dev

Copy link
Copy Markdown

Fixes #452.

In relay-only mode, native ICE still tests host sockets against peer relay candidates. A TURN server drops those direct checks, and with multiple interfaces they can delay the usable relay pairs until the connection times out.

Skip host-socket candidates when the permitted candidate types contain only relay candidates. Add a regression case with two symmetric-NAT adapters per peer.

The candidate guard follows the fix proposed by @easymod0 in #452.

Verification:

  • Built test_p2p with CMake/MSVC Debug, native ICE enabled and WebRTC disabled.
  • Ran the new P2P scenario in isolation on Windows: the parent revision timed out during rendezvous; the patched revision connected over relay on both runs with --repeat=2.
  • git diff --check 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.

ICE (native client): relay-only connections time out against a real TURN server; host-socket checks starve the relay pairs

1 participant