Skip to content

Commit d84052c

Browse files
authored
Merge pull request #54306 from nextcloud/backport/54298/stable29
2 parents 4e9fbdd + efd80b5 commit d84052c

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

apps/dav/lib/CardDAV/AddressBookImpl.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,10 @@ public function getPermissions() {
202202
$permissions = $this->addressBook->getACL();
203203
$result = 0;
204204
foreach ($permissions as $permission) {
205+
if ($this->addressBookInfo['principaluri'] !== $permission['principal']) {
206+
continue;
207+
}
208+
205209
switch ($permission['privilege']) {
206210
case '{DAV:}read':
207211
$result |= Constants::PERMISSION_READ;

apps/dav/tests/unit/CardDAV/AddressBookImplTest.php

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -287,14 +287,15 @@ public function testGetPermissions($permissions, $expected): void {
287287
public function dataTestGetPermissions() {
288288
return [
289289
[[], 0],
290-
[[['privilege' => '{DAV:}read']], 1],
291-
[[['privilege' => '{DAV:}write']], 6],
292-
[[['privilege' => '{DAV:}all']], 31],
293-
[[['privilege' => '{DAV:}read'],['privilege' => '{DAV:}write']], 7],
294-
[[['privilege' => '{DAV:}read'],['privilege' => '{DAV:}all']], 31],
295-
[[['privilege' => '{DAV:}all'],['privilege' => '{DAV:}write']], 31],
296-
[[['privilege' => '{DAV:}read'],['privilege' => '{DAV:}write'],['privilege' => '{DAV:}all']], 31],
297-
[[['privilege' => '{DAV:}all'],['privilege' => '{DAV:}read'],['privilege' => '{DAV:}write']], 31],
290+
[[['privilege' => '{DAV:}read', 'principal' => 'principals/system/system']], 1],
291+
[[['privilege' => '{DAV:}read', 'principal' => 'principals/system/system'], ['privilege' => '{DAV:}write', 'principal' => 'principals/someone/else']], 1],
292+
[[['privilege' => '{DAV:}write', 'principal' => 'principals/system/system']], 6],
293+
[[['privilege' => '{DAV:}all', 'principal' => 'principals/system/system']], 31],
294+
[[['privilege' => '{DAV:}read', 'principal' => 'principals/system/system'],['privilege' => '{DAV:}write', 'principal' => 'principals/system/system']], 7],
295+
[[['privilege' => '{DAV:}read', 'principal' => 'principals/system/system'],['privilege' => '{DAV:}all', 'principal' => 'principals/system/system']], 31],
296+
[[['privilege' => '{DAV:}all', 'principal' => 'principals/system/system'],['privilege' => '{DAV:}write', 'principal' => 'principals/system/system']], 31],
297+
[[['privilege' => '{DAV:}read', 'principal' => 'principals/system/system'],['privilege' => '{DAV:}write', 'principal' => 'principals/system/system'],['privilege' => '{DAV:}all', 'principal' => 'principals/system/system']], 31],
298+
[[['privilege' => '{DAV:}all', 'principal' => 'principals/system/system'],['privilege' => '{DAV:}read', 'principal' => 'principals/system/system'],['privilege' => '{DAV:}write', 'principal' => 'principals/system/system']], 31],
298299
];
299300
}
300301

0 commit comments

Comments
 (0)