Contact birthday calendar not marked as read-only

0

I'm using DAVdroid for a while now and am quite happy with it 😉

Since a couple of weeks I'm getting these tiny alerts though when syncing the calanders. I think I must've edited one of the contact birthdays by accident and now it's trying to write to a readonly calendar.

How can this be prevented?
How can I mark the calendar as readonly? In the list of collections below none of the calendars is marked as such.

Thanks for your help!

SYNCHRONIZATION INFO
Synchronization phase: 4
Account name: username's owncloud 8
Authority: com.android.calendar

HTTP REQUEST:
PUT /owncloud/remote.php/caldav/calendars/username/contact_birthdays/local::2::396.ics
Content-Length: 431
Content-Type: text/calendar;charset=utf-8
If-Match: "37dca33a2c56a1c8d0914908b4337273"

BEGIN:VCALENDAR[CR][LF]
VERSION:2.0[CR][LF]
PRODID:+//IDN bitfire.at//DAVdroid/1.2 ical4android ical4j/2.x[CR][LF]
BEGIN:VEVENT[CR][LF]
DTSTAMP:20160704T054317Z[CR][LF]
UID:C6D38905-3CB0-0001-935C-15004CCA1207[CR][LF]
SEQUENCE:1[CR][LF]
DTSTART;VALUE=DATE:19840510[CR][LF]
DTEND;VALUE=DATE:19840511[CR][LF]
RRULE:FREQ=YEARLY[CR][LF]
SUMMARY:John Doe (1984)[CR][LF]
TRANSP:TRANSPARENT[CR][LF]
BEGIN:VALARM[CR][LF]
TRIGGER:-PT720M[CR][LF]
ACTION:DISPLAY[CR][LF]
DESCRIPTION:John Doe (1984)[CR][LF]
END:VALARM[CR][LF]
END:VEVENT[CR][LF]
END:VCALENDAR[CR][LF]


HTTP RESPONSE:
http/1.1 500 Internal Server Error
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: close
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; frame-src *; img-src * data: blob:; font-src 'self' data:; media-src *; connect-src *
Content-Type: application/xml; charset=utf-8
Date: Mon, 04 Jul 2016 05:43:18 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Server: Apache/2.2.15 (CentOS)
Transfer-Encoding: chunked
X-Content-Type-Options: nosniff
X-Frame-Options: Sameorigin
X-Powered-By: PHP/5.6.21
X-Robots-Tag: none
X-Sabre-Version: 2.1.9
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:sabredav-version>2.1.9</s:sabredav-version>[LF]
<s:exception>Sabre\VObject\ParseException</s:exception>[LF]
<s:message>Error reading from input stream</s:message>[LF]
</d:error>[LF]


EXCEPTION:
at.bitfire.dav4android.exception.HttpException: 500 Internal Server Error
at at.bitfire.dav4android.DavResource.checkStatus(DavResource.java:316)
at at.bitfire.dav4android.DavResource.checkStatus(DavResource.java:289)
at at.bitfire.dav4android.DavResource.put(DavResource.java:200)
at at.bitfire.davdroid.syncadapter.SyncManager.uploadDirty(SyncManager.java:319)
at at.bitfire.davdroid.syncadapter.SyncManager.performSync(SyncManager.java:148)
at at.bitfire.davdroid.syncadapter.CalendarsSyncAdapterService$SyncAdapter.onPerformSync(CalendarsSyncAdapterService.java:69)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:254)

SOFTWARE INFORMATION
DAVdroid version: 1.2 (109) Sun Jul 03 15:15:13 MESZ 2016
Installed from: org.fdroid.fdroid
JB Workaround installed: no

CONFIGURATION
System-wide synchronization: automatically
Account: username's owncloud 8
Address book sync. interval: —
Calendar sync. interval: 120 min
OpenTasks sync. interval: —
Preemptive auth: true
WiFi only: false
[CardDAV] Contact group method: CATEGORIES
RFC 6868 encoding: true
[CalDAV] Time range (past days): 5
Manage calendar colors: true
Account: username's owncloud 8 kontakte
Address book sync. interval: 1440 min
Calendar sync. interval: —
OpenTasks sync. interval: —
Preemptive auth: true
WiFi only: false
[CardDAV] Contact group method: CATEGORIES
RFC 6868 encoding: true
[CalDAV] Time range (past days): 5
Manage calendar colors: true

SQLITE DUMP
android_metadata
| locale |
| de_DE |
----------
settings
| setting | value |
| hint_OpenTasksNotInstalled | 0 |
----------
services
| _id | accountName | service | principal |
| 1 | username's owncloud 8 kontakte | carddav | <null> |
| 3 | username's owncloud 8 | caldav | <null> |
----------
sqlite_sequence
| name | seq |
| services | 3 |
| collections | 19 |
| homesets | 10 |
----------
homesets
| _id | serviceID | url |
| 8 | 3 | https://xxxxxxxxxxxx.xx/owncloud/remote.php/caldav/calendars/username/ |
| 10 | 1 | https://xxxxxxxxxxxx.xx/owncloud/remote.php/carddav/addressbooks/username/ |
----------
collections
| _id | serviceID | url | readOnly | displayName | description | color | timezone | supportsVEVENT | supportsVTODO | sync |
| 14 | 3 | https://xxxxxxxxxxxx.xx/owncloud/remote.php/caldav/calendars/username/band_shared_by_portal/ | 0 | band | <null> | -65536 | <null> | 1 | 1 | 1 |
| 15 | 3 | https://xxxxxxxxxxxx.xx/owncloud/remote.php/caldav/calendars/username/contact_birthdays/ | 0 | Geburtstage Ihrer Kontakte | <null> | -3355444 | <null> | 1 | 0 | 1 |
| 16 | 3 | https://xxxxxxxxxxxx.xx/owncloud/remote.php/caldav/calendars/username/pers%C3%B6nlich/ | 0 | <null> | <null> | <null> | <null> | <null> | <null> | 0 |
| 17 | 3 | https://xxxxxxxxxxxx.xx/owncloud/remote.php/caldav/calendars/username/pers%c3%b6nlich/ | 0 | Persönlich | <null> | <null> | <null> | 1 | 1 | 1 |
| 19 | 1 | https://xxxxxxxxxxxx.xx/owncloud/remote.php/carddav/addressbooks/username/kontakte/ | 0 | Kontakte | <null> | <null> | <null> | <null> | <null> | 1 |
----------

SYSTEM INFORMATION
Android version: 4.2.2 (W20-HL.V0035)
Device: FP1 FP1U (FP1)
0

Hello,

In our test with OwnCloud 9.0.2, the contact birthday calendar is marked as read-only on the Android device, and one can't edit the events in the Android calendar GUI as expected.

How can I mark the calendar as readonly? In the list of collections below none of the calendars is marked as such.

You can't. The information whether a collection is read-only or not is taken from the DAV:current-user-privilege-set property. So I guess it's an OwnCloud problem. (500 Internal Server Error is a strange choice for the error code, too. I think 403 would be more appropriate when writing is not allowed.)

For a better diagnosis, we'd need verbose logs of the CalDAV collection refresh process (refresh the collection list while logging is on).

By the way, I'd try the latest OwnCloud version before anything else. OwnCloud 8 is not even the latest major version.

Temporal relations are not necessarily causal relations.

Log in to reply

Looks like your connection to Bitfire App Forums was lost, please wait while we try to reconnect.