james-mime4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <mime4j-...@james.apache.org>
Subject [jira] [Resolved] (MIME4J-237) The address list parser does not properly parse encoded display names that contain a comma.
Date Fri, 07 Mar 2014 16:06:42 GMT

     [ https://issues.apache.org/jira/browse/MIME4J-237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Oleg Kalnichevski resolved MIME4J-237.
--------------------------------------

    Resolution: Fixed

Fixed in SVN trunk and 0.7.x branch.

Please review / test.

Oleg

> The address list parser does not properly parse encoded display names that contain a
comma.
> -------------------------------------------------------------------------------------------
>
>                 Key: MIME4J-237
>                 URL: https://issues.apache.org/jira/browse/MIME4J-237
>             Project: James Mime4j
>          Issue Type: Bug
>    Affects Versions: 0.7.2
>            Reporter: Nitsan Seniak
>             Fix For: 0.7.3
>
>
> The address list parser doesn't correctly parse an address that contains an encoded display
names that contain a comma, for example:
> =?utf-8?Q?"Dupont,_Gr=C3=A9goire"?= <gregoire.dupont@gmail.com>
> Here's the code to reproduce the problem:
> String str = "=?utf-8?Q?\"Dupont,_Gr=C3=A9goire\"?= <gregoire.dupont@gmail.com>";
> AddressList addressList = LenientAddressBuilder.DEFAULT.parseAddressList(str);
> Mailbox mbox = (Mailbox) addressList.get(0);
> System.out.println("Name: " + mbox.getName());
> System.out.println("Address: " + mbox.getAddress());
> The execution of this code yields:
> Name: null                                  // Should be gregoire.dupont@gmail.com
> Address: =?utf-8?Q?"Dupont     // Should be Dupont, Grégoire
> The problem seems to be in RawFieldParser#parseValue. Double quotes are not properly
handled when the first double quote is the first character of the text to parse, which can
happen with encoded addresses. In that case, if the name contains a comma and the passed delimiter
bitset include the comma, then the comma in the name is mistakenly taken for a delimiter.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message