View Issue Details

IDProjectCategoryView StatusLast Update
0001098SOGo Connectorwith external serverpublic2012-03-06 19:58
Reporterfedel Assigned Towsourdeau 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.104 
Summary0001098: GroupDavSynchronizer: obsolete DAV:sync-response after DAV:sync-collection request?
Description

The Sogo connector for Thunderbird (current nightly, 2011/01/25) only accepts DAV:sync-response's in response to DAV:sync-collection requests in the address book code. However, it seems like the newer WebDAV Sync drafts (see http://tools.ietf.org/html/draft-daboo-webdav-sync-04) suggest using regular DAV:response's instead of DAV:sync-response's.

As a consequence, Thunderbird cannot receive new or updated objects from a CardDAV server which complies to a newer WebDAV Sync draft. This problem has been observed with the Sogo connector Jan 25, 2011 nightly communicating with a DAViCal server, version 0.9.9.4.

The attached patch adds support for both response options. It may be applied against the current nightly.

Additional Information

Bug 0000942 might be related.

TagsNo tags attached.

Relationships

has duplicate 0000857 resolvedludovic Lightning CardDAV plugin wants old syntax for WebDAV Sync report 
related to 0001110 closed Various patches for synchronizing Thunderbird address books with iPhone, iPad etc. and DAViCal 

Activities

2011-01-26 15:44

 

sync.addressbook.groupdav.patch (1,406 bytes)   
diff -Nur sogo-connector-3.104-nightly\chrome\content\sogo-connector\general\sync.addressbook.groupdav.js sogo-connector-3.104-nightly-patched\chrome\content\sogo-connector\general\sync.addressbook.groupdav.js
--- sogo-connector-3.104-nightly\chrome\content\sogo-connector\general\sync.addressbook.groupdav.js	Tue Jan 25 07:45:16 2011
+++ sogo-connector-3.104-nightly-patched\chrome\content\sogo-connector\general\sync.addressbook.groupdav.js	Wed Jan 26 16:30:28 2011
@@ -814,6 +814,15 @@
                 this.newWebdavSyncToken
                     = jsonResponse["multistatus"][0]["sync-token"][0];
                 let responses = jsonResponse["multistatus"][0]["sync-response"];
+                /* WebDAV Sync Draft 3+ propose regular "DAV:response" instead of 
+                   "DAV:sync-response" in response to "DAV:sync-collection" */
+                if (typeof responses == "undefined") {
+                    responses = jsonResponse["multistatus"][0]["response"];
+                    for each (let response in responses) {
+                        if (typeof response["status"] == "undefined")
+                            response["status"] = ["HTTP/1.1 200 OK"];
+                    }
+                }
                 for each (let response in responses) {
                     let href = response["href"][0];
                     let keyArray = href.split("/");
fedel

fedel

2011-01-26 15:54

reporter   ~0002051

I just noticed Andrew Miller's bug 0000857. This new report turns out to be a duplicate of Andrew's issue.

erik_hjerten

erik_hjerten

2011-03-16 14:10

reporter   ~0002265

I have made a simple test using the above patch on nightly sogo-connector-3.105pre6.xpi as of 2011-03-16.

Starting from a empty CardDAV address book I copy pasted about 150 entries into it and performed a sync to the Davical server. I then synced my Android phone against these entries as well. I also edited some entries in both Thunderbird and my phone and performed syncing back and forth a couple of times.

All seems to work fine. :)

My environment:
Tunderbird 3.1.9 under Windows Vista 64 bit
Nightly sogo-connector-3.105pre6.xpi as of 2011-03-16.
Davical server 0.9.9.4 (without special setting for this bug, $c->use_old_sync_response_tag = true;) on Ubuntu 10.04
Android 2.1 on a SonyEricsson x-10 mini pro
CardDAV-Sync app on the phone

florian_rittmeier

florian_rittmeier

2011-03-22 22:24

reporter   ~0002287

I just tested the sogo-connector-3.105pre6.xpi using Icedove 3.0.11 on Debian Squeeze using two different Icedove profiles (separate install of add-on) and it did not work. :-(

Details:
I created a new collection in DAViCal (should be 0.9.9.4 or at least 0.9.9.3 with option set). Added the remote addressbook to profile A. Created three new contacts. Forced sync. No complains.
Switched to profile B, added the remote addressbook to profile B. Synced. No contacts. Added new contact. Synced. Still only the newly created contact.
Switched back to profile A, synced, but only the three contacts created in profile A show up.
The collection in DAViCal now contains 16 items, what ever this means.

As far as I understood it on the DaviCal mailing list the problem is that new contacts are not discovered by Icedove/Sogo. It might be, that changes/updates work fine.

erik_hjerten

erik_hjerten

2011-03-23 10:11

reporter   ~0002288

Florian, did you apply the patch attached to this bug report?

florian_rittmeier

florian_rittmeier

2011-03-23 13:13

reporter   ~0002289

I`m sorry, I assumed that the nightly build would contain the patch.

I tested again using new profiles. This time I applied the patch and removed XUL.mfasl and XPC.mfasl, as I heard that after patching extensions its recommended to remove these cache files.

Unfortunately the remote adressbook using the two profile setup still does not work. I`m still waiting for a reponse of my admin if the server is running 0.9.9.3 or 0.9.9.4.

But perhaps someone could test this two profile setup, too. Just to be sure. It takes less than 10 minutes.

florian_rittmeier

florian_rittmeier

2011-03-24 23:17

reporter   ~0002296

I can now confirm that my tests used DAViCal 0.9.9.4.

gregoryfinch

gregoryfinch

2011-03-25 15:16

reporter   ~0002297

Using the patch attached to this bug report against sogo-connector-3.105per6 from 2011-03-12 on 3 separate systems I can confirm that this patch works as advertised.

Environment:
Thunderbird 3.1.9 - all systems
Davical server 9.9.4 on apache 2.2.14/php 5.2.12
windows 7 x64 - one client
Windows XP pro x86 - two clients

Florian, I've found it easier to patch the extension, zip it back up into an xpi and reinstall the extension; less messing around with caches

florian_rittmeier

florian_rittmeier

2011-03-25 20:37

reporter   ~0002298

Gregory, are you connecting to the server using http or https? I ask as I tried using the patched xpi which works fine for Erik. I am connecting using https and Erik is using http.

gregoryfinch

gregoryfinch

2011-04-13 15:05

reporter   ~0002381

Florian: my server is configured to use https only.

Sven Giermann

Sven Giermann

2011-08-03 14:46

reporter   ~0002781

Ludovic advised me to try this patch; unfortunately it does not make SoGO Connector work with Kerio Connect Server (CardDAV)...

Any (more) suggestions?

ludovic

ludovic

2012-02-08 21:33

administrator   ~0003404

Should be fixed with the TB10 extensions available from:

http://inverse.ca/downloads/extensions/nightly/

Test them and report.

gregoryfinch

gregoryfinch

2012-02-13 22:06

reporter   ~0003433

Using 10.0pre4 from 2012Feb10 against davical-1.0.2 connecting only via ssl.

Seems to be working correctly for me. Changes, additions and deletions appear to be propagating both ways between the server and connector.

The only errors I'm seeing are the following log entries from the server side:

davical: LOG: request: Request specified content type but none is present. Assuming null content-type.

wsourdeau

wsourdeau

2012-03-06 19:58

viewer   ~0003537

Solved in 10.0

Issue History

Date Modified Username Field Change
2011-01-26 15:44 fedel New Issue
2011-01-26 15:44 fedel File Added: sync.addressbook.groupdav.patch
2011-01-26 15:54 fedel Note Added: 0002051
2011-03-08 13:26 ludovic Relationship added has duplicate 0000857
2011-03-09 20:19 wsourdeau Relationship added related to 0001110
2011-03-16 14:10 erik_hjerten Note Added: 0002265
2011-03-22 22:24 florian_rittmeier Note Added: 0002287
2011-03-23 10:11 erik_hjerten Note Added: 0002288
2011-03-23 13:13 florian_rittmeier Note Added: 0002289
2011-03-24 23:17 florian_rittmeier Note Added: 0002296
2011-03-25 15:16 gregoryfinch Note Added: 0002297
2011-03-25 20:37 florian_rittmeier Note Added: 0002298
2011-04-13 15:05 gregoryfinch Note Added: 0002381
2011-08-03 14:46 Sven Giermann Note Added: 0002781
2012-02-08 21:33 ludovic Note Added: 0003404
2012-02-13 22:06 gregoryfinch Note Added: 0003433
2012-03-06 19:58 wsourdeau Note Added: 0003537
2012-03-06 19:58 wsourdeau Status new => resolved
2012-03-06 19:58 wsourdeau Resolution open => fixed
2012-03-06 19:58 wsourdeau Assigned To => wsourdeau