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