Hi, I think we're seeing a bug in python vobject which is exposed in Calendarserver as illegal iCalendar in reponse to REPORTs To reproduce the problem: * PUT and event in a timezone which is equal (at all times) to UTC. * Query the event with a calendar-query REPORT. The returned iCalendar for the resource will now reference the TZID, but the VCALENDAR component will not include the VTIMEZONE definition. The problem seems to be located in vobject icalendar.py in the function tzinfo_eq() where it assumes that as long as the transitions are equivalent at all times (within the test range 2000-2020), then it's also the same timezone. That's a problem since then the findTzids() function in generateImplicitParameters() in class VCalendar2_0 will not remember that a timezone equal to UTC has been seen and they will then not be added as VTIMEZONE components to the final output. This is a problem for timezones like: Africa/Lome Atlantic/St_Helena Africa/Abidjan Africa/Bamako Africa/Banjul Africa/Bissau Africa/Conakry Africa/Dakar Africa/Freetown Africa/Monrovia Africa/Nouakchott Africa/Ouagadougou Africa/Sao_Tome Africa/Timbuktu ... which have definitions essentially equal to UTC: BEGIN:VTIMEZONE TZID:Africa/Lome BEGIN:STANDARD DTSTART:19700101T000000 TZNAME:GMT TZOFFSETFROM:+0000 TZOFFSETTO:+0000 END:STANDARD END:VTIMEZONE /Peter
participants (1)
-
Peter Mogensen