Brad Fitzpatrick and Brad Fitzpatrick
8c5c87be26
util/deephash: fix collisions between different types
...
Updates #4883
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-21 22:29:04 -07:00
Tom DNetto and Tom
4f6fa3d63a
shell.nix: use 1.18 from system nixpkgs
...
(Now that 22.05 / 22.11 are released and presumably everyone has updated).
Signed-off-by: Tom DNetto <tom@tailscale.com >
2022-06-21 15:36:39 -07:00
Xe Iaso and GitHub
dee95d0894
cmd/gitops-pusher: add new GitOps assistant ( #4893 )
...
This is for an upcoming blogpost on how to manage Tailscale ACLs using a
GitOps flow. This tool is intended to be used in CI and will allow users
to have a git repository be the ultimate source of truth for their ACL
file. This enables ACL changes to be proposed, approved and discussed
before they are applied.
Signed-off-by: Xe <xe@tailscale.com >
2022-06-21 16:04:48 -04:00
Sofiane Hamlaoui and Denton Gentry
1007983159
Adding pkg for Freebsd installation
...
Signed-off-by: Sofiane Hamlaoui <s0fianehaml40u1@gmail.com >
2022-06-20 11:31:10 -07:00
Sofiane Hamlaoui and Denton Gentry
51cc0e503b
adding --noconfirm to pacman installation
...
Signed-off-by: Sofiane Hamlaoui <s0fianehaml40u1@gmail.com >
2022-06-20 11:31:10 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
87a4c75fd4
control/controlclient, ipn/ipnlocal: remove Client.SetExpirySooner, fix race
...
Client.SetExpirySooner isn't part of the state machine. Remove it from
the Client interface.
And fix a use of LocalBackend.cc without acquiring the lock that
guards that field.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-19 22:08:29 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
ef0d740270
control/controlclient: remove Client.SetStatusFunc
...
It can't change at runtime. Make it an option.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-19 21:54:39 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
70a2797064
control/controlclient, ipn/ipnlocal: remove some Client methods
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-19 18:11:59 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
a1e429f7c3
control/controlclient, types/netmap: remove unused LocalPort field
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-19 17:22:00 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
526b0b6890
control/controlclient: start simplifying netmap fetch APIs
...
Step 1 of many, cleaning up the direct/auto client & restarting map
requests that leads to all the unnecessary map requests.
Updates tailscale/corp#5761
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-19 15:43:12 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
467eb2eca0
cmd/tailscale/cli, ipn/ipnlocal: give SSH tips when off/unconfigured
...
Updates #3802
Change-Id: I6b9a3175f68a6daa670f912561f2c2ececc07770
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-17 19:37:59 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
99ed54926b
tailcfg: define some Node.Capabilities about SSH, its config
...
Updates #3802
Change-Id: Icb4ccbc6bd1c6304013bfc553d04007844a5c0bf
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-17 12:14:50 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
13d0b8e6a4
control/controlclient, net/dnscache: use typed singleflight fork
...
Change-Id: I12be4c5a91ae3a812fe88d9b2d15526fdbb5a921
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-17 10:20:16 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
59ed846277
util/singleflight: add fork of singleflight with generics
...
Forked from golang.org/x/sync/singleflight at
the x/sync repo's commit 67f06af15bc961c363a7260195bcd53487529a21
Updates golang/go#53427
Change-Id: Iec2b47b7777940017bb9b3db9bd7d93ba4a2e394
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-17 10:20:16 -07:00
757ecf7e80
util/deephash: fix map hashing when key & element have the same type
...
Regression from 09afb8e35b , in which the
same reflect.Value scratch value was being used as the map iterator
copy destination.
Also: make nil and empty maps hash differently, add test.
Fixes #4871
Co-authored-by: Josh Bleecher Snyder <josharian@gmail.com >
Change-Id: I67f42524bc81f694c1b7259d6682200125ea4a66
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-16 22:29:47 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
22c544bca7
go.mod: bump go4.org/unsafe/assume-no-moving-gc for Go 1.19beta1
...
Otherwise we crash at startup with Go 1.19beta1.
Updates #4872
Change-Id: I371df4146735f7e066efd2edd48c1a305906c13d
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-16 20:40:22 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
f31588786f
util/deephash: don't track cycles on non-recursive types
...
name old time/op new time/op delta
Hash-8 67.3µs ±20% 76.5µs ±16% ~ (p=0.143 n=10+10)
HashMapAcyclic-8 63.0µs ± 2% 56.3µs ± 1% -10.65% (p=0.000 n=10+8)
TailcfgNode-8 9.18µs ± 2% 6.52µs ± 3% -28.96% (p=0.000 n=9+10)
HashArray-8 732ns ± 3% 709ns ± 1% -3.21% (p=0.000 n=10+10)
name old alloc/op new alloc/op delta
Hash-8 24.0B ± 0% 24.0B ± 0% ~ (all equal)
HashMapAcyclic-8 0.00B 0.00B ~ (all equal)
TailcfgNode-8 0.00B 0.00B ~ (all equal)
HashArray-8 0.00B 0.00B ~ (all equal)
name old allocs/op new allocs/op delta
Hash-8 1.00 ± 0% 1.00 ± 0% ~ (all equal)
HashMapAcyclic-8 0.00 0.00 ~ (all equal)
TailcfgNode-8 0.00 0.00 ~ (all equal)
HashArray-8 0.00 0.00 ~ (all equal)
Change-Id: I28642050d837dff66b2db54b2b0e6d272a930be8
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-16 18:39:10 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
36ea837736
util/deephash: fix map hashing to actually hash elements
...
Fixes #4868
Change-Id: I574fd139cb7f7033dd93527344e6aa0e625477c7
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-16 11:32:12 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
4005134263
tailcfg: clarify some of the MapRequest variants
...
Change-Id: Ia09bd69856e372c3a6b64cda7ddb34029b32a11b
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-14 13:08:55 -07:00
Joe Tsai and GitHub
0f05b2c13f
tsnet: use tailscaled as prefix for state file names ( #4816 )
...
Use the "tailscaled" prefix instead of "tsnet" for state file names:
1. It is consistent with the pre-existing {{Dir}}/tailscaled.state file.
2. It makes the file layout of `tsnet` and `tailscaled` identical,
so that they are compatible with each other.
Signed-off-by: Joe Tsai <joetsai@digital-static.net >
2022-06-09 11:46:43 -07:00
Denton Gentry and Denton Gentry
1392a93445
socks5: add a simple test
...
Start up a backend service, put a SOCKS5 server in front
of it, and verify that we can get data from the backend via
SOCKS5.
Signed-off-by: Denton Gentry <dgentry@tailscale.com >
2022-06-09 10:41:06 -07:00
Denton Gentry and Denton Gentry
7fffddce8e
net/portmapper: enable for iOS
...
In the 1.27 unstable releases we set the min-version to iOS15,
which means we have 50 MBytes of RAM in the Network Extension.
https://tailscale.com/blog/go-linker/
Include the UPnP/NAT-PMP/PCP portmapper support now that there
is memory for it.
Fixes https://github.com/tailscale/tailscale/issues/2495
Signed-off-by: Denton Gentry <dgentry@tailscale.com >
2022-06-09 10:40:25 -07:00
Mihai Parparita and Mihai Parparita
2990c2b1cf
control/controlhttp: use secure WebSockets protocol by default
...
Forcing the insecure protocol (and perserving the port number) is only
desired for localhost testing, in prod we need to use wss:// to avoid
mixed-content errors.
Signed-off-by: Mihai Parparita <mihai@tailscale.com >
2022-06-08 15:29:21 -07:00
Tom DNetto and Tom
32c6823cf5
tsweb: implement interceptor for error page presentation
...
Updates https://github.com/tailscale/corp/issues/5605
Signed-off-by: Tom DNetto <tom@tailscale.com >
2022-06-08 15:21:16 -07:00
Mihai Parparita and Mihai Parparita
b788a5ba7e
tailcfg: add HostinfoView version of TailscaleSSHEnabled
...
Signed-off-by: Mihai Parparita <mihai@tailscale.com >
2022-06-08 12:08:14 -07:00
Praneet Loke and GitHub
d8c05fc1b2
Update a Taildrop error message ( #4818 )
...
ipn/ipnlocal: update error message on Taildrop send while not connected
Signed-off-by: Praneet <1466314+praneetloke@users.noreply.github.com >
2022-06-08 09:11:50 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
d3643fa151
cmd/tailscale: add 'debug ts2021' Noise connectivity subcommand
...
Updates #3488
Change-Id: I9272e68f66c4cf36fb98dd1248a74d3817447690
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-08 09:07:05 -07:00
Joe Tsai and GitHub
96f73b3894
logtail: do not panic in PrivateID.PublicID ( #4815 )
...
It is not idiomatic for Go code to panic for situations that
can be normal. For example, if a server receives PrivateID
from a client, it is normal for the server to call
PrivateID.PublicID to validate that the PublicID matches.
However, doing so would panic prior to this change.
Signed-off-by: Joe Tsai <joetsai@digital-static.net >
2022-06-07 17:25:05 -07:00
Melanie Warrick and GitHub
3a182d5dd6
ipn/ipnstate: add ExitNodeStatus to share the exit node if it is in use, the IP, ID and whether its online. ( #4761 )
...
-
Updates #4619
Signed-off-by: nyghtowl <warrick@tailscale.com >
2022-06-07 12:31:10 -07:00
Mihai Parparita and Mihai Parparita
6246fa32f0
wasm: add test for disallowed JS/WASM dependencies
...
Ensures that binary size gains like the ones from #4802 and #4813
don't regress.
Updates #3517
Signed-off-by: Mihai Parparita <mihai@tailscale.com >
2022-06-07 12:19:11 -07:00
Mihai Parparita and Mihai Parparita
c41837842b
wasm: drop pprof dependency
...
We can use the browser tools to profile, pprof adds 200K to the binary size.
Updates #3157
Signed-off-by: Mihai Parparita <mihai@tailscale.com >
2022-06-07 12:16:16 -07:00
Ross Zurowski and GitHub
bb67999808
tailcfg: add TailscaleSSHEnabled helper check ( #4812 )
...
This commit adds a helper to check if Tailscale SSH is enabled. We're
currently checking the SSH_HostKeys field in a few places, but later
plan to add an explicit bool. This helper makes the check and any future
changes easier.
Signed-off-by: Ross Zurowski <ross@rosszurowski.com >
2022-06-07 14:50:08 -04:00
Will Norris and GitHub
09363064b5
tsnet: use proper log ID
...
refactor logpolicy config loading to make it easier to reuse from
outside the package. Within tsnet, setup a basic logtail config.
Signed-off-by: Will Norris <will@tailscale.com >
2022-06-07 10:09:21 -07:00
Mihai Parparita and Mihai Parparita
edc90ebc61
net/wsconn: remove homegrown wrapper for turning a websocket.Conn into a net.Conn
...
The one from the nhooyr/websocket package seems to work equally well.
Signed-off-by: Mihai Parparita <mihai@tailscale.com >
2022-06-07 09:28:56 -07:00
Denton Gentry and Denton Gentry
cfb5bd0559
VERSION.txt: this is v1.27.0
...
Signed-off-by: Denton Gentry <dgentry@tailscale.com >
2022-06-06 16:11:18 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
db83926121
go.toolchain.rev: bump Go to 1.18.3 (+ Tailscale patches)
...
See https://github.com/tailscale/go/commits/04d67b90d8cfd6f822664220f79e0e69cacb6b5c
Diff:
https://github.com/tailscale/go/compare/bb6009ec7cd24dbcf2a32034893c9cfbc1f8c36b..04d67b90d8cfd6f822664220f79e0e69cacb6b5c
Change-Id: Ic0abd3058f3696c3f8007e1004ab4bf377c5323c
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-06 15:46:28 -07:00
Mihai Parparita and GitHub
27a1ad6a70
wasm: exclude code that's not used on iOS for Wasm too
...
It has similar size constraints. Saves ~1.9MB from the Wasm build.
Updates #3157
Signed-off-by: Mihai Parparita <mihai@tailscale.com >
2022-06-06 13:52:52 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
4007601f73
cmd/controlclient: wire up PingRequest peerapi pings too
...
Updates tailscale/corp#754
Change-Id: I61ac3fc44783b54bd02455bcb0baf19159b7a9d2
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-06 13:41:34 -07:00
Maisem Ali and Maisem Ali
3b55bf9306
build_docker.sh: add run.sh as an entrypoint to the docker image
...
Fixes #4071
Signed-off-by: Maisem Ali <maisem@tailscale.com >
2022-06-07 00:45:49 +05:00
Maisem Ali and Maisem Ali
bf2fa7b184
go.mod: pin github.com/tailscale/mkctr (try #2 )
...
Signed-off-by: Maisem Ali <maisem@tailscale.com >
2022-06-07 00:44:21 +05:00
Brad Fitzpatrick and Brad Fitzpatrick
0d972678e7
cmd/tailscale/cli: disable 'tailscale ssh' on sandboxed macOS
...
Updates #3802
Updates #4518
Fixes #4628
Change-Id: I194d2cc30fc8e38b66d4910787efbce14317b0ff
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-06 08:54:38 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
0df3b76c25
tsweb: fix Port80Handler redirect to https with FQDN unset
...
Fixes the current http://pkgs.tailscale.com/ redirect to https:///
as that server doesn't configure the Port80Handler.FQDN field.
Change-Id: Iff56e6127a46c306ca97738d91b217bcab32a582
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-05 13:01:30 -07:00
Denton Gentry and Denton Gentry
c6ac82e3a6
hostinfo,distro: Identify Western Digital MyCloud devices.
...
root@WDMyCloud HD_a2 # ./tailscale debug hostinfo
{
"IPNVersion": "1.25.0-dev20220605-t7fea52e02",
"OS": "linux",
"OSVersion": "5.22.113",
"Desktop": false,
"DeviceModel": "WD My Cloud Gen2: Marvell Armada 375",
"Hostname": "WDMyCloud",
"GoArch": "arm"
}
Updates https://github.com/tailscale/tailscale/issues/4622
Signed-off-by: Denton Gentry <dgentry@tailscale.com >
2022-06-05 08:22:42 -07:00
Denton Gentry and Denton Gentry
0687195bee
logpolicy: put Synology logs buffer in /tmp
...
Ongoing log writing keeps the spinning disks from hibernating.
Fixes https://github.com/tailscale/tailscale/issues/3551
Tested on DSM6 and DSM7.
Signed-off-by: Denton Gentry <dgentry@tailscale.com >
2022-06-04 22:06:14 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
fbc079d82d
ipn/ipnlocal: prevent attempting to run SSH on Synology for now
...
On DSM7 as a non-root user it'll run into problems.
And we haven't tested on DSM6, even though it might work, but I doubt
it.
Updates #3802
Updates tailscale/corp#5468
Change-Id: I75729042e4788f03f9eb82057482a44b319f04f3
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-03 13:50:33 -07:00
Brad Fitzpatrick and Brad Fitzpatrick
2bac8b6013
Revert "cmd/tailscale/cli: disallow --ssh on Synology"
...
This reverts commit 03e3e6abcd
in favor of #4785 .
Change-Id: Ied65914106917c4cb8d15d6ad5e093a6299d1d48
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-03 13:49:42 -07:00
Maisem Ali and Maisem Ali
03e3e6abcd
cmd/tailscale/cli: disallow --ssh on Synology
...
Updates tailscale/corp#5468
Updates #3802
Signed-off-by: Maisem Ali <maisem@tailscale.com >
2022-06-04 01:39:33 +05:00
Brad Fitzpatrick and Brad Fitzpatrick
a9b4bf1535
ipn/ipnserver, cmd/tailscaled: fix peerapi on Windows
...
We weren't wiring up netstack.Impl to the LocalBackend in some cases
on Windows. This fixes Windows 7 when run as a service.
Updates #4750 (fixes after pull in to corp repo)
Change-Id: I9ce51b797710f2bedfa90545776b7628c7528e99
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-06-03 12:24:47 -07:00
Jordan Whited and GitHub
43f9c25fd2
cmd/tailscale: surface authentication errors in status.Health ( #4748 )
...
Fixes #3713
Signed-off-by: Jordan Whited <jordan@tailscale.com >
2022-06-03 10:52:07 -07:00
Charlotte Brandhorst-Satzkorn and GitHub
c980bf01be
words: The lists continue to drag-on. ( #4780 )
...
For Zaku and Pretzel.
Signed-off-by: Charlotte Brandhorst-Satzkorn <charlotte@tailscale.com >
2022-06-03 10:55:17 -04:00