dav
dav copied to clipboard
CardDAV Backend fails to limit results
RFC6578 Truncation of results (https://tools.ietf.org/html/rfc6578#section-3.6) does not appear to be implemented in CardDAV. There is an open PR (https://github.com/sabre-io/dav/pull/1248) for CalDAV which appears to be related. What is the status of the PR, will it be merged, and if so, will the same approach be extended to CardDAV as well?
Request:
<?xml version="1.0" encoding="utf-8" ?>
<D:sync-collection xmlns:D="DAV:">
<D:sync-token/>
<D:limit>
<D:nresults>1</D:nresults>
</D:limit>
<D:sync-level>1</D:sync-level>
<D:prop>
<D:getetag/>
</D:prop>
</D:sync-collection>
Response:
< Server: nginx/1.12.2
< Date: Thu, 17 Oct 2019 04:34:27 GMT
< Content-Type: application/xml; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
<
<?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">
<d:response>
<d:href>/addressbooks/[email protected]/default/420b950a-0ecf-4b16-b9c7-ab34c3221cf2.vcf</d:href>
<d:propstat>
<d:prop>
<d:getetag>"234111ed39be0e4b723f46eb327c44b2"</d:getetag>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/addressbooks/[email protected]/default/4e50069b-c497-48a1-8137-4aeda1653daf.vcf</d:href>
<d:propstat>
<d:prop>
<d:getetag>"ce26f1268b283d82b58aeb3ee1c339d3"</d:getetag>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/addressbooks/[email protected]/default/f0ee9d32-c311-4635-b065-0b02fa981f17.vcf</d:href>
<d:propstat>
<d:prop>
<d:getetag>"f1184f9cda85d90d0176cbc0120d76ae"</d:getetag>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:sync-token>http://sabre.io/ns/sync/12</d:sync-token>
</d:multistatus>
Any love on this from the maintainers? How would you suggest to perform paging of report output in sabredav?
In my understanding solving this issue is mandatory to call this library WebDAV-compatible. Also currently it is left for more than an year and half even after pull request is opened, the product owner asked the pull request author to add some code, and then pull request followed the review...
I'm not very familiar with WebDAV, so it may be that my understanding is wrong or at least doubtful, but currently no comment from sabre/dav developers, and I can do nothing.
Thanks for contributing to the issue, I'm glad I'm not alone on it. @nhirokinet it does seem that the PR has been merged. I will retest with latest code and I may be able to close this issue.
Unfortunately, this was not applied to CardDAV, only CalDAV so I will consider this issue still unresolved