You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mime4j-dev@james.apache.org by "Oleg Kalnichevski (JIRA)" <mi...@james.apache.org> on 2014/03/07 17:06:42 UTC

[jira] [Resolved] (MIME4J-237) The address list parser does not properly parse encoded display names that contain a comma.

     [ 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"?= <gr...@gmail.com>
> Here's the code to reproduce the problem:
> String str = "=?utf-8?Q?\"Dupont,_Gr=C3=A9goire\"?= <gr...@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)