GNOME Bugzilla – Bug 360813
Move local calendar entry to remote CalDAV calendar fails because iCalendar properties CREATED and LAST-MODIFIED are not within RFC2445 spec
Last modified: 2009-01-16 12:05:24 UTC
Please describe the problem: Using a Cosmo calendar backend it is not possible to move an event from a local calendar to a remote one. From looking at the logs on Cosmo, and sniffing the traffic from Evolution, the problem appears to be because Evolution is incorrectly formatting the CREATED: and LAST-MODIFIED: properties in the VEVENT which it sends to Cosmo. The iCalendar specification states that these dates " Section 4.8.7.1 and 4.8.7.3 of the iCalendar specification (RFC2445) states that these dates MUST be represented as UTC. In section 4.3.5 of RFC2445 we read that UTC dates MUST be identified with a trailling 'Z'. Steps to reproduce: 1. Create an event in a local calendar 2. Double-click on event to edit it. 3. Change the calendar to a remote Cosmo calendar 4. Try to save the change. Actual results: I receive the error "Unknown Error" and Evolution does not move the event to the remote calendar. In behind the scenes, Cosmo has reported the problem as "Unsupported Media Type" which Evolution presents as "Unknown Error". Expected results: I would expect the event to be moved to the remote calendar Does this happen every time? Yes. It also happens when I right-click and select "Move" although in that case Evolution fails silently. Other information: Here is a TCP dump of the communication between Evolution and Cosmo when I try and do this: ===> IP 127.0.0.1.53186 > 127.0.0.1.8080: tcp 226 PUT /cosmo/home/andrew/Scooby/20061009T000345Z.ics HTTP/1.1 Host: localhost:8080 Content-Length: 1165 If-None-Match: * Authorization: Basic YW5kcmV3OndlcmRuYQ== User-Agent: Evolution/1.8.0 Content-Type: text/calendar ===> IP 127.0.0.1.53186 > 127.0.0.1.8080: tcp 1165 BEGIN:VCALENDAR CALSCALE:GREGORIAN PRODID:-//Ximian//NONSGML Evolution Calendar//EN VERSION:2.0 BEGIN:VEVENT UID:20061008T234026Z-8293-1000-1-465@ubu DTSTAMP:20061008T234026Z DTSTART;TZID=/softwarestudio.org/Olson_20011030_5/Pacific/Auckland: 20061009T140000 DTEND;TZID=/softwarestudio.org/Olson_20011030_5/Pacific/Auckland: 20061009T160000 SUMMARY:An appointment CREATED:20061008T234030 LAST-MODIFIED:20061008T234030 SEQUENCE:1 X-EVOLUTION-MOVE-CALENDAR:1 X-EVOLUTION-CALDAV-HREF:http://localhost: 8080/cosmo/home/andrew/Scooby/20061009T000345Z.ics BEGIN:VALARM X-EVOLUTION-ALARM-UID:20061008T234026Z-8291-1000-1-0@ubu ACTION:DISPLAY TRIGGER;VALUE=DURATION;RELATED=START:-PT15M DESCRIPTION:An appointment END:VALARM END:VEVENT BEGIN:VTIMEZONE TZID:/softwarestudio.org/Olson_20011030_5/Pacific/Auckland X-LIC-LOCATION:Pacific/Auckland BEGIN:STANDARD TZOFFSETFROM:+1300 TZOFFSETTO:+1200 TZNAME:NZST DTSTART:19700315T030000 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=3SU;BYMONTH=3 END:STANDARD BEGIN:DAYLIGHT TZOFFSETFROM:+1200 TZOFFSETTO:+1300 TZNAME:NZDT DTSTART:19701004T020000 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=10 END:DAYLIGHT END:VTIMEZONE END:VCALENDAR <=== IP 127.0.0.1.8080 > 127.0.0.1.53186: tcp 1399 HTTP/1.1 415 Unsupported Media Type: Unsupported Media Type Server: Apache-Coyote/1.1 X-Cosmo-Version: 0.4.0 Content-Type: text/html;charset=utf-8 Content-Length: 1187 Date: Mon, 09 Oct 2006 00:03:45 GMT <html><head><title>Apache Tomcat/5.5.9 - Error report</title><style><!--H1 {font-family:Tahoma, Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 415 - Unsupported Media Type: Unsupported Media Type</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>Unsupported Media Type: Unsupported Media Type</u></p><p><b>description</b> <u>The server refused this requestbecause the request entity is in a format not supported by the requested resource for the requested method (Unsupported Media Type: Unsupported Media Type).</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.5.9</h3></body></html>
see bug 326316 also
Created attachment 119410 [details] [review] proposed eds patch for evolution-data-server;
Created attachment 119411 [details] [review] proposed evo patch for evolution;
Created attachment 119412 [details] [review] proposed eex patch for evolution-exchange; The only bad thing (for all three patches) is that it will work only for new items, not for the oldies.
Patches looks good to commit. Please commit the patches the stable branch and trunk.
eds part committed to trunk. Committed revision 9944. eds part committed to gnome-2-24. Committed revision 9945. evo part committed to trunk. Committed revision 37085. evo part committed to gnome-2-24. Committed revision 37086. eex part committed to trunk. Committed revision 1856. eex part committed to gnome-2-24. Committed revision 1857.