|
|
@ -1419,6 +1419,26 @@ func (b *LocalBackend) loadStateLocked(key ipn.StateKey, prefs *ipn.Prefs) (err
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return fmt.Errorf("PrefsFromBytes: %v", err)
|
|
|
|
return fmt.Errorf("PrefsFromBytes: %v", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// On mobile platforms, ignore any old stored preferences for
|
|
|
|
|
|
|
|
// https://login.tailscale.com as the control server that
|
|
|
|
|
|
|
|
// would override the new default of controlplane.tailscale.com.
|
|
|
|
|
|
|
|
// This makes sure that mobile clients go through the new
|
|
|
|
|
|
|
|
// frontends where we're (2021-10-02) doing battery
|
|
|
|
|
|
|
|
// optimization work ahead of turning down the old backends.
|
|
|
|
|
|
|
|
// TODO(bradfitz): make this the default for all platforms
|
|
|
|
|
|
|
|
// later. But mobile is a relatively small chunk (compared to
|
|
|
|
|
|
|
|
// Linux, Windows, macOS) and moving mobile early for battery
|
|
|
|
|
|
|
|
// gains is nice.
|
|
|
|
|
|
|
|
switch runtime.GOOS {
|
|
|
|
|
|
|
|
case "android", "ios":
|
|
|
|
|
|
|
|
if b.prefs != nil && b.prefs.ControlURL != "" &&
|
|
|
|
|
|
|
|
b.prefs.ControlURL != ipn.DefaultControlURL &&
|
|
|
|
|
|
|
|
ipn.IsLoginServerSynonym(b.prefs.ControlURL) {
|
|
|
|
|
|
|
|
b.prefs.ControlURL = ""
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
b.logf("backend prefs for %q: %s", key, b.prefs.Pretty())
|
|
|
|
b.logf("backend prefs for %q: %s", key, b.prefs.Pretty())
|
|
|
|
return nil
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
}
|
|
|
|