Brad Fitzpatrick
7bfd4f521d
cmd/tailscale: fix "tailscale ip $self-host-hostname"
...
And in the process, fix the related confusing error messages from
pinging your own IP or hostname.
Fixes #2803
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-07 11:57:23 -07:00
Brad Fitzpatrick
4917a96aec
cmd/tailscale: fix typo/pasteo in error message text
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-07 11:28:24 -07:00
Brad Fitzpatrick
5a58fd8933
net/dnsfallback: go generate, pick up new DERPs
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-05 17:46:34 -07:00
Brad Fitzpatrick
d1cb7a2639
metrics: use SYS_OPENAT
...
New systems like arm64 don't even have SYS_OPEN.
2021-09-02 15:28:19 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
99a1c74a6a
metrics: optimize CurrentFDs to not allocate on Linux
...
It was 50% of our allocs on one of our servers. (!!)
Updates #2784
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-02 13:28:39 -07:00
Brad Fitzpatrick
db3586cd43
go.mod: upgrade staticcheck
...
It was crashing on a PR of mine and this fixes it.
2021-09-02 13:13:42 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
ec2b7c7da6
all: bump minimum Go to 1.17
...
In prep for using 1.17 features.
Note the go.mod changes are due to:
https://golang.org/doc/go1.17#go-command
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-02 12:51:11 -07:00
Brad Fitzpatrick
fc160f80ee
metrics: move currentFDs code to the metrics package
...
Updates #2784
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-02 11:14:14 -07:00
Brad Fitzpatrick
5d800152d9
cmd/derper: increase port 80's WriteTimeout to permit longer CPU profiles
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-02 10:49:14 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
5bacbf3744
wgengine/magicsock, health, ipn/ipnstate: track DERP-advertised health
...
And add health check errors to ipnstate.Status (tailscale status --json).
Updates #2746
Updates #2775
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-02 10:20:25 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
722942dd46
tsweb: restore CPU profiling handler
...
It was accidentally deleted in the earlier 0022c3d2e (#2143 ) refactor.
Lock it in with a test.
Fixes tailscale/corp#2503
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-02 09:24:29 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
7f29dcaac1
cmd/tailscale/cli: make up block until state Running, not just Starting
...
At "Starting", the DERP connection isn't yet up. After the first netmap
and DERP connect, then it transitions into "Running".
Fixes #2708
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-01 08:25:42 -07:00
Brad Fitzpatrick
fb8b821710
tsnet: fix typo in comment
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-09-01 07:55:25 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
7a7aa8f2b0
cmd/derper: also add port 80 timeouts
...
Didn't notice this one in earlier 00b3c1c042
Updates tailscale/corp#2486
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-31 21:18:36 -07:00
Brad Fitzpatrick
3c8ca4b357
client/tailscale, cmd/tailscale/cli: move version mismatch check to CLI
...
So people can use the package for whois checks etc without version
skew errors.
The earlier change faa891c1f2 for #1905
was a bit too aggressive.
Fixes #2757
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-31 15:27:25 -07:00
Brad Fitzpatrick
8744394cde
version: bump date
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-31 15:27:25 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
21cb0b361f
safesocket: add connect retry loop to wait for tailscaled
...
Updates #2708
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-31 15:13:42 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
a59b389a6a
derp: add new health update and server restarting frame types
...
Updates #2756
Updates #2746
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-31 13:31:51 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
00b3c1c042
cmd/derper: add missing read/write timeouts
...
Updates tailscale/corp#2486
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-31 10:23:53 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
73280595a8
derp: accept dup clients without closing prior's connection
...
A public key should only have max one connection to a given
DERP node (or really: one connection to a node in a region).
But if people clone their machine keys (e.g. clone their VM, Raspbery
Pi SD card, etc), then we can get into a situation where a public key
is connected multiple times.
Originally, the DERP server handled this by just kicking out a prior
connections whenever a new one came. But this led to reconnect fights
where 2+ nodes were in hard loops trying to reconnect and kicking out
their peer.
Then a909d37a59 tried to add rate
limiting to how often that dup-kicking can happen, but empirically it
just doesn't work and ~leaks a bunch of goroutines and TCP
connections, tying them up for hour+ while more and more accumulate
and waste memory. Mostly because we were doing a time.Sleep forever
while not reading from their TCP connections.
Instead, just accept multiple connections per public key but track
which is the most recent. And if two both are writing back & forth,
then optionally disable them both. That last part is only enabled in
tests for now. The current default policy is just last-sender-wins
while we gather the next round of stats.
Updates #2751
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-31 08:21:21 -07:00
Brad Fitzpatrick
065c4ffc2c
net/dns: add start of Linux newOSConfigurator tests
...
Only one test case so far.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-30 14:16:12 -07:00
Brad Fitzpatrick
09a47ea3f1
net/dns: prep for writing manager_linux tests; pull some stuff out
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-30 13:49:02 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
7fcf86a14a
wgengine: fix link monitor / magicsock Start race
...
Fixes #2733
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-30 09:12:10 -07:00
Brad Fitzpatrick
ffd22050c0
derp: export current file descriptor metric
2021-08-29 15:17:34 -07:00
Brad Fitzpatrick
83906abc5e
wgengine/netstack: clarify a comment
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-27 11:10:56 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
3606e68721
net/interfaces: fix default route lookup on Windows
...
It wasn't using the right metric. Apparently you're supposed to sum the route
metric and interface metric. Whoops.
While here, optimize a few little things too, not that this code
should be too hot.
Fixes #2707 (at least; probably dups but I'm failing to find)
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-26 13:42:20 -07:00
Brad Fitzpatrick
4aab083cae
cmd/tailscaled: add debug flag to print interfaces just once
...
It previously only had a polling monitor mode.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-26 11:59:52 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
1925fb584e
wgengine/netstack: fix crash in userspace netstack TCP forwarding
...
Fixes #2658
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-25 15:48:05 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
88bd796622
tailcfg,ipn/ipnlocal: support DNSConfig.Routes with empty values [mapver 23]
...
Fixes #2706
Updates #1235
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-25 11:35:48 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
37053801bb
wgengine/magicsock: restore a bit of logging on node becoming active
...
Fixes #2695
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-23 12:22:23 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
51976ab3a2
tsweb: add vars for unix process start time and version
...
To be scraped in the Go expvar JSON format, as a string is involved.
For a future tool to record when processes restarted exactly, and at
what version.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-23 10:36:28 -07:00
Brad Fitzpatrick
246fa67e56
version: bump date
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-23 09:16:45 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
6990a314f5
hostinfo: set DeviceModel from Linux devicetree model
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-22 21:28:36 -07:00
Brad Fitzpatrick
3ac731dda1
hostinfo: fix earlier git fail, add files lost in move
...
This was meant to be part of 47045265b9
which instead deleted them :(
Updates tailscale/corp#1959
2021-08-22 21:14:04 -07:00
Brad Fitzpatrick
f35b8c3ead
derp: fix meshing accounting edge case bug
...
If a peer is connected to multiple nodes in a region (so
multiForwarder is in use) and then a node restarts and re-sends all
its additions, this bug about whether an element is in the
multiForwarder could cause a one-time flip in the which peer node we
forward to. Note a huge deal, but not written as intended.
Thanks to @lewgun for the bug report in #2141 .
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-21 19:54:55 -07:00
Brad Fitzpatrick
47045265b9
hostinfo: add SetDeviceModel setter, move remaining code from controlclient
...
Updates tailscale/corp#1959
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-20 10:45:22 -07:00
Brad Fitzpatrick
36ffd509de
net/dns: avoid Linux PolicyKit GUI dialog during tests
...
Fixes #2672
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-19 08:58:47 -07:00
Brad Fitzpatrick
edb338f542
cmd/tailscale: fix sporadic 'context canceled' error on 'up'
...
Fixes #2333
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-19 08:44:39 -07:00
Brad Fitzpatrick
faa891c1f2
client/tailscale,ipn/localapi: warn on tailscale/tailscaled version skew
...
Fixes #1905
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-19 08:36:13 -07:00
Brad Fitzpatrick
8269a23758
version: bump date
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-19 08:28:08 -07:00
Brad Fitzpatrick
af30897f0d
Makefile: add a linux/arm check
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-18 15:36:09 -07:00
Brad Fitzpatrick
cd426eaf4c
net/portmapper: fix t.Log-after-test-done race in tests
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-18 14:39:45 -07:00
Brad Fitzpatrick
56db3e2548
ipn/localapi: refresh ACME certs in background two weeks in advance
...
Updates #1235
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-18 12:55:29 -07:00
Brad Fitzpatrick
6f8c8c771b
control/controlclient: tweak a couple error messages
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-18 10:11:38 -07:00
Brad Fitzpatrick
b7ae529ecc
client/tailscale: make GetCertificate guess cert if SNI lacks dots
...
Updates #1235
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-18 10:08:44 -07:00
Brad Fitzpatrick
d5e1abd0c4
cmd/tailscale/cli: only write cert file if it changed
...
Updates #1235
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-18 08:19:44 -07:00
Brad Fitzpatrick
57b794c338
ipn/localapi: move cert fetching code to localapi, cache, add cert subcommand
...
Updates #1235
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-17 16:02:10 -07:00
Brad Fitzpatrick
25e060a841
cmd/tailscale/cli: fix cert fetch WaitOrder retry loop, misc cleanups
...
Updates #1235
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-16 14:54:41 -07:00
Brad Fitzpatrick
833200da6f
net/tstun: don't exec uname -r on Linux in TUN failure diagnostics
...
Fixes https://twitter.com/zekjur/status/1425557520513486848
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-16 12:18:40 -07:00
Brad Fitzpatrick
e804ab29fd
net/tstun: move TUN failure diagnostics to OS-specific files
...
Mostly so the Linux one can use Linux-specific stuff in package
syscall and not use os/exec for uname for portability.
But also it helps deps a tiny bit on iOS.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-16 11:24:25 -07:00
Brad Fitzpatrick
b2eea1ee00
cmd/tailscale/cli: make cert fetch registration automatic, show valid domains
...
Updates #1235
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-16 10:45:05 -07:00
Brad Fitzpatrick
39610aeb09
wgengine/magicsock: move debug knobs to their own file, compile out on iOS
...
No need for these knobs on iOS where you can set the environment
variables anyway.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-15 13:21:22 -07:00
Brad Fitzpatrick
954867fef5
words: fix parser to handle missing newline at end
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-13 19:37:47 -07:00
Brad Fitzpatrick
c992504375
words: group some scales, support comments
...
Not sure how we missed mixolydian.
Updates #1235
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-13 15:46:52 -07:00
Brad Fitzpatrick
1bca722824
words: add five types of tales, best dog
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-13 15:32:13 -07:00
Brad Fitzpatrick
00b4c2331b
words: add accessors and tests for a few of our favorite words
...
Updates #1235
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-13 15:30:10 -07:00
Brad Fitzpatrick
ec9f3f4cc0
cmd/tailscale: update depaware
...
Missing from prior commit.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-13 08:56:29 -07:00
Brad Fitzpatrick
c68a12afe9
cmd/tailscale: add temporary debug command for getting DNS-01 LetsEncrypt cert
...
Not even close to usable or well integrated yet, but submitting this before
it bitrots or I lose it.
Updates #1235
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-13 08:49:49 -07:00
Brad Fitzpatrick
c6740da624
tsweb: make VarzHandler support untyped expvar.Maps for compatibility
...
Updates #2635
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-12 13:35:31 -07:00
Brad Fitzpatrick
7c7eb8094b
tsweb: make VarzHandler support expvar.Funcs returning ints/floats
...
Updates #2635
2021-08-12 13:07:34 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
5aba620fb9
tsweb: make VarzHandler capable of walking structs with reflect
...
To be used by control, per linked bug's plan.
Updates #2635
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-11 18:31:54 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
3700cf9ea4
tsweb: also support LabelMaps from expvar.Map, without metrics
...
We want to use tsweb to format Prometheus-style metrics from
our temporary golang.org/x/net/http2 fork, but we don't want http2
to depend on the tailscale.com module to use the concrete type
tailscale.com/metrics.LabelMap. Instead, let a expvar.Map be used
instead of it's annotated sufficiently in its name.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-10 14:31:54 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
5f45d8f8e6
tsweb: add VarzHandler tests
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-10 13:41:16 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
bdb93c5942
net/portmapper: actually test something in TestProbeIntegration
...
And use dynamic port numbers in tests, as Linux on GitHub Actions and
Windows in general have things running on these ports.
Co-Author: Julian Knodt <julianknodt@gmail.com >
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-09 19:49:02 -07:00
Brad Fitzpatrick
e6d4ab2dd6
net/portmapper: add start of self-contained portmapper integration tests
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-06 08:34:45 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
a729070252
net/tstun: add start of Linux TAP support, with DHCP+ARP server
...
Still very much a prototype (hard-coded IPs, etc) but should be
non-invasive enough to submit at this point and iterate from here.
Updates #2589
Co-Author: David Crawshaw <crawshaw@tailscale.com >
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-05 10:01:45 -07:00
Brad Fitzpatrick
fd7b738e5b
derp: use pad32 package for padding, reduce duplication
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-04 14:43:01 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
fdc081c291
net/portmapper: fix UPnP probing, work against all ports
...
Prior to Tailscale 1.12 it detected UPnP on any port.
Starting with Tailscale 1.11.x, it stopped detecting UPnP on all ports.
Then start plumbing its discovered Location header port number to the
code that was assuming port 5000.
Fixes #2109
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-04 12:49:49 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
f3c96df162
ipn/ipnstate: move tailscale status "active" determination to tailscaled
...
Fixes #2579
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-04 09:10:49 -07:00
Brad Fitzpatrick
0858673f1f
tstest/integration: regenerate test deps
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-04 08:39:10 -07:00
Brad Fitzpatrick
1db9032ff5
cmd/tailscaled: let portmap debug mode have an gateway/IP override knob
...
For testing pfSense clients "behind" pfSense on Digital Ocean where
the main interface still exists. This is easier for debugging.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-03 19:34:58 -07:00
Brad Fitzpatrick
54e33b511a
net/dns/resolver: add test that I forgot to git add earlier
...
This was meant to be part of 53a2f63658 earlier
but I guess I failed at git.
Updates #2436
Updates tailscale/corp#2250
Updates tailscale/corp#2238
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-03 08:32:18 -07:00
Brad Fitzpatrick
24ee0ed3c3
tstest/integration: update test deps
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-02 22:15:34 -07:00
Brad Fitzpatrick
31ea073a73
cmd/tailscaled: add debug -portmap mode
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-02 22:11:51 -07:00
Brad Fitzpatrick
be921d1a95
net/dns/resolver: fix skipped DoH test that bitrot
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-02 15:26:27 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
7298e777d4
derp: reduce server memory by 30% by removing persistent bufio.Writer
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-02 10:17:56 -07:00
Brad Fitzpatrick
5a7ff2b231
net/dnsfallback: re-run go generate
2021-08-01 19:14:33 -07:00
Brad Fitzpatrick
b622c60ed0
derp,wgengine/magicsock: don't assume stringer is in $PATH for go:generate
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-08-01 19:14:08 -07:00
Brad Fitzpatrick
d37451bac6
cmd/derper: dial VPC address with right context
...
Fix bug from just-submitted e422e9f4c9 .
Updates #2414
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-29 14:29:31 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
e422e9f4c9
cmd/derper: mesh over VPC network
...
Updates #2414
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-29 14:08:16 -07:00
Brad Fitzpatrick
b6179b9e83
net/dnsfallback: add new nodes
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-29 10:50:49 -07:00
Brad Fitzpatrick
690ade4ee1
ipn/ipnlocal: add URL to IP forwarding error message
...
Updates #606
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-28 08:00:53 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
7b9f02fcb1
cmd/tailscale/cli: document that empty string disable exit nodes, routes
...
Updates #2529
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-27 13:00:50 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
d8d9036dbb
tailcfg: add Node.PrimaryRoutes
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-27 12:09:40 -07:00
Brad Fitzpatrick
1b14e1d6bd
version: bump date
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-27 08:05:17 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
68df379a7d
net/portmapper: rename ErrGatewayNotFound to ErrGatewayRange, reword text
...
It confused & scared people. And it was just bad.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-26 20:30:28 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
aaf2df7ab1
net/{dnscache,interfaces}: use netaddr.IP.IsPrivate, delete copied code
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-26 20:30:28 -07:00
Brad Fitzpatrick
c17d743886
net/dnscache: update a comment
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-26 16:16:08 -07:00
Brad Fitzpatrick and Denton Gentry
281d503626
net/dnscache: make Dialer try all resolved IPs
...
Tested manually with:
$ go test -v ./net/dnscache/ -dial-test=bogusplane.dev.tailscale.com:80
Where bogusplane has three A records, only one of which works.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-26 15:44:32 -07:00
Brad Fitzpatrick and Denton Gentry
dfa5e38fad
control/controlclient: report whether we're in a snap package
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-26 15:16:40 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
e299300b48
net/dnscache: cache all IPs per hostname
...
Not yet used in the dialer, but plumbed around.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-26 12:27:46 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
7428ecfebd
ipn/ipnlocal: populate Hostinfo.Package on Android
...
Fixes tailscale/corp#2266
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-26 10:35:37 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
5c266bdb73
wgengine: re-set DNS config on Linux after a major link change
...
Updates #2458 (maybe fixes it)
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-26 08:01:27 -07:00
Brad Fitzpatrick
53a2f63658
net/dns/resolver: race well-known resolvers less aggressively
...
Instead of blasting away at all upstream resolvers at the same time,
make a timing plan upon reconfiguration and have each upstream have an
associated start delay, depending on the overall forwarding config.
So now if you have two or four upstream Google or Cloudflare DNS
servers (e.g. two IPv4 and two IPv6), we now usually only send a
query, not four.
This is especially nice on iOS where we start fewer DoH queries and
thus fewer HTTP/1 requests (because we still disable HTTP/2 on iOS),
fewer sockets, fewer goroutines, and fewer associated HTTP buffers,
etc, saving overall memory burstiness.
Fixes #2436
Updates tailscale/corp#2250
Updates tailscale/corp#2238
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-25 20:45:47 -07:00
Brad Fitzpatrick
e94ec448a7
net/dns/resolver: add forwardQuery type as race work prep
...
Add a place to hang state in a future change for #2436 .
For now this just simplifies the send signature without
any functional change.
Updates #2436
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-25 15:43:49 -07:00
Brad Fitzpatrick
064b916b1a
net/dns/resolver: fix func used as netaddr.IP in printf
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-25 15:21:51 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
7b295f3d21
net/portmapper: disable UPnP on iOS for now
...
Updates #2495
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-22 13:33:38 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
4a2c3e2a0a
control/controlclient: grow goroutine debug buffer as needed
...
To not allocate 1MB up front on iOS.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-22 13:18:05 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
1986d071c3
control/controlclient: don't use regexp in goroutine stack scrubbing
...
To reduce binary size on iOS.
Updates tailscale/corp#2238
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-22 13:18:05 -07:00
Brad Fitzpatrick
cecfc14875
net/dns: don't build init*.go on non-windows
...
To remove the regexp dep on iOS, notably.
Updates tailscale/corp#2238
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-22 11:58:42 -07:00