You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/wgengine
Avery Pennarun 0d4a0bf60e magicsock: if STUN failed to send before, rebind before STUNning again.
On iOS (and possibly other platforms), sometimes our UDP socket would
get stuck in a state where it was bound to an invalid interface (or no
interface) after a network reconfiguration. We can detect this by
actually checking the error codes from sending our STUN packets.

If we completely fail to send any STUN packets, we know something is
very broken. So on the next STUN attempt, let's rebind the UDP socket
to try to correct any problems.

This fixes a problem where iOS would sometimes get stuck using DERP
instead of direct connections until the backend was restarted.

Fixes #2994

Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
3 years ago
..
bench wgengine/wgcfg: use just the hexlified node key as the WireGuard endpoint. 3 years ago
filter cmd/cloner: add Clone context to regen struct assignments 3 years ago
magicsock magicsock: if STUN failed to send before, rebind before STUNning again. 3 years ago
monitor wgengine/monitor: ignore ipsec link monitor events on iOS/macOS 3 years ago
netstack wgengine/netstack: include DNS.ExtraRecords in DNSMap 3 years ago
router tstest: add MemLogger bytes.Buffer wrapper with Logf method 3 years ago
wgcfg cmd/cloner: add Clone context to regen struct assignments 3 years ago
wglog wgengine/wglog: Fix docstring on wireguardGoString to match args 3 years ago
winnet wgengine/winnet: don't build on non-windows 3 years ago
mem_ios.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 3 years ago
pendopen.go cmd/tailscale: fix "tailscale ip $self-host-hostname" 3 years ago
userspace.go magicsock: if STUN failed to send before, rebind before STUNning again. 3 years ago
userspace_ext_test.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 3 years ago
userspace_test.go all: close fake userspace engines when tests complete 3 years ago
watchdog.go wgengine: randomize client port if netmap says to 3 years ago
watchdog_test.go all: close fake userspace engines when tests complete 3 years ago
wgengine.go wgengine: randomize client port if netmap says to 3 years ago