summaryrefslogtreecommitdiffstats
path: root/lib/private/util.php
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2015-09-09 11:08:55 +0200
committerMorris Jobke <hey@morrisjobke.de>2015-09-09 11:08:55 +0200
commitc4c9c5ffad9a67c6f0b19a567ac99aa6e97840de (patch)
tree491bad7bcdb7a365bd20a17c20fa43745bdbecee /lib/private/util.php
parentacee9d4750657cd8b48c92990b0200ae29f3fa8f (diff)
parent6ccbf4bce64bc7016d65f270c22f37fdbca8e21f (diff)
downloadnextcloud-server-c4c9c5ffad9a67c6f0b19a567ac99aa6e97840de.tar.gz
nextcloud-server-c4c9c5ffad9a67c6f0b19a567ac99aa6e97840de.zip
Merge pull request #18684 from owncloud/explicit-upgrade-version
Explicit upgrade version + prevent downgrades
Diffstat (limited to 'lib/private/util.php')
-rw-r--r--lib/private/util.php6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/private/util.php b/lib/private/util.php
index f110d618f77..eb1de5be5a4 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -1456,8 +1456,12 @@ class OC_Util {
if ($config->getSystemValue('installed', false)) {
$installedVersion = $config->getSystemValue('version', '0.0.0');
$currentVersion = implode('.', OC_Util::getVersion());
- if (version_compare($currentVersion, $installedVersion, '>')) {
+ $versionDiff = version_compare($currentVersion, $installedVersion);
+ if ($versionDiff > 0) {
return true;
+ } else if ($versionDiff < 0) {
+ // downgrade attempt, throw exception
+ throw new \OC\HintException('Downgrading is not supported and is likely to cause unpredictable issues (from ' . $installedVersion . ' to ' . $currentVersion . ')');
}
// also check for upgrades for apps (independently from the user)