summaryrefslogtreecommitdiffhomepage
path: root/version/distro
AgeCommit message (Collapse)AuthorFilesLines
2026-01-23all: remove AUTHORS file and references to itWill Norris2-2/+2
This file was never truly necessary and has never actually been used in the history of Tailscale's open source releases. A Brief History of AUTHORS files --- The AUTHORS file was a pattern developed at Google, originally for Chromium, then adopted by Go and a bunch of other projects. The problem was that Chromium originally had a copyright line only recognizing Google as the copyright holder. Because Google (and most open source projects) do not require copyright assignemnt for contributions, each contributor maintains their copyright. Some large corporate contributors then tried to add their own name to the copyright line in the LICENSE file or in file headers. This quickly becomes unwieldy, and puts a tremendous burden on anyone building on top of Chromium, since the license requires that they keep all copyright lines intact. The compromise was to create an AUTHORS file that would list all of the copyright holders. The LICENSE file and source file headers would then include that list by reference, listing the copyright holder as "The Chromium Authors". This also become cumbersome to simply keep the file up to date with a high rate of new contributors. Plus it's not always obvious who the copyright holder is. Sometimes it is the individual making the contribution, but many times it may be their employer. There is no way for the proejct maintainer to know. Eventually, Google changed their policy to no longer recommend trying to keep the AUTHORS file up to date proactively, and instead to only add to it when requested: https://opensource.google/docs/releasing/authors. They are also clear that: > Adding contributors to the AUTHORS file is entirely within the > project's discretion and has no implications for copyright ownership. It was primarily added to appease a small number of large contributors that insisted that they be recognized as copyright holders (which was entirely their right to do). But it's not truly necessary, and not even the most accurate way of identifying contributors and/or copyright holders. In practice, we've never added anyone to our AUTHORS file. It only lists Tailscale, so it's not really serving any purpose. It also causes confusion because Tailscalars put the "Tailscale Inc & AUTHORS" header in other open source repos which don't actually have an AUTHORS file, so it's ambiguous what that means. Instead, we just acknowledge that the contributors to Tailscale (whoever they are) are copyright holders for their individual contributions. We also have the benefit of using the DCO (developercertificate.org) which provides some additional certification of their right to make the contribution. The source file changes were purely mechanical with: git ls-files | xargs sed -i -e 's/\(Tailscale Inc &\) AUTHORS/\1 contributors/g' Updates #cleanup Change-Id: Ia101a4a3005adb9118051b3416f5a64a4a45987d Signed-off-by: Will Norris <will@tailscale.com>
2025-07-11cmd/tailscale/cli: add "configure jetkvm" subcommandBrad Fitzpatrick1-1/+10
To write the init script. And fix the JetKVM detection to work during early boot while the filesystem and modules are still being loaded; it wasn't being detected on early boot and then tailscaled was failing to start because it didn't know it was on JetKVM and didn't modprobe tun. Updates #16524 Change-Id: I0524ca3abd7ace68a69af96aab4175d32c07e116 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2025-07-10all: detect JetKVM and specialize a handful of things for itBrad Fitzpatrick1-0/+3
Updates #16524 Change-Id: I183428de8c65d7155d82979d2d33f031c22e3331 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2025-01-03wgengine/router: refactor udm-pro into broader ubnt supportJason Barnett1-46/+7
Fixes #14453 Signed-off-by: Jason Barnett <J@sonBarnett.com>
2024-12-21wgengine/router: add ip rules for unifi udm-proJason Barnett1-0/+46
Fixes: #4038 Signed-off-by: Jason Barnett <J@sonBarnett.com>
2024-11-05types/result, util/lineiter: add package for a result type, use itBrad Fitzpatrick1-10/+10
This adds a new generic result type (motivated by golang/go#70084) to try it out, and uses it in the new lineutil package (replacing the old lineread package), changing that package to return iterators: sometimes over []byte (when the input is all in memory), but sometimes iterators over results of []byte, if errors might happen at runtime. Updates #12912 Updates golang/go#70084 Change-Id: Iacdc1070e661b5fb163907b1e8b07ac7d51d3f83 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2024-04-16all: use Go 1.22 range-over-intBrad Fitzpatrick1-1/+1
Updates #11058 Change-Id: I35e7ef9b90e83cac04ca93fd964ad00ed5b48430 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-07-24cmd/tailscale/cli,version/distro: update support for Alpine (#8701)Andrew Lytvynov1-0/+3
Similar to Arch support, use the latest version info from the official `apk` repo and don't offer explicit track or version switching. Add detection for Alpine Linux in version/distro along the way. Updates #6995 Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
2023-05-04various: add detection and Taildrop for UnraidDerek Kaser1-0/+3
Updates tailscale/tailscale#8025 Signed-off-by: Derek Kaser <derek.kaser@gmail.com>
2023-03-02version/distro,wgengine/router: raise WSL eth0 MTU when too lowJames Tucker1-0/+10
WSL has started to set the eth0 default route interface default to 1280 MTU, which is too low to carry 1280 byte packets from tailscale0 once wrapped in WireGuard. The change down to 1280 is very likely smaller than necessary for almost all users. We can not easily determine the ideal MTU, but if all the preconditions match, we raise the MTU to 1360, which is just enough for Tailscale traffic to work. Updates #4833 Updates #7346 Signed-off-by: James Tucker <james@tailscale.com>
2023-02-11version: make all exported funcs compile-time constant or lazyDavid Anderson1-41/+34
Signed-off-by: David Anderson <danderson@tailscale.com>
2023-01-27all: update copyright and license headersWill Norris2-6/+4
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>
2022-12-02paths, version/distro: detect Synology DSM version better, use for socket pathBrad Fitzpatrick1-0/+29
Resolves a TODO in the code noted while discussing QNAP defaults. Tested on DSM6 and DSM7. Change-Id: Icce03ff41fafd7b3a358cfee16f2ed13d5cc3c5d Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2022-08-04all: use syncs.AtomicValueMaisem Ali1-4/+5
Signed-off-by: Maisem Ali <maisem@tailscale.com>
2022-07-18ipn/localapi: define a cert dir for Synology DSM6Brad Fitzpatrick1-0/+15
Fixes #4060 Change-Id: I5f145d4f56f6edb14825268e858d419c55918673 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2022-06-05hostinfo,distro: Identify Western Digital MyCloud devices.Denton Gentry1-10/+15
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-03-01version, hostinfo: recognize gokrazy as a distroBrad Fitzpatrick2-5/+32
Now: /tmp/breakglass3929186798 # /user/tailscale debug hostinfo { "IPNVersion": "1.23.0-date.20220107", "OS": "linux", "OSVersion": "Gokrazy; kernel=5.16.11", "DeviceModel": "Raspberry Pi 4 Model B Rev 1.2", "Hostname": "gokrazy", "GoArch": "arm64" } Also, cache the distro lookup. It doesn't change while the program is running: name old time/op new time/op delta Get-6 5.21µs ± 5% 0.00µs ± 3% -99.91% (p=0.008 n=5+5) name old alloc/op new alloc/op delta Get-6 792B ± 0% 0B -100.00% (p=0.008 n=5+5) name old allocs/op new allocs/op delta Get-6 8.00 ± 0% 0.00 -100.00% (p=0.008 n=5+5) Updates #1866 Change-Id: Ifb9a63b94287010d3f4c8bfeb6b78119e8a9b203 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-12-07version/distro: report TrueNAS Scale as "truenas"root1-0/+4
TrueNAS Scale is based on Debian Linux Signed-off-by: Todd Neal <todd@tneal.org>
2021-09-06hostinfo: add FreeBSD support.Denton Gentry1-0/+18
Add specific handling for common appliances based on FreeBSD: - pfSense HostInfo: {"OS":"freebsd","OSVersion":"pfSense 2.5.2-RELEASE; version=12.2-STABLE" - OPNsense HostInfo: {"OS":"freebsd","OSVersion":"OPNsense 21.7.1 (amd64/OpenSSL); version=12.1-RELEASE-p19-HBSD" - TrueNAS HostInfo: {"OS":"freebsd","OSVersion":"TrueNAS-12.0-U5.1 (6c639bd48a); version=12.2-RELEASE-p9" - FreeNAS HostInfo: {"OS":"freebsd","OSVersion":"FreeNAS-11.3-U5 (2e4ded5a0a); version=11.3-RELEASE-p14", - regular FreeBSD HostInfo: {"OS":"freebsd","OSVersion":"FreeBSD; version=12.2-RELEASE" Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2021-06-10cmd/tailscale/web: add support for QNAPMaisem Ali1-0/+3
Signed-off-by: Maisem Ali <maisem@tailscale.com>
2021-04-01version/distro: look for absolute synology pathDavid Crawshaw1-1/+1
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2020-12-21control/controlclient, version/distro: detect NixOS explicitlyBrad Fitzpatrick1-7/+18
The fallthrough happened to work in controlclient already due to the /etc/os-release PRETTY_NAME default, but make it explicit so it doesn't look like an accident. Also add it to version/distro, even though nothing needs it yet.
2020-09-22control/controlclient, version/distro, wgengine: recognize OpenWrtBrad Fitzpatrick1-0/+4
And help out with missing packages. Thanks to @willangley for tips. Updates #724
2020-09-11wgengine, wgengine/router, cmd/tailscale: force netfilter mode off on SynologyBrad Fitzpatrick1-0/+40
For now. Get it working again so it's not stuck on 0.98. Subnet relay can come later. Updates #451 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>