Dependency Graph
View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005420 | SOGo | Backend Address Book | public | 2021-11-01 14:06 | 2022-01-24 13:38 |
Reporter | blackips | Assigned To | francis | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Server | OS | Ubuntu | OS Version | 20.04 LTS |
Product Version | 5.2.0 | ||||
Fixed in Version | 5.5.1 | ||||
Summary | 0005420: CardDAV sync failed - failed status for getetag | ||||
Description | Since updating SOGo from 5.1 to 5.2 we had a lot of issues. Besides heavy usage of MySQL connections due to failed workers (we need to allow around 600 connections for 40 people, no active sync), we observed another issue regarding CardDAV sync operations. Since upgrading, the request for a specific VCARD failed because there will be no ETag within the response and the status for this request is "HTTP/1.1 404 Not Found", while the VCARD is returned correctly with status "HTTP/1.1 200 OK". Please see the attached example named vcard_failed_response.txt. After restoring our 5.1 VM I'd created before upgrading, the same sync request succeeded as shown in vcard_succeeded_response.txt. Both logfiles are created by TbSync which is our ThunderBird DAV client. Synchronization issues can be observed by using Apple Contacts as well, but unfortunatly I can not provide any further details because I lag of a suitable device. There are no configuration file changes, neither for SOGo, NGiNX nor MySQL (except for max_connections) | ||||
Steps To Reproduce | Upgrade a 5.1 installation to 5.2 and try to synchronize CardDAV accounts, which are offered by SoGoUserSources | ||||
Additional Information | This issue seems to apply to SoGoUserSources sources only. Synchronizing personal address books will work in any scenario. | ||||
Tags | No tags attached. | ||||
vcard_failed_response.txt (2,941 bytes)
** Mon Nov 01 2021 14:50:12 GMT+0100 (Mitteleuropäische Normalzeit) ** [URL Request #1] : https://groupware.mydomain.de/SOGo/dav/USERNAME/Contacts/resources/ ** Mon Nov 01 2021 14:50:12 GMT+0100 (Mitteleuropäische Normalzeit) ** [REQUEST] : REPORT : <card:addressbook-multiget xmlns:d="DAV:" xmlns:card="urn:ietf:params:xml:ns:carddav"> <d:prop> <d:getetag /> <card:address-data /> </d:prop> <d:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf1</d:href> <d:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf2</d:href> <d:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf3</d:href> </card:addressbook-multiget> ** Mon Nov 01 2021 14:50:12 GMT+0100 (Mitteleuropäische Normalzeit) ** [RESPONSE] : 207 (Multi-Status) : <?xml version="1.0" encoding="utf-8"?> <D:multistatus xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav"> <D:response> <D:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf1</D:href> <D:propstat> <D:prop> <C:address-data>BEGIN:VCARD UID:meetinggf1 VERSION:3.0 CLASS:PUBLIC PROFILE:VCARD PRODID:-//Inverse inc./SOGo 5.2.0//EN FN:Besprechungsraum GF\, 1. OG EMAIL;TYPE=work:meetingraumgf1@mydomain.de END:VCARD</C:address-data> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> <D:propstat> <D:prop> <D:getetag /> </D:prop> <D:status>HTTP/1.1 404 Not Found</D:status> </D:propstat> </D:response> <D:response> <D:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf2</D:href> <D:propstat> <D:prop> <C:address-data>BEGIN:VCARD UID:meetinggf2 VERSION:3.0 CLASS:PUBLIC PROFILE:VCARD PRODID:-//Inverse inc./SOGo 5.2.0//EN FN:Besprechungsraum GF\, 2. OG EMAIL;TYPE=work:meetingraumgf2@mydomain.de END:VCARD</C:address-data> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> <D:propstat> <D:prop> <D:getetag /> </D:prop> <D:status>HTTP/1.1 404 Not Found</D:status> </D:propstat> </D:response> <D:response> <D:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf3</D:href> <D:propstat> <D:prop> <C:address-data>BEGIN:VCARD UID:meetinggf3 VERSION:3.0 CLASS:PUBLIC PROFILE:VCARD PRODID:-//Inverse inc./SOGo 5.2.0//EN FN:Besprechungsraum GF\, 3. OG EMAIL;TYPE=work:meetingraumgf3@mydomain.de END:VCARD</C:address-data> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> <D:propstat> <D:prop> <D:getetag /> </D:prop> <D:status>HTTP/1.1 404 Not Found</D:status> </D:propstat> </D:response> </D:multistatus> vcard_succeeded_response.txt (2,570 bytes)
** Mon Nov 01 2021 14:18:37 GMT+0100 (Mitteleuropäische Normalzeit) ** [URL Request #1] : https://groupware.mydomain.de/SOGo/dav/USERNAME/Contacts/resources/ ** Mon Nov 01 2021 14:18:37 GMT+0100 (Mitteleuropäische Normalzeit) ** [REQUEST] : REPORT : <card:addressbook-multiget xmlns:d="DAV:" xmlns:card="urn:ietf:params:xml:ns:carddav"> <d:prop> <d:getetag /> <card:address-data /> </d:prop> <d:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf1</d:href> <d:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf2</d:href> <d:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf3</d:href> </card:addressbook-multiget> ** Mon Nov 01 2021 14:18:37 GMT+0100 (Mitteleuropäische Normalzeit) ** [RESPONSE] : 207 (Multi-Status) : <?xml version="1.0" encoding="utf-8"?> <D:multistatus xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav"> <D:response> <D:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf1</D:href> <D:propstat> <D:prop> <D:getetag>hash113347299</D:getetag> <C:address-data>BEGIN:VCARD UID:meetinggf1 VERSION:3.0 CLASS:PUBLIC PROFILE:VCARD PRODID:-//Inverse inc./SOGo 5.1.0//EN FN:Besprechungsraum GF\, 1. OG EMAIL;TYPE=work:meetingraumgf1@mydomain.de END:VCARD</C:address-data> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> <D:response> <D:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf2</D:href> <D:propstat> <D:prop> <D:getetag>hash243192582</D:getetag> <C:address-data>BEGIN:VCARD UID:meetinggf2 VERSION:3.0 CLASS:PUBLIC PROFILE:VCARD PRODID:-//Inverse inc./SOGo 5.1.0//EN FN:Besprechungsraum GF\, 2. OG EMAIL;TYPE=work:meetingraumgf2@mydomain.de END:VCARD</C:address-data> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> <D:response> <D:href>/SOGo/dav/USERNAME/Contacts/resources/meetinggf3</D:href> <D:propstat> <D:prop> <D:getetag>hash104602409</D:getetag> <C:address-data>BEGIN:VCARD UID:meetinggf3 VERSION:3.0 CLASS:PUBLIC PROFILE:VCARD PRODID:-//Inverse inc./SOGo 5.1.0//EN FN:Besprechungsraum GF\, 3. OG EMAIL;TYPE=work:meetingraumgf3@mydomain.de END:VCARD</C:address-data> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus> |
|
Did the fix for 0004896 also solve this issue? |
|
I will update later today and come back to you :) |
|
Can I close this ticket? |
|
Sorry for the late reply, but it was a quite busy week in office. After setting up a new SOGo server with the latest SOGo 5.5.0 and same configuration I'm glad to confirm that the bug is fixed. All contacts will be synced smoothly. :) |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2021-11-01 14:06 | blackips | New Issue | |
2021-11-01 14:06 | blackips | File Added: vcard_failed_response.txt | |
2021-11-01 14:06 | blackips | File Added: vcard_succeeded_response.txt | |
2022-01-13 15:51 | francis | Note Added: 0015767 | |
2022-01-13 15:51 | francis | Note Edited: 0015767 | |
2022-01-13 15:51 | francis | Relationship added | related to 0004896 |
2022-01-13 16:02 | blackips | Note Added: 0015768 | |
2022-01-18 19:02 | francis | Note Added: 0015778 | |
2022-01-23 02:54 | blackips | Note Added: 0015811 | |
2022-01-24 13:38 | francis | Assigned To | => francis |
2022-01-24 13:38 | francis | Status | new => resolved |
2022-01-24 13:38 | francis | Resolution | open => fixed |
2022-01-24 13:38 | francis | Fixed in Version | => 5.5.1 |