summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2023-02-02ssh: add session hauling implementationskriptble/ssh-recording-persistKris Brandow6-2/+602
Add SSH Session Hauling implementation. Updates #7069 Signed-off-by: Kris Brandow <kris@tailscale.com>
2023-02-02util/multierr: implement Go 1.20+'s multiple error UnwrapAndrew Dunham1-11/+1
Now that Go 1.20 is released, multierr.Error can implement Unwrap() []error Updates #7123 Signed-off-by: Andrew Dunham <andrew@du.nham.ca> Change-Id: Ic28c2579de6799801836c447afbca8cdcba732cf
2023-02-02ipn/ipnlocal: print warning about DNS servers in bugreport --diagnoseAndrew Dunham1-0/+26
If the user passes the --diagnose flag, print a warning if any of the default or fallback DNS resolvers are Tailscale IPs. This can interfere with the ability to connect to the controlplane, and is typically something to pay attention to if there's a connectivity issue. Change-Id: Ib14bf6228c037877fbdcd22b069212b1a4b2c456 Signed-off-by: Andrew Dunham <andrew@tailscale.com>
2023-02-02licenses: update tailscale{,d} licensesLicense Updater1-2/+2
Signed-off-by: License Updater <noreply@tailscale.com>
2023-02-02net/{netns,netstat}: use new x/sys/cpu.IsBigEndianBrad Fitzpatrick7-13/+14
See golang/go#57237 Change-Id: If47ab6de7c1610998a5808e945c4177c561eab45 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-02-01health, net/tlsdial: add healthcheck for self-signed certAndrew Dunham4-9/+63
When we make a connection to a server, we previously would verify with the system roots, and then fall back to verifying with our baked-in Let's Encrypt root if the system root cert verification failed. We now explicitly check for, and log a health error on, self-signed certificates. Additionally, we now always verify against our baked-in Let's Encrypt root certificate and log an error if that isn't successful. We don't consider this a health failure, since if we ever change our server certificate issuer in the future older non-updated versions of Tailscale will no longer be healthy despite being able to connect. Updates #3198 Change-Id: I00be5ceb8afee544ee795e3c7a2815476abc4abf Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
2023-02-01wgengine/magicsock: add envknob to print information about port selectionAndrew Dunham1-0/+13
To aid in debugging where a customer has static port-forwards set up and there are issues establishing a connection through that port. Signed-off-by: Andrew Dunham <andrew@du.nham.ca> Change-Id: Ic5558bcdb40c9119b83f79dcacf2233b07777f2a
2023-02-01all: use Go 1.20's bytes.CloneBrad Fitzpatrick8-11/+16
Updates #7123 Updates #6257 (more to do in other repos) Change-Id: I073e2a6d81a5d7fbecc29caddb7e057ff65239d0 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-02-01.github/workflows: delete CIFuzz jobBrad Fitzpatrick1-1/+1
It doesn't yet support Go 1.20. We can bring it back later. Updates #7123 Change-Id: I6c4a4090e910d06f34c3f4d612e737989fe85812 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-02-01all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our forkBrad Fitzpatrick34-147/+73
Updates #7123 Updates #5309 Change-Id: I90bcd87a2fb85a91834a0dd4be6e03db08438672 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-02-01go.toolchain.branch: update to Go 1.20Brad Fitzpatrick1-1/+1
Updates #7123 Change-Id: I64f6d8de5bb511a23318118b4ea1146247f1ad7c Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-02-01util/vizerror: add As function to get wrapped ErrorWill Norris3-2/+21
Signed-off-by: Will Norris <will@tailscale.com>
2023-02-01fixup! util/vizerror: add new package for visible errorsWill Norris3-1/+2
Signed-off-by: Will Norris <will@tailscale.com>
2023-02-01fixup! util/vizerror: add new package for visible errorsWill Norris2-4/+22
Signed-off-by: Will Norris <will@tailscale.com>
2023-02-01fixup! util/vizerror: add new package for visible errorsWill Norris1-5/+8
Signed-off-by: Will Norris <will@tailscale.com>
2023-02-01fixup! util/vizerror: add new package for visible errorsWill Norris3-8/+53
Signed-off-by: Will Norris <will@tailscale.com>
2023-02-01util/vizerror: add new package for visible errorsWill Norris2-0/+54
Signed-off-by: Will Norris <will@tailscale.com>
2023-02-01.github/ISSUE_TEMPLATE: add link to wiki/OtherSoftwareInteropBrad Fitzpatrick1-1/+7
Add question about https://github.com/tailscale/tailscale/wiki/OtherSoftwareInterop in the issue template. Change-Id: I6ca374654e9f67be9cb447bb5d5f66a9087fd945 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-02-01cmd/tailscale/cli: delete ActLikeCLIBrad Fitzpatrick1-47/+0
It's since been rewritten in Swift. #cleanup Change-Id: I0860d681e8728697804ce565f63c5613b8b1088c Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-02-01nix: update nixpkgs flake, override go_1_20 for tailscale_go (#7139)shayne2-7/+7
Bleeding edge Tailscale Nix flake broke after updating to go1.20rc3. Go 1.20 moved to Go 1.17 as a bootstarp toolchain. Fortunately nixpkgs nixos-unstable already had a 1.20.nix with bootstrap117.nix. ``` ❯ ./result/bin/tailscale version 1.37.0-dev track: unstable (dev); frequent updates and bugs are likely go version: go1.20rc3-ts6a17f14c05 ``` Signed-off-by: Shayne Sweeney <shayne@tailscale.com>
2023-01-31flake.nix: update SRI hash.David Anderson3-3/+3
Signed-off-by: David Anderson <danderson@tailscale.com>
2023-01-31ipn/localapi: fix validHost parsing logicDavid Crawshaw2-2/+42
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2023-01-31cmd/tsconnect: update to xterm.js 5.1Mihai Parparita2-15/+15
It includes xtermjs/xterm.js#4216, which improves handling of some escape sequences. Unfortunately it's not enough to fix the issue with `ponysay`, but it does not hurt to be up to date. Updates #6090 Signed-off-by: Mihai Parparita <mihai@tailscale.com>
2023-01-31licenses: update win/apple licensesLicense Updater2-6/+6
Signed-off-by: License Updater <noreply@tailscale.com>
2023-01-31ipn/ipnlocal: rate-limit diagnose logs in bugreportAndrew Dunham2-1/+53
We can log too quickly for logtail to catch up, even when we opt out of log rate-limiting. When the user passes the --diagnose flag to bugreport, we use a token bucket to control how many logs per second are printed and sleep until we're able to write more. Signed-off-by: Andrew Dunham <andrew@du.nham.ca> Change-Id: If27672d66b621b589280bd0fe228de367ffcbd8f
2023-01-31ci: make gofmt check fail for a non-empty diff (#7131)M. J. Fromberger1-1/+3
Fixes #7130. Change-Id: If47eb472ea98a8d8b250c5c681c7862d252645fb Signed-off-by: M. J. Fromberger <fromberger@tailscale.com>
2023-01-31cmd/derpprobe: migrate to the prober frameworkAnton Tolchanov4-524/+150
`prober.DERP` was created in #5988 based on derpprobe. Having used it instead of derpprobe for a few months, I think we have enough confidence that it works and can now migrate derpprobe to use the prober framework and get rid of code duplication. A few notable changes in behaviour: - results of STUN probes over IPv4 and IPv6 are now reported separately; - TLS probing now includes OCSP verification; - probe names in the output have changed; - ability to send Slack notification from the prober has been removed. Instead, the prober now exports metrics in Expvar (/debug/vars) and Prometheus (/debug/varz) formats. Fixes https://github.com/tailscale/corp/issues/8497 Signed-off-by: Anton Tolchanov <anton@tailscale.com>
2023-01-30Update CodeQL action to v2Nick Kirby1-3/+3
There's an error in the `Perform CodeQL Analysis` step saying to upgrade to v2 as v1 was deprecated on 18th January. Signed-off-by: Nick Kirby <nrkirb@gmail.com>
2023-01-30wgengine/magicsock: fix de-dup disco ping handling for netmap endpoints (#7118)Jordan Whited1-10/+10
Fixes #7116 Signed-off-by: Jordan Whited <jordan@tailscale.com>
2023-01-30go.toolchain.rev: update to Go 1.20rc3Brad Fitzpatrick3-3/+3
Updates #7123 Change-Id: Ibdf53530251c120e7e20c24abcf4a05f2ff7ac97 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-01-30ipn/ipnlocal: drop not required StateKey parameterMaisem Ali14-42/+38
This is #cleanup now that #7121 is merged. Signed-off-by: Maisem Ali <maisem@tailscale.com>
2023-01-30cmd/tsconnect: use empty string as the default state store keyMihai Parparita2-2/+2
Makes the Wasm client more similar to the others, and allows the default profile to be correctly picked up when restarting the client in dev mode (where we persist the state in sessionStorage). Also update README to reflect that Go wasm changes can be picked up with just a reload (as of #5383) Signed-off-by: Mihai Parparita <mihai@tailscale.com>
2023-01-30net/memnet: rename from net/nettestMaisem Ali13-33/+40
This is just #cleanup to resolve a TODO Also add a package doc. Signed-off-by: Maisem Ali <maisem@tailscale.com>
2023-01-30safesocket: remove the now unused WindowsLocalPortMaisem Ali8-33/+18
Also drop the port param from safesocket.Listen. #cleanup Signed-off-by: Maisem Ali <maisem@tailscale.com>
2023-01-28flake.nix: update SRI hash for Go modules.David Anderson3-3/+3
Signed-off-by: David Anderson <danderson@tailscale.com>
2023-01-27cmd/k8s-operator: use unstable tailscale image as wellDavid Anderson1-1/+1
We need a post-1.36 tailscale image to handle custom hostnames correctly. Updates #502 Signed-off-by: David Anderson <danderson@tailscale.com>
2023-01-27wgengine/magicsock: de-dup disco pings (#7093)Jordan Whited1-27/+48
Fixes #7078 Signed-off-by: Jordan Whited <jordan@tailscale.com>
2023-01-27cmd/k8s-operator: use the unstable operator imageDavid Anderson1-1/+1
There is no stable release yet, and for alpha we want people on the unstable build while we iterate. Updates #502 Signed-off-by: David Anderson <danderson@tailscale.com>
2023-01-27build_docker.sh: use docker hub for base image hosting.David Anderson1-1/+1
Signed-off-by: David Anderson <danderson@tailscale.com>
2023-01-27build_docker.sh: set good repo defaults based on the target.David Anderson1-4/+7
Signed-off-by: David Anderson <danderson@tailscale.com>
2023-01-27licenses: update win/apple licensesLicense Updater1-1/+1
Signed-off-by: License Updater <noreply@tailscale.com>
2023-01-27build_docker.sh: don't push to ghcr by default.David Anderson1-1/+1
Signed-off-by: David Anderson <danderson@tailscale.com>
2023-01-27ipn/ipnlocal: add /reset-auth LocalAPI endpointMihai Parparita3-3/+72
The iOS has a command to reset the persisted state of the app, but it was doing its own direct keychain manipulation. This proved to be brittle (since we changed how preferences are stored with #6022), so we instead add a LocalAPI endpoint to do do this, which can be updated in tandem. This clears the same state as the iOS implementation (tailscale/corp#3186), that is the machine key and preferences (which includes the node key). Notably this does not clear the logtail ID, so that logs from the device still end up in the same place. Updates tailscale/corp#8923 Signed-off-by: Mihai Parparita <mihai@tailscale.com>
2023-01-27all: update tools that manage copyright headersWill Norris12-98/+31
Update all code generation tools, and those that check for license headers to use the new standard header. Also update copyright statement in LICENSE file. Fixes #6865 Signed-off-by: Will Norris <will@tailscale.com>
2023-01-27all: update copyright and license headersWill Norris809-2427/+1618
This updates all source files to use a new standard header for copyright and license declaration. Notably, copyright no longer includes a date, and we now use the standard SPDX-License-Identifier header. This commit was done almost entirely mechanically with perl, and then some minimal manual fixes. Updates #6865 Signed-off-by: Will Norris <will@tailscale.com>
2023-01-27docs/k8s: Use TS_AUTHKEY instead of TS_AUTH_KEY (#7092)Walter Poupore5-9/+9
Updates https://github.com/tailscale/tailscale-www/issues/2199. Signed-off-by: Walter Poupore <walterp@tailscale.com>
2023-01-27net/netns: add post-review commentsAndrew Dunham1-1/+24
Follow-up to #7065 with some comments from Brad's review. Signed-off-by: Andrew Dunham <andrew@du.nham.ca> Change-Id: Ia1219f4fa25479b2dada38ffe421065b408c5954
2023-01-27net/netstat: document the Windows netstat code a bit moreBrad Fitzpatrick1-8/+29
And defensively bound allocation. Updates tailscale/corp#8878 Change-Id: Iaa07479ea2ea28ee1ac3326ab025046d6d785b00 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-01-27util/httpm: add another HTTP methodMihai Parparita1-0/+1
Signed-off-by: Mihai Parparita <mihai@tailscale.com>
2023-01-27net/netstat: add nil checks to Windows OSMetadata implementationAaron Klotz1-0/+7
The API documentation does claim to output empty strings under certain conditions, but we're sometimes seeing nil pointers in the wild, not empty strings. Fixes https://github.com/tailscale/corp/issues/8878 Signed-off-by: Aaron Klotz <aaron@tailscale.com>