Hi,
I’m currently testing NC for calendar support. I’m running some CalDav-Tests from Apple and there seems to be differences between NC and an original sabreDav. Maybe somebody can help me or explain, what went wrong…
Following test case: I send the following request to NC 12.0:
PROPFIND https://nextcloud.example.com/remote.php/dav/calendars/gtest1/
Depth: 1
Content-Type: text/xml; charset=utf-8
Username: groupware-test1@example-com
<?xml version="1.0" encoding="utf-8" ?>
<D:propfind xmlns:D="DAV:">
<D:prop>
<D:acl/>
</D:prop>
</D:propfind>
and get the following response:
<?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:cal="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:card="urn:ietf:params:xml:ns:carddav" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns">
<d:response>
<d:href>/remote.php/dav/calendars/gtest1/</d:href>
<d:propstat>
<d:prop>
<d:acl>
<d:ace>
<d:principal>
<d:href>/remote.php/dav/principals/users/gtest1/</d:href>
</d:principal>
<d:grant>
<d:privilege>
<d:read/>
</d:privilege>
</d:grant>
<d:protected/>
</d:ace>
<d:ace>
<d:principal>
<d:href>/remote.php/dav/principals/users/gtest1/</d:href>
</d:principal>
<d:grant>
<d:privilege>
<d:write/>
</d:privilege>
</d:grant>
<d:protected/>
</d:ace>
<d:ace>
<d:principal>
<d:href>/remote.php/dav/principals/users/gtest1/calendar-proxy-write/</d:href>
</d:principal>
<d:grant>
<d:privilege>
<d:read/>
</d:privilege>
</d:grant>
<d:protected/>
</d:ace>
<d:ace>
<d:principal>
<d:href>/remote.php/dav/principals/users/gtest1/calendar-proxy-write/</d:href>
</d:principal>
<d:grant>
<d:privilege>
<d:write/>
</d:privilege>
</d:grant>
<d:protected/>
</d:ace>
<d:ace>
<d:principal>
<d:href>/remote.php/dav/principals/users/gtest1/calendar-proxy-read/</d:href>
</d:principal>
<d:grant>
<d:privilege>
<d:read/>
</d:privilege>
</d:grant>
<d:protected/>
</d:ace>
</d:acl>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
So fine… but when I propfind the url “/remote.php/dav/principals/users/gtest1/calendar-proxy-write/” with the same request, I will get an 404:
PROPFIND https://nextcloudexample.com/remote.php/dav/principals/users/gtest1/calendar-proxy-write/
Depth: 1
Content-Type: text/xml; charset=utf-8
Username: groupware-test1@example.com
<?xml version="1.0" encoding="utf-8" ?>
<D:propfind xmlns:D="DAV:">
<D:prop>
<D:acl/>
</D:prop>
</D:propfind>
response:
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\NotFound</s:exception>
<s:message>Node with name calendar-proxy-write was not found</s:message>
</d:error>
When I send the same requests to a SabreDAV-instance, I will get a correct answer for the second one (no 404).
Does anybody know, if NC supports the caldav-proxy-feature? Because sabredav seems to support it… But if not, why do I get the first response containing an url to a node, which does not exist?
Thanks and regards,
Brunt