Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

Reply
Visitor
Posts: 1
Registered: ‎05-20-2013
My Device: Z10
My Carrier: Koodo

CardDAV support broken

[ Edited ]

After the 10.1 update, CalDAV and CardDAV support are now working -- mostly.  I'm using Baikal 0.2.4, with some patching to support basic auth, and it doesn't seem to know what to do with BB10's default request of 'PROPFIND /'.  As a result, in the 'Server Address', I need to provide a server name as well as a path.

 

CalDAV: dav.example.com/cal.php/calendards/username/default

CardDAV: dav.example.com/card.php/addressbooks/username/default

 

CalDAV works without issue.  However, after verifying the CardDAV settings, BB10 seems to strip the path from the 'Server Address', rendering the field as 'dav.example.com'.  Which means that BB10 attempts to 'PROPFIND /', which, as previously noted, doesn't work.

 

Server logs when verifying account settings, and CardDAV works just fine:

 

ip.add.re.ss - username [20/May/2013:18:07:54 +0000] "PROPFIND /card.php/addressbooks/username/default HTTP/1.1" 207 425 "-" "RIM" "-"

ip.add.re.ss - username [20/May/2013:18:07:56 +0000] "PROPFIND /card.php/principals/username/ HTTP/1.1" 207 419 "-" "RIM" "-"
ip.add.re.ss - username [20/May/2013:18:07:57 +0000] "PROPFIND /card.php/addressbooks/username/ HTTP/1.1" 207 592 "-" "RIM" "-"
ip.add.re.ss - username [20/May/2013:18:07:59 +0000] "PROPFIND /card.php/addressbooks/username/default/ HTTP/1.1" 207 516 "-" "RIM" "-"

 

Server logs after the account has been verified, and the phone tries to do updates:

 

ip.add.re.ss - username [20/May/2013:18:08:03 +0000] "PROPFIND / HTTP/1.1" 405 172 "-" "RIM" "-"
ip.add.re.ss - username [20/May/2013:18:08:04 +0000] "PROPFIND / HTTP/1.1" 405 172 "-" "RIM" "-"
ip.add.re.ss - username [20/May/2013:18:08:06 +0000] "PROPFIND / HTTP/1.1" 405 172 "-" "RIM" "-"
ip.add.re.ss - username [20/May/2013:18:08:08 +0000] "PROPFIND / HTTP/1.1" 405 172 "-" "RIM" "-"

 

Anyone have any suggestions (other than putting in a re-write rule for /)?

 

(Message edited to remove an accidental double-paste of the beginning bits.)

Developer
Posts: 18
Registered: ‎02-06-2009
My Device: BlackBerry Z10
My Carrier: Sosh

Re: CardDAV support broken

Hi,

 

personaly I use davical as a backend, but I think you have the same problems I had when tried in the very first time to setup CardDav with my BB Z10: the phone don't work over HTTP, for me, stuff worked well ONLY after putting my davical server on HTTPS !

 

what I observed is that when I tried to validate my settings, the phone didn't tried at all to contact my server, since nothing appeared on my apache logs. When I tried putting my server over an SSL channel, I got my phone to accept my settings.

 

The phone stripped down the path I set but thing are still working, my davical system answer PROPFIND requests and direct the phone to the right place.

 

Strange thing is that the phone accept non SSL HTTP caldav access for calendar, but refuse to work for contacts without SSL (hence forcing to use an encrypted channel makes sens, allowing non encrypted channel for calendar still weird).

 

Also, I tried Baikal like you but this is definitively not compatible with BBs.

 

I'm not sur if this is caused by davical or by the BB, but it seems that carddav implementation is not well stable on the BB, since I can add/edit new contacts from the BB, but if I add/edit a contact from anywhere else, the phone will not sync that info (I can see that the phone get the new objects from my server, but the new contact does not appears).

 

really strange behavior...

 

best regards,

Strato

New Contributor
Posts: 2
Registered: ‎09-14-2013
My Device: Q5
My Carrier: o2

Re: CardDAV support broken

I am using owncloud as a contacts provider with my q5, including the update to 10.1.0.4181, and while caldav works nice, Carddav is broken. There are lots of people in different forums trying to figure out what's wrong, but like @mutemule wrote, the device just makes bogus request.

 

This is quite strange, I think there should be enough BSD licensed code out there for BB to use Smiley Happy

 

 

Developer
Posts: 18
Registered: ‎02-06-2009
My Device: BlackBerry Z10
My Carrier: Sosh

Re: CardDAV support broken

Hello !

 

Well, I moved to ownCloud but forget to put my experience with here, sorry Smiley Wink

 

BB's carddav implementation is really broken but it is possible to make it works with ownCloud, if you do some small things:

 

1) if you're trying something "simple" for starting, like not using SSL for accessing your ownCloud Instance, this is the first thing where BB10 can could get you mad: although CalDAV works without SSL, CardDaV don't ! So, enable SSL.

 

2) BB10 will send requests but not follow uri paths reported by ownCloud, so you have to play with the RewriteRules apache mod. Nicolas, developer of PlayCloud already posted some basic example of some RewriteRules that works. I personaly used a different way but still it woks.

 

Nicolas also provide some patchs to ownCloud to make it better compatible with BB10.

 

I don't remember the link of his posts on the forum but searching for PlayCloud will direct you to the official web site, where there is a section for ownCloud (read the blogs).

 

The only thing that is still broken now with ownCloud and BB10 is something that was introduced somewhere with an OS update (I started using ownCloud in 10.0 and it was fine): now I observed a weird behavior that every time a do an action on a contact, like edit or adding, one other contact will being duplucated, causing a new "clone" every single time I do an action, causing sometimes that particular contcat to be dubbed 20 times !

 

Even if I delete it, every time, a new copy appears.

 

I didn't posted anything about this bug since I have to dig into ownCloud to see if I can do something to avoid this...

 

Best regards.

Highlighted
New Member
Posts: 1
Registered: ‎10-09-2013
My Device: Z10
My Carrier: T-Mobile

Re: CardDAV support broken

The following configuration has worked for me (I did not have much luck with mod_rewrite). The key observation was, indeed, that the tool silenty strips away any slahes from the "server" field.

<VirtualHost *:443>
        ServerName card-baikal.example.org

        SSLEngine on
        SSLCertificateFile ...
        SSLCertificateKeyFile ...

        SSLProxyEngine on
        <Location /card.php/>
                ProxyPass https://baikal.example.org/card.php/
        </Location>
        <Location />
                ProxyPass https://baikal.example.org/card.php/
        </Location>
</VirtualHost>

It's a good idea to import the server's certificate. One can easy use smbclient -U BlackBerry%yourpasswordhere //ip-of-the-device-on-wifi/certs for upload prior to manual import.