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
Mihai Parparita bdc45b9066 wgengine/magicsock: fix panic when rebinding fails
We would replace the existing real implementation of nettype.PacketConn
with a blockForeverConn, but that violates the contract of atomic.Value
(where the type cannot change). Fix by switching to a pointer value
(atomic.Pointer[nettype.PacketConn]).

A longstanding issue, but became more prevalent when we started binding
connections to interfaces on macOS and iOS (#6566), which could lead to
the bind call failing if the interface was no longer available.

Fixes #6641

Signed-off-by: Mihai Parparita <mihai@tailscale.com>
3 years ago
..
bench all: fix more resource leaks found by staticmajor 3 years ago
filter all: fix spelling mistakes 3 years ago
magicsock wgengine/magicsock: fix panic when rebinding fails 3 years ago
monitor util/set: add new set package for SetHandle type 3 years ago
netlog net/connstats: invert network logging data flow (#6272) 3 years ago
netstack ipn/ipnlocal: call checkPrefs in Start too 3 years ago
router cmd/tailscaled, wgengine/router: use wingoes/com for COM initialization instead of go-ole 3 years ago
wgcfg types/logid: move logtail ID types here (#6336) 3 years ago
wgint go.mod, wgengine/wgint: bump wireguard-go 3 years ago
wglog all: use syncs.AtomicValue 3 years ago
winnet all: remove old +build tags 3 years ago
mem_ios.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 5 years ago
pendopen.go wgengine: remove all peer status from open timeout diagnostics 3 years ago
userspace.go wgengine: respect --no-logs-no-support flag for network logging (#6172) 3 years ago
userspace_ext_test.go go.mod: upgrade wireguard-windows, de-fork wireguard-go 5 years ago
userspace_test.go all: convert more code to use net/netip directly 3 years ago
watchdog.go all: remove old +build tags 3 years ago
watchdog_js.go wasm: drop pprof dependency 4 years ago
watchdog_test.go wgengine: remove all peer status from open timeout diagnostics 3 years ago
wgengine.go wgengine: fix typo in Engine.PeerForIP (#5912) 3 years ago