Brad Fitzpatrick
e42ec4efba
derp/derphttp: use SOCKS/etc proxies for derphttp dials
...
Updates #227
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-05-12 14:38:15 -07:00
Brad Fitzpatrick
b6fa5a69be
net/tlsdial: add package for TLS dials, and make DERP & controlclient use it
...
This will do the iOS-optimized cert checking in a following change.
2020-04-25 13:24:53 -07:00
Brad Fitzpatrick
614eec174f
derp/derphttp: avoid endless reconnect race on failure
...
Originally from @stablebits (Dmitry Adamushko) in:
https://github.com/tailscale/tailscale/pull/264
2020-04-11 13:37:20 -07:00
Brad Fitzpatrick
e749377a56
derp/derphttp: remove a redundant log message
2020-03-23 21:23:36 -07:00
Brad Fitzpatrick
1d3f45f9be
derp/derphttp: ignore PeerGoneMessage in test
2020-03-23 14:13:49 -07:00
David Crawshaw
43aa8595dd
derp: introduce Conn interface
...
This lets us test with something other than a net.Conn.
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-12 14:42:48 -04:00
Brad Fitzpatrick
6978b93bdd
derp, magicsock: track home (preferred) vs visiting connections for stats
2020-03-05 15:00:56 -08:00
Brad Fitzpatrick
cf4aacde57
derp/derphttp: appease staticcheck
2020-03-05 12:34:57 -08:00
Brad Fitzpatrick
2cff9016e4
net/dnscache: add overly simplistic DNS cache package for selective use
...
I started to write a full DNS caching resolver and I realized it was
overkill and wouldn't work on Windows even in Go 1.14 yet, so I'm
doing this tiny one instead for now, just for all our netcheck STUN
derp lookups, and connections to DERP servers. (This will be caching a
exactly 8 DNS entries, all ours.)
Fixes #145 (can be better later, of course)
2020-03-05 12:23:37 -08:00
Brad Fitzpatrick
bf704a5218
derp: protocol negotiation, add v2: send src pub keys to clients in packets
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-03-04 09:55:13 -08:00
David Crawshaw
9be9738f62
derphttp: add TLSConfig field
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-03-04 12:40:33 -05:00
Brad Fitzpatrick
517a91de75
derp/derphttp: fix reconnect behavior
...
I broke it in today's 752146a70f
.
Added some comments to prevent recurrences.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-28 13:39:48 -08:00
Brad Fitzpatrick
38acccad09
derp: remove some debug noise I left in
...
:(
2020-02-28 13:20:56 -08:00
Brad Fitzpatrick
752146a70f
derp: clean up derphttp client code, use contexts
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-28 13:18:59 -08:00
Brad Fitzpatrick
379a3125fd
derp, wgengine/magicsock: support more than just packets from Client.Recv
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-20 22:08:13 -08:00
Brad Fitzpatrick
619697063e
derp: more misc cleanups
...
And add an explicit derphttp.Client.Connect in the test now that it's
done lazily.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-18 10:09:37 -08:00
Brad Fitzpatrick
e06ca40650
wgengine, magicsock, derp: misc cleanups, docs
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-18 08:58:00 -08:00
Brad Fitzpatrick
259406e797
derp: move away from [32]byte key types
...
And some minor cleanup in the process.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-17 14:18:09 -08:00
Brad Fitzpatrick
2896be60db
Move "logger" package to under types, now that we have it.
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-14 20:23:05 -08:00
Brad Fitzpatrick
a59dc5f155
Use logger.Logf consistently. It was used in most places.
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-02-11 09:38:32 -08:00
Earl Lee
a8d8b8719a
Move Linux client & common packages into a public repo.
2020-02-09 09:32:57 -08:00