I have a Roundcube installation running on a Debian server with the CardDAV plugin that was, until recently, successfully syncing contacts with my G Suite account.
Today I noticed it had stopped syncing, possibly around about the same time I upgraded my Roundcube installation to the 1.4 release candidate so it might be related to that. However, I've also noticed (as I'm not a regular G Suite front end user) that the Contacts page has been updated at some point and there is at least one post online where the new Contacts page has caused a strange 404 error.
I've turned debug on in carddav_common.php and I see errors such as this:
<d:href>/carddav/v1/principals/my@email/lists/default/7ce3a46c0b9bc640</d:href> <d:propstat> <d:status>HTTP/1.1 200 OK</d:status> <d:prop> <d:getetag>"2019-02-28T01:49:18.255-08:00"</d:getetag> </d:prop> </d:propstat> <d:propstat> <d:status>HTTP/1.1 404 Not Found</d:status> <d:prop> <d:getcontenttype/> </d:prop> </d:propstat> </d:response> <d:response>
I was running CardDAV plugin 3.0.1 and have tried upgrading to 3.0.3 (the latest) with the same result.
Although the contact list in Roundcube is empty, if I create a contact it does get synced to Google, so the authentication etc. is correct, it's just pulling the contacts off Google's servers that is failing.
Plumbing that URL (https://google.com/carddav/v1/principals/my@email/lists/default/7ce3a46c0b9bc640) straight into a web browser allows me to authenticate and download the vcard. If I try it with wget or curl from the same server as Roundcube, I get an "authentication failed" error, not a 404, which implies everything is as it should be. So why is CardDAV encountering that error?