Failed importing ical (vCalendar) file with many fields
When configuring an exchange (evolution-ews) account I've noticed errors fetching some calendar events.
The calendar factory was throwing this error:
(evolution-calendar-factory:56445): ecalbackendews-WARNING **: 11:47:17.340: ecb_ews_item_to_component_sync: Failed to parse mime content:---...---
I've decoded the event (copy-pasted from the error message) without errors with other parsers and imported it correctly in Google Calendar.
After some tinkering with the file, I've noticed that if I remove some X-... fields or some attendees it starts importing, then I started adding fake attendees and at some point stopped importing.
I've created PoC event and added 50 attendees and 50 X-... fields, which evolution fails to import. If I remove the 50 attendees and keep the 50 X-... fields it imports correctly, it also imports correctly if I remove the 50 X-... fields and keep the 50 attendees.
In this case, the error comes from evolution itself (as is a .ical direct import and not coming from exchange):
(evolution:113500): libecal-WARNING **: 13:40:08.834: Could not merge the components, the component is either invalid or not a toplevel component
(evolution:113500): libecal-WARNING **: 13:40:08.834: Could not merge the components, the component is either invalid or not a toplevel component
(evolution:113500): evolution-shell-WARNING **: 13:40:08.834: Cannot import any of the given URIs
Looks like given enough big file (not sure if based on file size or the number of fields) it makes evolution fail and Exchange is triggering this for some events due to the X- fields it adds and the number of attendees to my events. Here I attach my test files:
- test_event_50attendees.ics: Import OK
- test_event_50xfields.ics: Import OK
- test_event_50attendees_and_50xfields.ics: Import Fails
OS: Arch Linux
Evolution version:
$ pacman -Q | grep evolution
evolution 3.44.4-2
evolution-data-server 3.44.4-1
evolution-ews 3.44.4-1
evolution-rss 0.3.96-5
$ yay -Q | grep ical
libical 3.0.15-1