dav icon indicating copy to clipboard operation
dav copied to clipboard

CardDAV Backend fails to limit results

Open ts2909 opened this issue 4 years ago • 5 comments

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>

ts2909 avatar Mar 08 '20 04:03 ts2909

Any love on this from the maintainers? How would you suggest to perform paging of report output in sabredav?

ts2909 avatar Nov 11 '20 05:11 ts2909

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...

nhirokinet avatar Oct 16 '21 17:10 nhirokinet

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.

nhirokinet avatar Oct 16 '21 17:10 nhirokinet

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.

boxa99 avatar Dec 14 '21 03:12 boxa99

Unfortunately, this was not applied to CardDAV, only CalDAV so I will consider this issue still unresolved

boxa99 avatar Jan 11 '22 03:01 boxa99