From 7e3a9a476f61bc23cb6de41adf6c5f0f5d778ef4 Mon Sep 17 00:00:00 2001 From: Florian Schlichting Date: Mon, 1 May 2017 21:05:47 +0200 Subject: [PATCH] group memberships for the calendar-proxy-{read,write} pseudo-principal are always empty Only regular principals can be members in any groups, for pseudo-principals group membership doesn't make sense. In case somebody asks, do not return the group memberships of the parent principal but rather provide an empty answer. --- inc/DAVPrincipal.php | 4 ++++ .../regression-suite/0525-iCal-PROPFIND.result | 14 +++----------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/inc/DAVPrincipal.php b/inc/DAVPrincipal.php index 661e5d8a..36b57b59 100644 --- a/inc/DAVPrincipal.php +++ b/inc/DAVPrincipal.php @@ -501,6 +501,10 @@ class DAVPrincipal extends Principal case 'http://calendarserver.org/ns/:group-membership': case 'DAV::group-membership': + if ( $request->IsProxyRequest() ) { + /* the calendar-proxy-{read,write} pseudo-principal should not be a member of any group */ + return false; + } $reply->DAVElement( $prop, 'group-membership', $reply->href($this->GroupMembership()) ); break; diff --git a/testing/tests/regression-suite/0525-iCal-PROPFIND.result b/testing/tests/regression-suite/0525-iCal-PROPFIND.result index ee40da1b..103af53e 100644 --- a/testing/tests/regression-suite/0525-iCal-PROPFIND.result +++ b/testing/tests/regression-suite/0525-iCal-PROPFIND.result @@ -2,8 +2,8 @@ HTTP/1.1 207 Multi-Status Date: Dow, 01 Jan 2000 00:00:00 GMT DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy -ETag: "5712eb30f86b6a9755a688c43b4bb763" -Content-Length: 1477 +ETag: "5379cc33938a9b800403f94bdfec0571" +Content-Length: 1091 Content-Type: text/xml; charset="utf-8" @@ -23,15 +23,6 @@ Content-Type: text/xml; charset="utf-8" /caldav.php/user1/ /caldav.php/assistant1/ - - /caldav.php/assistant1/ - /caldav.php/teamclient1/ - /caldav.php/user1/ - /caldav.php/user1/calendar-proxy-read/ - /caldav.php/assistant1/calendar-proxy-read/ - /caldav.php/resource1/calendar-proxy-read/ - /caldav.php/resource2/calendar-proxy-read/ - /caldav.php/user1/ /caldav.php/assistant1/ @@ -45,6 +36,7 @@ Content-Type: text/xml; charset="utf-8" + HTTP/1.1 404 Not Found