Prevent harder to share your root
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
796b454021
commit
69eda9c0f6
|
@ -277,12 +277,10 @@ class Manager implements IManager {
|
|||
// And you can't share your rootfolder
|
||||
if ($this->userManager->userExists($share->getSharedBy())) {
|
||||
$userFolder = $this->rootFolder->getUserFolder($share->getSharedBy());
|
||||
$userFolderPath = $userFolder->getPath();
|
||||
} else {
|
||||
$userFolder = $this->rootFolder->getUserFolder($share->getShareOwner());
|
||||
$userFolderPath = $userFolder->getPath();
|
||||
}
|
||||
if ($userFolderPath === $share->getNode()->getPath()) {
|
||||
if ($userFolder->getId() === $share->getNode()->getId()) {
|
||||
throw new \InvalidArgumentException('You can’t share your root folder');
|
||||
}
|
||||
|
||||
|
|
|
@ -646,7 +646,7 @@ class ManagerTest extends \Test\TestCase {
|
|||
$rootFolder = $this->createMock(Folder::class);
|
||||
$rootFolder->method('isShareable')->willReturn(true);
|
||||
$rootFolder->method('getPermissions')->willReturn(\OCP\Constants::PERMISSION_ALL);
|
||||
$rootFolder->method('getPath')->willReturn('myrootfolder');
|
||||
$rootFolder->method('getId')->willReturn(42);
|
||||
|
||||
$data[] = [$this->createShare(null, \OCP\Share::SHARE_TYPE_USER, $rootFolder, $user2, $user0, $user0, 30, null, null), 'You can’t share your root folder', true];
|
||||
$data[] = [$this->createShare(null, \OCP\Share::SHARE_TYPE_GROUP, $rootFolder, $group0, $user0, $user0, 2, null, null), 'You can’t share your root folder', true];
|
||||
|
@ -706,7 +706,9 @@ class ManagerTest extends \Test\TestCase {
|
|||
]);
|
||||
|
||||
$userFolder = $this->createMock(Folder::class);
|
||||
$userFolder->method('getPath')->willReturn('myrootfolder');
|
||||
$userFolder->expects($this->any())
|
||||
->method('getId')
|
||||
->willReturn(42);
|
||||
$userFolder->expects($this->any())
|
||||
->method('getRelativePath')
|
||||
->willReturnArgument(0);
|
||||
|
|
Loading…
Reference in New Issue