CardDAV doesn't work

asked 2015-02-27 21:38:30 +0300

heubergen gravatar image

updated 2015-05-06 10:12:48 +0300

Jolly-Jo gravatar image

I know theres a few question about how to work it, but theres only workarounds. I want just to make a bug so we can report it to jolla.

What works: You can set up a CardDAV account.

What doesn't work: The synchronization.

According to the log (journalctl) theres two bug:
First if you use a https connection with a self signed cert the error is: (even if you check ignore ssl error)

Feb 27 20:22:51 Jolla carddav-client[16804]: [W] ContactsEngine::ContactsEngine:803 - The 'mergePresenceChanges' option has not been configured - presence changes will only be reported via ContactManagerEngine::contactsPresenceChanged()
Feb 27 20:22:51 Jolla carddav-client[16804]: [D] SignOn::IdentityImpl::updateState:103 - identityimpl.cpp 103 updateState Updating state:  PendingRegistration 
Feb 27 20:22:51 Jolla carddav-client[16804]: [D] SignOn::AuthSessionImpl::initInterface:174 - authsessionimpl.cpp 174 initInterface 
Feb 27 20:22:51 Jolla carddav-client[16804]: [D] SignOn::AuthSessionImpl::process:270 - authsessionimpl.cpp 270 process sending to queue 
Feb 27 20:22:51 Jolla carddav-client[16804]: [D] SignOn::IdentityImpl::updateState:103 - identityimpl.cpp 103 updateState Updating state:  Ready 
Feb 27 20:22:52 Jolla carddav-client[16804]: [D] SignOn::DBusOperationQueueHandler::execQueuedOperations:137 - dbusoperationqueuehandler.cpp 137 execQueuedOperations Executing cached oparation: SIGNATURE: "process(SessionData,QString)" 
Feb 27 20:22:52 Jolla carddav-client[16804]: [D] SignOn::DBusOperationQueueHandler::execQueuedOperations:149 - dbusoperationqueuehandler.cpp 149 execQueuedOperations 
Feb 27 20:22:52 Jolla carddav-client[16804]: [D] SignOn::AuthSessionImpl::process:265 - authsessionimpl.cpp 265 process sending to daemon 
Feb 27 20:22:52 Jolla carddav-client[16804]: [W] CardDav::userInformationResponse:307 - void CardDav::userInformationResponse() error: 6 ( 0 ) 
Feb 27 20:22:52 Jolla carddav-client[16804]: [C] CardDavClient::syncFinished:137 - CardDAV sync failed: 401 "" 

Second bug if you use http (on the same server):

Feb 27 20:26:02 Jolla carddav-client[17215]: [W] Buteo::TransportTracker::btConnectivityStatus:202 - This device does not have a BT adapter 
Feb 27 20:26:03 Jolla carddav-client[17215]: [W] ContactsEngine::ContactsEngine:803 - The 'mergePresenceChanges' option has not been configured - presence changes will only be reported via ContactManagerEngine::contactsPresenceChanged()
Feb 27 20:26:03 Jolla carddav-client[17215]: [D] SignOn::IdentityImpl::updateState:103 - identityimpl.cpp 103 updateState Updating state:  PendingRegistration 
Feb 27 20:26:03 Jolla carddav-client[17215]: [D] SignOn::AuthSessionImpl::initInterface:174 - authsessionimpl.cpp 174 initInterface 
Feb 27 20:26:03 Jolla carddav-client[17215]: [D] SignOn::AuthSessionImpl::process:270 - authsessionimpl.cpp 270 process sending to queue 
Feb 27 20:26:03 Jolla carddav-client[17215]: [D] SignOn::IdentityImpl::updateState:103 - identityimpl.cpp 103 updateState Updating state:  Ready 
Feb 27 20:26:03 Jolla carddav-client[17215]: [D] SignOn::DBusOperationQueueHandler::execQueuedOperations:137 - dbusoperationqueuehandler.cpp 137 execQueuedOperations Executing cached oparation: SIGNATURE: "process(SessionData,QString)" 
Feb 27 20:26:03 Jolla carddav-client[17215]: [D] SignOn::DBusOperationQueueHandler::execQueuedOperations:149 - dbusoperationqueuehandler.cpp 149 execQueuedOperations 
Feb 27 20:26:03 Jolla carddav-client[17215]: [D] SignOn::AuthSessionImpl::process:265 - authsessionimpl.cpp 265 process sending to daemon 
Feb 27 20:26:03 Jolla carddav-client[17215]: [W] CardDav::userInformationResponse:307 - void CardDav::userInformationResponse() error: 203 ( 404 ) 
Feb 27 20:26:03 Jolla carddav-client[17215]: [C] CardDavClient::syncFinished:137 - CardDAV sync failed: 401 ""

On the same server/setup the CalDAV, so this could not be the problem.

Server details:
Debian 8
PHP 5.6.5
sabre/dav 2.1.1

Edit: Try it with a valid certificate now and become a other error:

Mär 09 22:18:12 Jolla [1002]: [W] Buteo::ProfileManagerPrivate::parseFile:1105 - Profile file not found: "/home/nemo/.cache/msyncd/sync/onlinesync-carddav.xml" 
Mär 09 22:18:12 Jolla [1002]: [W] Buteo::ProfileManagerPrivate::load:152 - Failed to load profile: "onlinesync-carddav" 
Mär 09 22:18:25 Jolla [1002]: [W] Buteo::ProfileManagerPrivate::parseFile:1105 - Profile file not found: "/home/nemo/.cache/msyncd/sync/onlinesync-carddav.xml" 
Mär 09 22:18:25 Jolla [1002]: [W] Buteo::ProfileManagerPrivate::load:152 - Failed to load profile: "onlinesync-carddav"

I saw that the xml file was not there (although I activate CardDAV in the settings) so I create them manually (I take the exist file for mail- and CalDAV-configuration as example)

Hope I can help Jolla and the devs by debugging.

EDIT: Not sure the issue still manifests itself in the same way in the logs, but I still cannot get it to work in 1.1.4.29 with Fastmail. Updated tags accordingly. It btw. works with SyncEvolution.

edit retag flag offensive close delete

Comments

1

you could try debuging it by looking at the log files of your apache/nginx server. typically the paths jolla/buteo tries is not correct but you might be able to work around it by using redirects/rewrites serverside. that works quite well for me with owncloud. there are also branches of buteo-sync-plugin-carddav that have improved url handling, I'm wondering why they haven't been integrated yet.

simonschmeisser ( 2015-02-27 22:53:42 +0300 )edit

@simonschmeisser: do you know of working .htaccess files for apache? the ones i found are just for nginx?

dmnk ( 2015-02-28 00:00:53 +0300 )edit

Could bring it to work with SyncEvolution so theres no urgent anymore. I just won't that jolla fix it in the future because the url it right.

heubergen ( 2015-02-28 00:10:22 +0300 )edit

How did you get it working with sync evolution? I have an owncloud, real certificate, installed required intermediate certs to jolla cert store. Yet sync evolution doesn't accept the cert nor can I use the override to ignore untrusted certs.

japa-fi ( 2015-03-01 10:53:33 +0300 )edit

@japa-fi It a bit complicated: You have to look where is the right ini file that you have to overwrite. You should see that in the log from SyncEvolution.

heubergen ( 2015-03-01 20:59:51 +0300 )edit