After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 514487 - CalDAV backend doesn't accept mime types "text/calendar" with charset information
CalDAV backend doesn't accept mime types "text/calendar" with charset informa...
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
2.22.x (obsolete)
Other All
: Normal major
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 451888 496742 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-02-05 09:33 UTC by Peteris Krisjanis
Modified: 2013-09-14 16:50 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
Diff for fix and ChangeLog entry (1.42 KB, patch)
2008-02-05 11:49 UTC, Peteris Krisjanis
committed Details | Review

Description Peteris Krisjanis 2008-02-05 09:33:47 UTC
Please describe the problem:
I use DAViCal aka rscds for handling CalDAV calendars. However, newest versions now provide ics with MIME type "text/calendar; charset=utf-8", which by itself is valid MIME. However e-d-s function can't use it in current state and therefore file is silently dropped, resulting in enabled, but empty calendar for user. Code in question resists in calendar/backends/caldav, file e-cal-backend-caldav.c, line #1022.

Code is:
        if (hdr == NULL || g_ascii_strcasecmp (hdr, "text/calendar")) {
                ...
                ...
        }

but it must be changed to:
if (hdr == NULL || g_ascii_strncasecmp (hdr, "text/calendar", 13)) {
                ...
                ...
        }

As it gets first 13 chars, which is "text/calendar" length.

Steps to reproduce:
1. Open Evolution
2. Choose Calendars, New=> Calendar, CalDAV, enter details (server should be newest DAViCal, rscds.sourceforge.net), press OK. Connection is made.
3. Enter event to CalDAV calendar, which gets published
4. Delete calendar from sidebar and re-add it trough New => Calendar

Actual results:
Events don't show up, however Apache log shows that ics files gets downloaded.

Expected results:
Events entered before shows up as they downloaded from CalDAV server.

Does this happen every time?
Yes

Other information:
This is _very_ easy fix. Maybe discussion is needed is this proper way to handle such MIME messages.
Comment 1 Peteris Krisjanis 2008-02-05 11:49:11 UTC
Created attachment 104476 [details] [review]
Diff for fix and ChangeLog entry

Adding diff for fix and ChangeLog entry. Should be enough.
Comment 2 Milan Crha 2008-02-05 11:59:21 UTC
Looks fine to commit, I will only a little bit change the ChangeLog entry (there should be a notice about bug if we have any).
Comment 3 Milan Crha 2008-02-05 12:08:08 UTC
Committed to trunk. Committed revision 8457.
Comment 4 Matthew Barnes 2008-06-30 18:26:13 UTC
*** Bug 496742 has been marked as a duplicate of this bug. ***
Comment 5 Milan Crha 2008-09-08 13:59:29 UTC
*** Bug 451888 has been marked as a duplicate of this bug. ***