diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-09-09 11:08:55 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-09-09 11:08:55 +0200 |
commit | c4c9c5ffad9a67c6f0b19a567ac99aa6e97840de (patch) | |
tree | 491bad7bcdb7a365bd20a17c20fa43745bdbecee /lib/private/util.php | |
parent | acee9d4750657cd8b48c92990b0200ae29f3fa8f (diff) | |
parent | 6ccbf4bce64bc7016d65f270c22f37fdbca8e21f (diff) | |
download | nextcloud-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.php | 6 |
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) |