mirror of
https://github.com/tailscale/tailscale.git
synced 2026-05-05 20:26:47 +02:00
controlclient: make logout a no-op if already logged out
To prevent subsequent cli logouts from erroring in a loop Updates #3833 Signed-off-by: Irbe Krumina <irbe@tailscale.com>
This commit is contained in:
parent
c19b5bfbc3
commit
dc057ff8fa
@ -694,9 +694,18 @@ func (c *Auto) StartLogout() {
|
||||
func (c *Auto) Logout(ctx context.Context) error {
|
||||
c.logf("client.Logout()")
|
||||
|
||||
c.mu.Lock()
|
||||
// This happens if a user logs out when tailscale client is already logged
|
||||
// out either because the user logged out previously or hasn't yet logged
|
||||
// in.
|
||||
if !c.loggedIn {
|
||||
c.logf("client.Logout(): no action taken, client is already logged out.")
|
||||
c.mu.Unlock()
|
||||
return nil
|
||||
}
|
||||
|
||||
errc := make(chan error, 1)
|
||||
|
||||
c.mu.Lock()
|
||||
c.loginGoal = &LoginGoal{
|
||||
wantLoggedIn: false,
|
||||
loggedOutResult: errc,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user