Bug 342031 - RECURRENCE-ID in ics invitation causes malformed HTTP request
Summary: RECURRENCE-ID in ics invitation causes malformed HTTP request
Status: RESOLVED UNMAINTAINED
Alias: None
Product: korganizer
Classification: Applications
Component: incidence viewer (show other bugs)
Version: 4.14.2
Platform: Kubuntu Linux
: NOR minor
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-19 15:21 UTC by Malte Dik
Modified: 2018-01-31 17:14 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
recurrence-id ics (539 bytes, text/calendar)
2015-06-26 14:32 UTC, Malte Dik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Malte Dik 2014-12-19 15:21:42 UTC
When accepting an ics invitation send by mail in KMail and putting it in a CalDAV resource, the HTTP request is either dropped (e.g. with owncloud) or causes a complete de-sync (e.g. with tine20).

Example recurrence id causing described behaviour:
RECURRENCE-ID;TZID=W. Europe Standard Time:20141218T160000
Resulting HTTP request:
192.168.1.11 - user1 [05/Dec/2014:10:23:41 +0000] "PUT /calendars/da39a3ee5e6b4b0d3255bfef95601890afd80709/40/e3b0c442-98fc-1c14-9afb-f4c8996fb9242014-12-04T16:00:00+01:00.ics HTTP/1.1" 500 2219 "-" "Mozilla/5.0 (X11; Linux x86_64) KHTML/4.13.3 (like Gecko) Konqueror/4.13"

Example of recurrence id not causing malformed HTTP request:
RECURRENCE-ID;
Resulting HTTP request:
192.168.1.11 - user1 [05/Dec/2014:10:23:41 +0000] "PUT /calendars/da39a3ee5e6b4b0d3255bfef95601890afd80709/40/e3b0c442-98fc-1c14-9afb-f4c8996fb924.ics HTTP/1.1" 204 1976 "-" "Mozilla/5.0 (X11; Linux x86_64) KHTML/4.13.3 (like Gecko) Konqueror/4.13"

Reproducible: Always

Steps to Reproduce:
1. Send yourself email with ics attachment containing "RECURRENCE-ID;TZID=W. Europe Standard Time:20141218T160000"
2. Accept invitation in KMail and choose a CalDAV calendar to record the event.
3. Instant de-sync (open "Akonadi Configuration" KDE Configuration Module to see for yourself)

Actual Results:  
CalDAV calendar resource de-syncs.

Expected Results:  
A correctly formed HTTP request being sent, resulting in an event recorded in the CalDAV calendar.

I don't know how to honestly assess the severity. It kind of makes me lose data, so could be considered "critical", but is in my opinion at least more sever than "normal".
Comment 1 Malte Dik 2014-12-23 10:38:47 UTC
Related: https://forge.tine20.org/view.php?id=10602
Comment 2 Grégory Oestreicher 2015-06-25 21:26:25 UTC
Hey,

Could you attach an ICS with which to reproduce this? I can't craft one with owncloud and vim it seems :/

Cheers,
Grégory
Comment 3 Malte Dik 2015-06-26 14:26:57 UTC
Before I do that an update:

4.14.6 does not show this behaviour anymore.

There is still a problem, though.

As I understand it it is the following:

You can have recurring events which would be ics files with an RRULE.
You might create an exception to the rule, which would be an ics file with a RECURRENCE-ID.

Following the RFCs an ics with a RECURRENCE-ID is nothing if it does not have a corresponding ics with an RRULE.

Some Microsoft services send ics files which have an RECURRENE-ID without providing the main recurrent event. All RFC obeying software has problems dealing with that.

A possible solution would be if Akonadi would automatically create a base event whenever it encounters an ics file with RECURRENCE-ID that has none, yet. This would also ensure consistency when those two incidences are pushed to other services via CalDAV.
Comment 4 Malte Dik 2015-06-26 14:32:05 UTC
Created attachment 93351 [details]
recurrence-id ics

This is an ics file which led to the described behaviour. As stated it's not as bad anymore as of 4.14.6, but an event as such still does not show up in the calendar view.
Comment 5 Grégory Oestreicher 2015-06-27 09:28:57 UTC
Hey,

I'm not really a big fan of having the resource creating a new event that will never be sent back to the server. It's not how Akonadi is supposed to work and the design doesn't support this easily.

Re-assigning to KOrg to see if something can be done at this level to have the event displayed.

Cheers,
Grégory
Comment 6 Grégory Oestreicher 2015-06-27 09:29:59 UTC
And also updating the status to Confirmed, sorry for the noise :)
Comment 7 Malte Dik 2015-07-07 09:56:47 UTC
As this bug changed quite considerably, I opened a new one at https://bugs.kde.org/show_bug.cgi?id=349993

There is also a python script attached which filters out RECURRENCE-IDs for quick mitigation.
Comment 8 Denis Kurz 2017-06-23 20:01:04 UTC
This bug has never been confirmed for a KDE PIM version that is based on KDE Frameworks (5.x). Those versions differ significantly from the old 4.x series. Therefore, I plan to close it in around two or three months. In the meantime, it is set to WAITINGFORINFO to give reporters the oportunity to check if it is still valid. As soon as someone confirms it for a recent version (at least 5.1, ideally even more recent), I'll gladly reopen it.

Please understand that we lack the manpower to triage bugs reported for versions almost two years beyond their end of life.
Comment 9 Denis Kurz 2018-01-31 17:14:44 UTC
Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.1 aka 15.12; preferably much more recent), please open a new one unless it already exists. Thank you for all your input.