You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2017/01/04 08:55:33 UTC
james-project git commit: JAMES-1900: Headers in ES should be decoded
Repository: james-project
Updated Branches:
refs/heads/master e6e347cf7 -> 0a11a4410
JAMES-1900: Headers in ES should be decoded
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0a11a441
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0a11a441
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0a11a441
Branch: refs/heads/master
Commit: 0a11a4410e3a5e1434eb7a2bdcece3aebd04ccf9
Parents: e6e347c
Author: Quynh Nguyen <qn...@linagora.com>
Authored: Fri Dec 30 09:24:25 2016 +0700
Committer: Quynh Nguyen <qn...@linagora.com>
Committed: Wed Jan 4 10:01:27 2017 +0700
----------------------------------------------------------------------
.../mailbox/elasticsearch/json/HeaderCollection.java | 4 +++-
.../mailbox/elasticsearch/json/HeaderCollectionTest.java | 10 +++++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/0a11a441/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java
index fff42f7..709c964 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java
@@ -26,6 +26,8 @@ import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap;
import org.apache.james.mailbox.store.search.SearchUtil;
+import org.apache.james.mime4j.codec.DecodeMonitor;
+import org.apache.james.mime4j.codec.DecoderUtil;
import org.apache.james.mime4j.dom.address.Address;
import org.apache.james.mime4j.dom.address.Group;
import org.apache.james.mime4j.dom.address.Mailbox;
@@ -81,7 +83,7 @@ public class HeaderCollection {
Preconditions.checkNotNull(field);
String headerName = field.getName().toLowerCase();
String headerValue = field.getBody();
- headers.put(headerName, headerValue);
+ headers.put(headerName, DecoderUtil.decodeEncodedWords(headerValue, DecodeMonitor.SILENT));
handleSpecificHeader(headerName, headerValue);
return this;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/0a11a441/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollectionTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollectionTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollectionTest.java
index 64bbb97..dbea3c5 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollectionTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollectionTest.java
@@ -62,7 +62,15 @@ public class HeaderCollectionTest {
}
@Test
- public void addressWithTwoDisplayNamesOnTheSameFieldShouldBeRetreived() {
+ public void displayNamesShouldBeRetrievedWhenEncodedWord() {
+ HeaderCollection headerCollection = HeaderCollection.builder().add(new FieldImpl("From", "=?UTF-8?B?RnLDqWTDqXJpYyBNQVJUSU4=?= <fm...@linagora.com>, Graham CROSMARIE <gc...@linagora.com>")).build();
+ assertThat(headerCollection.getFromAddressSet())
+ .extracting(EMailer::getName)
+ .contains("Fr�d�ric MARTIN");
+ }
+
+ @Test
+ public void addressWithTwoDisplayNamesOnTheSameFieldShouldBeRetrieved() {
HeaderCollection headerCollection = HeaderCollection.builder().add(new FieldImpl("From", "Christophe Hamerling <ch...@linagora.com>, Graham CROSMARIE <gc...@linagora.com>")).build();
assertThat(headerCollection.getFromAddressSet())
.containsOnly(new EMailer("Christophe Hamerling", "chamerling@linagora.com"),
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org