Brad Fitzpatrick
666d404066
ipn: put discovery key generation behind an environment flag for now
...
Later we'll want to use the presence of a discovery key as a signal
that the node knows how to participate in discovery. Currently the
code generates keys and sends them to the control server but doesn't
do anything with them, which is a bad state to stay in lest we release
this code and end up with nodes in the future that look like they're
functional with the new discovery protocol but aren't.
So for now, make this opt-in as a debug option for now, until the rest
of it is in.
Updates #483
2020-06-20 10:18:13 -07:00
Dmytro Shynkevych
00ca17edf4
ipn: fix race in enterState
...
Signed-Off-By: Dmytro Shynkevych <dmytro@tailscale.com>
2020-06-19 13:42:05 -07:00
Brad Fitzpatrick
53fb25fc2f
all: generate discovery key, plumb it around
...
Not actually used yet.
Updates #483
2020-06-19 12:12:00 -07:00
Brad Fitzpatrick
88c305c8af
tailcfg: add DiscoKey, unify some code, add some tests
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-06-19 09:22:34 -07:00
Brad Fitzpatrick
d9054da86a
wgengine: disambiguate Reconfig logging paths
2020-06-18 22:07:20 -07:00
David Anderson
0ecaf7b5ed
control/controlclient: make netmap generation use rate-limited logger.
2020-06-18 23:24:44 +00:00
David Anderson
401e2ec307
control/controlclient: delete unused function.
2020-06-18 23:20:01 +00:00
Brad Fitzpatrick
58c9591a49
version: bump date
2020-06-18 09:10:50 -07:00
David Anderson
10368ef4c0
go.mod: bump wireguard-go version.
2020-06-17 02:54:18 +00:00
Dmytro Shynkevych
c12d87c54b
Fix concurrency issues in controlclient, ipn, types/logger ( #456 )
...
Signed-Off-By: Dmytro Shynkevych <dmytro@tailscale.com>
2020-06-15 19:04:12 -04:00
Brad Fitzpatrick
c8cf3169ba
cmd/derper, derp/derphttp: move bulk of derp mesh code into derphttp
...
To be reused in various other tools.
2020-06-15 11:58:10 -07:00
Brad Fitzpatrick
7cbf6ab771
cmd/derper: remove unused parameter in runMeshClient
2020-06-15 11:35:50 -07:00
Avery Pennarun
5d4415399b
Merge remote-tracking branch 'origin/master' into main
...
* origin/master:
Fix staticcheck warning, add Makefile with staticcheck targets, lock in staticcheck version in go.mod
2020-06-15 14:23:19 -04:00
Brad Fitzpatrick
6757c990a8
Fix staticcheck warning, add Makefile with staticcheck targets, lock in staticcheck version in go.mod
2020-06-15 11:05:46 -07:00
Brad Fitzpatrick
08a6eeb55a
Fix staticcheck warning, add Makefile with staticcheck targets, lock in staticcheck version in go.mod
2020-06-15 11:04:19 -07:00
Avery Pennarun
d9fd5db1e1
Rename master -> main.
...
Background:
https://www.zdnet.com/article/github-to-replace-master-with-alternative-term-to-avoid-slavery-references/
2020-06-15 13:47:11 -04:00
Brad Fitzpatrick
abd79ea368
derp: reduce DERP memory use; don't require callers to pass in memory to use
...
The magicsock derpReader was holding onto 65KB for each DERP
connection forever, just in case.
Make the derp{,http}.Client be in charge of memory instead. It can
reuse its bufio.Reader buffer space.
2020-06-15 10:26:50 -07:00
Quoc-Viet Nguyen
15a23ce65f
net/stun: Remove unreachable code
...
- Reuse IP length constants from net package.
- Remove beu16 to make endianness functions consistent.
Signed-off-by: Quoc-Viet Nguyen <afelion@gmail.com>
2020-06-15 07:55:21 -07:00
Brad Fitzpatrick
a036c8c718
version: add blank line to separate comment from package line
...
So it's not a package comment.
2020-06-15 07:50:51 -07:00
David Anderson
0371848097
Revert "version: delete GENERATE.go."
...
This reverts commit a447caebf8
.
2020-06-12 23:32:22 +00:00
David Anderson
4c23b5e4ea
version: remove leftover debug print.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2020-06-12 22:38:12 +00:00
David Anderson
03aa319762
version: add an AtLeast helper to compare versions.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2020-06-12 14:28:21 -07:00
David Anderson
9dd3544e84
version: bump oss datestamp.
...
Signed-off-by: David Anderson <danderson@tailscale.com>
2020-06-12 18:49:55 +00:00
David Anderson
1f4ccae591
version: remove comment about being unused.
...
version.SHORT is now being used in various places.
Signed-off-by: David Anderson <danderson@tailscale.com>
2020-06-12 18:46:17 +00:00
David Anderson
a447caebf8
version: delete GENERATE.go.
...
It existed previously to persuade Go that redo-ful directory was
a Go package prior to the first build. But now we have other Go
files in the directory that will fulfil that function.
Signed-off-by: David Anderson <danderson@tailscale.com>
2020-06-12 18:37:10 +00:00
Brad Fitzpatrick
50b2e5ffe6
log/logheap: appease staticcheck
2020-06-12 10:31:42 -07:00
Brad Fitzpatrick
8edcab04d5
log/logheap: change to POST to a URL instead of logging
...
It's too big to log.
2020-06-12 10:13:08 -07:00
Brad Fitzpatrick
51f421946f
tailcfg: add some example strings in comments
2020-06-12 08:17:31 -07:00
Brad Fitzpatrick
deb113838e
net/netcheck: use logger.ArgWriter in logConciseReport, fix comma bug, add tests
2020-06-11 21:37:15 -07:00
Brad Fitzpatrick
280e8884dd
wgengine/magicsock: limit redundant log spam on packets from low-pri addresses
...
Fixes #407
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-06-11 09:40:55 -07:00
David Anderson
d05b0500ac
wgengine: loop back tuntap packets destined for local IPs.
...
macOS incorrectly sends packets for the local Tailscale IP
into our tunnel interface. We have to turn the packets around
and send them back to the kernel.
Fixes tailscale/corp#189 .
Signed-off-by: David Anderson <danderson@tailscale.com>
2020-06-09 18:55:57 -07:00
Zijie Lu
d1a30be275
tsweb: JSONHandler: supports HTTPError
...
Signed-off-by: Zijie Lu <zijie@tailscale.com>
2020-06-09 17:40:45 -04:00
Avery Pennarun
51d176ecff
wgengine: Remove leftover debug message.
...
Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
2020-06-09 17:03:52 -04:00
Dmytro Shynkevych
07e02ec9d3
wgengine/tsdns: add test and prevent useless updates ( #449 )
...
Signed-Off-By: Dmytro Shynkevych <dmytro@tailscale.com>
2020-06-09 13:09:43 -04:00
Dmytro Shynkevych
511840b1f6
tsdns: initial implementation of a Tailscale DNS resolver ( #396 )
...
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com>
2020-06-08 18:19:26 -04:00
Zijie Lu
5e1ee4be53
tsweb: fix JSONHandler nil response
...
Signed-off-by: Zijie Lu <zijie@tailscale.com>
2020-06-08 15:48:38 -04:00
Brad Fitzpatrick
c3f7733f53
logpolicy: don't check version.CmdName on Windows unnecessarily
...
... it was crashing for some reason, running out of stack while
loading a DLL in goversion. I don't understand Windows (or the Go
runtime for Windows) enough to know why that'd be problematic in that
context.
In any case, don't call it, as tryFixLogStateLocation does nothing on
Windows anyway.
tryFixLogStateLocation should probably just call version.CmdName
itself if/when it needs to, after the GOOS check.
2020-06-08 10:32:34 -07:00
Brad Fitzpatrick
5c9ddf5e76
version: fix typo in comment
2020-06-08 10:30:16 -07:00
Brad Fitzpatrick
2ca2389c5f
portlist: set SysProcAttr.HideWindow on Windows
...
Prevents annoying shell window flashes when running /server by hand.
2020-06-08 09:04:31 -07:00
Brad Fitzpatrick
07ca0c1c29
derp: fix tracking problem if conn starts local, then also joins mesh peer
2020-06-05 12:53:43 -07:00
Brad Fitzpatrick
39f2fe29f7
tempfork/registry: work around issue with Tailscale's redo build system
...
Updates tailscale/corp#293
2020-06-05 10:46:15 -07:00
Brad Fitzpatrick
1cb7dab881
cmd/derper: support forwarding packets amongst set of peer DERP servers
...
Updates #388
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-06-05 10:14:33 -07:00
Brad Fitzpatrick
e441d3218e
tempfork/registry: add golang.org/x/sys/windows/registry + CL 236681
...
Temporary fork of golang.org/x/sys/windows/registry with:
windows/registry: add Key.WaitChange wrapper around RegNotifyChangeKeyValue
https://go-review.googlesource.com/c/sys/+/236681
2020-06-05 09:45:16 -07:00
Dmytro Shynkevych
02231e968e
wgengine/tstun: add tests and benchmarks ( #436 )
...
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com>
2020-06-05 11:19:03 -04:00
Avery Pennarun
6f590f5b52
logtail: we missed a case for the backoff timer.
...
We want to run bo.Backoff() after every upload, regardless. If
upload==true but err!=nil, we weren't backing off, which caused some
very-high-throughput log upload retries in bad network conditions.
Updates #282 .
Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
2020-06-05 03:55:45 -04:00
halulu
1d2e497d47
tsweb: JSONHandler using reflect ( #437 )
...
Updates #395 #437
Signed-off-by: Zijie Lu <zijie@tailscale.com>
2020-06-05 00:10:50 -04:00
Dmytro Shynkevych
059b1d10bb
wgengine/packet: refactor and expose UDP header marshaling ( #408 )
...
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com>
2020-06-04 18:42:44 -04:00
Brad Fitzpatrick
5e0ff494a5
derp: change NewClient constructor to an option pattern
...
(The NewMeshClient constructor I added recently was gross in
retrospect at call sites, especially when it wasn't obvious that a
meshKey empty string meant a regular client)
2020-06-04 11:40:12 -07:00
Brad Fitzpatrick
4d599d194f
derp, derp/derphttp: add key accessors, add Client.RecvDetail
...
Client.RecvDetail returns a connection generation so interested clients
can detect when a reconnect happened. (Will be needed for #388 )
2020-06-04 11:35:53 -07:00
Brad Fitzpatrick
b33c86b542
derp: add an unexported key.Public zero value variable to be less verbose
2020-06-04 11:28:00 -07:00