jelmer / xandikos

A CalDAV/CardDAV server backed by Git
https://www.xandikos.org/
GNU General Public License v3.0
410 stars 42 forks source link

Content not found when fetching a CardDav resource #247

Open WhyNotHugo opened 1 year ago

WhyNotHugo commented 1 year ago

When executing a REPORT request querying the data of an address book:


<C:addressbook-multiget
    xmlns="DAV:"
    xmlns:C="urn:ietf:params:xml:ns:carddav">
    <prop>
        <getetag/>
        <C:address-data/>
    </prop>
    <href>/user/contacts/BYWFyAHuEcfxk1uA/PhstoGGSIYNL.ics</href>
</C:addressbook-multiget>

I'm getting a confusing response which indicates that the item exists but doesn't exist. I'm not quite sure how to interpret this:

<ns0:multistatus
    xmlns:ns0="DAV:"
    xmlns:ns1="urn:ietf:params:xml:ns:carddav">
    <ns0:response>
        <ns0:href>/user/contacts/BYWFyAHuEcfxk1uA/PhstoGGSIYNL.ics</ns0:href>
        <ns0:propstat>
            <ns0:status>HTTP/1.1 200 OK</ns0:status>
            <ns0:prop>
                <ns0:getetag>"bf7ed972a0252c2c09b854eeffcf7d9359372ec7"</ns0:getetag>
            </ns0:prop>
        </ns0:propstat>
        <ns0:propstat>
            <ns0:status>HTTP/1.1 404 Not Found</ns0:status>
            <ns0:prop>
                <ns1:address-data />
            </ns0:prop>
        </ns0:propstat>
    </ns0:response>
</ns0:multistatus>

This is an integration test of mine, and I'm creating the resource immediately before querying it, and it's listed as existing when I enumerate items via PROPFIND. Am I doing something wrong here, or what exactly does this means?

An equivalent query for CalDav works fine.

jelmer commented 1 year ago

What are the contents of that file? It seems like you're trying to retrieve address-data from something that is a calendar file (.ics?)?

WhyNotHugo commented 1 year ago

Oh, it's vcard data, but I got the extension wrong when uploading it. I'll try again tomorrow with the right extension.