From 804a7090f5d5e7ca6c0e3316391ca139c5daaf50 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 14 Oct 2021 18:36:55 +0200 Subject: [PATCH] doesDirectoryExist fixes Signed-off-by: Robin Appelman --- apps/files_external/lib/Lib/Storage/AmazonS3.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/files_external/lib/Lib/Storage/AmazonS3.php b/apps/files_external/lib/Lib/Storage/AmazonS3.php index f85797d29f4..1ad1cd699d3 100644 --- a/apps/files_external/lib/Lib/Storage/AmazonS3.php +++ b/apps/files_external/lib/Lib/Storage/AmazonS3.php @@ -46,7 +46,6 @@ use Icewind\Streams\CallbackWrapper; use Icewind\Streams\IteratorDirectory; use OC\Cache\CappedMemoryCache; use OC\Files\Cache\CacheEntry; -use OC\Files\Filesystem; use OC\Files\ObjectStore\S3ConnectionTrait; use OC\Files\ObjectStore\S3ObjectTrait; use OCP\Constants; @@ -174,6 +173,7 @@ class AmazonS3 extends \OC\Files\Storage\Common { if ($path === '.' || $path === '') { return true; } + $path = rtrim($path, '/') . '/'; if (isset($this->directoryCache[$path])) { return $this->directoryCache[$path]; @@ -183,7 +183,7 @@ class AmazonS3 extends \OC\Files\Storage\Common { // Do a prefix listing of objects to determine. $result = $this->getConnection()->listObjectsV2([ 'Bucket' => $this->bucket, - 'Prefix' => rtrim($path, '/'), + 'Prefix' => $path, 'MaxKeys' => 1, ]); @@ -360,7 +360,7 @@ class AmazonS3 extends \OC\Files\Storage\Common { return IteratorDirectory::wrap(array_map(function (array $item) { return $item['name']; }, $content)); - } catch (S3Exception $e) { + } catch (S3Exception $e) { return false; } } @@ -435,7 +435,7 @@ class AmazonS3 extends \OC\Files\Storage\Common { } try { - return $this->isRoot($path) || $this->doesDirectoryExist($path); + return $this->doesDirectoryExist($path); } catch (S3Exception $e) { \OC::$server->getLogger()->logException($e, ['app' => 'files_external']); return false;