Page MenuHomekolab.org

kolab wallace: ERROR event|todo_from_ical() exception: InvalidAttendeeCutypeError("Invalid cutype u'ROOM'",);
Closed, ResolvedPublic

Description

I received a calender invitation email which did not create a placeholder in my calender, even when the kolab policy is configured to create calendar placeholders for received invitations.. I found this from pykolab wallace logs:

2019-11-06 14:06:10,419 pykolab.wallace ERROR [1112] event|todo_from_ical() exception: InvalidAttendeeCutypeError("Invalid cutype u'ROOM'",);

and indeed /usr/lib/python2.7/site-packages/pykolab/xml/attendee.py only has the following:

cutype_map = {
        "INDIVIDUAL": kolabformat.CutypeIndividual,
        "RESOURCE": kolabformat.CutypeResource,
        "GROUP": kolabformat.CutypeGroup,
    }

Relevant line(s) in the received .ics file:

ATTENDEE;CUTYPE=ROOM;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Room Name (3. rd
  floor):MAILTO:meeting.room@domain.tld

I'm currently running the following versions:
pykolab-0.8.14-2.1.el7.kolab_16.noarch
wallace-0.8.14-2.1.el7.kolab_16.noarch

I wonder if the quick fix/hack would be to define "ROOM" as a "kolabformat.CutypeResource", same as the "RESOURCE" type ? or would that cause other problems..?

Thanks!

Details

Ticket Type
Task

Event Timeline

pasik created this task.Nov 6 2019, 10:21 PM
pasik added projects: PyKolab, Kolab 16.

According to RFC5545 ROOM, UNKNOWN, X-* are valid values. Those aren't supported by Kolab, but we definitely should not throw exceptions on these. I wouldn't touch the map variable. Probably better to handle these in set_cutype().

ps. what software did that iTip come from?

Further investigation shows that actually Kolab format has CutypeRoom and CutypeUnknown defined. So, we can add these to the map, but still we should probably silently ignore unsupported values.

machniak closed this task as Resolved.Nov 8 2019, 11:30 AM
machniak claimed this task.

Fixed.

pasik added a comment.Nov 8 2019, 12:30 PM

@machniak Thanks a lot! I'll try the patch. This .ics arrived from Microsoft Exchange Server 2010 (based on the PRODID field in .ics).