瀏覽代碼

fix(syncthing): don't auto upgrade to higher major on startup (#9989)

We avoided upgrading to newer major versions during normal auto upgrade
procedures, but currently not in the initial upgrade check on startup.
Jakob Borg 9 月之前
父節點
當前提交
65923fc255
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      cmd/syncthing/main.go

+ 4 - 0
cmd/syncthing/main.go

@@ -830,6 +830,10 @@ func initialAutoUpgradeCheck(misc *db.NamespacedKV) (upgrade.Release, error) {
 	if err != nil {
 		return upgrade.Release{}, err
 	}
+	if upgrade.CompareVersions(release.Tag, build.Version) == upgrade.MajorNewer {
+		return upgrade.Release{}, errors.New("higher major version")
+	}
+
 	if lastVersion, ok, err := misc.String(upgradeVersionKey); err == nil && ok && lastVersion == release.Tag {
 		// Only check time if we try to upgrade to the same release.
 		if lastTime, ok, err := misc.Time(upgradeTimeKey); err == nil && ok && time.Since(lastTime) < upgradeRetryInterval {