You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/client/tailscale
Nick Khyl d832467461 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>
11 months ago
..
apitype client/tailscale,ipn/ipn{local,server},util/syspolicy: implement the AlwaysOn.OverrideWithReason policy setting 11 months ago
example/servetls all: update copyright and license headers 3 years ago
acl.go client/tailscale: adding missing proto field in ACL parsing structures (#13051) 1 year ago
devices.go client/tailscale: add NodeID to device 2 years ago
dns.go various: add golangci-lint, fix issues (#7905) 3 years ago
keys.go client/tailscale: revert CreateKey API change, add Client.CreateKeyWithExpiry 3 years ago
localclient.go client/tailscale,ipn/ipn{local,server},util/syspolicy: implement the AlwaysOn.OverrideWithReason policy setting 11 months ago
localclient_test.go ipn/localapi,client/tailscale,cmd/derper: add WhoIs lookup by nodekey, use in derper 2 years ago
required_version.go all: switch to and require Go 1.23 1 year ago
routes.go all: update copyright and license headers 3 years ago
tailnet.go all: update copyright and license headers 3 years ago
tailscale.go client/tailscale,cmd/{cli,get-authkey,k8s-operator}: set distinct User-Agents 1 year ago