diff options
author | blizzz <blizzz@arthur-schiwon.de> | 2021-06-16 15:26:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-16 15:26:12 +0200 |
commit | 818fc95b0399b07bb41c02494292a77700b9b35a (patch) | |
tree | 5348f036d6a9b1fd2c578674f1bc0670450920c6 /apps/files_sharing/lib | |
parent | 7917f4cf763a3f35f81f500b5f5b5135cd136518 (diff) | |
parent | 964fd27666192beb7929342f10ae27cef3455d8b (diff) | |
download | nextcloud-server-818fc95b0399b07bb41c02494292a77700b9b35a.tar.gz nextcloud-server-818fc95b0399b07bb41c02494292a77700b9b35a.zip |
Merge pull request #26571 from nextcloud/bugfix/noid/existing-link-no-reshare
Only allow removing existing shares that would not be allowed due to reshare restrictions
Diffstat (limited to 'apps/files_sharing/lib')
-rw-r--r-- | apps/files_sharing/lib/Updater.php | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/files_sharing/lib/Updater.php b/apps/files_sharing/lib/Updater.php index e035ed51ec8..9ce114f495d 100644 --- a/apps/files_sharing/lib/Updater.php +++ b/apps/files_sharing/lib/Updater.php @@ -26,6 +26,7 @@ */ namespace OCA\Files_Sharing; +use OCP\Constants; use OCP\Share\IShare; class Updater { @@ -81,7 +82,12 @@ class Updater { //Ownership is moved over foreach ($shares as $share) { /** @var IShare $share */ + if (!($dstMount->getShare()->getPermissions() & Constants::PERMISSION_SHARE)) { + $shareManager->deleteShare($share); + continue; + } $share->setShareOwner($newOwner); + $share->setPermissions($share->getPermissions() & $dstMount->getShare()->getPermissions()); $shareManager->updateShare($share); } } |