David Anderson
de497358b8
cmd/tailscaled: add /run to the allowed paths for iptables.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-01-28 12:58:07 -08:00
Josh Bleecher Snyder
1e28207a15
types/logger: fix rateFree interaction with verbosity prefixes
...
We log lines like this:
c.logf("[v1] magicsock: disco: %v->%v (%v, %v) sent %v", c.discoShort, dstDisco.ShortString(), dstKey.ShortString(), derpStr(dst.String()), disco.MessageSummary(m))
The leading [v1] causes it to get unintentionally rate limited.
Until we have a proper fix, work around it.
Fixes #1216
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
2021-01-28 10:15:56 -08:00
David Anderson
7a16ac80b7
VERSION.txt: this is 1.5.0.
2021-01-27 18:45:22 -08:00
Brad Fitzpatrick
4d943536f1
wgengine: don't leak TUN device in NewUserspaceEngine error path
...
Updates #1187
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-27 11:06:56 -08:00
Brad Fitzpatrick
9f5b0d058f
wgengine: fix bugs from earlier fix
...
Fixes a regression from e970ed0995
that wasn't covered by tests
in this repo. (Our end-to-end tests in another repo caught this.)
Updates #1204
2021-01-27 10:32:08 -08:00
Sonia Appasamy
4dab0c1702
tailcfg: update node display name fields and methods ( #1207 )
...
Signed-off-by: Sonia Appasamy <sonia@tailscale.com>
Consolidates the node display name logic from each of the clients into
tailcfg.Node. UI clients can use these names directly, rather than computing
them independently.
2021-01-27 11:50:31 -05:00
Brad Fitzpatrick
35e10c78fc
net/interfaces: don't send over zt* interfaces
...
Fixes #1208
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-26 15:20:43 -08:00
David Anderson
692a011b54
net/interfaces: remove IsTailscaleIP, make callers use tsaddr.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-01-26 15:10:51 -08:00
Brad Fitzpatrick
e970ed0995
wgengine: fix crash reading long UAPI lines from legacy peers
...
Also don't log.Fatalf in a function returning an error.
Fixes #1204
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-26 11:39:13 -08:00
Brad Fitzpatrick
a7edcd0872
ipn/ipnstate: update tailscale status -web to match CLI
2021-01-26 08:29:59 -08:00
Brad Fitzpatrick
a98538f84a
Merge branch 'main' of github.com:tailscale/tailscale into main
2021-01-25 15:53:13 -08:00
Brad Fitzpatrick
c3c59445ff
ipn/ipnserver: on Windows in unattended mode, wait for Engine forever
...
Updates #1187
2021-01-25 15:52:24 -08:00
Brad Fitzpatrick
0dde8fa0a8
ipn/ipnserver: rearrange some code
...
No functional change. Make a future diff easier to read.
2021-01-25 15:46:39 -08:00
Brad Fitzpatrick
4d3c09ced4
ipn/ipnserver: on Windows in unattended mode, wait for Engine forever
...
Updates #1187
2021-01-25 15:32:13 -08:00
Sonia Appasamy
567c5a6d9e
tailcfg, controlclient: add DisplayName field to tailcfg.Node and populate it from controlclient ( #1191 )
...
Signed-off-by: Sonia Appasamy <sonia@tailscale.com>
2021-01-25 17:41:39 -05:00
Brad Fitzpatrick
4fea604979
wgengine/router: stop setPrivateNetwork goroutine on configureInterface failure
...
On Windows, configureInterface starts a goroutine reconfiguring the
Windows firewall.
But if configureInterface fails later, that goroutine kept running and
likely failing forever, spamming logs. Make it stop quietly if its
launching goroutine filed.
2021-01-25 13:22:51 -08:00
Andrey Petrov
bf6205d200
LICENSE: Reformat for Github
...
Should be equivalent to the license before, but compatible with the library Github uses to detect the license for the project's metadata: https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license
Signed-off-by: Andrey Petrov <andrey.petrov@shazow.net>
2021-01-24 16:20:22 -08:00
David Anderson
9f7cbf6cf1
wgengine/filter: add a Clone method.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-01-22 17:31:37 -08:00
Brad Fitzpatrick
9ce92aad3e
cmd/tailscaled: update depaware.txt
2021-01-22 14:44:40 -08:00
Brad Fitzpatrick
fa3543d629
control/controlclient: use more direct way of getting the MagicDNS suffix
...
Suggested by Avery earlier. Ends up fixing bug in "tailscale status" when
MagicDNS if off too:
https://forum.tailscale.com/t/1-3-293-is-released-a-1-4-0-pre-release/349/11?u=bradfitz
2021-01-22 14:30:56 -08:00
Brad Fitzpatrick
e7bf144c3f
ipn, wgengine/filter: fix Shields Up recent regression and old bug
...
Fixes #1192 (regression)
Fixes #1193 (old bug)
2021-01-22 13:39:53 -08:00
Brad Fitzpatrick
97496a83af
wgengine/tstun: also support DropSilently on PostFilterIn
...
Not a problem (yet). But should be consistent with other places that support both
types of drops.
2021-01-22 13:22:32 -08:00
Brad Fitzpatrick
eb47cba435
cmd/tailscaled: don't require --state for --cleanup
2021-01-22 11:35:22 -08:00
Brad Fitzpatrick
daf2c70a08
go.mod: bump wireguard-go
2021-01-21 20:03:35 -08:00
Josh Bleecher Snyder
d5baeeed5c
wgengine: use Tailscale-style peer identifiers in logs
...
Rewrite log lines on the fly, based on the set of known peers.
This enables us to use upstream wireguard-go logging,
but maintain the Tailscale-style peer public key identifiers
that the rest of our systems (and people) expect.
Fixes #1183
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
2021-01-21 19:13:32 -08:00
Brad Fitzpatrick
4306433d1c
cmd/tailscale: make "tailscale ping" also resolve names without DNS
...
This lets "tailscale ping $NAME" work even if MagicDNS is off, letting you
ping a name that shows up in "tailscale status".
More user friendly.
2021-01-21 15:45:36 -08:00
Brad Fitzpatrick
9541886856
wgengine/magicsock: disable regular STUNs for all platforms by default
...
Reduces background CPU & network.
Updates #1034
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-21 14:56:07 -08:00
David Anderson
49d00b6a28
tailcfg: add StableID to Node. #1178
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-01-21 13:33:19 -08:00
Brad Fitzpatrick
54d0d83b67
safesocket: on Linux, make /var/run/tailscale be 0755
...
Continuation of earlier two umask changes,
5611f290eb
and
d6e9fb1df0
.
This change mostly affects us, running tailscaled as root by hand (wit
a umask of 0077), not under systemd. End users running tailscaled
under systemd won't have a umask.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-21 13:23:14 -08:00
Steve Coffman
fec9490378
Add docker build script to inject version information
...
Signed-off-by: Steve Coffman <steve@khanacademy.org>
2021-01-21 12:42:53 -08:00
Brad Fitzpatrick
c55d26967b
wgengine/magicsock: log more details of endpoints learned over disco
...
Also, don't try to use IPv6 LinkLocalUnicast addresses for now. Like endpoints
exchanged with control, we share them but don't yet use them.
Updates #1172
2021-01-21 08:06:14 -08:00
Brad Fitzpatrick
9f1b02699a
tstime: add RandomDurationBetween helper
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-21 07:54:14 -08:00
Brad Fitzpatrick
a905ce5607
control/controlclient: add debug knob to not use control's endpoints
2021-01-20 21:31:06 -08:00
Brad Fitzpatrick
359055d3fa
wgengine/magicsock: fix logging regression
...
c8c493f3d9
made it always say
`created=false` which scared me when I saw it, as that would've implied
things were broken much worse. Fortunately the logging was just wrong.
2021-01-20 20:48:02 -08:00
Brad Fitzpatrick
b5628cee4e
control/controlclient: add detail to verbose log about route skips
2021-01-20 19:28:21 -08:00
Brad Fitzpatrick
edf64e0901
wgengine/magicsock: send, use endpoints in CallMeMaybe messages
...
Fixes #1172
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-20 14:59:41 -08:00
Brad Fitzpatrick
ec77b80c53
tailcfg, control/controlclient: add mapver 10: MapResponse.PeerSeenChange
...
This adds a more wire-efficient way of updating peers' Node.LastSeen times.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-20 13:20:21 -08:00
Brad Fitzpatrick
b5b4992eff
disco: support parsing/encoding endpoints in call-me-maybe frames
...
Updates #1172
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-20 12:16:33 -08:00
Josh Bleecher Snyder
d3dd7c6270
wgengine/magicsock: make legacy DstToString match Addrs
...
DstToString is used in two places in wireguard-go: Logging and uapi.
We are switching to use uapi for wireguard-go config.
To preserve existing behavior, we need the full set of addrs.
And for logging, having the full set of addrs seems useful.
(The Addrs method itself is slated for removal. When that happens,
the implementation will move to DstToString.)
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
2021-01-20 10:31:51 -08:00
Brad Fitzpatrick
187e22a756
wgengine/magicsock: don't run the DERP cleanup so often
...
To save CPU and wakeups, don't run the DERP cleanup timer regularly
unless there is a non-home DERP connection open.
Also eliminates the goroutine, moving to a time.AfterFunc.
Updates #1034
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-19 18:14:25 -08:00
David Anderson
ab9cccb292
cmd/tailscale/cli: require v4 and v6 default routes to be advertised together.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-01-19 16:49:06 -08:00
David Anderson
78338ac029
types/logger: trim spaces from the rate-limited example message.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-01-19 16:48:44 -08:00
Brad Fitzpatrick
b405644f5d
api.md: add TOC
2021-01-19 12:35:09 -08:00
Josh Bleecher Snyder
5fe5402fcd
Revert "wgengine/magicsock: shortcircuit discoEndpoint.heartbeat when its connection is closed"
...
This reverts commit 08baa17d9a
.
It caused deadlocks due to lock ordering violations.
It was not the right fix, and thus should simply be reverted
while we look for the right fix (if we haven't already found it
in the interim; we've fixed other logging-after-test issues).
Fixes #1161
2021-01-19 11:44:32 -08:00
Josh Bleecher Snyder
e4c075cd95
wgengine/magicsock: prevent log-after-test in TestTwoDevicePing
2021-01-19 11:04:17 -08:00
Brad Fitzpatrick
edce91a8a6
wgengine/magicsock: fix a naked return bug/crash where we returned (nil, true)
...
The 'ok' from 'ipp, ok :=' above was the result parameter ok. Whoops.
2021-01-19 10:57:40 -08:00
Brad Fitzpatrick
51bd1feae4
wgengine/magicsock: add single element IPPort->endpoint cache in receive path
...
name old time/op new time/op delta
ReceiveFrom-4 21.8µs ± 2% 20.9µs ± 2% -4.27% (p=0.000 n=10+10)
Updates #414
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-18 21:40:58 -08:00
David Anderson
da4ec54756
tailcfg: remove v6-overlay debug option.
...
It's about to become a no-op in control.
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-01-18 17:47:23 -08:00
Brad Fitzpatrick
5c619882bc
wgengine/magicsock: simplify ReceiveIPv4+DERP path
...
name old time/op new time/op delta
ReceiveFrom-4 35.8µs ± 3% 21.9µs ± 5% -38.92% (p=0.008 n=5+5)
Fixes #1145
Updates #414
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-01-18 15:23:17 -08:00
David Anderson
9936cffc1a
wgengine: correctly track all node IPs in lazy config.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-01-18 13:32:16 -08:00