mirror of
https://github.com/nextcloud/server.git
synced 2024-11-14 20:36:50 +00:00
0563757ea4
When checking for public (web) access to the data directory the status is not enough as you might have a webserver that forwards to e.g. a login page. So instead check that the content of the file matches. For this the `.ncdata` file (renamed from `.ocdata`¹) has minimal text content to allow checking. ¹The file was renamed from the legacy `.ocdata`, there is a repair step to remove the old one. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
33 lines
680 B
PHP
33 lines
680 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
namespace OC\Repair\NC30;
|
|
|
|
use OCP\IConfig;
|
|
use OCP\Migration\IOutput;
|
|
use OCP\Migration\IRepairStep;
|
|
|
|
class RemoveLegacyDatadirFile implements IRepairStep {
|
|
|
|
public function __construct(
|
|
private IConfig $config,
|
|
) {
|
|
}
|
|
|
|
public function getName(): string {
|
|
return 'Remove legacy ".ocdata" file';
|
|
}
|
|
|
|
public function run(IOutput $output): void {
|
|
$ocdata = $this->config->getSystemValueString('datadirectory', \OC::$SERVERROOT . '/data') . '/.ocdata';
|
|
if (file_exists($ocdata)) {
|
|
unlink($ocdata);
|
|
}
|
|
}
|
|
}
|