ipn/ipnlocal: fix startIsNoopLocked

It got broken back when FUS was introduced, but we
never caught it.

Updates tailscale/corp#14471

Signed-off-by: Maisem Ali <maisem@tailscale.com>
This commit is contained in:
Maisem Ali 2023-09-04 11:21:51 -07:00 committed by Maisem Ali
parent 1262df0578
commit 6bc15f3a73

View File

@ -1324,7 +1324,7 @@ func (b *LocalBackend) Start(opts ipn.Options) error {
// but meanwhile we can make Start cheaper here for such a // but meanwhile we can make Start cheaper here for such a
// case and not restart the world (which takes a few seconds). // case and not restart the world (which takes a few seconds).
// Instead, just send a notify with the state that iOS needs. // Instead, just send a notify with the state that iOS needs.
if b.startIsNoopLocked(opts) && profileID == b.lastProfileID { if b.startIsNoopLocked(opts) && profileID == b.lastProfileID && profileID != "" {
b.logf("Start: already running; sending notify") b.logf("Start: already running; sending notify")
nm := b.netMap nm := b.netMap
state := b.state state := b.state
@ -4011,6 +4011,7 @@ func (b *LocalBackend) setNetMapLocked(nm *netmap.NetworkMap) {
if login != b.activeLogin { if login != b.activeLogin {
b.logf("active login: %v", login) b.logf("active login: %v", login)
b.activeLogin = login b.activeLogin = login
b.lastProfileID = b.pm.CurrentProfile().ID
} }
b.pauseOrResumeControlClientLocked() b.pauseOrResumeControlClientLocked()