Brad Fitzpatrick
7e0d12e7cc
wgengine/magicsock: don't update control if only endpoint order changes
...
Updates #1559
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-22 10:37:04 -07:00
Brad Fitzpatrick
1eb95c7e32
net/packet, wgengine{,/filter}: remove net/packet IPProto forwarding consts
...
Only use the ones in types/ipproto now.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-20 21:45:47 -07:00
Brad Fitzpatrick
01b90df2fa
net/packet, wgengine/filter: support SCTP
...
Add proto to flowtrack.Tuple.
Add types/ipproto leaf package to break a cycle.
Server-side ACL work remains.
Updates #1516
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-20 21:34:13 -07:00
Brad Fitzpatrick
90a6fb7ffe
tailcfg: add FilterRule.IPProto
...
Updates #1516
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-19 18:08:23 -07:00
Brad Fitzpatrick
32562a82a9
wgengine/magicsock: annotate a few more disco logs as verbose
...
Fixes #1540
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-19 13:24:29 -07:00
Brad Fitzpatrick
0406a7436a
cmd/tailscale/cli: use double hypens, make default usage func more clear
...
Mash up some code from ffcli and std's flag package to make a default
usage func that's super explicit for those not familiar with the Go
style flags. Only show double hyphens in usage text (but still accept both),
and show default values, and only show the proper usage of boolean flags.
Fixes #1353
Fixes #1529
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-19 13:11:55 -07:00
David Anderson
8c0a0450d9
ipn/ipnlocal: allow client access to exit node's public IPs.
...
"public IP" is defined as an IP address configured on the exit node
itself that isn't in the list of forbidden ranges (RFC1918, CGNAT,
Tailscale).
Fixes #1522 .
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-03-19 11:54:15 -07:00
Brad Fitzpatrick
0a02aaf813
control, ipn, tailcfg: remove golang.org/x/oauth2 dep, add tailcfg.Oauth2Token
...
golang.org/x/oauth2 pulls in App Engine and grpc module dependencies,
screwing up builds that depend on this module.
Some background on the problem:
https://go.googlesource.com/proposal/+/master/design/36460-lazy-module-loading.md
Fixes tailscale/corp#1471
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-19 10:40:48 -07:00
Aleksandar Pesic
7b57310966
net/interfaces: use windows API to get the default route instead of parsing `route print` output
...
Fixes : #1470
Signed-off-by: Aleksandar Pesic <peske.nis@gmail.com>
2021-03-19 14:07:36 +01:00
Brad Fitzpatrick
439d70dce2
cmd/tailscale, ipn/localapi: get daemon version from localapi status
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-18 21:14:10 -07:00
Brad Fitzpatrick
d0dffe33c0
cmd/tailscale, ipn/localapi: use localapi for status, not IPN acrobatics
...
Yay simpler code.
Tested on Linux, macOS and Windows.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-18 19:51:02 -07:00
Brad Fitzpatrick
0c3e9722cc
cmd/tailscale/cli: fix typo in comment
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-18 15:43:04 -07:00
Christine Dodrill
a480b1baa5
logpolicy: set log target on windows based on a registry key ( #1542 )
...
Signed-off-by: Christine Dodrill <xe@tailscale.com>
2021-03-18 13:23:56 -04:00
Brad Fitzpatrick
c19ed37b0f
wgengine/magicsock: mark some legacy debug log output as verbose
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-18 08:17:59 -07:00
Brad Fitzpatrick
cc508be603
control/controlclient: remove redundant Hostinfo log
...
The direct client already logs it in JSON form. Then it's immediately
logged again in an unformatted dump, so this removes that unformatted
one.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-18 08:16:33 -07:00
Brad Fitzpatrick
aa79a57f63
wgengine/netstack: use inet.af/netstack, remove 64-bit only limitation
...
This reverts the revert commit 84aba349d9
.
And changes us to use inet.af/netstack.
Updates #1518
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-17 22:46:09 -07:00
Brad Fitzpatrick
a217078f67
go.mod: update golang.org/x/oauth2
...
go.sum gets a bit wild, but tolerable.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-17 22:46:09 -07:00
Brad Fitzpatrick
ec1b31ea83
go.mod: update golang.org/x/{crypto,sync,sys,term,time}
...
These ones don't have large dependency trees.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-17 22:46:09 -07:00
Brad Fitzpatrick
a4fa2c5611
go.mod, go.sum: go mod tidy
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-17 19:54:01 -07:00
David Anderson
6fb5d4080c
net/portmapper: silently handle PCP NOT_AUTHORIZED responses.
...
Fixes #1525 .
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-03-17 19:44:35 -07:00
Brad Fitzpatrick
4145bb7148
tailcfg: bump CurrentMapRequestVersion, forgotten earlier
...
In f45a9e291b
(2021-03-04), I tried to bump CurrentMapRequestVersion
to 12 but only documented the meaning of 12 but forgot to actually
increase it from 11.
Mapver 11 was added in ea49b1e811
(2021-03-03).
Fix this in its own commit so we can cherry-pick it to the 1.6 release
branch.
2021-03-17 14:12:35 -07:00
David Anderson
4543e4202f
VERSION.txt: this is 1.7.0.
2021-03-16 19:04:55 -07:00
David Anderson
6f48a8422a
version: remove version-info.sh when cleaning.
2021-03-16 16:38:19 -07:00
David Anderson
84aba349d9
Revert "wgengine/netstack: update gvisor to remove 64-bit only limitation"
...
Breaks our corp repo due to gRPC dependency hell.
This reverts commit d42f8b7f9a
.
2021-03-16 15:36:06 -07:00
Brad Fitzpatrick
e0f2796b43
wgengine: don't diagnose iOS NWPathMonitor connection probe timeouts
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-16 14:13:02 -07:00
Brad Fitzpatrick
0f90586da8
wgengine/monitor: skip more route messages on darwin
...
Should help iOS battery life on NEProvider.wake/skip events
with useless route updates that shouldn't cause re-STUNs.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-16 12:59:26 -07:00
Brad Fitzpatrick
d5fd373f09
net/interfaces: skip IPv6 link-local interfaces like we do for IPv4
...
We strip them control-side anyway, and we already strip IPv4 link
local, so there's no point uploading them. And iOS has a ton of them,
which results in somewhat silly amount of traffic in the MapRequest.
We'll be doing same-LAN-inter-tailscaled link-local traffic a
different way, with same-LAN discovery.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-16 12:52:34 -07:00
Brad Fitzpatrick
469613b4c5
version: bump date
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-16 12:36:01 -07:00
Brad Fitzpatrick
27c4dd9a97
Revert "cmd/tailscaled, ipn/{ipnlocal,ipnserver}: let netstack get access to LocalBackend"
...
This reverts commit 2bc518dcb2
.
@namansood didn't end up needing it in his 770aa71ffb
.
2021-03-16 12:33:13 -07:00
Brad Fitzpatrick
9eb65601ef
health, ipn/ipnlocal: track, log overall health
...
Updates #1505
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-16 09:12:39 -07:00
Brad Fitzpatrick
6fbc9b3a98
control/controlclient: cache Windows version
...
To atone for 1d7f9d5b4a
, the revert of 4224b3f731
.
At least it's fast again, even if it's shelling out to cmd.exe (once now).
Updates #1478
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-15 21:40:32 -07:00
Brad Fitzpatrick
1d7f9d5b4a
Revert "control/controlclient: use API to get Windows version number"
...
This reverts commit 4224b3f731
.
From https://github.com/tailscale/tailscale/pull/1494#discussion_r594852889 ...
> Actually, I want all four numbers back. I spent the evening
> debugging an issue for a user running an old version of Windows
> and then going to to
> https://en.wikipedia.org/wiki/Windows_10_version_history_(version_1809)
> and reading all the revision notes in the footnotes of that wikipedia
> page.
>
> I'm going to revert this for now for Tailscale 1.6. We can land it
> again later when we figure out how to get the fourth numbers.
Updates #1478
2021-03-15 21:28:48 -07:00
Brad Fitzpatrick
d42f8b7f9a
wgengine/netstack: update gvisor to remove 64-bit only limitation
...
gVisor fixed their google/gvisor#1446 so we can include gVisor mode
on 32-bit machines.
A few minor upstream API changes, as normal.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-15 21:02:51 -07:00
Brad Fitzpatrick
98ab533324
cmd/tailscale/cli: include GOOS in BSD warning message
...
instead of just lowercase "bsd"
Updates #1475
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-15 21:02:16 -07:00
David Anderson
380a3526f6
cmd/tailscale/cli: warn if using subnet routing on BSD
...
Fixes #1475 .
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-03-15 17:25:59 -07:00
Brad Fitzpatrick
232cfda280
wgengine/router: report to control when setPrivateNetwork fails
...
Fixes #1503
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-15 16:19:40 -07:00
Brad Fitzpatrick
ba8c6d0775
health, controlclient, ipn, magicsock: tell health package state of things
...
Not yet checking anything. Just plumbing states into the health package.
Updates #1505
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-15 15:20:55 -07:00
Naman Sood
770aa71ffb
client, cmd/hello, ipn, wgengine: fix whois for netstack-forwarded connections
...
Updates #504
Updates #707
Signed-off-by: Naman Sood <mail@nsood.in>
2021-03-15 18:14:09 -04:00
Brad Fitzpatrick
44ab0acbdb
net/portmapper, wgengine/monitor: cache gateway IP info until link changes
...
Cuts down allocs & CPU in steady state (on regular STUN probes) when network
is unchanging.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-15 14:27:39 -07:00
Brad Fitzpatrick
d580b3f09e
wgengine/router: fix go vet failure on BSDs
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-15 14:27:39 -07:00
Brad Fitzpatrick
974be2ec5c
net/interfaces: rewrite the darwin likelyHomeRouterIP from C to Go
...
We basically already had the RIB-parsing Go code for this in both
net/interfaces and wgengine/monitor, for other reasons.
Fixes #1426
Fixes #1471
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-15 13:27:36 -07:00
Christine Dodrill
deff20edc6
cmd/tailscale/cli: don't permit setting self IP as exit node ( #1491 )
...
This change makes it impossible to set your own IP address as the exit node for this system.
Fixes #1489
Signed-off-by: Christine Dodrill <xe@tailscale.com>
2021-03-15 15:44:56 -04:00
Brad Fitzpatrick
ab2a8a7493
derp: return keep-alive message up to callers
...
To be used by health checking, which wants to see activity, even if idle.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-15 10:43:48 -07:00
Aleksandar Pesic
4224b3f731
control/controlclient: use API to get Windows version number
...
Fixes #1478
Signed-off-by: Aleksandar Pesic <peske.nis@gmail.com>
2021-03-15 10:06:42 -07:00
Brad Fitzpatrick
2bc518dcb2
cmd/tailscaled, ipn/{ipnlocal,ipnserver}: let netstack get access to LocalBackend
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-15 09:31:25 -07:00
Aleksandar Pesic
25d2dd868b
wgengine/router: flushdns in windows when router config changes
...
Fixes: https://github.com/tailscale/tailscale/issues/1430
Signed-off-by: Aleksandar Pesic <peske.nis@gmail.com>
2021-03-15 13:03:01 +01:00
Brad Fitzpatrick
d491adbf09
cmd/tailscaled: on Synology, fall back to netstack if needed
...
Updates tailscale/tailscale-synology#35
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-12 15:04:13 -08:00
Brad Fitzpatrick
c6358f2247
net/netcheck: add a few more STUN retries for prior DERP home
...
For #1310 , maybe.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-12 11:46:08 -08:00
Brad Fitzpatrick
0a84359d2d
tailcfg, net/netcheck: let control mark "Avoid" bit on DERP regions
...
So a region can be used if needed, but won't be STUN-probed or used as
its home.
This gives us another possible debugging mechanism for #1310 , or can
be used as a short-term measure against DERP flip-flops for people
equidistant between regions if our hysteresis still isn't good enough.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-12 10:43:24 -08:00
Brad Fitzpatrick
c81814e4f8
derp{,/derphttp},magicsock: tell DERP server when ping acks can be expected
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-12 09:55:02 -08:00