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
Brad Fitzpatrick 387e83c8fe wgengine/magicsock: fix Conn.Rebind race that let ErrClosed errors be read
There was a logical race where Conn.Rebind could acquire the
RebindingUDPConn mutex, close the connection, fail to rebind, release
the mutex, and then because the mutex was no longer held, ReceiveIPv4
wouldn't retry reads that failed with net.ErrClosed, letting that
error back to wireguard-go, which would then stop running that receive
IP goroutine.

Instead, keep the RebindingUDPConn mutex held for the entirety of the
replacement in all cases.

Updates tailscale/corp#1289

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
3 years ago
..
filter wgengine/filter: use IPSet for localNets instead of prefixes. 3 years ago
magicsock wgengine/magicsock: fix Conn.Rebind race that let ErrClosed errors be read 3 years ago
monitor net/interfaces, wgengine/monitor: fix false positives link changes 3 years ago
netstack wgengine/netstack: stop UDP forwarding when one side dies 3 years ago
router wgengine/router: add OpenBSD IPv6 support. 3 years ago
tsdns wgengine/tsdns: explicitly reject .onion lookups 3 years ago
tstun wgengine/filter: use IPSet for localNets instead of prefixes. 3 years ago
wgcfg ipn/ipnlocal: only filter out default routes when computing the local wg config. 3 years ago
wglog wgengine/wglog: drop 1/s "interface is up" messages. 3 years ago
winnet wgengine/winnet: don't build on non-windows 3 years ago
ifstatus_noop.go wgengine: make NewUserspaceEngine wait for TUN interface to be up on Windows 3 years ago
ifstatus_windows.go wgengine: make NewUserspaceEngine wait for TUN interface to be up on Windows 3 years ago
pendopen.go ipn: split LocalBackend off into new ipn/ipnlocal package 3 years ago
userspace.go wgengine{,/monitor}: restore Engine.LinkChange, add Mon.InjectEvent 3 years ago
userspace_test.go cmd/tailscaled, wgengine: remove --fake, replace with netstack 3 years ago
watchdog.go wgengine{,/monitor}: restore Engine.LinkChange, add Mon.InjectEvent 3 years ago
watchdog_test.go cmd/tailscaled, wgengine: remove --fake, replace with netstack 3 years ago
wgengine.go wgengine{,/monitor}: restore Engine.LinkChange, add Mon.InjectEvent 3 years ago