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/ipn/ipnlocal
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>
1 year ago
..
testdata
autoupdate.go
autoupdate_disabled.go
breaktcp_darwin.go
breaktcp_linux.go
bus.go ipn/ipnlocal: fix build, remove another Notify.BackendLogID reference that crept in 1 year ago
bus_test.go ipn/ipnlocal: add IPN Bus NotifyRateLimit watch bit NotifyRateLimit 1 year ago
c2n.go feature/*: make Wake-on-LAN conditional, start supporting modular features 1 year ago
c2n_pprof.go
c2n_test.go
cert.go tempfork/acme: add new package for x/crypto package acme fork, move 1 year ago
cert_js.go
cert_test.go ipn/ipnlocal: add debug envknob for ACME directory URL (#14771) 1 year ago
dnsconfig_test.go ipn/ipnlocal: don't program system DNS when node key is expired (#13370) 1 year ago
drive.go cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible 1 year ago
expiry.go all: add Node.HomeDERP int, phase out "127.3.3.40:$region" hack [capver 111] 1 year ago
expiry_test.go cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible 1 year ago
local.go client/tailscale,ipn/ipn{local,server},util/syspolicy: implement the AlwaysOn.OverrideWithReason policy setting 1 year ago
local_test.go client/tailscale,ipn/ipn{local,server},util/syspolicy: implement the AlwaysOn.OverrideWithReason policy setting 1 year ago
loglines_test.go util/usermetrics: make usermetrics non-global 1 year ago
network-lock.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 1 year ago
network-lock_test.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 1 year ago
peerapi.go appc,ipn/ipnlocal: log DNS parsing errors in app connectors (#14607) 1 year ago
peerapi_h2c.go
peerapi_macios_ext.go
peerapi_test.go util/usermetrics: make usermetrics non-global 1 year ago
profiles.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 1 year ago
profiles_notwindows.go ipn/ipnlocal: refactor and cleanup profileManager 1 year ago
profiles_test.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 1 year ago
profiles_windows.go ipn/ipnlocal: refactor and cleanup profileManager 1 year ago
serve.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 1 year ago
serve_test.go ipn: generate LoginProfileView and use it instead of *LoginProfile where appropriate 1 year ago
ssh.go ssh,tempfork/gliderlabs/ssh: replace github.com/tailscale/golang-x-crypto/ssh with golang.org/x/crypto/ssh 1 year ago
ssh_stub.go
ssh_test.go
state_test.go types/persist: remove Persist.LegacyFrontendPrivateMachineKey 1 year ago
taildrop.go
web_client.go all: use iterators over slice views more 1 year ago
web_client_stub.go