Mirror of tailscale/tailscale@github.com
Go to file
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
.github Remove the explicit security redirect. 2020-02-13 22:44:08 -08:00
atomicfile Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
cmd cmd/tailscale: switch to an ffcli based CLI. 2020-02-28 00:15:25 -08:00
control/controlclient controlclient: allow prefixed endpoints in tests 2020-02-27 16:52:14 -05:00
derp derp: fix JSON field typo, sort fields to make it easier to see inconsistencies 2020-02-21 14:18:09 -08:00
interfaces Start of netcheck package & including network state in Hostinfo. 2020-02-27 11:05:27 -08:00
ipn all: rename deep "Copy" methods to conventional Go name "Clone" 2020-02-27 12:20:29 -08:00
logpolicy logpolicy: automatically figure out paths and filenames. 2020-02-19 18:52:41 -08:00
logtail logtail/filch: use x/sys/unix instead of syscall. 2020-02-13 23:56:39 -08:00
netcheck Start of netcheck package & including network state in Hostinfo. 2020-02-27 11:05:27 -08:00
portlist portlist: add a lint ignore for unused function. 2020-02-10 23:50:06 -08:00
ratelimit Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
safesocket safesocket: delete incorrect build tag 2020-02-25 09:02:52 -08:00
stun stun: add server support 2020-02-26 15:19:32 -08:00
stunner stunner: support IPv6, add latency info to callbacks, use unique TxIDs per retry 2020-02-27 09:23:51 -08:00
tailcfg all: rename deep "Copy" methods to conventional Go name "Clone" 2020-02-27 12:20:29 -08:00
tempfork/osexec Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
testy Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
tsweb tsweb, cmd/derper: move common web/debug stuff from derper to new tsweb 2020-02-25 10:06:56 -08:00
types types/opt: add opt package for a new opt.Bool JSON type 2020-02-27 10:39:42 -08:00
version version: tag redo-generated version as +build redo. 2020-02-19 19:59:28 -08:00
wgengine wgengine: avoid holding any locks during HandshakeDone 2020-02-28 06:32:38 -05:00
.gitattributes .gitattributes: add a smudge filter for go.mod. 2020-02-19 20:02:02 -05:00
.gitignore cmd/relaynode: drop local --acl-file in favour of central packet filter. 2020-02-20 00:15:43 -05:00
AUTHORS Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
CODE_OF_CONDUCT.md Add a code of conduct. 2020-02-10 22:16:30 -08:00
Dockerfile Dockerfile: install iptables in the container. 2020-02-18 11:05:24 -08:00
LICENSE Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
PATENTS Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
README.md README.md: Fix typo on the word `versions` 2020-02-11 08:01:28 -08:00
SECURITY.md Add a SECURITY.md for vulnerability reports. 2020-02-11 10:26:41 -08:00
go.mod go.mod: bump wireguard-go version 2020-02-28 06:21:07 -05:00
go.sum cmd/tailscale: switch to an ffcli based CLI. 2020-02-28 00:15:25 -08:00

README.md

Tailscale

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains all the open source Tailscale code. It currently includes the Linux client.

The Linux client is currently cmd/relaynode, but will soon be replaced by cmd/tailscaled.

Building

go install tailscale.com/cmd/tailscale{,d}

We only support the latest Go release and any Go beta or release candidate builds (currently Go 1.13.x or Go 1.14) in module mode. It might work in earlier Go versions or in GOPATH mode, but we're making no effort to keep those working.

Bugs

Please file any issues about this code or the hosted service on the issue tracker.

Contributing

under_construction.gif

PRs welcome, but we are still working out our contribution process and tooling.

We require Developer Certificate of Origin Signed-off-by lines in commits.

About Us

We are apenwarr, bradfitz, crawshaw, danderson, dfcarney, from Tailscale Inc. You can learn more about us from our website.

WireGuard is a registered trademark of Jason A. Donenfeld.