-
Notifications
You must be signed in to change notification settings - Fork 148
Description
I am reasonable sure that this is actually a bug in the Apple iCloud server code, or possibly in the automatic code that created the problematic event, rather than an issue with the iCal system itself, but I submit it in case it is possible to enhance iCal to address it.
The iCal parser is failing to parse an event that contains the following field:
X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-ADDRESS=48 Lensfield Rd\nCambrid
ge\nCB2 1EH\nUNITED KINGDOM;X-APPLE-ABUID="Lensfield Medical Practice’
s Work"::;X-APPLE-MAPKIT-HANDLE=CAESlQII2TIaEgl5H0dzZBlKQBGr/xjfvN2/PyKK
AQoOVW5pdGVkIEtpbmdkb20SAkdCGgdFbmdsYW5kKg5DYW1icmlkZ2VzaGlyZTIJQ2FtYnJp
ZGdlOgdDQjIgMUVIQgZNYXJrZXRSDkxlbnNmaWVsZCBSb2FkWgI0OGIRNDggTGVuc2ZpZWxk
IFJvYWRyD0Rvd25pbmcgQ29sbGVnZYoBBk1hcmtldCoRNDggTGVuc2ZpZWxkIFJvYWQyETQ4
IExlbnNmaWVsZCBSb2FkMglDYW1icmlkZ2UyB0NCMiAxRUgyB0VuZ2xhbmQ4OUAAUAFaJgok
EhIJeR9Hc2QZSkARq/8Y37zdvz8Y2TIgq92Osb/X9/cpkAMB;X-APPLE-RADIUS=70.58738
703724622;X-APPLE-REFERENCEFRAME=1;X-TITLE=48 Lensfield Rd
Cambridge
CB2 1EH
UNITED KINGDOM:geo:52.198378,0.124477
As you can see, the data contains the written address in the TITLE field as well as the X-ADDRESS field, and the multi-line TITLE does not have the correct spaces in front of the additional lines. So this data is definitely not to spec and the parser is correct to reject it with the message:
ParserError: invalid line (no token ";" or ":") "Cambridge"
I have no idea whether the error is on the system that created the event, and the iCloud server has just blindly accepted it and passed it on. But it should definitely not have done so without first checking and escaping the extra lines in the approved manner. But I have no wish to bang my head against the Apple development teams as I have tried it before with no success.
I am currently just catching the error and skipping the problematic event. - but that is not a very good solution for obvious reasons. But I have only seen this issue once so far, so it's not worth putting a lot of effort into.
Thanks