[kronolith] Kronolith iCal export generates output violating RFC5545

Carsten Schumann grypho at tempus-vivit.net
Sun Mar 4 20:39:07 UTC 2012


Hi everyone,

while playing with iCal4j under Android I discovered that kronolith 
generates output which is violating RFC5545.

In the .ics file one of my appointments reads:

BEGIN:VEVENT
DTSTART:20111024T151500Z
DTEND:20111024T163000Z
DTSTAMP:20120304T202030Z
UID:20CD3890-7228-4D06-A305-3BF4A9B8EB69:E306E14E-FBB6-49FE-B37F-8CB3035CCB
  18
CREATED:20111010T180609Z
LAST-MODIFIED:20111010T180609Z
SUMMARY:Testtermin
CATEGORIES:Kalender
CLASS:PUBLIC
STATUS:CONFIRMED
TRANSP:OPAQUE
RRULE:FREQ=WEEKLY;INTERVAL=2;BYDAY=;UNTIL=20111219T225959Z
END:VEVENT


According to RFC5545 (http://tools.ietf.org/html/rfc5545#page-38), the 
RULE line reads

recur           = recur-rule-part *( ";" recur-rule-part )

with

recur-rule-part = ( "FREQ" "=" freq )
                        / ( "UNTIL" "=" enddate )
                        / ( "COUNT" "=" 1*DIGIT )
                        / ( "INTERVAL" "=" 1*DIGIT )
                        / ( "BYSECOND" "=" byseclist )
                        / ( "BYMINUTE" "=" byminlist )
                        / ( "BYHOUR" "=" byhrlist )
                        / ( "BYDAY" "=" bywdaylist )
                        / ( "BYMONTHDAY" "=" bymodaylist )
                        / ( "BYYEARDAY" "=" byyrdaylist )
                        / ( "BYWEEKNO" "=" bywknolist )
                        / ( "BYMONTH" "=" bymolist )
                        / ( "BYSETPOS" "=" bysplist )
                        / ( "WKST" "=" weekday )


and

bywdaylist  = ( weekdaynum *("," weekdaynum) )

which means "BYDAY=" is invalid as the list requires at least one 
element.

I'm using the most recent kronolith(3.0.15) and horde(4.0.14) versions.


Best regards,
Carsten


More information about the kronolith mailing list