CalDAV / OSX Yosemite / Agent CardDAV

Ken Murchison murch at andrew.cmu.edu
Fri Dec 26 08:45:49 EST 2014


Hi Marty,

There is a logic error in the precondition checks that has been fixed in 
git.  Try applying this patch:

http://git.cyrusimap.org/cyrus-imapd/patch/imap/http_carddav.c?id=b891191c093aed2e9baf34d03d082ae23d6acb4d



On 12/23/2014 09:07 AM, Marty Lee wrote:
> Seasons greetings -
>
> anyone seen problems with cyrus-imap-caldav-b10 when using Yosemite on a Mac or
> Agent CardDAV?
>
> If I try to edit a VCard using address book, I get the following in the
> apache log file:
>
> "PUT /dav/addressbooks/user/marty/Default/76002715-2ee3-46d8-b571-a2ce4b8668e9.vcf HTTP/1.1" 401 421
> "PUT /dav/addressbooks/user/marty/Default/76002715-2ee3-46d8-b571-a2ce4b8668e9.vcf HTTP/1.1" 412 -
>
> Agent CardDAV just responds with:
>
> Error: 'unable to save the contact': somebody else has already changed it on the server!
>
> Nothing in the log file at all.
>
> Now it’s highly likely that this could be just a DAV related thing as we recently moved to Apache 2.4.
> Saying that, the WebDAV folders used elsewhere all work, and I can add and delete items from calendars and address book held by CyrusIMAP; I also can edit calendar items, just can’t seem to edit
> contacts…
>
> My money is on Yosemite changing something, and from what I understand, ‘412’ error means that
> a pre-condition wasn’t met… Turned on Apache 2.4 forensic log and got:
>
> +10601:54997517:0|PUT /dav/addressbooks/user/marty/Default/76002715-2ee3-46d8-b571-a2ce4b8668e9.vcf HTTP/1.1|Host:XXXXXXXXXXXXXXXXX|Content-Type:text/vcard; charset=utf-8|Accept-Encoding:gzip, deflate|Connection:keep-alive|Proxy-Connection:keep-alive|Accept:*/*|User-Agent:Mac OS X/10.10.1 (14B25) AddressBook/1499|If-Match:"eb95c44f34418be8c49173d335307f63b1835b89"|Content-Length:365|Accept-Language:en-us
>
> So the only condition I can see is ‘If-Match’ which I’m presuming relates to the record previously
> obtained from Cyrus.
>
> Any ideas where else to look to get to the root cause? At the moment, I’m just telling my users
> that they need to delete and re-create a record; which isn’t ideal, but does seem to work….
>
> cheers
>
> marty
>
>
> -----
> Marty Lee                         e: marty at maui-systems.co.uk
> Technical Director                v: +44 845 869 2661
> Maui Systems Ltd                  f: +44 871 433 8922
> Scotland, UK                      w: http://www.maui-systems.co.uk
>


-- 
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University



More information about the Cyrus-devel mailing list