tailscale/util
Nick Khyl d832467461
Some checks failed
checklocks / checklocks (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
Dockerfile build / deploy (push) Has been cancelled
CI / race-root-integration (1/4) (push) Has been cancelled
CI / race-root-integration (2/4) (push) Has been cancelled
CI / race-root-integration (3/4) (push) Has been cancelled
CI / race-root-integration (4/4) (push) Has been cancelled
CI / test (-coverprofile=/tmp/coverage.out, amd64) (push) Has been cancelled
CI / test (-race, amd64, 1/3) (push) Has been cancelled
CI / test (-race, amd64, 2/3) (push) Has been cancelled
CI / test (-race, amd64, 3/3) (push) Has been cancelled
CI / test (386) (push) Has been cancelled
CI / windows (push) Has been cancelled
CI / privileged (push) Has been cancelled
CI / vm (push) Has been cancelled
CI / race-build (push) Has been cancelled
CI / cross (386, linux) (push) Has been cancelled
CI / cross (amd64, darwin) (push) Has been cancelled
CI / cross (amd64, freebsd) (push) Has been cancelled
CI / cross (amd64, openbsd) (push) Has been cancelled
CI / cross (amd64, windows) (push) Has been cancelled
CI / cross (arm, 5, linux) (push) Has been cancelled
CI / cross (arm, 7, linux) (push) Has been cancelled
CI / cross (arm64, darwin) (push) Has been cancelled
CI / cross (arm64, linux) (push) Has been cancelled
CI / cross (arm64, windows) (push) Has been cancelled
CI / cross (loong64, linux) (push) Has been cancelled
CI / ios (push) Has been cancelled
CI / crossmin (amd64, illumos) (push) Has been cancelled
CI / crossmin (amd64, plan9) (push) Has been cancelled
CI / crossmin (amd64, solaris) (push) Has been cancelled
CI / crossmin (ppc64, aix) (push) Has been cancelled
CI / android (push) Has been cancelled
CI / wasm (push) Has been cancelled
CI / tailscale_go (push) Has been cancelled
CI / fuzz (push) Has been cancelled
CI / depaware (push) Has been cancelled
CI / go_generate (push) Has been cancelled
CI / go_mod_tidy (push) Has been cancelled
CI / licenses (push) Has been cancelled
CI / staticcheck (386, windows) (push) Has been cancelled
CI / staticcheck (amd64, darwin) (push) Has been cancelled
CI / staticcheck (amd64, linux) (push) Has been cancelled
CI / staticcheck (amd64, windows) (push) Has been cancelled
CI / notify_slack (push) Has been cancelled
CI / check_mergeability (push) Has been cancelled
client/tailscale,ipn/ipn{local,server},util/syspolicy: implement the AlwaysOn.OverrideWithReason policy setting
In this PR, we update client/tailscale.LocalClient to allow sending requests with an optional X-Tailscale-Reason
header. We then update ipn/ipnserver.{actor,Server} to retrieve this reason, if specified, and use it to determine
whether ipnauth.Disconnect is allowed when the AlwaysOn.OverrideWithReason policy setting is enabled.
For now, we log the reason, along with the profile and OS username, to the backend log.

Finally, we update LocalBackend to remember when a disconnect was permitted and do not reconnect automatically
unless the policy changes.

Updates tailscale/corp#26146

Signed-off-by: Nick Khyl <nickk@tailscale.com>
2025-02-01 13:34:45 -06:00
..
cache util/cache: fix missing interface methods (#11275) 2024-02-27 23:03:49 -05:00
cibuild
clientmetric util/clientmetric: use counter in aggcounter 2025-01-24 15:17:44 +01:00
cloudenv all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
cmpver util/cmpver: add Less/LessEq helper funcs 2024-03-05 16:57:04 +00:00
codegen util/codegen: treat unique.Handle as an opaque value type 2024-11-11 12:39:19 -08:00
cstruct all: use Go 1.21's binary.NativeEndian 2025-01-13 08:31:00 -08:00
ctxkey all: use reflect.TypeFor now available in Go 1.22 (#11078) 2024-02-08 17:34:22 -08:00
deephash util/deephash: fix test regression on 32-bit 2024-06-19 12:25:53 -07:00
dirwalk
dnsname tailcfg: adjust ServiceName.Validate to use vizerror 2025-01-24 10:57:46 -05:00
execqueue control/controlclient,util/execqueue: extract execqueue into a package 2024-01-18 12:08:13 -08:00
expvarx all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
goroutines ipn/ipnlocal, util/goroutines: track goroutines for tests, shutdown 2025-01-06 12:35:44 -08:00
groupmember util/groupmember: fail earlier if group doesn't exist, use slices.Contains 2023-11-01 19:23:16 -07:00
hashx all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
httphdr util/httphdr: add new package for parsing HTTP headers (#9797) 2023-10-13 15:38:22 -07:00
httpm util/httpm: don't run test if .git doesn't exist 2023-11-22 12:09:59 -05:00
jsonutil all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
limiter all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
lineiter types/result, util/lineiter: add package for a result type, use it 2024-11-05 10:27:52 -08:00
lineread
linuxfw all: use Go 1.21's binary.NativeEndian 2025-01-13 08:31:00 -08:00
lru util/slicesx: add MapKeys and MapValues from golang.org/x/exp/maps 2025-01-03 10:48:31 -08:00
mak
multierr all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
must
nocasemaps all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
osdiag all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
osshare all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
osuser util/osuser: turn wasm check into a const expression 2024-07-29 19:39:55 -07:00
pidowner types/result, util/lineiter: add package for a result type, use it 2024-11-05 10:27:52 -08:00
pool util/pool: add package for storing and using a pool of items 2024-05-24 14:11:19 -04:00
precompress
progresstracking ipn/localapi: add support for multipart POST to file-put 2024-03-27 08:53:52 -05:00
quarantine
race all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
racebuild
rands wgengine/magicsock: use math/rands/v2 2024-06-05 15:57:27 -07:00
reload all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
ringbuffer all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
set all: use iterators over slice views more 2024-11-11 13:22:34 -08:00
singleflight util/singleflight: add DoChanContext 2024-06-10 18:38:27 -04:00
slicesx util/slicesx: add AppendNonzero 2025-01-22 10:20:56 -08:00
stringsx util/stringsx: add package for extra string functions, like CompareFold 2024-12-23 07:43:56 -08:00
syspolicy client/tailscale,ipn/ipn{local,server},util/syspolicy: implement the AlwaysOn.OverrideWithReason policy setting 2025-02-01 13:34:45 -06:00
sysresources
systemd
testenv
topk all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
truncate util/truncate: support []byte as well (#11614) 2024-04-04 14:38:16 -07:00
usermetric wgengine/filter: add check for unknown proto 2025-01-24 12:20:44 +01:00
vizerror util/vizerror: add WrapWithMessage 2024-10-09 12:59:25 -05:00
winutil cmd/tailscaled,util/syspolicy/source,util/winutil/gp: disallow acquiring the GP lock during service startup 2025-01-23 15:06:47 -06:00
zstdframe all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00