Nitsan Seniak created MIME4J-237:
------------------------------------

             Summary: 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


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"?= <[email protected]>

Here's the code to reproduce the problem:

String str = "=?utf-8?Q?\"Dupont,_Gr=C3=A9goire\"?= 
<[email protected]>";
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 
[email protected]
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.1.5#6160)

Reply via email to