control/controlclient: remove unused StartLogout
Updates #cleanup Co-authored-by: Maisem Ali <maisem@tailscale.com> Change-Id: I9d052fdbee787f1e8c872124e4bee61c7f04d142 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
ecc1d6907b
commit
04e1ce0034
|
@ -326,7 +326,11 @@ func (i *jsIPN) logout() {
|
|||
if i.lb.State() == ipn.NoState {
|
||||
log.Printf("Backend not running")
|
||||
}
|
||||
go i.lb.Logout()
|
||||
go func() {
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
defer cancel()
|
||||
i.lb.LogoutSync(ctx)
|
||||
}()
|
||||
}
|
||||
|
||||
func (i *jsIPN) ssh(host, username string, termConfig js.Value) map[string]any {
|
||||
|
|
|
@ -679,17 +679,6 @@ func (c *Auto) Login(t *tailcfg.Oauth2Token, flags LoginFlags) {
|
|||
c.cancelAuth()
|
||||
}
|
||||
|
||||
func (c *Auto) StartLogout() {
|
||||
c.logf("client.StartLogout()")
|
||||
|
||||
c.mu.Lock()
|
||||
c.loginGoal = &LoginGoal{
|
||||
wantLoggedIn: false,
|
||||
}
|
||||
c.mu.Unlock()
|
||||
c.cancelAuth()
|
||||
}
|
||||
|
||||
func (c *Auto) Logout(ctx context.Context) error {
|
||||
c.logf("client.Logout()")
|
||||
|
||||
|
|
|
@ -34,10 +34,6 @@ type Client interface {
|
|||
// LoginFinished flag (on success) or an auth URL (if further
|
||||
// interaction is needed).
|
||||
Login(*tailcfg.Oauth2Token, LoginFlags)
|
||||
// StartLogout starts an asynchronous logout process.
|
||||
// When it finishes, the Status callback will be called while
|
||||
// AuthCantContinue()==true.
|
||||
StartLogout()
|
||||
// Logout starts a synchronous logout process. It doesn't return
|
||||
// until the logout operation has been completed.
|
||||
Logout(context.Context) error
|
||||
|
|
|
@ -3910,18 +3910,7 @@ func (b *LocalBackend) ShouldHandleViaIP(ip netip.Addr) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
// Logout tells the controlclient that we want to log out, and
|
||||
// transitions the local engine to the logged-out state without
|
||||
// waiting for controlclient to be in that state.
|
||||
func (b *LocalBackend) Logout() {
|
||||
b.logout(context.Background(), false)
|
||||
}
|
||||
|
||||
func (b *LocalBackend) LogoutSync(ctx context.Context) error {
|
||||
return b.logout(ctx, true)
|
||||
}
|
||||
|
||||
func (b *LocalBackend) logout(ctx context.Context, sync bool) error {
|
||||
b.mu.Lock()
|
||||
cc := b.cc
|
||||
b.mu.Unlock()
|
||||
|
@ -3946,13 +3935,7 @@ func (b *LocalBackend) logout(ctx context.Context, sync bool) error {
|
|||
return errors.New("no controlclient")
|
||||
}
|
||||
|
||||
var err error
|
||||
if sync {
|
||||
err = cc.Logout(ctx)
|
||||
} else {
|
||||
cc.StartLogout()
|
||||
}
|
||||
|
||||
err := cc.Logout(ctx)
|
||||
b.stateMachine()
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -826,9 +826,6 @@ type legacyBackend interface {
|
|||
StartLoginInteractive()
|
||||
// Login logs in with an OAuth2 token.
|
||||
Login(token *tailcfg.Oauth2Token)
|
||||
// Logout terminates the current login session and stops the
|
||||
// wireguard engine.
|
||||
Logout()
|
||||
// SetPrefs installs a new set of user preferences, including
|
||||
// WantRunning. This may cause the wireguard engine to
|
||||
// reconfigure or stop.
|
||||
|
|
|
@ -217,11 +217,6 @@ func (cc *mockControl) Login(t *tailcfg.Oauth2Token, flags controlclient.LoginFl
|
|||
cc.authBlocked = interact || newKeys
|
||||
}
|
||||
|
||||
func (cc *mockControl) StartLogout() {
|
||||
cc.logf("StartLogout")
|
||||
cc.called("StartLogout")
|
||||
}
|
||||
|
||||
func (cc *mockControl) Logout(ctx context.Context) error {
|
||||
cc.logf("Logout")
|
||||
cc.called("Logout")
|
||||
|
@ -329,10 +324,10 @@ func TestStateMachine(t *testing.T) {
|
|||
(n.Prefs != nil && n.Prefs.Valid()) ||
|
||||
n.BrowseToURL != nil ||
|
||||
n.LoginFinished != nil {
|
||||
logf("\n%v\n\n", n)
|
||||
logf("%v\n\n", n)
|
||||
notifies.put(n)
|
||||
} else {
|
||||
logf("\n(ignored) %v\n\n", n)
|
||||
logf("(ignored) %v\n\n", n)
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -583,12 +578,12 @@ func TestStateMachine(t *testing.T) {
|
|||
|
||||
// User wants to logout.
|
||||
store.awaitWrite()
|
||||
t.Logf("\n\nLogout (async)")
|
||||
t.Logf("\n\nLogout")
|
||||
notifies.expect(2)
|
||||
b.Logout()
|
||||
b.LogoutSync(context.Background())
|
||||
{
|
||||
nn := notifies.drain(2)
|
||||
cc.assertCalls("pause", "StartLogout")
|
||||
cc.assertCalls("pause", "Logout")
|
||||
c.Assert(nn[0].State, qt.IsNotNil)
|
||||
c.Assert(nn[1].Prefs, qt.IsNotNil)
|
||||
c.Assert(ipn.Stopped, qt.Equals, *nn[0].State)
|
||||
|
@ -599,7 +594,7 @@ func TestStateMachine(t *testing.T) {
|
|||
}
|
||||
|
||||
// Let's make the logout succeed.
|
||||
t.Logf("\n\nLogout (async) - succeed")
|
||||
t.Logf("\n\nLogout - succeed")
|
||||
notifies.expect(3)
|
||||
cc.send(nil, "", false, nil)
|
||||
{
|
||||
|
@ -617,15 +612,15 @@ func TestStateMachine(t *testing.T) {
|
|||
}
|
||||
|
||||
// A second logout should reset all prefs.
|
||||
t.Logf("\n\nLogout2 (async)")
|
||||
t.Logf("\n\nLogout2")
|
||||
notifies.expect(1)
|
||||
b.Logout()
|
||||
b.LogoutSync(context.Background())
|
||||
{
|
||||
nn := notifies.drain(1)
|
||||
c.Assert(nn[0].Prefs, qt.IsNotNil) // emptyPrefs
|
||||
// BUG: the backend has already called StartLogout, and we're
|
||||
// still logged out. So it shouldn't call it again.
|
||||
cc.assertCalls("StartLogout")
|
||||
cc.assertCalls("Logout")
|
||||
cc.assertCalls()
|
||||
c.Assert(b.Prefs().LoggedOut(), qt.IsTrue)
|
||||
c.Assert(b.Prefs().WantRunning(), qt.IsFalse)
|
||||
|
@ -645,7 +640,7 @@ func TestStateMachine(t *testing.T) {
|
|||
}
|
||||
|
||||
// Try the synchronous logout feature.
|
||||
t.Logf("\n\nLogout3 (sync)")
|
||||
t.Logf("\n\nLogout (sync)")
|
||||
notifies.expect(0)
|
||||
b.LogoutSync(context.Background())
|
||||
// NOTE: This returns as soon as cc.Logout() returns, which is okay
|
||||
|
|
|
@ -152,7 +152,7 @@ func WhileTestRunningLogger(t testing.TB) logger.Logf {
|
|||
mu sync.RWMutex
|
||||
done bool
|
||||
)
|
||||
|
||||
tlogf := logger.TestLogger(t)
|
||||
logger := func(format string, args ...any) {
|
||||
t.Helper()
|
||||
|
||||
|
@ -162,7 +162,7 @@ func WhileTestRunningLogger(t testing.TB) logger.Logf {
|
|||
if done {
|
||||
return
|
||||
}
|
||||
t.Logf(format, args...)
|
||||
tlogf(format, args...)
|
||||
}
|
||||
|
||||
// t.Cleanup is run before the test is marked as done, so by acquiring
|
||||
|
|
Loading…
Reference in New Issue