Bug 331321 - Contacts aren't retrieved from CardDAV server / don't show up in the address book
Summary: Contacts aren't retrieved from CardDAV server / don't show up in the address ...
Status: RESOLVED NOT A BUG
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: DAV Resource (show other bugs)
Version: 4.11
Platform: Debian testing Linux
: NOR grave
Target Milestone: ---
Assignee: kdepim bugs
URL: (calendarserver) http://paste.debian....
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-20 09:53 UTC by Thomas Wunder
Modified: 2014-10-01 19:52 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Wunder 2014-02-20 09:53:51 UTC
Hi, I've set up an Apple calendarserver recently (which works pretty nicely with other clients) and I'd like to connect my kontact/kaddressbook (4.11.5 from debian jessie package) to it via CardDAV. Thus I added a DAV groupware resource, filled in my credentials and the calendar/addressbook URL and when I clicked 'Fetch' (in the resource configuration dialog)  my addressbook (default folder) was listed as expected.

However in kaddressbook not a single address book entry is being listed under that newly added address book (folder). I've countlessly tried to restart the agent, forced it to sync, removed it and set it back up (via akonadiconsole) with no luck. Having a look at the log of my calendarserver revealed that kaddressbook obviously tries to do use some HTTP REPORT method in a situation where the server probably can't deal with it. (Maybe that's the cause for the problem)

Here are some log snippets that may help you understand what's going on here: 
 * (calendarserver) http://paste.debian.net/83046/ 
 * (dav groupware resource) http://paste.debian.net/83047/
 * (KAddressbook::GlobalContactSession) http://paste.debian.net/83049/ 

Note: Upward synchronization works. That is an entry which was created inside that new address book default folder is being propagated to the server so that other clients can see it.

I suspect this to not only be related to the calendar/addressbook service i use but I'm not a hundred percent sure whether it's not the servers fault…

Reproducible: Always

Steps to Reproduce:
0. Find / set up a working (and recent) Apple calendarserver (from http://trac.calendarserver.org/). I used my distris package (Debian Jessie) calendarserver_3.2+dfsg-5_amd64.deb
1.1 Open kontact / contacts
1.2 click right and select 'Add Address Book...'
1.3 select "DAV groupware resource" and click Ok to continue
1.4 enter your credentials (e.g. admin/admin in case of a freshly installed calendarserver), click Next to continue
1.5 select "Configure the resource manually" and click "Finish"
1.6 enter a display name and click on 'Add'
1.7 select protocol CardDAV and enter the remote URL e.g. (http://my.calendar.server.example.org:8008/principals/users/admin) and click on 'Fetch'
1.8 under "Discovered collections" an entry should appear with an URL like this: http://my.calendar.server.example.org:8008/addressbooks/__uids__/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/addressbook/
1.9 click 'Ok' twice to finish both dialogs
2. unhide the new address book ([default] folder) by clicking the check box next to it. You can also try to 'Update Address Book Folder' or restart the according resource agent using akonadiconsole: You won't see any contacts.
(3.) Upward Sync works though, i.e. if you create a new address book entry inside that newly added address book resource it will be pushed up to the server.
Actual Results:  
Address book entries aren't display neither are they synced (e.g. if a locally created entry gets modified / deleted by another client).

Expected Results:  
Content/Entries of the address book should be displayed
Comment 1 Grégory Oestreicher 2014-09-05 20:58:12 UTC
Is this bug still present in the latest release?
Comment 2 Thomas Wunder 2014-09-23 08:52:34 UTC
Hi, I'm not really up to date what the latest release actually is but in a recent debian wheezy installation running KDE 4.14 the problem persists.
Comment 3 Grégory Oestreicher 2014-09-30 18:41:39 UTC
Hi,

The latest release is 4.14.1. If that's the one you already have then it looks like I'll have to install this product :)

Thanks,
Grégory
Comment 4 Thomas Wunder 2014-09-30 21:39:13 UTC
Yeah that's the way it looks... I have recently upgraded to 4.14.1 (debian jessie) on my work notebook and since then even the CalDAV based calendars stopped working. For the addressbook (CardDAV) things are basically the same as before (can't retrieve any contacts).

As far as calendars are concerned it seems that internals have changed drastically since server logs look completely different than with 4.12 or 4.13. In 4.14 I can still successfully configure (new) CalDAV client agents and sub calendar's names are sucessfully retrieved whenever I click that Fetch button (I hope you know what I mean). These (sub) calendars stay empty though. Inside the server logs 403 (Forbidden) errors are reported when I try to synchronize at the client side.
Comment 5 Thomas Wunder 2014-09-30 21:43:13 UTC
Sorry I just noticed that my previous information (from 2014-09-23 08:52:34) was not entirely correct... It's debian jessie that runs on my work notebook.
Comment 6 Grégory Oestreicher 2014-10-01 18:24:43 UTC
(In reply to Thomas Wunder from comment #4)
> Yeah that's the way it looks... I have recently upgraded to 4.14.1 (debian
> jessie) on my work notebook and since then even the CalDAV based calendars
> stopped working. For the addressbook (CardDAV) things are basically the same
> as before (can't retrieve any contacts).

Dang… Looks like I'll have to install calendarserver. I'll follow up on this after some tests on my side.

Cheers,
Grégory
Comment 7 Grégory Oestreicher 2014-10-01 19:49:12 UTC
OK, first news about the missing caldav items: the bug is in calendarserver. It doesn't return the <calendar/> element in the <resourcetype/> tag when the calendars are searched. According to the RFC it must do it, and the resource is a bit picky so it doesn't see anything that's a calendar.

Now on to the carddav issue, I'll keep you updated.
Comment 8 Grégory Oestreicher 2014-10-01 19:52:08 UTC
Meh, it was in fact a quick one, and should I have waited two minutes I'd have seen that it is the same problem.

So for carddav the <resourcetype/> tag does not contain the <addressbook/> element, so the resource never sees them as address books.

Unfortunately this is for the team at calendarserver to fix to be in line with the RFCs.

Cheers,
Grégory