diff options
author | Christoph Wurst <ChristophWurst@users.noreply.github.com> | 2020-12-18 12:01:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-18 12:01:49 +0100 |
commit | fbf25e164d1d508b4e587ebd454f18382d1917ba (patch) | |
tree | e70a80b25f1dcbecd33ba6baa60e24a8cb23eded /apps/dav | |
parent | 7a1b45ab76f9fe013097e4e72e70d7da287bb476 (diff) | |
parent | 622d02842ca10b59661ed5fe8f5e3eecb6da7f05 (diff) | |
download | nextcloud-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.php | 3 | ||||
-rw-r--r-- | apps/dav/lib/CardDAV/CardDavBackend.php | 3 | ||||
-rw-r--r-- | apps/dav/lib/DAV/GroupPrincipalBackend.php | 2 | ||||
-rw-r--r-- | apps/dav/lib/DAV/Sharing/Backend.php | 1 |
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 |