bda53897b5
tailcfg: document FilterRule
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-11-05 12:15:17 -08:00
782e07c0ae
control/controlclient: send warning flag in map request when IP forwarding off
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-11-04 14:46:05 -08:00
946c1edb42
tailcfg: improve error returned by Hostinfo.CheckRequestTags
...
That's what I get for pushing too fast.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-11-03 16:19:20 -08:00
fb9f80cd61
tailcfg: add Hostinfo.CheckRequestTags helper method
...
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-11-03 16:10:23 -08:00
cd07437ade
cmd/tailscale/cli, tailcfg: allow tag without "tag:" prefix in 'tailscale up'
...
Fixes #861
2020-10-28 07:59:57 -07:00
4f55ebf2d9
tailcfg: add some comments, remove some redundant types in literal
2020-10-26 08:53:07 -07:00
9957c45995
tailcfg: bump, document MapRequest.Version value
...
Fixes tailscale/corp#634
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-10-20 10:48:59 -07:00
62d941dc26
tailcfg: add a DebugFlags field for experiments and debugging.
...
Also replaces the IPv6Overlay bool with use of DebugFlags, since
it's currently an experimental configuration.
Signed-off-by: David Anderson <danderson@tailscale.com >
2020-10-19 17:03:04 -07:00
22024a38c3
control/controlclient: log Hostinfo on change
...
Fixes #830
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-10-19 14:49:22 -07:00
7c8ca28c74
ipn: use cmd/cloner for Prefs.Clone
...
Also, make cmd/cloner's top-level "func Clone" generation opt-in.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-10-19 12:15:49 -07:00
c6dbd24f67
tailcfg: add a field to advertise support for IPv6 tailscale config.
...
Signed-off-by: David Anderson <danderson@tailscale.com >
2020-10-15 15:15:24 -07:00
0e3048d8e0
control/controlclient: support delta userprofiles from control
...
I was going to make support for this advertised from the client, but
turns out only "tailscale status" even uses the UserProfiles field and
fails gracefully (omits that field) if a user profile for a user is
missing, so I think we can just reuse the DeltaPeers field from the
client to ask the control server to also delta encode the user
profiles.
For the few users running 1.1.x (unstable) versions between DeltaPeers
support (1.1.82) and this (~1.1.541), they'll just sometimes have
missing names in "tailscale status --json" or "tailscale status --web"
(the only places the UserProfile is used).
2020-10-14 18:46:07 -07:00
d027cd81df
tailcfg: restore Roles field to UserProfile
2020-10-09 15:56:39 -07:00
400e89367c
tailcfg: restore Role field to MapResponse
...
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-10-09 12:07:32 -07:00
7616acd118
tailcfg: add Clone method for RegisterResponse
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com >
2020-10-06 14:06:11 -04:00
b5a3850d29
control/controlclient, ipn: store machine key separately from user prefs/persist
...
Updates #610 (fixes after some win/xcode changes in a separate repo)
2020-10-01 14:30:20 -07:00
ce6aca13f0
tailcfg: add yet another IsZero method
...
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-09-30 17:55:12 -07:00
070dfa0c3d
tailcfg: add more IsZero methods
...
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-09-30 17:47:07 -07:00
2b8d2babfa
tailcfg: add IsZero methods to UserID and NodeID
...
These will be helpful for doing some automated refactoring.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-09-29 17:38:56 -07:00
4d4ca2e496
control/controlclient: remove Roles fields from client
...
They are unused.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-09-29 11:36:35 -07:00
d3701417fc
tailcfg: fix typo in comment
...
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-09-28 14:44:34 -07:00
4cc0ed67f9
tailcfg: add MachineKey.IsZero
...
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-09-21 12:19:59 -07:00
904a91038a
tailcfg: add MapRequest.ReadOnly and OmitPeers; remove DebugForceDisco
...
DebugForceDisco was a development & safety knob during the the transition
to discovery. It's no longer needed.
Add MapRequest.ReadOnly to prevent clients needing to do two
peer-spamming MapRequest at start-up.
This only adds the field, not the use of the field. (The control server
needs to support it first.)
Updates tailscale/corp#557
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-09-17 12:07:49 -07:00
95cddfcc75
tailcfg: add Clone methods to Login and DNSConfig
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com >
2020-09-04 07:48:45 -04:00
a903d6c2ed
tailcfg, tsdns: derive root domains from list of nodes ( #708 )
...
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com >
2020-08-24 17:27:21 -04:00
9e2e8c80af
tailcfg: more Clone methods
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com >
2020-08-21 08:38:08 -04:00
9337a99dff
tailcfg, wgengine, controlclient: add control-side gating of lazy WG config
2020-08-20 13:21:25 -07:00
f6dc47efe4
tailcfg, controlclient, magicsock: add control feature flag to enable DRPO
...
Updates #150
2020-08-17 13:01:39 -07:00
1f7a7a4ffe
tailcfg: add missing Node.DERP check in Node.Equals
...
Updates tailscale/corp#549
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-08-10 19:46:22 -07:00
696020227c
tailcfg, control/controlclient: support delta-encoded netmaps
...
Should greatly reduce bandwidth for large networks (including our
hello.ipn.dev node).
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-08-07 21:49:49 -07:00
28e52a0492
all: dns refactor, add Proxied and PerDomain flags from control ( #615 )
...
Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com >
2020-07-31 16:27:09 -04:00
cd21ba0a71
tailcfg, control/controlclient: add GoArch, populate OSVersion on Linux
2020-07-27 21:14:28 -07:00
ec4feaf31c
cmd/cloner, tailcfg: fix nil vs len 0 issues, add tests, use for Hostinfo
...
Also use go:generate and https://golang.org/s/generatedcode header style.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-07-27 14:11:41 -07:00
990e2f1ae9
tailcfg: generate some Clone methods
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com >
2020-07-27 11:08:09 +10:00
48fc9026e9
tailcfg: optimize Node.Equal allocs a bit
...
Noticed while working on something else.
2020-07-23 10:47:49 -07:00
ca2428ecaf
tailcfg: add Hostinfo.OSVersion, DeviceModel
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-07-20 16:10:06 -07:00
0d481030f3
tailcfg: use ? for portmap summary to match netcheck
2020-07-07 18:54:50 -07:00
5c6d8e3053
netcheck, tailcfg, interfaces, magicsock: survey UPnP, NAT-PMP, PCP
...
Don't do anything with UPnP, NAT-PMP, PCP yet, but see how common they
are in the wild.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-07-06 15:25:35 -07:00
c9089c82e8
control/controlclient, tailcfg: turn active route discovery on by default
...
Updates #483
2020-07-03 13:55:33 -07:00
0f0ed3dca0
wgengine/magicsock: clean up discovery logging
...
Updates #483
2020-07-02 10:48:13 -07:00
23e74a0f7a
wgengine, magicsock, tstun: don't regularly STUN when idle (mobile only for now)
...
If there's been 5 minutes of inactivity, stop doing STUN lookups. That
means NAT mappings will expire, but they can resume later when there's
activity again.
We'll do this for all platforms later.
Updates tailscale/corp#320
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-06-25 19:14:24 -07:00
53fb25fc2f
all: generate discovery key, plumb it around
...
Not actually used yet.
Updates #483
2020-06-19 12:12:00 -07:00
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
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
51f421946f
tailcfg: add some example strings in comments
2020-06-12 08:17:31 -07:00
703d789005
tailcfg: add MapResponse.Debug mechanism to trigger logging heap pprof
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-05-25 15:22:13 -07:00
e6b84f2159
all: make client use server-provided DERP map, add DERP region support
...
Instead of hard-coding the DERP map (except for cmd/tailscale netcheck
for now), get it from the control server at runtime.
And make the DERP map support multiple nodes per region with clients
picking the first one that's available. (The server will balance the
order presented to clients for load balancing)
This deletes the stunner package, merging it into the netcheck package
instead, to minimize all the config hooks that would've been
required.
Also fix some test flakes & races.
Fixes #387 (Don't hard-code the DERP map)
Updates #388 (Add DERP region support)
Fixes #399 (wgengine: flaky tests)
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-05-23 22:31:59 -07:00
bb55694c95
wgengine: log node IDs when peers are added/removed ( #381 )
...
Also stop logging data sent/received from nodes we're not connected to (ie all those `x`s being logged in the `peers: ` line)
Signed-off-by: Wendi <wendi.yu@yahoo.ca >
2020-05-15 14:13:44 -06:00
cff53c6e6d
tailcfg: add DERP map structures
...
Updates #387
Updates #388
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2020-05-14 21:09:54 -07:00
fefd7e10dc
types/structs: add structs.Incomparable annotation, use it where applicable
...
Shotizam before and output queries:
sqlite> select sum(size) from bin where func like 'type..%';
129067
=>
120216
2020-05-03 14:05:32 -07:00