View Issue Details

IDProjectCategoryView StatusLast Update
0003995SOGoWeb Calendarpublic2017-01-18 16:18
Reporterliquidat Assigned Toludovic  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.2.5 
Fixed in Version3.2.6 
Summary0003995: Events created by users with no TIMEZONE are malformed and break various ical implementations
Description

I have a user on a freshly installed system. The user comes from LDAP. The user is not preconfigured, so there no timezone set (U shows "UTC").

In this case, the events created in the calendar are malformed: the TZID is not set, but a semicolon is still set in the DTSTART entry:

BEGIN:VCALENDAR
PRODID:-//Inverse inc./SOGo 3.2.5//EN
VERSION:2.0
BEGIN:VEVENT
UID:2A-587CC880-7-50573600
SUMMARY:SOGo test entry Mistigkeiten
CLASS:PUBLIC
X-SOGO-SEND-APPOINTMENT-NOTIFICATIONS:NO
TRANSP:OPAQUE
DTSTART;:20170117T170000Z
DTEND;:20170117T180000Z
CREATED:20170116T132040Z
DTSTAMP:20170116T132040Z
LAST-MODIFIED:20170116T132156Z
SEQUENCE:1
END:VEVENT
END:VCALENDAR

This breaks for example the Davdroid implementation:

2017-01-16 14:23:00 1583 [HttpClient$1] <-- END HTTP (393-byte body)
2017-01-16 14:23:00 1583 [ical4android.Event] Parsing iCalendar stream
2017-01-16 14:23:00 1583 [syncadapter.CalendarSyncManager] Received invalid iCalendar, ignoring
EXCEPTION at.bitfire.ical4android.InvalidCalendarException: Couldn't parse calendar resource
at at.bitfire.ical4android.Event.fromStream(Event.java:133)
at at.bitfire.ical4android.Event.fromStream(Event.java:204)
at at.bitfire.davdroid.syncadapter.CalendarSyncManager.processVEvent(CalendarSyncManager.java:209)
...

But it also breaks for example the ics validator at http://severinghaus.org/projects/icv/

Sorry, your calendar could not be parsed.
Error: Error was: Error at line 10:Expected [-3], read [58]
Cause: Sorry, I couldn't get an exact cause.
Context for line 10:
7: CLASS:PUBLIC
8: X-SOGO-SEND-APPOINTMENT-NOTIFICATIONS:NO
9: TRANSP:OPAQUE
10: DTSTART;:20170117T170000Z
11: DTEND;:20170117T180000Z
12: CREATED:20170116T132040Z
13: DTSTAMP:20170116T132040Z

Steps To Reproduce
  1. Set up SOGo with new users who have no valid timezone from https://github.com/inverse-inc/sogo/tree/master/SOPE/NGCards/TimeZones
  2. Create a calendar event via the web ui
  3. try to sync with davcal / check the calendar source code against an ics validator
Additional Information

Adding a proper time zone seems to fix the problem. Also, not all ics implementations struggle with this: Thunderbird was able to parse that, and https://icalendar.org/validator.html does not report an error.

TagsNo tags attached.

Activities

ludovic

ludovic

2017-01-16 10:41

administrator   ~0011218

Do you have SOGoTimeZone defined in sogo.conf?

liquidat

liquidat

2017-01-17 03:07

reporter   ~0011221

No, it was not defined in sogo.conf.

ludovic

ludovic

2017-01-18 16:18

administrator   ~0011228

That parameter must be defined. I've improved the doc.

Related Changesets

sogo: master 5300d418

2017-01-18 16:16:19

ludovic

Details Diff
(fix) improve doc around SOGoTimeZone (fixes 0003995) Affected Issues
0003995
mod - Documentation/SOGoInstallationGuide.asciidoc Diff File
mod - Scripts/sogo.conf Diff File

sogo: v2 86c0f32f

2017-01-18 16:16:19

ludovic

Details Diff
(fix) improve doc around SOGoTimeZone (fixes 0003995) Affected Issues
0003995
mod - Documentation/SOGoInstallationGuide.asciidoc Diff File
mod - Scripts/sogo.conf Diff File

Issue History

Date Modified Username Field Change
2017-01-16 10:39 liquidat New Issue
2017-01-16 10:41 ludovic Severity major => minor
2017-01-16 10:41 ludovic Note Added: 0011218
2017-01-17 03:07 liquidat Note Added: 0011221
2017-01-18 16:18 ludovic Changeset attached => sogo master 5300d418
2017-01-18 16:18 ludovic Assigned To => ludovic
2017-01-18 16:18 ludovic Resolution open => fixed
2017-01-18 16:18 ludovic Changeset attached => sogo v2 86c0f32f
2017-01-18 16:18 ludovic Note Added: 0011228
2017-01-18 16:18 ludovic Status new => closed
2017-01-18 16:18 ludovic Fixed in Version => 3.2.6