james-mime4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nitsan Seniak (JIRA)" <mime4j-...@james.apache.org>
Subject [jira] [Created] (MIME4J-237) The address list parser does not properly parse encoded display names that contain a comma.
Date Tue, 25 Feb 2014 21:49:19 GMT
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"?= <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.1.5#6160)

Mime
View raw message