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
Andrew Lytvynov b743b85dad
ipn/ipnlocal,ssh/tailssh: reject c2n /update if SSH conns are active (#11820)
Since we already track active SSH connections, it's not hard to
proactively reject updates until those finish. We attempt to do the same
on the control side, but the detection latency for new connections is in
the minutes, which is not fast enough for common short sessions.

Handle a `force=true` query parameter to override this behavior, so that
control can still trigger an update on a server where some long-running
abandoned SSH session is open.

Updates https://github.com/tailscale/corp/issues/18556

Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
2 years ago
..
testdata ipn/ipnlocal: fix the path for writing cert files (#7203) 3 years ago
breaktcp_darwin.go cmd/tailscale: add debug commands to break connections 3 years ago
breaktcp_linux.go cmd/tailscale: add debug commands to break connections 3 years ago
c2n.go ipn/ipnlocal,ssh/tailssh: reject c2n /update if SSH conns are active (#11820) 2 years ago
c2n_pprof.go ipn/ipnlocal: add c2n /debug/pprof/allocs endpoint 2 years ago
c2n_test.go util/cmpx: delete now that we're using Go 1.22 2 years ago
cert.go ipn/ipnlocal: remove ancient transition mechanism for https certs 2 years ago
cert_js.go ipn/ipnlocal: add c2n method to check on TLS cert fetch status 2 years ago
cert_test.go all: use Go 1.21 slices, maps instead of x/exp/{slices,maps} 2 years ago
dnsconfig_test.go util/cmpx: delete now that we're using Go 1.22 2 years ago
drive.go all: use Go 1.22 range-over-int 2 years ago
expiry.go ssh/tailssh: use control server time instead of local time 2 years ago
expiry_test.go types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 2 years ago
local.go ipn/ipnlocal,ssh/tailssh: reject c2n /update if SSH conns are active (#11820) 2 years ago
local_test.go ipn/ipnlocal,clientupdate: disallow auto-updates in containers (#11814) 2 years ago
loglines_test.go all: use Go 1.22 range-over-int 2 years ago
network-lock.go all: use Go 1.22 range-over-int 2 years ago
network-lock_test.go ipn/ipnlocal,cmd/tailscale: persist tailnet name in user profile 2 years ago
peerapi.go tailscale: switch tailfs to drive syntax for api and logs (#11625) 2 years ago
peerapi_h2c.go all: update copyright and license headers 3 years ago
peerapi_macios_ext.go all: update copyright and license headers 3 years ago
peerapi_test.go all: use Go 1.22 range-over-int 2 years ago
profiles.go util/cmpx: remove code that's in the stdlib now 2 years ago
profiles_notwindows.go ipn/ipnlocal: fix profile duplication 3 years ago
profiles_test.go ipn/ipnlocal,cmd/tailscale: persist tailnet name in user profile 2 years ago
profiles_windows.go ipn/ipnlocal: better enforce system policies 2 years ago
serve.go all: use Go 1.22 range-over-int 2 years ago
serve_test.go ipn/ipnlocal: q-encode (RFC 2047) Tailscale serve header values 2 years ago
ssh.go ipnlocal: log failure to get ssh host keys 2 years ago
ssh_stub.go ipnlocal: log failure to get ssh host keys 2 years ago
ssh_test.go ipn/ipnlocal: drop not required StateKey parameter 3 years ago
state_test.go all: use Go 1.22 range-over-int 2 years ago
taildrop.go ipn/localapi: add support for multipart POST to file-put 2 years ago
web_client.go all: remove LenIter, use Go 1.22 range-over-int instead 2 years ago
web_client_stub.go ipn/ipnlocal: add mutex to webClient struct 2 years ago