MacOS (CardDav) to MDaemon (25.5 & 26) not working, due to protocol bug
-
I’m trying to sync Apple Contacts on macOS with an MDaemon 25.5.0 (and higher, all tested!) CardDAV account.
Account setup succeeds and macOS accepts the account. In the macOS CardDAV logs I see:
syncUseSyncReport:1 syncMaxMultiGetBatch:50 syncMaxRequestsPerAddressBook:5 Preparing to sync 1 containers _handleAddsOrModifies:(0 items) removes:(0 items) SYNCHRONIZATION ... Error (null)So macOS performs a real sync, but ends with 0 items.
I tested the CardDAV collection manually with curl. A normal CardDAV addressbook-query works and returns all vCards correctly:
REPORT /webdav/addressbook/ <card:addressbook-query ...> → HTTP/1.1 207 Multi-Status → many BEGIN:VCARD entriesHowever, Apple MacOS appears to use DAV sync-collection. When I test that manually:
REPORT /webdav/addressbook/ <D:sync-collection xmlns:D="DAV:"> <D:sync-token/> <D:sync-level>1</D:sync-level> <D:prop><D:getetag/></D:prop> </D:sync-collection>MDaemon returns:
HTTP/1.1 400 Bad Request <altn:webdav-version>25.5.0</altn:webdav-version> <altn:exception>ALTN\DAV\Exception\Bad Request</altn:exception> <altn:message>Your browser sent a request that this server could not understand.</altn:message>So it looks like:
- CardDAV itself works (iPhone is working and other client apps too)
- vCards are present (when checking with Curl and other client apps)
- addressbook-query works
- macOS uses sync-collection
- MDaemon returns 400 on sync-collection
- macOS then completes sync with 0 contacts and no visible errorIs REPORT sync-collection supposed to be supported for CardDAV in MDaemon 25.5.0?
Is there a setting to disable sync-report/sync-token support, or is this a known Apple Contacts compatibility issue?
Tested with latest MacOS Tahoe 26.5
-
-
-
-
-
-