View Issue Details

IDProjectCategoryView StatusLast Update
0003408SOGo Connectorwith external serverpublic2016-07-21 20:16
Reporterclupus Assigned Toludovic  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionsuspended 
PlatformClientOSUbuntuOS Version14.04 LTE
Product Version31.0.1 
Summary0003408: Thunderbird cannot sync contacts anymore
Description

I am running the latest SOGo connector version (31.0.2) together with thunderbird 38.4.0 and a zimbra server (provided by the company).

I had once the sync via CardDAV running. Not it seems impossible to update any new contacts to the server. On the webfrontend no (new) contacts appear. When starting TB with command line option '-console' and added verbosity (browser.dom.window.dump.enabled = true) I get the error code 409 from the server.

The log shows:
<<<<<<<<<<<<<<<<<<
8/sync with https://zimbra.hiz-saarland.de/dav/&lt;User>/Contacts/...
GOT STATUS: 207
new card 'sdf sadf' will be uploaded
ctag matches or drop operation
GETTING BUSY
NOTICE: uploading modified vcard with etag: -1
NOTICE: uploading modified vcard without etag
GOT STATUS: 409
GOT STATUS: 207
8/sync with https://zimbra.hiz-saarland.de/dav/&lt;User>/Contacts/ has ended.

If I alter a contact created on the server the etag has the form "6832-3762".

If I move (or copy) a contact from another address book in TB this leads to a similar message but with the etag "313:3", which is obvious a different structure.

Steps To Reproduce
  • Make your address book synchronize as desired (reading direction)
  • Create a new entry in the book in TB or copy from another address book
TagsCardDAV, thunderbird, zimbra

Activities

clupus

clupus

2015-12-10 13:28

reporter   ~0009193

Additional information: I tried the same progress with my android mobile. Here a new contact could be created in zimbra. Thus I assume the problem to be located in TB/SOGo connector.

Christian

gregor

gregor

2016-01-01 17:01

reporter   ~0009220

Last edited: 2016-01-03 18:08

I have here the same problem + it's possible to create contacts from an android device synchronized with carddav-sync.

Client:
sogo connector 31.0.2
thunderbird 38.5.0-1
arch linux 4.2.5-1-ARCH 0000001

Server:
zimbra 8.6.0_GA_1153.RHEL6_64_20141215151155 RHEL6_64
CentOS release 6.7 (Final)

error console:

Upload failure uploading card: https://&lt;servername>/dav/&lt;username>/&lt;contact folder>/C6E65447-5060-0001-EE10-1690DE85B1C0.vcf.
HTTP Status Code:409

  • card properties:
    0 prop: [xpconnect wrapped nsIProperty]; name: DisplayName; value: 0000test
    1 prop: [xpconnect wrapped nsIProperty]; name: RecordKey; value: 344
    2 prop: [xpconnect wrapped nsIProperty]; name: PreferMailFormat; value: 0
    3 prop: [xpconnect wrapped nsIProperty]; name: DbRowID; value: 159
    4 prop: [xpconnect wrapped nsIProperty]; name: groupDavVersionPrev; value: -1
    5 prop: [xpconnect wrapped nsIProperty]; name: PopularityIndex; value: 0
    6 prop: [xpconnect wrapped nsIProperty]; name: PhotoType; value: generic
    7 prop: [xpconnect wrapped nsIProperty]; name: LastModifiedDate; value: 1451666906
    8 prop: [xpconnect wrapped nsIProperty]; name: FirstName; value: 0000test
    9 prop: [xpconnect wrapped nsIProperty]; name: groupDavKey; value: C6E65447-5060-0001-EE10-1690DE85B1C0.vcf
    10 prop: [xpconnect wrapped nsIProperty]; name: CardUID; value: C6E65447-5060-0001-EE10-1690DE85B1C0.vcf
    11 prop: [xpconnect wrapped nsIProperty]; name: groupDavVersion; value: -1
    12 prop: [xpconnect wrapped nsIProperty]; name: PreferDisplayName; value: 1
  • done

UPDATE: Now I switched to ownCloud as Carddav-Server and there I get after some contacts a error 412 and sometimes the error console filled up with "too much recursion"

Napkin

Napkin

2016-01-26 10:50

reporter   ~0009330

I believe this is related to this:

http://community.zimbra.com/collaboration/f/1897/t/1136671

"Those clients are not specifying an If-None-Match header and Zimbra is requiring that header - although it is a SHOULD rather than a MUST in RFC6352 the specification for CardDAV."

Napkin

Napkin

2016-02-01 15:21

reporter   ~0009386

Well, it was related. Attaching a patch to fix the issue.

Napkin

Napkin

2016-02-01 15:22

reporter  

0003-Make-uploading-of-contacts-work-with-Zimbra.patch (1,654 bytes)   
From 07df4c16a75f2aa912cc263d9a72ecce0ea48d86 Mon Sep 17 00:00:00 2001
From: "Marc H. Thoben" <mthoben@mpipz.mpg.de>
Date: Mon, 1 Feb 2016 15:50:22 +0100
Subject: [PATCH 3/3] Make uploading of contacts work with Zimbra.

* According to bug reports (#84246) Zimbra <8.7beta1 required
* "If-None-Match" header when posting CardDAV requests.
---
 chrome/content/inverse-library/sogoWebDAV.js | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/chrome/content/inverse-library/sogoWebDAV.js b/chrome/content/inverse-library/sogoWebDAV.js
index d5725ac..5a1bf64 100644
--- a/chrome/content/inverse-library/sogoWebDAV.js
+++ b/chrome/content/inverse-library/sogoWebDAV.js
@@ -342,14 +342,16 @@ sogoWebDAV.prototype = {
                         dump("NOTICE: uploading modified vcard without etag\n");
 	                this._sendHTTPRequest(operation,
                                               parameters.data,
-                                              { "content-type": parameters.contentType });
+                                              { "content-type": parameters.contentType,
+                                                "If-None-Match": "*" });
                     }
                 }
 	    }
 	    else {
 	        this._sendHTTPRequest(operation,
                                       parameters.data,
-                                      { "content-type": parameters.contentType });
+                                      { "content-type": parameters.contentType,
+                                        "If-None-Match": "*" });
 	    }
         }
         else if (operation == "PROPFIND") {
-- 
2.6.2

keynet

keynet

2016-04-10 10:57

reporter   ~0009954

Last edited: 2016-04-10 18:52

I can confirm the issue with Zimbra 8.6 (current) and that the fix works

  • many thanks
gregor

gregor

2016-06-17 17:38

reporter   ~0010395

For me it's not working.
On which version did you apply the patch? I tried 31.0.2 and 31.0.3
Can you please add the full xpi, thanks.

ludovic

ludovic

2016-06-17 19:00

administrator   ~0010400

31.0.3 has the proposed patch.

gregor

gregor

2016-06-17 19:06

reporter   ~0010402

With the clean 31.0.3 version it doesn't work on my side. Maybe some other problems. I will recreate the damaged contacts manually

ludovic

ludovic

2016-07-21 20:16

administrator   ~0010515

Suspending for unless - waiting for new evidences.

Issue History

Date Modified Username Field Change
2015-12-09 16:07 clupus New Issue
2015-12-09 16:10 clupus Tag Attached: CardDAV
2015-12-09 16:10 clupus Tag Attached: thunderbird
2015-12-10 13:28 clupus Note Added: 0009193
2016-01-01 17:01 gregor Note Added: 0009220
2016-01-01 17:02 gregor Tag Attached: zimbra
2016-01-03 18:08 gregor Note Edited: 0009220
2016-01-26 10:50 Napkin Note Added: 0009330
2016-02-01 15:21 Napkin Note Added: 0009386
2016-02-01 15:22 Napkin File Added: 0003-Make-uploading-of-contacts-work-with-Zimbra.patch
2016-04-10 10:57 keynet Note Added: 0009954
2016-04-10 18:52 keynet Note Edited: 0009954
2016-06-17 17:38 gregor Note Added: 0010395
2016-06-17 19:00 ludovic Note Added: 0010400
2016-06-17 19:06 gregor Note Added: 0010402
2016-07-12 12:04 ludovic Status new => assigned
2016-07-12 12:04 ludovic Assigned To => ludovic
2016-07-21 20:16 ludovic Note Added: 0010515
2016-07-21 20:16 ludovic Status assigned => closed
2016-07-21 20:16 ludovic Resolution open => suspended