summaryrefslogtreecommitdiffstats
path: root/apps/dav
diff options
context:
space:
mode:
authorChristoph Wurst <ChristophWurst@users.noreply.github.com>2020-12-18 12:01:49 +0100
committerGitHub <noreply@github.com>2020-12-18 12:01:49 +0100
commitfbf25e164d1d508b4e587ebd454f18382d1917ba (patch)
treee70a80b25f1dcbecd33ba6baa60e24a8cb23eded /apps/dav
parent7a1b45ab76f9fe013097e4e72e70d7da287bb476 (diff)
parent622d02842ca10b59661ed5fe8f5e3eecb6da7f05 (diff)
downloadnextcloud-server-fbf25e164d1d508b4e587ebd454f18382d1917ba.tar.gz
nextcloud-server-fbf25e164d1d508b4e587ebd454f18382d1917ba.zip
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
Diffstat (limited to 'apps/dav')
-rw-r--r--apps/dav/lib/CalDAV/CalDavBackend.php3
-rw-r--r--apps/dav/lib/CardDAV/CardDavBackend.php3
-rw-r--r--apps/dav/lib/DAV/GroupPrincipalBackend.php2
-rw-r--r--apps/dav/lib/DAV/Sharing/Backend.php1
4 files changed, 2 insertions, 7 deletions
diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php
index c455eafbfee..61fd7d1b0c3 100644
--- a/apps/dav/lib/CalDAV/CalDavBackend.php
+++ b/apps/dav/lib/CalDAV/CalDavBackend.php
@@ -345,9 +345,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);
diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php
index f256c009449..90ab40c6d1b 100644
--- a/apps/dav/lib/CardDAV/CardDavBackend.php
+++ b/apps/dav/lib/CardDAV/CardDavBackend.php
@@ -190,9 +190,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();
diff --git a/apps/dav/lib/DAV/GroupPrincipalBackend.php b/apps/dav/lib/DAV/GroupPrincipalBackend.php
index 88193cf5b5f..ae66d85f4ca 100644
--- a/apps/dav/lib/DAV/GroupPrincipalBackend.php
+++ b/apps/dav/lib/DAV/GroupPrincipalBackend.php
@@ -232,7 +232,7 @@ class GroupPrincipalBackend implements BackendInterface {
}
}
- $carry[] = self::PRINCIPAL_PREFIX . '/' . $gid;
+ $carry[] = self::PRINCIPAL_PREFIX . '/' . urlencode($gid);
return $carry;
}, []);
break;
diff --git a/apps/dav/lib/DAV/Sharing/Backend.php b/apps/dav/lib/DAV/Sharing/Backend.php
index 979eb391354..9dbbc2f3970 100644
--- a/apps/dav/lib/DAV/Sharing/Backend.php
+++ b/apps/dav/lib/DAV/Sharing/Backend.php
@@ -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