Blocking D15001
Google works in mysterious ways:
- Sink's CardDAV client implementation works with KolabNow
- Sink's CardDAV client implementation works with my test server (Radicale)
- Doesn't work with Google
After some debugging I found:
On my test server if I do:
`curl -i -X PROPFIND "http://localhost:5232/test1/8543fd29-88bf-5e45-2cf2-36f8c4657fbc" --upload-file propfind.xml -H "Depth: 1" --user 'test1:'`
with `propfind.xml` being (exactly the same as Sink's request body):
```
<?xml version="1.0"?>
<propfind xmlns="DAV:">
<prop xmlns="DAV:">
<displayname xmlns="DAV:"/>
<resourcetype xmlns="DAV:"/>
<getctag xmlns="http://calendarserver.org/ns/"/>
</prop>
</propfind>
```
I get:
```<?xml version='1.0' encoding='utf-8'?><?xml version="1.0" encoding="utf-8"?>
<multistatus xmlns="DAV:" xmlns:CR="urn:ietf:params:xml:ns:carddav" xmlns:CS="http://calendarserver.org/ns/">
<response>
<href>/test1/8543fd29-88bf-5e45-2cf2-36f8c4657fbc/</href>
<propstat>
<prop>
<displayname>AddressBook</displayname>
<resourcetype>
<CR:addressbook/>
<collection/>
</resourcetype>
<CS:getctag>"5a772e0534b073083c00789d1ddd206c"</CS:getctag>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>
</response>
</multistatus>
```
With Google, I get:
```
<?xml version="1.0" encoding="UTF-8"?>
<d:multistatus xmlns:cal="urn:ietf:params:xml:ns:caldav" xmlns:card="urn:ietf:params:xml:ns:carddav" xmlns:cs="http://calendarserver.org/ns/" xmlns:d="DAV:" xmlns:ical="http://apple.com/ns/ical/">
<d:response>
<d:href>/carddav/v1/principals/<my-email-address>/lists/default/</d:href>
<d:propstat>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
</d:multistatus>
```
It doesn't change if change the Depth to 0, or if I use XML's better namespacing mechanism in `propfind.xml` (specify the namespaces in the top-level element with prefixes, and use the prefixes inside)