Skip to content
Snippets Groups Projects
Unverified Commit fbf25e16 authored by Christoph Wurst's avatar Christoph Wurst Committed by GitHub
Browse files

Merge pull request #24515 from nextcloud/fix/noid/dav-share-groups-special-chars

fixes sharing to group ids with characters that are being url encoded
parents 7a1b45ab 622d0284
No related branches found
No related tags found
No related merge requests found
...@@ -345,9 +345,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription ...@@ -345,9 +345,6 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true); $principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
$principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal)); $principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal));
$principals = array_map(function ($principal) {
return urldecode($principal);
}, $principals);
$principals[] = $principalUri; $principals[] = $principalUri;
$fields = array_values($this->propertyMap); $fields = array_values($this->propertyMap);
......
...@@ -190,9 +190,6 @@ class CardDavBackend implements BackendInterface, SyncSupport { ...@@ -190,9 +190,6 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true); $principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
$principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal)); $principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal));
$principals = array_map(function ($principal) {
return urldecode($principal);
}, $principals);
$principals[] = $principalUri; $principals[] = $principalUri;
$query = $this->db->getQueryBuilder(); $query = $this->db->getQueryBuilder();
......
...@@ -232,7 +232,7 @@ class GroupPrincipalBackend implements BackendInterface { ...@@ -232,7 +232,7 @@ class GroupPrincipalBackend implements BackendInterface {
} }
} }
$carry[] = self::PRINCIPAL_PREFIX . '/' . $gid; $carry[] = self::PRINCIPAL_PREFIX . '/' . urlencode($gid);
return $carry; return $carry;
}, []); }, []);
break; break;
......
...@@ -107,6 +107,7 @@ class Backend { ...@@ -107,6 +107,7 @@ class Backend {
return; return;
} }
$principal[2] = urldecode($principal[2]);
if (($principal[1] === 'users' && !$this->userManager->userExists($principal[2])) || if (($principal[1] === 'users' && !$this->userManager->userExists($principal[2])) ||
($principal[1] === 'groups' && !$this->groupManager->groupExists($principal[2]))) { ($principal[1] === 'groups' && !$this->groupManager->groupExists($principal[2]))) {
// User or group does not exist // User or group does not exist
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment