From dcb370ab62ffde704e1dc9ddcee58039b53a85ff Mon Sep 17 00:00:00 2001 From: provokateurin Date: Fri, 24 Jan 2025 09:37:31 +0100 Subject: Revert "fix(Share20\Manager): Ensure node is still accessible when checking share" This reverts commit c2ca99e2f641396b6823c1e675afd3ecb486e744. Signed-off-by: provokateurin --- lib/private/Share20/Manager.php | 9 --------- tests/lib/Share20/ManagerTest.php | 33 ++++----------------------------- 2 files changed, 4 insertions(+), 38 deletions(-) diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php index 5911882e808..35166c37ee3 100644 --- a/lib/private/Share20/Manager.php +++ b/lib/private/Share20/Manager.php @@ -1464,15 +1464,6 @@ class Manager implements IManager { $this->deleteShare($share); throw new ShareNotFound($this->l->t('The requested share does not exist anymore')); } - - try { - $share->getNode(); - // Ignore share, file is still accessible - } catch (NotFoundException) { - // Access lost, but maybe only temporarily, so don't delete the share right away - throw new ShareNotFound($this->l->t('The requested share does not exist anymore')); - } - if ($this->config->getAppValue('files_sharing', 'hide_disabled_user_shares', 'no') === 'yes') { $uids = array_unique([$share->getShareOwner(),$share->getSharedBy()]); foreach ($uids as $uid) { diff --git a/tests/lib/Share20/ManagerTest.php b/tests/lib/Share20/ManagerTest.php index 1afe0473cea..6df97423989 100644 --- a/tests/lib/Share20/ManagerTest.php +++ b/tests/lib/Share20/ManagerTest.php @@ -25,7 +25,6 @@ use OCP\Files\Mount\IMountManager; use OCP\Files\Mount\IMountPoint; use OCP\Files\Mount\IShareOwnerlessMount; use OCP\Files\Node; -use OCP\Files\NotFoundException; use OCP\Files\Storage\IStorage; use OCP\HintException; use OCP\IAppConfig; @@ -675,24 +674,6 @@ class ManagerTest extends \Test\TestCase { } - public function testGetShareByIdNodeAccessible(): void { - $share = $this->createMock(IShare::class); - $share - ->expects($this->once()) - ->method('getNode') - ->willThrowException(new NotFoundException()); - - $this->defaultProvider - ->expects($this->once()) - ->method('getShareById') - ->with(42) - ->willReturn($share); - - $this->expectException(ShareNotFound::class); - $this->manager->getShareById('default:42'); - } - - public function testGetExpiredShareById(): void { $this->expectException(\OCP\Share\Exceptions\ShareNotFound::class); @@ -2901,10 +2882,9 @@ class ManagerTest extends \Test\TestCase { } public function testGetSharesBy(): void { - $node = $this->createMock(Folder::class); - $share = $this->manager->newShare(); - $share->setNode($node); + + $node = $this->createMock(Folder::class); $this->defaultProvider->expects($this->once()) ->method('getSharesBy') @@ -2957,8 +2937,6 @@ class ManagerTest extends \Test\TestCase { * deleted (as they are evaluated). but share 8 should still be there. */ public function testGetSharesByExpiredLinkShares(): void { - $node = $this->createMock(File::class); - $manager = $this->createManagerMock() ->setMethods(['deleteShare']) ->getMock(); @@ -2972,7 +2950,6 @@ class ManagerTest extends \Test\TestCase { for ($i = 0; $i < 8; $i++) { $share = $this->manager->newShare(); $share->setId($i); - $share->setNode($node); $shares[] = $share; } @@ -2993,6 +2970,8 @@ class ManagerTest extends \Test\TestCase { $shares2[] = clone $shares[$i]; } + $node = $this->createMock(File::class); + /* * Simulate the getSharesBy call. */ @@ -3154,10 +3133,8 @@ class ManagerTest extends \Test\TestCase { $date = new \DateTime(); $date->setTime(0, 0, 0); $date->add(new \DateInterval('P2D')); - $node = $this->createMock(File::class); $share = $this->manager->newShare(); $share->setExpirationDate($date); - $share->setNode($node); $share->setShareOwner('owner'); $share->setSharedBy('sharedBy'); @@ -3235,10 +3212,8 @@ class ManagerTest extends \Test\TestCase { $date = new \DateTime(); $date->setTime(0, 0, 0); $date->add(new \DateInterval('P2D')); - $node = $this->createMock(Folder::class); $share = $this->manager->newShare(); $share->setExpirationDate($date); - $share->setNode($node); $this->defaultProvider->expects($this->once()) ->method('getShareByToken') -- cgit v1.2.3