Merge pull request #24763 from nextcloud/backport/24515/stable20

[stable20] fixes sharing to group ids with characters that are being url encoded
This commit is contained in:
blizzz 2021-01-05 23:35:26 +01:00 committed by GitHub
commit 25143fc87b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 3 additions and 8 deletions

View File

@ -344,9 +344,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
$principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal));
$principals = array_map(function ($principal) {
return urldecode($principal);
}, $principals);
$principals[] = $principalUri;
$fields = array_values($this->propertyMap);

View File

@ -191,9 +191,6 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
$principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal));
$principals = array_map(function ($principal) {
return urldecode($principal);
}, $principals);
$principals[] = $principalUri;
$query = $this->db->getQueryBuilder();

View File

@ -219,7 +219,7 @@ class GroupPrincipalBackend implements BackendInterface {
}
}
$carry[] = self::PRINCIPAL_PREFIX . '/' . $gid;
$carry[] = self::PRINCIPAL_PREFIX . '/' . urlencode($gid);
return $carry;
}, []);
break;

View File

@ -107,6 +107,7 @@ class Backend {
return;
}
$principal[2] = urldecode($principal[2]);
if (($principal[1] === 'users' && !$this->userManager->userExists($principal[2])) ||
($principal[1] === 'groups' && !$this->groupManager->groupExists($principal[2]))) {
// User or group does not exist