David Anderson and Dave Anderson
7c7f37342f
prober: used keyed initializer for LimitedReader.
...
Reported by go vet.
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-03-26 21:45:27 -07:00
Dave Anderson and GitHub
0968b2d55a
prober: support adding key/value labels to probes. ( #4250 )
...
prober: add labels to Probe instances.
This allows especially dynamically-registered probes to have a bunch
more dimensions along which they can be sliced in Prometheus.
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-03-22 13:45:11 -07:00
David Anderson and Dave Anderson
a09c30aac2
prober: refactor probe state into a Probe struct.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-03-21 13:45:08 -07:00
David Anderson and Dave Anderson
94aaec5c66
prober: rename Probe to ProbeFunc.
...
Making way for a future Probe struct to encapsulate per-probe state.
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-03-21 13:45:08 -07:00
David Anderson and Dave Anderson
7b4960316b
tsweb: add PrometheusVar, for vars that want to output varz themselves.
...
This enables the infrequent use of more complex Prometheus types, such as
timeseries with high/irregular label cardinality, without needing to
discover and implement generic abstracted type like LabelMap for each one.
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-03-21 12:33:18 -07:00
David Anderson and Dave Anderson
19f61607b6
prober: run all probes once on initial registration.
...
Turns out, it's annoying to have to wait the entire interval
before getting any monitorable data, especially for very long
interval probes like hourly/daily checks.
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-03-19 18:54:33 -07:00
David Anderson and Dave Anderson
e41a3b983c
prober: library to build healthchecking probers.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-03-19 18:38:32 -07:00
David Anderson and Dave Anderson
2a412ac9ee
.github/workflows: work around golang/go#51629
...
Incidentally, simplify the go generate CI workflow, by
marking the dnsfallback update non-hermetic (so CI will
skip it) rather than manually filter it out of `go list`.
Updates #4194
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-03-17 17:22:17 -07:00
David Anderson and Dave Anderson
0fc1479633
go.mod: update github.com/mdlayher/netlink to 1.6.0
...
This unbreaks some downstream users of tailscale who end up
with build errors from importing a v0 indirect dependency.
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-02-21 14:31:03 -08:00
David Anderson and Dave Anderson
f5ec916214
cmd/derper: disable TLS 1.0 and 1.1.
...
Updates tailscale/corp#3568
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-28 01:13:30 +00:00
David Anderson and Brad Fitzpatrick
7a18fe3dca
wgengine/magicsock: make debugUseDerpRoute an opt.Bool.
...
Can still be constant, just needs the extra methods.
Fixes #3812
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-25 17:25:08 -08:00
David Anderson and Dave Anderson
c2059d5b8a
words: fallout from mudpuppy-gate.
...
Salamanders also have no scales. I checked the interweb, and there
doesn't seem to be any subspecies that would let us claim that
*some* salamanders are scaley.
But they are tailey, for sure.
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-26 01:05:49 +00:00
David Anderson and Dave Anderson
508f332bb2
cmd/derper: export TLS vars with derper_ prefix, not stun_
...
Updates tailscale/corp#3568
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-25 18:57:30 +00:00
David Anderson and Dave Anderson
ff3442d92d
cmd/derper: record TLS versions used for requests.
...
Surveying the fleet prior to turning off old/unused/insecure
TLS versions.
Updates tailscale/corp#3615
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-22 02:35:55 +00:00
David Anderson and Dave Anderson
7ba874d7f1
words: correct inexcusable oversight re: mudpuppies.
...
Mudpuppies are salamanders, and as such have tails but no scales.
The management apologizes for the error.
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-20 21:12:09 +00:00
David Anderson and Dave Anderson
96f008cf87
control/controlhttp: package to get a controlbase.Conn over HTTP(S).
...
Updates #3488
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-17 23:52:27 +00:00
David Anderson and Dave Anderson
d5a7eabcd0
control/controlbase: enable asynchronous client handshaking.
...
With this change, the client can obtain the initial handshake message
separately from the rest of the handshake, for embedding into another
protocol. This enables things like RTT reduction by stuffing the
handshake initiation message into an HTTP header.
Similarly, the server API optionally accepts a pre-read Noise initiation
message, in addition to reading the message directly off a net.Conn.
Updates #3488
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-17 23:52:27 +00:00
David Anderson and Dave Anderson
6cd180746f
control/controlbase: rename from control/noise.
...
Updates #3488
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-17 23:52:27 +00:00
David Anderson and Dave Anderson
463b3e8f62
net/dnscache: use tls.Conn.HandshakeContext.
...
Go 1.17 added a HandshakeContext func to take care of timeouts during
TLS handshaking, so switch from our homegrown goroutine implementation
to the standard way.
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-13 23:01:29 +00:00
David Anderson and Dave Anderson
a9da6b73a8
net/dnscache: don't cancel the TLS context before writing to the result channel.
...
Cancelling the context makes the timeout goroutine race with the write that
reports a successful TLS handshake, so you can end up with a successful TLS
handshake that mysteriously reports that it timed out after ~0s in flight.
The context is always canceled and cleaned up as the function exits, which
happens mere microseconds later, so just let function exit clean up and
thereby avoid races.
Signed-off-by: David Anderson <danderson@tailscale.com >
2022-01-13 23:01:29 +00:00
David Anderson and Dave Anderson
9f867ad2c5
.github/dependabot.yml: disable eager updates for Go.
...
Given our development cycle, we'll instead do big-bang updates
after every release, to give time for all the updates to soak in
unstable.
This does _not_ disable dependabot security-critical PRs.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-12-08 10:37:03 -08:00
David Anderson and Dave Anderson
190b7a4cca
go.mod: mass update with go get -u.
...
Gets ahead of dependabot slightly, but the updates are minor.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-12-06 13:00:37 -08:00
David Anderson and Dave Anderson
e6e63c2305
.github/dependabot.yml: make dependabot send all the updates right now.
...
So we can mass-process updates once now, then turn it off.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-12-06 10:57:33 -08:00
David Anderson and Brad Fitzpatrick
44d0c1ab06
ipn/ipnlocal: resolve exit node IP to ID at EditPrefs time.
...
Without this, enabling an exit node immediately blackholes all traffic,
but doesn't correctly let it flow to the exit node until the next netmap
update.
Fixes #3447
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-12-01 15:50:32 -08:00
David Anderson and Dave Anderson
124363e0ca
net/dns: detect and decode UTF-16 from wsl.exe earlier.
...
Fixes #3170
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-30 13:10:18 -08:00
David Anderson and Dave Anderson
6e584ffa33
cmd/tailscaled: allow running the SOCKS5 and HTTP proxies on the same port.
...
Fixes #3248
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-29 16:49:48 -08:00
David Anderson and Dave Anderson
a54d13294f
net/proxymux: add a listener mux that can run SOCKS and HTTP on a single socket.
...
Updates #3248
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-29 16:49:48 -08:00
David Anderson and Dave Anderson
097602b3ca
ipn/ipnlocal: warn more precisely about IP forwarding issues on linux.
...
If IP forwarding is disabled globally, but enabled per-interface on all interfaces,
don't complain. If only some interfaces have forwarding enabled, warn that some
subnet routing/exit node traffic may not work.
Fixes #1586
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-26 11:03:10 -08:00
David Anderson and Dave Anderson
db800ddeac
cmd/derper: set Content-Security-Policy on DERPs.
...
It's a basic "deny everything" policy, since DERP's HTTP
server is very uninteresting from a browser POV. But it
stops every security scanner under the sun from reporting
"dangerously configured" HTTP servers.
Updates tailscale/corp#3119
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-26 11:00:44 -08:00
David Anderson and Dave Anderson
33c541ae30
ipn/ipnlocal: populate self status from netmap in ipnlocal, not magicsock.
...
Fixes #1933
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-26 10:56:42 -08:00
David Anderson and Dave Anderson
9a217ec841
cmd/derper: increase HSTS cache lifetime to 2 years.
...
Fixes #3373 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-22 11:59:01 -08:00
David Anderson and Dave Anderson
937e96f43d
cmd/derper: enable HSTS when serving over HTTPS.
...
Starting with a short lifetime, to verify nothing breaks.
Updates #3373
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-22 09:57:34 -08:00
David Anderson and Dave Anderson
88b8a09d37
net/dns: make constants for the various DBus strings.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-19 11:09:32 -08:00
David Anderson and Dave Anderson
6c82cebe57
health: add a health state for net/dns.OSConfigurator.
...
Lets the systemd-resolved OSConfigurator report health changes
for out of band config resyncs.
Updates #3327
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-19 11:09:32 -08:00
David Anderson and Dave Anderson
4ef3fed100
net/dns: resync config to systemd-resolved when it restarts.
...
Fixes #3327
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-19 11:09:32 -08:00
David Anderson and Dave Anderson
cf9169e4be
net/dns: remove unused Config struct element.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-19 11:09:32 -08:00
David Anderson and Josh Bleecher Snyder
41da7620af
go.mod: update wireguard-go to pick up roaming toggle
...
wgengine/wgcfg: introduce wgcfg.NewDevice helper to disable roaming
at all call sites (one real plus several tests).
Fixes tailscale/corp#3016 .
Signed-off-by: David Anderson <danderson@tailscale.com >
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2021-11-16 13:15:04 -08:00
David Anderson and Dave Anderson
c5d572f371
net/dns: correctly handle NetworkManager-managed DNS that points to resolved.
...
Fixes #3304
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-15 12:21:25 -08:00
David Anderson and Dave Anderson
5b94f67956
control/noise: make Conn.readNLocked less surprising.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
a34350ffda
control/noise: factor out nonce checking and incrementing into a type.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
d3acd35a90
control/noise: make message headers match the specification.
...
Only the initiation message should carry a protocol version, all
others are just type+len.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
a63c4ab378
control/noise: don't panic when handling ciphertext.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
4004b22fe5
control/noise: stop using poly1305 package constants.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
293431aaea
control/noise: use key.Machine{Public,Private} as appropriate.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
edb33d65c3
control/noise: don't cache mixer, just rebuild a BLAKE2s each time.
...
This should optimize out fine, and readability is preferable to performance
here.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
7e9e72887c
control/noise: add singleUseCHP, use it to simplify nonce/key tracking in handshake.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
cf90392174
control/noise: review fixups
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
0b392dbaf7
control/noise: adjust implementation to match revised spec.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
89a68a4c22
control/noise: include the protocol version in the Noise prologue.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
5e005a658f
control/noise: fix typo in docstring.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
eabca699ec
control/noise: remove allocations in the encrypt and decrypt paths.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Dave Anderson
da7544bcc5
control/noise: implement the base transport for the 2021 control protocol.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-10 12:13:54 -08:00
David Anderson and Brad Fitzpatrick
0532eb30db
all: replace tailcfg.DiscoKey with key.DiscoPublic.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-03 14:00:16 -07:00
David Anderson
17b5782b3a
types/key: delete legacy NodeKey type.
...
Fixes #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-02 14:14:32 -07:00
David Anderson and Dave Anderson
7e6a1ef4f1
tailcfg: use key.NodePublic in wire protocol types.
...
Updates #3206 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-02 09:11:43 -07:00
David Anderson and Dave Anderson
7e8d5ed6f3
ipn: use key.NodePublic instead of tailcfg.NodeKey
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-01 20:32:10 -07:00
David Anderson and Dave Anderson
c17250cee2
ipn/ipnstate: use key.NodePublic instead of tailcfg.NodeKey.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-01 20:32:10 -07:00
David Anderson and Dave Anderson
c3d7115e63
wgengine: use key.NodePublic instead of tailcfg.NodeKey.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-01 18:28:45 -07:00
David Anderson and Dave Anderson
72ace0acba
wgengine/magicsock: use key.NodePublic instead of tailcfg.NodeKey.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-01 18:03:48 -07:00
David Anderson
d6e7cec6a7
types/netmap: use key.NodePublic instead of tailcfg.NodeKey.
...
Update #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-11-01 17:07:40 -07:00
David Anderson
8d14bc32d1
tstest/integration: use key.NodePublic instead of tailcfg.NodeKey.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 17:49:16 -07:00
David Anderson
84c3a09a8d
types/key: export constants for key size, not a method.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 17:39:04 -07:00
David Anderson
6422789ea0
disco: use key.NodePublic instead of tailcfg.NodeKey.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 17:39:04 -07:00
David Anderson
0fcc88873b
tailcfg: remove NodeKeyFromNodePublic.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 16:35:32 -07:00
David Anderson
c0ae1d2563
tailcfg: update go generate, which apparently normalizes type aliases.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 16:24:38 -07:00
David Anderson
418adae379
various: use NodePublic.AsNodeKey() instead of tailcfg.NodeKeyFromNodePublic()
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 16:19:27 -07:00
David Anderson
ff16e58d23
tailcfg: move NodeKey type to types/key.
...
This leaves behind a type alias and associated constructor, to allow
for gradual switchover.
Updates #3206 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 16:04:45 -07:00
David Anderson
15d329b4fa
tailcfg: add marshaling round-tripping test.
...
Temporary until #3206 goes away, but having changed the marshal/unmarshal
implementation I got nervous about the new one doing the correct thing.
Thankfully, the test says it does.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 15:21:41 -07:00
David Anderson
27e83402a8
cmd/tailscaled: fix depaware.
2021-10-29 15:07:13 -07:00
David Anderson
b43362852c
types/key: delete legacy undifferentiated key types.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 15:01:12 -07:00
David Anderson
eeb97fd89f
various: remove remaining uses of key.NewPrivate.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 15:01:12 -07:00
David Anderson
ccd36cb5b1
wgengine: remove use of legacy key parsing helper.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 14:57:32 -07:00
David Anderson
743293d473
types/key: remove node key AsPublic/AsPrivate compat shims.
...
Updates #3206 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 14:48:36 -07:00
David Anderson
2486d7cb9b
tailcfg: remove use of legacy key parsing helper.
...
Updates #3206 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 14:48:07 -07:00
David Anderson
ef241f782e
wgengine/magicsock: remove uses of tailcfg.DiscoKey.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 14:31:44 -07:00
David Anderson
073a3ec416
types/key: correct ShortString representation of DiscoPublic.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 14:31:44 -07:00
David Anderson
06dccea416
types/key: fix license header on disco files.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 13:45:49 -07:00
David Anderson
05cc2f510b
types/key: new types for disco keys.
...
Needed for #3206 to remove final uses of key.{Public,Private}.
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 13:44:02 -07:00
David Anderson
55b6753c11
wgengine/magicsock: remove use of key.{Public,Private}.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 13:20:13 -07:00
David Anderson and Dave Anderson
c1d009b9e9
ipn/ipnstate: use key.NodePublic instead of the generic key.Public.
...
Updates #3206 .
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-29 10:00:59 -07:00
David Anderson
ebae0d95d0
Revert "Revert "tailcfg: remove reference to types/key.Public.""
...
Updates #3206
This reverts commit ef14663934 .
2021-10-29 09:38:44 -07:00
David Anderson
ef14663934
Revert "tailcfg: remove reference to types/key.Public."
...
Breaks corp unit tests.
Updates #3206
This reverts commit 94f6257fde .
2021-10-28 19:00:29 -07:00
David Anderson
94f6257fde
tailcfg: remove reference to types/key.Public.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 16:16:38 -07:00
David Anderson
1f06f77dcb
derp: remove package shadowing of types/key.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 16:13:28 -07:00
David Anderson
37c150aee1
derp: use new node key type.
...
Update #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 16:02:11 -07:00
David Anderson
15376f975b
types/wgkey: delete, no longer used.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 14:53:38 -07:00
David Anderson
c41fe182f0
cmd/tailscaled: update depaware.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 14:28:59 -07:00
David Anderson
4d38194c21
control/controlclient: stop using wgkey.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 14:22:51 -07:00
David Anderson
e03fda7ae6
wgengine/magicsock: remove test uses of wgkey.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 14:17:25 -07:00
David Anderson
c9bf773312
wgengine/magicsock: replace use of wgkey with new node key type.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 11:21:52 -07:00
David Anderson
6e5175373e
types/netmap: use new node key type.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 10:44:34 -07:00
David Anderson
96ad68c5d6
ipn: remove mention of wgkey in comment.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 10:40:44 -07:00
David Anderson
bab2d92c42
tailcfg: remove use of wgkey.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 10:39:56 -07:00
David Anderson
3164c7410e
wgengine/wgcfg: remove unused helper function.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 10:38:13 -07:00
David Anderson
0c546a28ba
types/persist: use new node key type.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 10:29:43 -07:00
David Anderson and Dave Anderson
a9c78910bd
wgengine/wgcfg: convert to use new node key type.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 09:39:23 -07:00
David Anderson and Dave Anderson
a47158e14d
cmd/derper: use new node key type.
...
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 09:39:23 -07:00
David Anderson and Dave Anderson
bc89a796ec
types/key: add a dedicated type for node keys.
...
Complete with converters to all the other types that represent a
node key today, so the new type can gradually subsume old ones.
Updates #3206
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-28 09:16:39 -07:00
David Anderson and Dave Anderson
060ba86baa
net/portmapper: ignore IGD SSDP responses from !defaultgw
...
Now that we multicast the SSDP query, we can get IGD offers from
devices other than the current device's default gateway. We don't want
to accidentally bind ourselves to those.
Updates #3197
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-27 15:34:27 -07:00
David Anderson and Dave Anderson
4a65b07e34
net/portmapper: also send UPnP SSDP query to the SSDP multicast address.
...
Fixes #3197
Signed-off-by: David Anderson <danderson@tailscale.com >
2021-10-27 15:02:03 -07:00