d503dee6f1
tstime: add new package for time utilities, starting with Parse3339
...
Go's time.Parse always allocates a FixedZone for time strings not in
UTC (ending in "Z"). This avoids that allocation, at the cost of
adding a cache.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-04-05 20:05:49 -07:00
4e0ee141e8
derp/derpmap: add derp5 (Sydney) to prod map.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-04-05 18:55:29 -07:00
996bf9cae7
logtail: don't send a User-Agent
...
Just useless bytes on the wire. Especially with HTTP/1.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-04-05 13:16:56 -07:00
7bf436ba30
tsweb: add some Benchmarks
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-04-05 13:16:36 -07:00
64334143a1
tsweb: rename Handler to ReturnHandler
...
The name's been bugging me for a long time.
I liked neither the overlap between tsweb.Handler and http.Handler,
nor the name "ServeHTTPErr" which sounds like it's an error being
returned, like it's an error handler and not sometimes a happy path.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-04-05 13:16:36 -07:00
bdc55d7091
logtail: add ParsePrivateID
2020-04-05 09:15:15 -07:00
50aeb5b9ad
wgengine: unexport some windows funcs
2020-04-05 08:23:53 -07:00
b446de103a
tsweb: fix tests.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-04-05 00:22:03 -07:00
af3a9dfad6
tsweb: add a StdHandler that doesn't log 200 responses.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-04-05 00:14:38 -07:00
ba2774ea27
cmd/mkpkg: support depending on stuff.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-04-04 18:38:09 -07:00
362d6af4e2
cmd/tailscaled: set CacheDirectory in service.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-04-04 16:52:05 -07:00
e71a7c7a2c
logtail: read to EOF on chunked response
...
We'll be fixing the server so this won't trigger in practice,
but it demos the connection reuse problem.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-04-04 16:12:15 -07:00
fcb6a34f4b
logtail: reduce allocations encoding text
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-04-04 16:12:02 -07:00
2863e49db9
tsweb: don't flush, treat no-op Handler as 200, like Go
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-04-04 16:11:53 -07:00
3b4b17d239
logpolicy: log on dials, add knob to force HTTP/1 for log uploads
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-04-04 14:46:41 -07:00
5d995d9d6b
tsweb: add a test case for nil child errors in tsweb.Error.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-04-03 10:37:39 -07:00
2c2dff9559
tsweb: don't panic if we get a tsweb.Error with no embedded error.
...
It's technically weird to return a tsweb.Error with no child err,
but it's a sensible thing to want to do, and we shouldn't panic
if it happens.
Signed-off-by: David Anderson <dave@natulte.net >
2020-04-03 10:36:21 -07:00
2f8719741e
controlclient: do not send duplicate hostinfo/netinfo
...
This should never happen, so log when it does so we can fix it.
Signed-off-by: David Crawshaw <crawshaw@tailscale.com >
2020-04-02 13:12:29 +11:00
48d7ee1c6a
cmd/microproxy: adjust to export node stats and a Go expvar server's stats.
...
This is a temporary specialization to what tailscale prod needs right now,
it'll go back to something more generic later.
2020-04-01 16:50:02 -07:00
8ca796d144
ipn, ipn/policy: filter portlist to a short list of "interesting" ports
...
Adds new package ipn/policy to be shared between node client & control server.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-04-01 10:03:44 -07:00
c6aa5b639f
tailcfg: clarify Hostinfo.OS doc
2020-04-01 09:27:35 -07:00
4524dcf51e
version: move runtime.OS to tailscale OS mapping func to version
...
So other code can use this without duplicating the policy.
2020-04-01 08:50:56 -07:00
c14bc028ac
cmd/microproxy: tiny TLS proxy that borrows autocert x509 certs.
2020-03-31 12:24:33 -07:00
1df3c8d02a
derp, netcheck: make tests listen on localhost only
...
avoid macOS firewall pop-ups
2020-03-30 11:29:08 -07:00
5362e952e1
safesocket: gofmt
...
Was developed on a random machine without my normal environment.
2020-03-30 11:23:18 -07:00
fee2d9fad4
safesocket: connect to the macOS network extension on darwin (as last resort)
...
(For cmd/tailscale CLI support on macOS)
Signed-off-by: Brad Fitzpatrick <brad@danga.com >
2020-03-29 22:15:28 -07:00
0590ad68be
controlclient, ipn: adjust tests for authURL semantic changes
...
The tests cheat at filling out web forms by directly POSTing to
the target. The target for authURLs has changed slightly, the base
authURL now redirects the user to the login page.
Additionally, the authURL cycle now checks the cookie is set
correctly, so we add cookie jars where necessary to pass the
cookie through.
2020-03-30 15:51:46 +11:00
a4ef345737
cmd/tailscale: add status subcommand
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-03-27 20:34:36 -07:00
810c1e9704
types/key: make Public implement TextMarshaler, TextUnmarshaler
...
So it can be a map key with encoding/json
2020-03-27 13:03:35 -07:00
f51f18b42b
ipn: move FakeBackend to a test-only file
2020-03-27 13:02:33 -07:00
8ebee05fbd
cmd/tailscale: remove unnecessary logpolicy/logtail logging
2020-03-27 08:27:36 -07:00
80261b02ba
testy: make safe for concurrent use.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-03-27 03:05:34 -07:00
1fdadf06f1
testy: don't give Clock.Step==0 magical behavior.
...
Turns out it's sometimes useful to stop time entirely.
Signed-off-by: David Anderson <dave@natulte.net >
2020-03-27 00:38:39 -07:00
8b3f6be008
control/controlclient: flip IPv6 to be on by default
...
The DEBUG_INCLUDE_IPV6 environment variable is now an opt-out.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-03-26 22:02:56 -07:00
322499473e
cmd/tailscaled, wgengine, ipn: add /debug/ipn handler with world state
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-03-26 14:26:24 -07:00
dbca186a64
stunner: fix data race.
...
In very low-latency conditions, a STUN request can complete before
the startup loop has finished firing off goroutines, leading to
a concurrent map mutation.
2020-03-25 23:11:22 -07:00
7fb8d873ac
logpolicy: don't log timestamp when running under systemd
...
It'll do it anyway.
Makes journalctl -fu cleaner.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-03-25 21:03:06 -07:00
2d48f92a82
wgengine/magicsock: re-stun every [20,27] sec, not 28
...
28 is cutting it close, and we think jitter will help some spikes
we're seeing.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-03-25 14:25:33 -07:00
2c7ddd0828
go.mod, go.sum: tidy
2020-03-25 14:05:33 -07:00
577f321c38
wgengine/magicsock: revise derp fallback logic
...
Revision to earlier 6284454ae5
Don't be sticky if we have no peers.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-03-25 13:09:18 -07:00
cbd8aceb95
go.mod: bump wireguard-go version.
...
Fixes #219 .
Signed-off-by: David Anderson <dave@natulte.net >
2020-03-25 12:20:46 -07:00
2e420ad8b6
wgengine, wgengine/filter: minor doc, style, performance, locking changes
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-03-25 08:41:01 -07:00
6284454ae5
wgengine/magicsock: if UDP blocked, pick DERP where most peers are
...
Updates #207
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-03-25 08:00:44 -07:00
f53e78e0d5
wgengine: don't lose filter state on filter reconfig.
...
We were abandoning the UDP port LRU every time we got a new packet
filter from tailcontrol, which caused return packets to suddenly stop
arriving.
2020-03-25 04:52:41 -04:00
4336de0d98
ipn/local: don't print packet filter every single time.
...
It's extremely noisy right now for domains with complex ACLs.
2020-03-25 04:52:41 -04:00
a56e853b72
cmd/relaynode: delete it!
...
tailscale+tailscaled now completely obsoletes relaynode, so let's let
it finally go away.
2020-03-25 04:48:15 -04:00
73fccd8b06
control/controlclient: remove old compat PacketFilter initialization.
...
Signed-off-by: David Anderson <dave@natulte.net >
2020-03-24 16:00:41 -07:00
d321190578
wgengine/magicsock: stringify [IPv6]:port normally in AddrSet.String
2020-03-24 13:40:43 -07:00
3c3ea8bc8a
wgengine/magicsock: finish IPv6 transport support
...
DEBUG_INCLUDE_IPV6=1 is still required, but works now.
Updates #18 (fixes it, once env var gate is removed)
2020-03-24 10:56:22 -07:00
82ed7e527e
wgengine/magicsock: remove log allocation
...
This was the whole point but I goofed at the last line.
2020-03-24 08:14:47 -07:00