Skip to content

Commit 8e1eff8

Browse files
feat(ci): Bump to upstream v1.88.1 (#27)
https://tailscale.com/changelog#2025-09-11
2 parents f74fbb5 + 1de5d23 commit 8e1eff8

File tree

295 files changed

+12079
-3774
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

295 files changed

+12079
-3774
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Pin images used in github actions to a hash instead of a version tag.
2+
name: pin-github-actions
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
paths:
8+
- ".github/workflows/**"
9+
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
pull-requests: read
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
18+
cancel-in-progress: true
19+
20+
jobs:
21+
run:
22+
name: pin-github-actions
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
26+
- name: pin
27+
run: make pin-github-actions
28+
- name: check for changed workflow files
29+
run: git diff --no-ext-diff --exit-code .github/workflows || (echo "Some github actions versions need pinning, run make pin-github-actions."; exit 1)

CODE_OF_CONDUCT.md

Lines changed: 76 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -2,71 +2,70 @@
22

33
## Our Pledge
44

5-
We as members, contributors, and leaders pledge to make participation
6-
in our community a harassment-free experience for everyone, regardless
7-
of age, body size, visible or invisible disability, ethnicity, sex
8-
characteristics, gender identity and expression, level of experience,
9-
education, socio-economic status, nationality, personal appearance,
10-
race, religion, or sexual identity and orientation.
11-
12-
We pledge to act and interact in ways that contribute to an open,
13-
welcoming, diverse, inclusive, and healthy community.
5+
We are committed to creating an open, welcoming, diverse, inclusive,
6+
healthy and respectful community.
147

158
## Our Standards
169

17-
Examples of behavior that contributes to a positive environment for
18-
our community include:
19-
20-
* Demonstrating empathy and kindness toward other people
21-
* Being respectful of differing opinions, viewpoints, and experiences
22-
* Giving and gracefully accepting constructive feedback
10+
Examples of behavior that contributes to a positive environment for our
11+
community include:
12+
* Demonstrating empathy and kindness toward other people.
13+
* Being respectful of differing opinions, viewpoints, and experiences.
14+
* Giving and gracefully accepting constructive feedback.
2315
* Accepting responsibility and apologizing to those affected by our
24-
mistakes, and learning from the experience
16+
mistakes, and learning from the experience.
2517
* Focusing on what is best not just for us as individuals, but for the
26-
overall community
27-
28-
Examples of unacceptable behavior include:
18+
overall community.
2919

20+
Examples of unacceptable behavior include without limitation:
3021
* The use of sexualized language or imagery, and sexual attention or
31-
advances of any kind
22+
advances of any kind.
23+
* The use of violent, intimidating or bullying language or imagery.
3224
* Trolling, insulting or derogatory comments, and personal or
33-
political attacks
34-
* Public or private harassment
25+
political attacks.
26+
* Public or private harassment.
3527
* Publishing others' private information, such as a physical or email
36-
address, without their explicit permission
37-
* Other conduct which could reasonably be considered inappropriate in
38-
a professional setting
28+
address, without their explicit permission.
29+
* Spamming community channels and members, such as sending repeat messages,
30+
low-effort content, or automated messages.
31+
* Phishing or any similar activity;
32+
* Distributing or promoting malware;
33+
* Other conduct which could reasonably be considered inappropriate in a
34+
professional setting.
3935

40-
## Enforcement Responsibilities
36+
Please also see the Tailscale Acceptable Use Policy, available at
37+
[tailscale.com/tailscale-aup](https://tailscale.com/tailscale-aup).
4138

42-
Community leaders are responsible for clarifying and enforcing our
43-
standards of acceptable behavior and will take appropriate and fair
44-
corrective action in response to any behavior that they deem
45-
inappropriate, threatening, offensive, or harmful.
39+
# Reporting Incidents
4640

47-
Community leaders have the right and responsibility to remove, edit,
48-
or reject comments, commits, code, wiki edits, issues, and other
49-
contributions that are not aligned to this Code of Conduct, and will
50-
communicate reasons for moderation decisions when appropriate.
51-
52-
## Scope
53-
54-
This Code of Conduct applies within all community spaces, and also
55-
applies when an individual is officially representing the community in
56-
public spaces. Examples of representing our community include using an
57-
official e-mail address, posting via an official social media account,
58-
or acting as an appointed representative at an online or offline
59-
event.
41+
Instances of abusive, harassing, or otherwise unacceptable behavior
42+
may be reported to Tailscale directly via [email protected], or to
43+
the community leaders or moderators via DM or similar.
44+
All complaints will be reviewed and investigated promptly and fairly.
45+
We will respect the privacy and safety of the reporter of any issues.
46+
47+
Please note that this community is not moderated by staff 24/7, and we
48+
do not have, and do not undertake, any obligation to prescreen, monitor,
49+
edit, or remove any content or data, or to actively seek facts or
50+
circumstances indicating illegal activity. While we strive to keep the
51+
community safe and welcoming, moderation may not be immediate at all hours.
52+
If you encounter any issues, report them using the appropriate channels.
6053

6154
## Enforcement
6255

63-
Instances of abusive, harassing, or otherwise unacceptable behavior
64-
may be reported to the community leaders responsible for enforcement
65-
at [[email protected]](mailto:[email protected]). All complaints
66-
will be reviewed and investigated promptly and fairly.
56+
Community leaders and moderators are responsible for clarifying and
57+
enforcing our standards of acceptable behavior and will take appropriate
58+
and fair corrective action in response to any behavior that they deem
59+
inappropriate, threatening, offensive, or harmful.
6760

68-
All community leaders are obligated to respect the privacy and
69-
security of the reporter of any incident.
61+
Community leaders and moderators have the right and responsibility to remove,
62+
edit, or reject comments, commits, code, wiki edits, issues, and other
63+
contributions that are not aligned to this Community Code of Conduct.
64+
Tailscale retains full discretion to take action (or not) in response
65+
to a violation of these guidelines with or without notice or liability
66+
to you. We will interpret our policies and resolve disputes in favor of
67+
protecting users, customers, the public, our community and our company,
68+
as a whole.
7069

7170
## Enforcement Guidelines
7271

@@ -76,48 +75,61 @@ this Code of Conduct:
7675

7776
### 1. Correction
7877

79-
**Community Impact**: Use of inappropriate language or other behavior
78+
Community Impact: Use of inappropriate language or other behavior
8079
deemed unprofessional or unwelcome in the community.
8180

82-
**Consequence**: A private, written warning from community leaders,
81+
Consequence: A private, written warning from community leaders,
8382
providing clarity around the nature of the violation and an
8483
explanation of why the behavior was inappropriate. A public apology
8584
may be requested.
8685

8786
### 2. Warning
8887

89-
**Community Impact**: A violation through a single incident or series
88+
Community Impact: A violation through a single incident or series
9089
of actions.
9190

92-
**Consequence**: A warning with consequences for continued
91+
Consequence: A warning with consequences for continued
9392
behavior. No interaction with the people involved, including
94-
unsolicited interaction with those enforcing the Code of Conduct, for
95-
a specified period of time. This includes avoiding interactions in
93+
unsolicited interaction with those enforcing this Community Code of Conduct,
94+
for a specified period of time. This includes avoiding interactions in
9695
community spaces as well as external channels like social
9796
media. Violating these terms may lead to a temporary or permanent ban.
9897

9998
### 3. Temporary Ban
10099

101-
**Community Impact**: A serious violation of community standards,
100+
Community Impact: A serious violation of community standards,
102101
including sustained inappropriate behavior.
103102

104-
**Consequence**: A temporary ban from any sort of interaction or
103+
Consequence: A temporary ban from any sort of interaction or
105104
public communication with the community for a specified period of
106105
time. No public or private interaction with the people involved,
107-
including unsolicited interaction with those enforcing the Code of
108-
Conduct, is allowed during this period. Violating these terms may lead
109-
to a permanent ban.
106+
including unsolicited interaction with those enforcing the Code of Conduct,
107+
is allowed during this period. Violating these terms may lead to a permanent ban.
110108

111109
### 4. Permanent Ban
112110

113-
**Community Impact**: Demonstrating a pattern of violation of
114-
community standards, including sustained inappropriate behavior,
115-
harassment of an individual, or aggression toward or disparagement of
111+
Community Impact: Demonstrating a pattern of violation of community
112+
standards, including sustained inappropriate behavior, harassment of
113+
an individual, or aggression toward or disparagement of
116114
classes of individuals.
117115

118-
**Consequence**: A permanent ban from any sort of public interaction
116+
Consequence: A permanent ban from any sort of public interaction
119117
within the community.
120118

119+
## Acceptable Use Policy
120+
121+
Violation of this Community Code of Conduct may also violate the
122+
Tailscale Acceptable Use Policy, which may result in suspension or
123+
termination of your Tailscale account. For more information, please
124+
see the Tailscale Acceptable Use Policy, available at
125+
[tailscale.com/tailscale-aup](https://tailscale.com/tailscale-aup).
126+
127+
## Privacy
128+
129+
Please see the Tailscale [Privacy Policy](http://tailscale.com/privacy-policy)
130+
for more information about how Tailscale collects, uses, discloses and protects
131+
information.
132+
121133
## Attribution
122134

123135
This Code of Conduct is adapted from the [Contributor

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
# $ docker exec tailscaled tailscale status
3737

3838

39-
FROM golang:1.24-alpine AS build-env
39+
FROM golang:1.25-alpine AS build-env
4040

4141
WORKDIR /go/src/tailscale
4242

Makefile

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ PLATFORM ?= "flyio" ## flyio==linux/amd64. Set to "" to build all platforms.
88
vet: ## Run go vet
99
./tool/go vet ./...
1010

11-
tidy: ## Run go mod tidy
11+
tidy: ## Run go mod tidy and update nix flake hashes
1212
./tool/go mod tidy
13+
./update-flake.sh
1314

1415
lint: ## Run golangci-lint
1516
./tool/go run github.com/golangci/golangci-lint/cmd/golangci-lint run
@@ -133,9 +134,19 @@ sshintegrationtest: ## Run the SSH integration tests in various Docker container
133134
echo "Testing on ubuntu:noble" && docker build --build-arg="BASE=ubuntu:noble" -t ssh-ubuntu-noble ssh/tailssh/testcontainers && \
134135
echo "Testing on alpine:latest" && docker build --build-arg="BASE=alpine:latest" -t ssh-alpine-latest ssh/tailssh/testcontainers
135136

137+
.PHONY: generate
138+
generate: ## Generate code
139+
./tool/go generate ./...
140+
141+
.PHONY: pin-github-actions
142+
pin-github-actions:
143+
./tool/go tool github.com/stacklok/frizbee actions .github/workflows
144+
136145
help: ## Show this help
137-
@echo "\nSpecify a command. The choices are:\n"
138-
@grep -hE '^[0-9a-zA-Z_-]+:.*?## .*$$' ${MAKEFILE_LIST} | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[0;36m%-20s\033[m %s\n", $$1, $$2}'
146+
@echo ""
147+
@echo "Specify a command. The choices are:"
148+
@echo ""
149+
@grep -hE '^[0-9a-zA-Z_-]+:.*?## .*$$' ${MAKEFILE_LIST} | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[0;36m%-20s\033[m %s\n", $$1, $$2}'
139150
@echo ""
140151
.PHONY: help
141152

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.86.5
1+
1.88.1

build_dist.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ while [ "$#" -gt 1 ]; do
4141
fi
4242
shift
4343
ldflags="$ldflags -w -s"
44-
tags="${tags:+$tags,}ts_omit_aws,ts_omit_bird,ts_omit_tap,ts_omit_kube,ts_omit_completion,ts_omit_ssh,ts_omit_wakeonlan,ts_omit_capture,ts_omit_relayserver,ts_omit_taildrop,ts_omit_tpm"
44+
tags="${tags:+$tags,}ts_omit_aws,ts_omit_bird,ts_omit_tap,ts_omit_kube,ts_omit_completion,ts_omit_ssh,ts_omit_wakeonlan,ts_omit_capture,ts_omit_relayserver,ts_omit_systray,ts_omit_taildrop,ts_omit_tpm,ts_omit_syspolicy,ts_omit_debugeventbus,ts_omit_webclient"
4545
;;
4646
--box)
4747
if [ ! -z "${TAGS:-}" ]; then

client/local/local.go

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ import (
4343
"tailscale.com/types/key"
4444
"tailscale.com/types/tkatype"
4545
"tailscale.com/util/eventbus"
46-
"tailscale.com/util/syspolicy/setting"
4746
)
4847

4948
// defaultClient is the default Client when using the legacy
@@ -926,33 +925,6 @@ func (lc *Client) EditPrefs(ctx context.Context, mp *ipn.MaskedPrefs) (*ipn.Pref
926925
return decodeJSON[*ipn.Prefs](body)
927926
}
928927

929-
// GetEffectivePolicy returns the effective policy for the specified scope.
930-
func (lc *Client) GetEffectivePolicy(ctx context.Context, scope setting.PolicyScope) (*setting.Snapshot, error) {
931-
scopeID, err := scope.MarshalText()
932-
if err != nil {
933-
return nil, err
934-
}
935-
body, err := lc.get200(ctx, "/localapi/v0/policy/"+string(scopeID))
936-
if err != nil {
937-
return nil, err
938-
}
939-
return decodeJSON[*setting.Snapshot](body)
940-
}
941-
942-
// ReloadEffectivePolicy reloads the effective policy for the specified scope
943-
// by reading and merging policy settings from all applicable policy sources.
944-
func (lc *Client) ReloadEffectivePolicy(ctx context.Context, scope setting.PolicyScope) (*setting.Snapshot, error) {
945-
scopeID, err := scope.MarshalText()
946-
if err != nil {
947-
return nil, err
948-
}
949-
body, err := lc.send(ctx, "POST", "/localapi/v0/policy/"+string(scopeID), 200, http.NoBody)
950-
if err != nil {
951-
return nil, err
952-
}
953-
return decodeJSON[*setting.Snapshot](body)
954-
}
955-
956928
// GetDNSOSConfig returns the system DNS configuration for the current device.
957929
// That is, it returns the DNS configuration that the system would use if Tailscale weren't being used.
958930
func (lc *Client) GetDNSOSConfig(ctx context.Context) (*apitype.DNSOSConfig, error) {

client/local/syspolicy.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// Copyright (c) Tailscale Inc & AUTHORS
2+
// SPDX-License-Identifier: BSD-3-Clause
3+
4+
//go:build !ts_omit_syspolicy
5+
6+
package local
7+
8+
import (
9+
"context"
10+
"net/http"
11+
12+
"tailscale.com/util/syspolicy/setting"
13+
)
14+
15+
// GetEffectivePolicy returns the effective policy for the specified scope.
16+
func (lc *Client) GetEffectivePolicy(ctx context.Context, scope setting.PolicyScope) (*setting.Snapshot, error) {
17+
scopeID, err := scope.MarshalText()
18+
if err != nil {
19+
return nil, err
20+
}
21+
body, err := lc.get200(ctx, "/localapi/v0/policy/"+string(scopeID))
22+
if err != nil {
23+
return nil, err
24+
}
25+
return decodeJSON[*setting.Snapshot](body)
26+
}
27+
28+
// ReloadEffectivePolicy reloads the effective policy for the specified scope
29+
// by reading and merging policy settings from all applicable policy sources.
30+
func (lc *Client) ReloadEffectivePolicy(ctx context.Context, scope setting.PolicyScope) (*setting.Snapshot, error) {
31+
scopeID, err := scope.MarshalText()
32+
if err != nil {
33+
return nil, err
34+
}
35+
body, err := lc.send(ctx, "POST", "/localapi/v0/policy/"+string(scopeID), 200, http.NoBody)
36+
if err != nil {
37+
return nil, err
38+
}
39+
return decodeJSON[*setting.Snapshot](body)
40+
}

0 commit comments

Comments
 (0)