ipn/ipnlocal: disconnect and block when key expires even when using seamless

Updates tailscale/corp#31478

Signed-off-by: James Sanderson <jsanderson@tailscale.com>
This commit is contained in:
James Sanderson
2025-09-10 17:31:25 +01:00
committed by James 'zofrex' Sanderson
parent 312582bdbf
commit ddc0cd7e1e
2 changed files with 144 additions and 4 deletions
+3 -3
View File
@@ -5735,9 +5735,9 @@ func (b *LocalBackend) enterStateLockedOnEntry(newState ipn.State, unlock unlock
switch newState {
case ipn.NeedsLogin:
systemd.Status("Needs login: %s", authURL)
if b.seamlessRenewalEnabled() {
break
}
// always block updates on NeedsLogin even if seamless renewal is enabled,
// to prevent calls to authReconfig from reconfiguring the engine when our
// key has expired and we're waiting to authenticate to use the new key.
b.blockEngineUpdates(true)
fallthrough
case ipn.Stopped, ipn.NoState: