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.
 
 
 
 
 
 
Go to file
David Crawshaw d417be6a4b controlclinet: clone filter.MatchAllowAll
This avoids a non-obvious data race, where the JSON decoder ends
up creating do-nothing writes into global variables.

	==================
	WARNING: DATA RACE
	Write at 0x0000011e1860 by goroutine 201:
	  tailscale.com/wgengine/packet.(*IP).UnmarshalJSON()
	      /home/crawshaw/repo/corp/oss/wgengine/packet/packet.go:83 +0x2d9
	  encoding/json.(*decodeState).literalStore()
	      /home/crawshaw/go/go/src/encoding/json/decode.go:877 +0x445e
	...
	  encoding/json.Unmarshal()
	      /home/crawshaw/go/go/src/encoding/json/decode.go:107 +0x1de
	  tailscale.com/control/controlclient.(*Direct).decodeMsg()
	      /home/crawshaw/repo/corp/oss/control/controlclient/direct.go:615 +0x1ab
	  tailscale.com/control/controlclient.(*Direct).PollNetMap()
	      /home/crawshaw/repo/corp/oss/control/controlclient/direct.go:525 +0x1053
	  tailscale.com/control/controlclient.(*Client).mapRoutine()
	      /home/crawshaw/repo/corp/oss/control/controlclient/auto.go:428 +0x3a6
	Previous read at 0x0000011e1860 by goroutine 86:
	  tailscale.com/wgengine/filter.matchIPWithoutPorts()
	      /home/crawshaw/repo/corp/oss/wgengine/filter/match.go:108 +0x91
	  tailscale.com/wgengine/filter.(*Filter).runIn()
	      /home/crawshaw/repo/corp/oss/wgengine/filter/filter.go:147 +0x3c6
	  tailscale.com/wgengine/filter.(*Filter).RunIn()
	      /home/crawshaw/repo/corp/oss/wgengine/filter/filter.go:127 +0xb0
	  tailscale.com/wgengine.(*userspaceEngine).SetFilter.func1()
	      /home/crawshaw/repo/corp/oss/wgengine/userspace.go:390 +0xfc
	  github.com/tailscale/wireguard-go/device.(*Device).RoutineDecryption()
	      /home/crawshaw/repo/corp/wireguard-go/device/receive.go:295 +0xa1f

For #112

Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
4 years ago
.github Remove the explicit security redirect. 4 years ago
atomicfile Move Linux client & common packages into a public repo. 4 years ago
cmd netcheck: add hairpinning detection 4 years ago
control/controlclient controlclinet: clone filter.MatchAllowAll 4 years ago
derp derp/derphttp: fix reconnect behavior 4 years ago
interfaces interfaces: recognize utun as a possible Tailscale interface name prefix 4 years ago
ipn ipn: always guard LocalBackend.prefs with mu 4 years ago
logpolicy logpolicy: automatically figure out paths and filenames. 4 years ago
logtail logtail/filch: use x/sys/unix instead of syscall. 4 years ago
netcheck netcheck: add hairpinning detection 4 years ago
portlist portlist: add a lint ignore for unused function. 4 years ago
ratelimit Move Linux client & common packages into a public repo. 4 years ago
safesocket safesocket: delete incorrect build tag 4 years ago
stun stun: add server support 4 years ago
stunner netcheck, stunner: reduce log spam 4 years ago
tailcfg netcheck: add hairpinning detection 4 years ago
tempfork/osexec Move Linux client & common packages into a public repo. 4 years ago
testy Move Linux client & common packages into a public repo. 4 years ago
tsweb tsweb, cmd/derper: move common web/debug stuff from derper to new tsweb 4 years ago
types types/key: add IsZero methods 4 years ago
version version: add a manual date as version for now 4 years ago
wgengine controlclinet: clone filter.MatchAllowAll 4 years ago
.gitattributes .gitattributes: add a smudge filter for go.mod. 4 years ago
.gitignore cmd/relaynode: drop local --acl-file in favour of central packet filter. 4 years ago
AUTHORS Move Linux client & common packages into a public repo. 4 years ago
CODE_OF_CONDUCT.md Add a code of conduct. 4 years ago
Dockerfile Dockerfile: install iptables in the container. 4 years ago
LICENSE Move Linux client & common packages into a public repo. 4 years ago
PATENTS Move Linux client & common packages into a public repo. 4 years ago
README.md README.md: Fix typo on the word `versions` 4 years ago
SECURITY.md Add a SECURITY.md for vulnerability reports. 4 years ago
go.mod go.mod: roll forward wireguard-go 4 years ago
go.sum go.mod: bump wireguard-go 4 years ago

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.