tailscale/wgengine
David Crawshaw c576a57067 wgengine: avoid holding any locks during HandshakeDone
Because wgLock is held while some wireguard-go methods run,
trying to hold wgLock during HandshakeDone potentially creates
lock cycles between wgengine and internals of wireguard-go.

Arguably wireguard-go should call HandshakeDone in a new goroutine,
but until its API promises that, don't make any assumptions here.

Maybe for #110.

Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-02-28 06:32:38 -05:00
..
filter Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
magicsock stunner: support IPv6, add latency info to callbacks, use unique TxIDs per retry 2020-02-27 09:23:51 -08:00
monitor wgengine/monitor: use RTMGRP_* consts from x/sys/unix 2020-02-17 14:15:08 -08:00
packet wgengine/packet: fix minor lint errors. 2020-02-11 00:01:14 -08:00
winnet Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
faketun.go wgengine: properly clean up freebsd routes and interfaces on close 2020-02-25 16:40:10 -05:00
ifconfig_windows.go wgengine: fix build on linux/freebsd/openbsd/windows 2020-02-19 11:58:59 -05:00
router_darwin_support.go wgengine: make SetRoutesFunc less appealing to use. 2020-02-10 21:40:00 -08:00
router_darwin.go wgengine: move link monitor to be owned by the engine, not the router 2020-02-17 09:53:17 -08:00
router_default.go wgengine: simplify, change some signatures 2020-02-17 08:04:31 -08:00
router_fake.go wgengine: move link monitor to be owned by the engine, not the router 2020-02-17 09:53:17 -08:00
router_freebsd.go wgengine: properly clean up freebsd routes and interfaces on close 2020-02-25 16:40:10 -05:00
router_linux.go wgengine: resolv.conf spelling corrections 2020-02-22 06:44:56 -08:00
router_openbsd.go wgengine: add OpenBSD router DNS update handling 2020-02-20 08:03:07 -08:00
router_windows.go wgengine: move link monitor to be owned by the engine, not the router 2020-02-17 09:53:17 -08:00
rusage_nowindows.go wgengine: flesh out some docs 2020-02-12 13:37:45 -08:00
rusage_windows.go Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
rusage.go Move "logger" package to under types, now that we have it. 2020-02-14 20:23:05 -08:00
userspace.go wgengine: avoid holding any locks during HandshakeDone 2020-02-28 06:32:38 -05:00
watchdog_test.go wgengine: simplify, change some signatures 2020-02-17 08:04:31 -08:00
watchdog.go wgengine: flesh out some docs 2020-02-12 13:37:45 -08:00
wgengine.go wgengine: update for wgcfg changes 2020-02-19 11:44:37 -05:00