Select Git revision
version.php
-
Joas Schilling authored
In case encryption was not enabled, we accidently set encrypted = 1 for files inside mount points, since 8.1.0. This breaks opening the files in 8.1.1 because we fixed the code that checks if a file is encrypted. In order to fix the file, we need to reset the flag of the file. However, the flag might be set because the file is in fact encrypted because it was uploaded at a time where encryption was enabled. So we can only do this when: - Current version of ownCloud before the update is 8.1.0 or 8.2.0.(0-2) - Encryption is disabled - files_encryption is not known in the app config If the first two are not the case, we are save. However, if files_encryption values exist in the config, we might have a false negative here. Now if there is no file with unencrypted size greater 0, that means there are no files that are still encrypted with "files_encryption" encryption. So we can also safely reset the flag here. If this is not the case, we go with "better save then sorry" and don't change the flag but write a message to the ownCloud log file.
Joas Schilling authoredIn case encryption was not enabled, we accidently set encrypted = 1 for files inside mount points, since 8.1.0. This breaks opening the files in 8.1.1 because we fixed the code that checks if a file is encrypted. In order to fix the file, we need to reset the flag of the file. However, the flag might be set because the file is in fact encrypted because it was uploaded at a time where encryption was enabled. So we can only do this when: - Current version of ownCloud before the update is 8.1.0 or 8.2.0.(0-2) - Encryption is disabled - files_encryption is not known in the app config If the first two are not the case, we are save. However, if files_encryption values exist in the config, we might have a false negative here. Now if there is no file with unencrypted size greater 0, that means there are no files that are still encrypted with "files_encryption" encryption. So we can also safely reset the flag here. If this is not the case, we go with "better save then sorry" and don't change the flag but write a message to the ownCloud log file.
console.php 2.42 KiB
<?php
/**
* @author Bart Visscher <bartv@thisnet.nl>
* @author Christian Kampka <christian@kampka.net>
* @author Jost Baron <Jost.Baron@gmx.de>
* @author Lukas Reschke <lukas@owncloud.com>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Thomas Müller <thomas.mueller@tmit.eu>
*
* @copyright Copyright (c) 2015, ownCloud, Inc.
* @license AGPL-3.0
*
* This code is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License, version 3,
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/
use OC\Console\Application;
use Symfony\Component\Console\Output\ConsoleOutput;
define('OC_CONSOLE', 1);
// Show warning if a PHP version below 5.4.0 is used, this has to happen here
// because base.php will already use 5.4 syntax.
if (version_compare(PHP_VERSION, '5.4.0') === -1) {
echo 'This version of ownCloud requires at least PHP 5.4.0'.PHP_EOL;
echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.'.PHP_EOL;
return;
}
try {
require_once 'lib/base.php';
// set to run indefinitely if needed
set_time_limit(0);
if (!OC::$CLI) {
echo "This script can be run from the command line only" . PHP_EOL;
exit(0);
}
if (!OC_Util::runningOnWindows()) {
if (!function_exists('posix_getuid')) {
echo "The posix extensions are required - see http://php.net/manual/en/book.posix.php" . PHP_EOL;
exit(0);
}
$user = posix_getpwuid(posix_getuid());
$configUser = posix_getpwuid(fileowner(OC::$configDir . 'config.php'));
if ($user['name'] !== $configUser['name']) {
echo "Console has to be executed with the user that owns the file config/config.php" . PHP_EOL;
echo "Current user: " . $user['name'] . PHP_EOL;
echo "Owner of config.php: " . $configUser['name'] . PHP_EOL;
exit(0);
}
}
$application = new Application(\OC::$server->getConfig());
$application->loadCommands(new ConsoleOutput());
$application->run();
} catch (Exception $ex) {
echo "An unhandled exception has been thrown:" . PHP_EOL;
echo $ex;
exit(1);
}