Merge pull request #25944 from nextcloud/backport/25659/stable20

[stable20] catch notfound and forbidden exception in smb::getmetadata
This commit is contained in:
Morris Jobke 2021-03-17 20:13:57 +01:00 committed by GitHub
commit 4f18ff9815
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 15 additions and 25 deletions

View File

@ -556,7 +556,13 @@ class SMB extends Common implements INotifyStorage {
}
public function getMetaData($path) {
$fileInfo = $this->getFileInfo($path);
try {
$fileInfo = $this->getFileInfo($path);
} catch (NotFoundException $e) {
return null;
} catch (ForbiddenException $e) {
return null;
}
if (!$fileInfo) {
return null;
}

View File

@ -56,7 +56,7 @@ class Scanner extends \OC\Files\Cache\Scanner {
* @param int $parentId
* @param array | null $cacheData existing data in the cache for the file to be scanned
* @param bool $lock set to false to disable getting an additional read lock during scanning
* @return array an array of metadata of the scanned file
* @return array | null an array of metadata of the scanned file
*/
public function scanFile($file, $reuseExisting = 0, $parentId = -1, $cacheData = null, $lock = true, $data = null) {
try {

View File

@ -45,7 +45,7 @@ class Scanner extends \OC\Files\Cache\Scanner {
*
* @param string $path path of the file for which to retrieve metadata
*
* @return array an array of metadata of the file
* @return array|null an array of metadata of the file
*/
public function getData($path) {
$data = parent::getData($path);

View File

@ -108,7 +108,7 @@ class Scanner extends BasicEmitter implements IScanner {
* *
*
* @param string $path
* @return array an array of metadata of the file
* @return array|null an array of metadata of the file
*/
protected function getData($path) {
$data = $this->storage->getMetaData($path);
@ -127,7 +127,7 @@ class Scanner extends BasicEmitter implements IScanner {
* @param array|null|false $cacheData existing data in the cache for the file to be scanned
* @param bool $lock set to false to disable getting an additional read lock during scanning
* @param null $data the metadata for the file, as returned by the storage
* @return array an array of metadata of the scanned file
* @return array|null an array of metadata of the scanned file
* @throws \OCP\Lock\LockedException
*/
public function scanFile($file, $reuseExisting = 0, $parentId = -1, $cacheData = null, $lock = true, $data = null) {
@ -322,7 +322,7 @@ class Scanner extends BasicEmitter implements IScanner {
* @param bool $recursive
* @param int $reuse
* @param bool $lock set to false to disable getting an additional read lock during scanning
* @return array an array of the meta data of the scanned file or folder
* @return array|null an array of the meta data of the scanned file or folder
*/
public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true) {
if ($reuse === -1) {

View File

@ -93,7 +93,7 @@ interface Storage extends \OCP\Files\Storage {
/**
* @param string $path
* @return array
* @return array|null
*/
public function getMetaData($path);

View File

@ -528,10 +528,6 @@ class Encoding extends Wrapper {
return $result;
}
/**
* @param string $path
* @return array
*/
public function getMetaData($path) {
return $this->storage->getMetaData($this->findPathToUse($path));
}

View File

@ -190,10 +190,6 @@ class Encryption extends Wrapper {
return $data;
}
/**
* @param string $path
* @return array
*/
public function getMetaData($path) {
$data = $this->storage->getMetaData($path);
if (is_null($data)) {

View File

@ -438,10 +438,6 @@ class Jail extends Wrapper {
return $this->getWrapperStorage()->getETag($this->getUnjailedPath($path));
}
/**
* @param string $path
* @return array
*/
public function getMetaData($path) {
return $this->getWrapperStorage()->getMetaData($this->getUnjailedPath($path));
}

View File

@ -575,10 +575,6 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
return $this->getWrapperStorage()->moveFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath);
}
/**
* @param string $path
* @return array
*/
public function getMetaData($path) {
return $this->getWrapperStorage()->getMetaData($path);
}

View File

@ -45,7 +45,7 @@ interface IScanner {
* @param int $parentId
* @param array | null $cacheData existing data in the cache for the file to be scanned
* @param bool $lock set to false to disable getting an additional read lock during scanning
* @return array an array of metadata of the scanned file
* @return array | null an array of metadata of the scanned file
* @throws \OC\ServerNotAvailableException
* @throws \OCP\Lock\LockedException
* @since 9.0.0
@ -59,7 +59,7 @@ interface IScanner {
* @param bool $recursive
* @param int $reuse
* @param bool $lock set to false to disable getting an additional read lock during scanning
* @return array an array of the meta data of the scanned file or folder
* @return array | null an array of the meta data of the scanned file or folder
* @since 9.0.0
*/
public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true);