Skip to content

Harden IPv6 direct host checks#16

Draft
Vrepol wants to merge 1 commit into
mainfrom
codex/ipv6-direct-host-checks
Draft

Harden IPv6 direct host checks#16
Vrepol wants to merge 1 commit into
mainfrom
codex/ipv6-direct-host-checks

Conversation

@Vrepol

@Vrepol Vrepol commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Closes #15

Summary

  • Adds lightweight IPv6 client capability reporting on the connection selection screen.
  • Adds host-mode IPv6 readiness reporting that combines socket availability, route detection, and public IPv6 candidate discovery.
  • Tightens IPv6 advertise filtering to only treat global unicast IPv6 candidates as public invite candidates, excluding loopback, link-local, ULA, site-local-by-range, documentation, multicast/unspecified, and IPv4-mapped/compatible forms.
  • Labels loopback candidates as local test only and updates host-mode success copy to avoid implying firewall bypass.
  • Documents the IPv6 Direct Host boundary: no STUN/TURN/ICE, UDP hole punching, UPnP, NAT-PMP, or PCP in this issue.

Scope notes

This PR keeps the existing temporary server model: user A can host a local MistV server and advertise a reachable [IPv6]:PORT; users B/C/D/E can connect when that TCP port is allowed by the OS/router firewall. It does not claim MistV can bypass a firewall that blocks inbound TCP.

During local exploration, a 3-5 client encrypted direct-JOIN integration harness exposed unstable group-key convergence unrelated to IPv6 socket/binding behavior, so this PR keeps encrypted IPv6 regression coverage at the existing stable two-client level. That should be tracked separately if reproduced during manual multi-user testing.

Validation

  • cargo fmt --all -- --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test --all --all-features --locked

Note: full tests were run outside the local filesystem sandbox because IPv6 loopback binding can fail inside the sandbox with Operation not permitted.

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.

Harden IPv6 direct host mode and client IPv6 capability checks

1 participant