* auto-update: use 'selfupdate_min_version' from version.json
This commit is contained in:
parent
ddb1bc0fee
commit
466f553bbe
|
@ -250,6 +250,8 @@ Example of version.json data:
|
||||||
"selfupdate_min_version": "v0.0"
|
"selfupdate_min_version": "v0.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Server can only auto-update if the current version is equal or higher than `selfupdate_min_version`.
|
||||||
|
|
||||||
Request:
|
Request:
|
||||||
|
|
||||||
GET /control/version.json
|
GET /control/version.json
|
||||||
|
|
|
@ -34,13 +34,14 @@ func getVersionResp(data []byte) []byte {
|
||||||
ret["new_version"], ok1 = versionJSON["version"].(string)
|
ret["new_version"], ok1 = versionJSON["version"].(string)
|
||||||
ret["announcement"], ok2 = versionJSON["announcement"].(string)
|
ret["announcement"], ok2 = versionJSON["announcement"].(string)
|
||||||
ret["announcement_url"], ok3 = versionJSON["announcement_url"].(string)
|
ret["announcement_url"], ok3 = versionJSON["announcement_url"].(string)
|
||||||
if !ok1 || !ok2 || !ok3 {
|
selfUpdateMinVersion, ok4 := versionJSON["selfupdate_min_version"].(string)
|
||||||
|
if !ok1 || !ok2 || !ok3 || !ok4 {
|
||||||
log.Error("version.json: invalid data")
|
log.Error("version.json: invalid data")
|
||||||
return []byte{}
|
return []byte{}
|
||||||
}
|
}
|
||||||
|
|
||||||
_, ok := versionJSON[fmt.Sprintf("download_%s_%s", runtime.GOOS, runtime.GOARCH)]
|
_, ok := versionJSON[fmt.Sprintf("download_%s_%s", runtime.GOOS, runtime.GOARCH)]
|
||||||
if ok && ret["new_version"] != VersionString {
|
if ok && ret["new_version"] != VersionString && VersionString >= selfUpdateMinVersion {
|
||||||
ret["can_autoupdate"] = true
|
ret["can_autoupdate"] = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue