Brad Fitzpatrick
3553512a71
cmd/derper: fix embarassing bug introduced in earlier refactor
...
The remove hook implementation was copy/pasted from the line above and
I didn't change the body, resulting in packet forwarding routes never
being removed.
Fortunately we weren't using this path yet, but it led to stats being
off, and (very) slow memory growth.
2020-06-24 19:45:27 -07:00
Brad Fitzpatrick
36e9cb948f
control/controlclient: cut down some NetworkMap stringification & diff allocations
...
And start of tests.
2020-06-24 15:00:02 -07:00
Brad Fitzpatrick
894e3bfc96
control/controlclient: trim /32 suffix a bit more succinctly
2020-06-24 14:24:32 -07:00
Brad Fitzpatrick
19d95e095a
wgengine: fix blank line in interface method comment
2020-06-24 14:10:42 -07:00
Brad Fitzpatrick
5bc29e7388
ipn: add missing locking in LocalBackend.NetMap
...
Looks like it's only used by tests.
2020-06-24 13:55:56 -07:00
Brian Chu
2a8e064705
cmd/tailscale: Allow advertising subnet routes on *BSD.
...
Use sysctl to check IP forwarding state for better OS compatiblity.
Signed-off-by: Brian Chu <cynix@cynix.org>
2020-06-24 09:48:43 -07:00
Reinaldo de Souza
a8635784bc
wgengine: add BSD userspace router to darwin
...
Darwin and FreeBSD are compatible enough to share the userspace router.
The OSX router delegates to the BSD userspace router unless `SetRoutesFunc` is set.
That preserves the mechanism that allows `ipn-go-bridge` to specify its own routing behavior.
Fixes #177
Signed-off-by: Reinaldo de Souza <github@rei.nal.do>
2020-06-24 09:42:20 -07:00
Brad Fitzpatrick
b87396b5d9
cmd/derper, derp: add some more varz and consistency check handler
...
I'm trying to hunt down a slow drift in numbers not agreeing.
2020-06-23 14:01:51 -07:00
Elias Naur
c2682553ff
version: add support for setting version with the -X Go linker flag
...
Updates tailscale/tailscale#486
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2020-06-22 12:59:38 -07:00
Brad Fitzpatrick
6fbd1abcd3
derp: update peerGone code to work with regional DERP mesh clusters too
...
Updates #150
Updates #388
2020-06-22 10:06:42 -07:00
Dmytro Shynkevych
de5f6d70a8
magicsock: eliminate logging race in test
...
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com>
2020-06-22 11:06:12 -04:00
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