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 37903a9056 wgengine/magicsock: fix occasional deadlock on Conn.Close on c.derpStarted
The deadlock was:

* Conn.Close was called, which acquired c.mu
* Then this goroutine scheduled:

    if firstDerp {
        startGate = c.derpStarted
        go func() {
            dc.Connect(ctx)
            close(c.derpStarted)
        }()
    }

* The getRegion hook for that derphttp.Client then ran, which also
  tries to acquire c.mu.

This change makes that hook first see if we're already in a closing
state and then it can pretend that region doesn't exist.
4 years ago
..
filter tsdns: initial implementation of a Tailscale DNS resolver (#396) 4 years ago
magicsock wgengine/magicsock: fix occasional deadlock on Conn.Close on c.derpStarted 4 years ago
monitor wgengine: fix macos staticcheck errors (#557) 4 years ago
packet all: fix vet warnings 4 years ago
router wgengine/router: support legacy resolvconf 4 years ago
tsdns tsdns: response to type ANY queries 4 years ago
tstun wgengine: configure wireguard peers lazily, as needed 4 years ago
winnet Move Linux client & common packages into a public repo. 4 years ago
rusage.go Move "logger" package to under types, now that we have it. 4 years ago
rusage_nowindows.go wgengine: flesh out some docs 4 years ago
rusage_windows.go Move Linux client & common packages into a public repo. 4 years ago
userspace.go wgengine: configure wireguard peers lazily, as needed 4 years ago
watchdog.go wgengine: add debug knob to disable the watchdog during debugging 4 years ago
watchdog_test.go wgengine: prevent log after exit in watchdog test 4 years ago
wgengine.go wgengine/magicsock: change API to not permit disco key changes 4 years ago