[kronolith] Caldav/Icalendar export breaks for certain events

Ralf Lang lang at b1-systems.de
Wed Jan 27 08:32:38 UTC 2021


Hallo,

our colleagues are currently looking into an issue with calendars
delivered via kronolith git-master's web ui.

We got some events into DB with an attendee which neither resolves to
X-HORDE-ATTENDEE nor ATTENDEE.
Kronolith exports this to Icalendar in a non-compliant format (see
below). Most clients don't mind or ignore this. SabreDav's
Parser/Importer however chokes and sync breaks.

As a symptom, on Webserver log, you see a REPORT
/rpc/calendars/$principal/$cal/UID with status code 500.
Davx5 would provide some debug output, saying "Invalid Mimedir File.
Line starting ... did not follow iCalendar/vCard conventions".

At  the moment, it's not clear if current git-master still produces this
kind of event and if it happens via Dav, ActiveSync or the Dynamic Web
UI. I also cannot confirm if released versions are affected.

The resulting Icalendar as exported via caldav or exported via web
dynamic view looks like this:

...

CLASS:PUBLIC
STATUS:CONFIRMED
TRANSP:OPAQUE
;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Ralf Lang:
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:mailto:lang at b
 1-systems.com
END:VEVENT
END:VCALENDAR

The role without an ATTENDEE mark is the organizer, a horde internal user.
The 2nd attendee is an external outside the horde installation. (at
least in theory).

Code is around this area:

https://github.com/maintaina-com/kronolith/blob/master/lib/Event.php#L905

Now some questions on what to do about it.

Should the attribute default to ATTENDEE for cases which slip through or
should these lines simply not be exported?
Any clue on how this event could be produced?

We will most likely come up with a fixer first, which runs on the CLI
and drops all attendees which have neither an email address (ATTENDEE)
nor a user name (X-HORDE-ATTENDEE).

On the runtime side, I guess if $attribute is empty, we should not
setAttribute()


-- 

Ralf Lang
Linux Consultant / Developer
Tel.: +49-170-6381563
Mail: lang at b1-systems.de
B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537



More information about the kronolith mailing list