-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Closed
Description
Steps to reproduce
- Configure an Android DAV Sync client (tried DAVdroid and CalDAVSync) to sync the contacts saved in the Nextcloud instance
- Start sync process
Expected behaviour
Contacts should be synced to the Android Phone
Actual behaviour
Sync fails
Server configuration
Operating system: Ubuntu 14.04
Web server: Apache2
Database: MySQL
PHP version:
- PHP 7.0.11-2+deb.sury.org
trusty+2 (cli) ( NTS )trusty+2, Copyright (c) 1999-2016, by Zend Technologies
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.11-2+deb.sury.org - the Serverinfo page still stats 5.6.23
Nextcloud version: 10.0.1 (stable)
Updated from an older Nextcloud/ownCloud or fresh install: Updated from ownCloud 9.1 (moved data folder outside the Webroot), possible that this behaviour occurred before as well
Where did you install Nextcloud from: tar.gz
Signing status:
Signing status
No errors have been found.
List of activated apps:
App list
Enabled:
- activity: 2.3.2
- admin_audit: 1.0.0
- apporder: 0.3.2
- calendar: 1.4.0
- comments: 1.0.0
- contacts: 1.4.0.0
- dav: 1.0.0
- direct_menu: true
- documents: 0.13.1
- external: 1.2
- federatedfilesharing: 1.0.1
- federation: 1.0.1
- files: 1.5.2
- files_pdfviewer: 0.8.1
- files_retention: 1.0.0
- files_sharing: 1.0.0
- files_texteditor: 2.1
- files_trashbin: 1.0.0
- files_versions: 1.3.0
- files_videoplayer: 0.9.8
- firstrunwizard: 1.1
- gallery: 15.0.0
- mail: 0.6.0
- music: 0.3.12
- news: 9.0.4
- notifications: 0.3.0
- ownnote: 1.08
- password_policy: 1.0.0
- provisioning_api: 1.0.0
- qownnotesapi: 16.09.0
- serverinfo: 1.1.1
- survey_client: 0.1.5
- systemtags: 1.0.2
- tasks: 0.9.3
- templateeditor: 0.1
- theming: 1.0.1
- updatenotification: 1.0.1
- user_ldap: 1.0.1
- workflowengine: 1.0.1
Disabled:
- encryption
- files_accesscontrol
- files_automatedtagging
- files_external
- user_external
- user_saml
The content of config/config.php:
Config report
{
"system": {
"instanceid": "oca4dff1e574",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"scroom.de"
],
"datadirectory": "\/var\/local\/nextcloud\/data",
"dbtype": "mysql",
"version": "9.1.1.5",
"dbname": "cloud",
"dbhost": "localhost",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"ldapIgnoreNamingRules": false,
"forcessl": true,
"mail_from_address": "cloud",
"mail_smtpmode": "php",
"mail_domain": "scroom.de",
"preview_libreoffice_path": "\/usr\/bin\/libreoffice",
"logtimezone": "Europe\/Berlin",
"logfile": "\/var\/www\/cloud\/data\/cloud.log",
"loglevel": "0",
"log_authfailip": true,
"theme": "scroom",
"maintenance": false,
"secret": "***REMOVED SENSITIVE VALUE***",
"forceSSLforSubdomains": true,
"overwrite.cli.url": "\/cloud",
"trashbin_retention_obligation": "auto,30",
"updatechecker": false,
"htaccess.RewriteBase": "\/cloud",
"appstore.experimental.enabled": true,
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.local": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "localhost",
"port": 6379
},
"ldapProviderFactory": "\\OCA\\User_LDAP\\LDAPProviderFactory"
}
}
Are you using external storage, if yes which one: no
Are you using encryption: no
Are you using an external user-backend, if yes which one: LDAP
LDAP configuration (delete this part if not used)
LDAP config
+-------------------------------+--------------------------------------------------------------------------------------+
| Configuration | s01 |
+-------------------------------+--------------------------------------------------------------------------------------+
| hasMemberOfFilterSupport | 0 |
| hasPagedResultSupport | |
| homeFolderNamingRule | |
| lastJpegPhotoLookup | 0 |
| ldapAgentName | cn=Manager,dc=example,dc=com |
| ldapAgentPassword | *** |
| ldapAttributesForGroupSearch | |
| ldapAttributesForUserSearch | |
| ldapBackupHost | |
| ldapBackupPort | |
| ldapBase | o=domains,dc=example,dc=com |
| ldapBaseGroups | o=domains,dc=example,dc=com |
| ldapBaseUsers | o=domains,dc=example,dc=com |
| ldapCacheTTL | 400 |
| ldapConfigurationActive | 1 |
| ldapDynamicGroupMemberURL | |
| ldapEmailAttribute | mail |
| ldapExperiencedAdmin | 0 |
| ldapExpertUUIDGroupAttr | |
| ldapExpertUUIDUserAttr | mail |
| ldapExpertUsernameAttr | |
| ldapGroupDisplayName | cn |
| ldapGroupFilter | |
| ldapGroupFilterGroups | |
| ldapGroupFilterMode | 0 |
| ldapGroupFilterObjectclass | |
| ldapGroupMemberAssocAttr | uniqueMember |
| ldapHost | example.com |
| ldapIgnoreNamingRules | |
| ldapLoginFilter | (&(|(objectclass=mailUser))(|(|(mailPrimaryAddress=%uid)(mail=%uid))(|(mail=%uid)))) |
| ldapLoginFilterAttributes | mail |
| ldapLoginFilterEmail | 1 |
| ldapLoginFilterMode | 0 |
| ldapLoginFilterUsername | 0 |
| ldapNestedGroups | 0 |
| ldapOverrideMainServer | 0 |
| ldapPagingSize | 500 |
| ldapPort | 389 |
| ldapQuotaAttribute | |
| ldapQuotaDefault | |
| ldapTLS | 0 |
| ldapUserDisplayName | cn |
| ldapUserDisplayName2 | |
| ldapUserFilter | (|(objectclass=mailUser)) |
| ldapUserFilterGroups | |
| ldapUserFilterMode | 1 |
| ldapUserFilterObjectclass | mailUser |
| ldapUuidGroupAttribute | auto |
| ldapUuidUserAttribute | auto |
| turnOffCertCheck | 0 |
| useMemberOfToDetectMembership | 1 |
+-------------------------------+--------------------------------------------------------------------------------------+
DAVdroid: 1.3.1-ose
Operating system: Cyanogen OS 13.1.2
Logs
Web server error log
Web server error log
Insert your webserver log here
Nextcloud log
{"reqId":"Jih0UOncAP8LUkvfGcWx","remoteAddr":"*.*.*.*","app":"admin_audit","message":"Login attempt: \"user@example.com\"","level":1,"time":"2016-10-13T09:18:09+02:00","method":"PROPFIND","url":"\/cloud\/remote.php\/dav\/addressbooks\/users\/user@example.com\/neu\/","user":"--"}
{"reqId":"Jih0UOncAP8LUkvfGcWx","remoteAddr":"*.*.*.*","app":"admin_audit","message":"Login successful: \"user@example.com\"","level":1,"time":"2016-10-13T09:18:09+02:00","method":"PROPFIND","url":"\/cloud\/remote.php\/dav\/addressbooks\/users\/user@example.com\/neu\/","user":"user@example.com"}
{"reqId":"lopSJeGIeJF3fQo37W3O","remoteAddr":"*.*.*.*","app":"admin_audit","message":"Login attempt: \"user@example.com\"","level":1,"time":"2016-10-13T09:18:10+02:00","method":"PROPFIND","url":"\/cloud\/remote.php\/dav\/addressbooks\/users\/user@example.com\/neu\/","user":"--"}
{"reqId":"lopSJeGIeJF3fQo37W3O","remoteAddr":"*.*.*.*","app":"admin_audit","message":"Login successful: \"user@example.com\"","level":1,"time":"2016-10-13T09:18:10+02:00","method":"PROPFIND","url":"\/cloud\/remote.php\/dav\/addressbooks\/users\/user@example.com\/neu\/","user":"user@example.com"}
{"reqId":"e4dyx1FwfeSJyROl1hxY","remoteAddr":"*.*.*.*","app":"webdav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 404 Card not found\",\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\NotFound\",\"Code\":0,\"Trace\":\"#0 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(76): OCA\\\\DAV\\\\CardDAV\\\\AddressBook->getChild('https:')\\n#1 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(71): Sabre\\\\DAV\\\\Tree->getNodeForPath('addressbooks\\\/us...')\\n#2 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(71): Sabre\\\\DAV\\\\Tree->getNodeForPath('addressbooks\\\/us...')\\n#3 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(71): Sabre\\\\DAV\\\\Tree->getNodeForPath('addressbooks\\\/us...')\\n#4 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(71): Sabre\\\\DAV\\\\Tree->getNodeForPath('addressbooks\\\/us...')\\n#5 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(71): Sabre\\\\DAV\\\\Tree->getNodeForPath('addressbooks\\\/us...')\\n#6 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(71): Sabre\\\\DAV\\\\Tree->getNodeForPath('addressbooks\\\/us...')\\n#7 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(71): Sabre\\\\DAV\\\\Tree->getNodeForPath('addressbooks\\\/us...')\\n#8 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(270): Sabre\\\\DAV\\\\Tree->getNodeForPath('addressbooks\\\/us...')\\n#9 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(960): Sabre\\\\DAV\\\\Tree->getMultipleNodes(Array)\\n#10 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/CardDAV\\\/Plugin.php(252): Sabre\\\\DAV\\\\Server->getPropertiesForMultiplePaths(Array, Array)\\n#11 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/CardDAV\\\/Plugin.php(198): Sabre\\\\CardDAV\\\\Plugin->addressbookMultiGetReport(Object(Sabre\\\\CardDAV\\\\Xml\\\\Request\\\\AddressBookMultiGetReport))\\n#12 [internal function]: Sabre\\\\CardDAV\\\\Plugin->report('{urn:ietf:param...', Object(Sabre\\\\CardDAV\\\\Xml\\\\Request\\\\AddressBookMultiGetReport), 'addressbooks\\\/us...')\\n#13 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#14 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(716): Sabre\\\\Event\\\\EventEmitter->emit('report', Array)\\n#15 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpReport(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#16 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#17 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(459): Sabre\\\\Event\\\\EventEmitter->emit('method:REPORT', Array)\\n#18 \\\/var\\\/www\\\/cloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(248): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#19 \\\/var\\\/www\\\/cloud\\\/apps\\\/dav\\\/lib\\\/Server.php(184): Sabre\\\\DAV\\\\Server->exec()\\n#20 \\\/var\\\/www\\\/cloud\\\/apps\\\/dav\\\/appinfo\\\/v2\\\/remote.php(30): OCA\\\\DAV\\\\Server->exec()\\n#21 \\\/var\\\/www\\\/cloud\\\/remote.php(165): require_once('\\\/var\\\/www\\\/cloud\\\/...')\\n#22 {main}\",\"File\":\"\\\/var\\\/www\\\/cloud\\\/apps\\\/dav\\\/lib\\\/CardDAV\\\/AddressBook.php\",\"Line\":121,\"User\":\"user@example.com\"}","level":0,"time":"2016-10-13T09:18:10+02:00","method":"REPORT","url":"\/cloud\/remote.php\/dav\/addressbooks\/users\/user@example.com\/neu\/","user":"user@example.com"}
DAVdroid log
SYNCHRONIZATION INFO
Synchronization phase: 9
Account name: user@example.com-dav
Authority: com.android.contacts
HTTP REQUEST:
REPORT /cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/
Depth: 0
<?xml version='1.0' encoding='UTF-8' ?><CARD:addressbook-multiget xmlns="DAV:" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><getcontenttype /><getetag /><CARD:address-data content-type="text/vcard" version="4.0" /></prop><href>/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/https://user%2540example.com@example.com/owncloud/remote.php/carddav/addressbooks/user%2540example.com/kontakte/57116a3e-a648-489c-830f-ee740c650671.vcf.vcf</href><href>/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/https://user%2540example.com@example.com/owncloud/remote.php/carddav/addressbooks/user@example.com/kontakte/876cea7f-43aa-45eb-ad72-f29cd7be9896.vcf.vcf</href><href>/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/https://user%2540example.com@example.com/owncloud/remote.php/carddav/addressbooks/user%2540example.com/kontakte/20140301T060339.2d59e4b4b7%252540teachersai.de.vcf.vcf</href><href>/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/e9bbd441-6b47-42cb-a698-e8fabda64585.vcf</href><href>/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/https://user%2540example.com@example.com/owncloud/remote.php/carddav/addressbooks/user%2540example.com/kontakte/20140301T060335.17b6562826%252540teachersai.de.vcf.vcf</href><href>/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/https://user%2540example.com@example.com/owncloud/remote.php/carddav/addressbooks/user%2540example.com/kontakte/20140301T060335.93fab16fc7%252540teachersai.de.vcf.vcf</href><href>/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/https://user%2540example.com@example.com/owncloud/remote.php/carddav/addressbooks/user@example.com/kontakte/20140301T060337.a23dd0df2a%252540teachersai.de.vcf.vcf</href><href>/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/https://user%2540example.com@example.com/owncloud/remote.php/carddav/addressbooks/user%2540example.com/kontakte/20140301T060334.3be3f4a844%252540teachersai.de.vcf.vcf</href><href>/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/d3fd19dd-a60f-44e5-8df4-f78f1292cae1.vcf</href><href>/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/https://user%2540example.com@example.com/owncloud/remote.php/carddav/addressbooks/user%2540example.com/kontakte/20140301T060334.46031afa93%252540teachersai.de.vcf.vcf</href></CARD:addressbook-multiget>
HTTP RESPONSE:
http/1.1 404 Not Found
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: Keep-Alive
Content-Length: 206
Content-Security-Policy: default-src 'none';
Content-Type: application/xml; charset=utf-8
Date: Thu, 13 Oct 2016 06:35:58 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive: timeout=5, max=98
Pragma: no-cache
Server: Apache
Strict-Transport-Security: max-age=15768000; preload
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: Sameorigin
X-Permitted-Cross-Domain-Policies: none
X-Robots-Tag: none
X-XSS-Protection: 1; mode=block
<?xml version="1.0" encoding="utf-8"?>[LF]
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">[LF]
<s:exception>Sabre\DAV\Exception\NotFound</s:exception>[LF]
<s:message>Card not found</s:message>[LF]
</d:error>[LF]
EXCEPTION:
at.bitfire.dav4android.exception.NotFoundException: 404 Not Found
at at.bitfire.dav4android.DavResource.checkStatus(DavResource.java:308)
at at.bitfire.dav4android.DavResource.checkStatus(DavResource.java:289)
at at.bitfire.dav4android.DavAddressBook.multiget(DavAddressBook.java:109)
at at.bitfire.davdroid.syncadapter.ContactsSyncManager.downloadRemote(ContactsSyncManager.java:326)
at at.bitfire.davdroid.syncadapter.SyncManager.performSync(SyncManager.java:170)
at at.bitfire.davdroid.syncadapter.ContactsSyncAdapterService$ContactsSyncAdapter.onPerformSync(ContactsSyncAdapterService.java:66)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:272)
SOFTWARE INFORMATION
DAVdroid version: 1.3.1-ose (116) Wed Sep 21 08:17:52 GMT+02:00 2016
Installed from: org.fdroid.fdroid
JB Workaround installed: no
CONFIGURATION
System-wide synchronization: automatically
Account: user@example.com-dav
Address book sync. interval: 240 min
Calendar sync. interval: 240 min
OpenTasks sync. interval: 240 min
WiFi only: false
[CardDAV] Contact group method: CATEGORIES
RFC 6868 encoding: true
[CalDAV] Time range (past days): 90
Manage calendar colors: true
SQLITE DUMP
android_metadata
| locale |
| de_DE |
----------
settings
| setting | value |
----------
services
| _id | accountName | service | principal |
| 1 | user@example.com-dav | carddav | https://example.com/cloud/remote.php/dav/principals/users/user@example.com/ |
| 2 | user@example.com-dav | caldav | https://example.com/cloud/remote.php/dav/principals/users/user@example.com/ |
----------
sqlite_sequence
| name | seq |
| services | 2 |
| collections | 7 |
| homesets | 2 |
----------
homesets
| _id | serviceID | url |
| 1 | 1 | https://example.com/cloud/remote.php/dav/addressbooks/users/user@example.com/ |
| 2 | 2 | https://example.com/cloud/remote.php/dav/calendars/user@example.com/ |
----------
collections
| _id | serviceID | url | readOnly | displayName | description | color | timezone | supportsVEVENT | supportsVTODO | sync |
| 2 | 1 | https://example.com/cloud/remote.php/dav/addressbooks/users/user@example.com/neu/ | 0 | Neu | <null> | <null> | <null> | <null> | <null> | 0 |
| 3 | 1 | https://example.com/cloud/remote.php/dav/addressbooks/users/user@example.com/kontakte/ | 0 | Kontakte | <null> | <null> | <null> | <null> | <null> | 1 |
| 4 | 2 | https://example.com/cloud/remote.php/dav/calendars/user@example.com/schule/ | 0 | Schule | Schule | -65536 | <null> | 1 | 1 | 0 |
| 5 | 2 | https://example.com/cloud/remote.php/dav/calendars/user@example.com/contact_birthdays/ | 1 | Contact birthdays | <null> | -54 | <null> | 1 | 1 | 0 |
| 6 | 2 | https://example.com/cloud/remote.php/dav/calendars/user@example.com/family/ | 0 | Family | Family | -256 | <null> | 1 | 1 | 0 |
| 7 | 2 | https://example.com/cloud/remote.php/dav/calendars/user@example.com/pers%c3%b6nlich/ | 0 | Persönlich | Persönlich | <null> | <null> | 1 | 1 | 0 |
----------
SYSTEM INFORMATION
Android version: 6.0.1 (MHC19Q)
Device: OnePlus A0001 (A0001)