You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When parsing a v3.0 or v4.0 vCard, a bare BASE64 parameter is wrongly parsed as if it was ENCODING=BASE64 (which would be valid for v2.1).
For v3.0, validate() yields the error that ENCODING=BASE64 is not valid, and with the REPAIR flag it translates that to ENCODING=B.
For v4.0, validate() yields the error that ENCODING is not a valid parameter.
I would expect that either
parsing fails, or
validate() yields the error message that BASE64 is not a valid parameter, or that bare parameter values are not supported in v3.0/v4.0.
Optionally, validate() with the REPAIR flag might do some suitable repairing.
The problem seems to be that Parameter::guessParameterNameByValue() is applied not only to v2.1 vCards.
respiranto
changed the title
v3.0/v4.0 parsing: Bare BASE64 parameter is incorrectly recognized as ENCODING=BASE64
vCard v3.0/v4.0 parsing: Bare BASE64 parameter is incorrectly recognized as ENCODING=BASE64
Sep 24, 2024
When parsing a v3.0 or v4.0 vCard, a bare
BASE64
parameter is wrongly parsed as if it wasENCODING=BASE64
(which would be valid for v2.1).For v3.0,
validate()
yields the error thatENCODING=BASE64
is not valid, and with theREPAIR
flag it translates that toENCODING=B
.For v4.0,
validate()
yields the error thatENCODING
is not a valid parameter.I would expect that either
BASE64
is not a valid parameter, or that bare parameter values are not supported in v3.0/v4.0.Optionally,
validate()
with theREPAIR
flag might do some suitable repairing.See also #688.
The text was updated successfully, but these errors were encountered: