Signed-off-by: Johannes Leuker <j.leuker@hosting.de>tags/v21.0.0beta6
@@ -1619,6 +1619,15 @@ $CONFIG = [ | |||
*/ | |||
'minimum.supported.desktop.version' => '2.0.0', | |||
/** | |||
* Option to allow local storage to contain symlinks. | |||
* WARNING: Not recommended. This would make it possible for Nextcloud to access | |||
* files outside the data directory and could be considered a security risk. | |||
* | |||
* Defaults to ``false`` | |||
*/ | |||
'localstorage.allowsymlinks' => false, | |||
/** | |||
* EXPERIMENTAL: option whether to include external storage in quota | |||
* calculation, defaults to false. |
@@ -58,8 +58,6 @@ class Local extends \OC\Files\Storage\Common { | |||
protected $dataDirLength; | |||
protected $allowSymlinks = false; | |||
protected $realDataDir; | |||
public function __construct($arguments) { | |||
@@ -441,7 +439,8 @@ class Local extends \OC\Files\Storage\Common { | |||
$fullPath = $this->datadir . $path; | |||
$currentPath = $path; | |||
if ($this->allowSymlinks || $currentPath === '') { | |||
$allowSymlinks = \OC::$server->getConfig()->getSystemValue('localstorage.allowsymlinks', false); | |||
if ($allowSymlinks || $currentPath === '') { | |||
return $fullPath; | |||
} | |||
$pathToResolve = $fullPath; |