Merge pull request #30559 from nextcloud/backport/30468/stable21

[stable21] Handle LocalServerException when scanning external shares
pull/30579/head
MichaIng 2 years ago committed by GitHub
commit ec88a9c32e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -31,6 +31,8 @@ use OC\ForbiddenException;
use OCP\Files\NotFoundException;
use OCP\Files\StorageInvalidException;
use OCP\Files\StorageNotAvailableException;
use OCP\Http\Client\LocalServerException;
use Psr\Log\LoggerInterface;
class Scanner extends \OC\Files\Cache\Scanner {
/** @var \OCA\Files_Sharing\External\Storage */
@ -38,8 +40,15 @@ class Scanner extends \OC\Files\Cache\Scanner {
/** {@inheritDoc} */
public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true) {
if (!$this->storage->remoteIsOwnCloud()) {
return parent::scan($path, $recursive, $reuse, $lock);
try {
if (!$this->storage->remoteIsOwnCloud()) {
return parent::scan($path, $recursive, $reuse, $lock);
}
} catch (LocalServerException $e) {
// Scanner doesn't have dependency injection
\OC::$server->get(LoggerInterface::class)
->warning('Trying to scan files inside invalid external storage: ' . $this->storage->getRemote() . ' for mountpoint ' . $this->storage->getMountPoint() . ' and id ' . $this->storage->getId());
return;
}
$this->scanAll();

Loading…
Cancel
Save