Skip to content

Fail to parse vCard with DQUOTE in param, as generated by Apple #111

@da4089

Description

@da4089

Quick Summary
A vCard with DQUOTE characters in a parameter value is raises a parsing error. This is correct behaviour according to the spec, but some Apple products appear to emit this format (with the DQUOTEs backslash escaped).

It'd be generous to accept this with non-strict parsing.

See Kozea/Radicale#1492

Context

  • vObject version: 0.9.9
  • Python version: 3.9
  • Operating system and version: macOS 11

Description
See the discussion in the Radicale bug above for full details.

To Reproduce
The following code exhibits the problem.

import vobject

vcs = (
    r"BEGIN:VCARD" "\r\n"
    r"VERSION:3.0" "\r\n"
    r"FN: Example #2" "\r\n"
    r"N:Stevenson;John;Philip, Paul;Dr.;Jr., M.D., A.C.P." "\r\n"
    r'X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-ADDRESS=Αεροδρόμιο Θεσσαλονίκης' "\r\n"
    r' \"Μακεδονία\" 551 03 Thessaloniki Greece;X-TITLE=Thessaloniki Internatio' "\r\n"
    r' nal Airport:geo:40.520833,22.972222' "\r\n"
    r"END:VCARD" "\r\n"
)

vobject.parseOne(vcs)

Further Notes
To be clear, vobject is correct in rejecting this: allowing it would be supporting a deployed product with non-conforming behaviour.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestradicaleReported by Radicale

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions