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 bt...@apache.org on 2018/03/15 09:14:23 UTC
[13/18] james-project git commit: JAMES-2351 James should consider
ICS as attachments
JAMES-2351 James should consider ICS as attachments
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0f1f2f27
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0f1f2f27
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0f1f2f27
Branch: refs/heads/master
Commit: 0f1f2f2702badd2c57db509ffce1e7024e731698
Parents: 8a44af4
Author: benwa <bt...@linagora.com>
Authored: Wed Mar 14 17:14:40 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Mar 15 15:53:50 2018 +0700
----------------------------------------------------------------------
.../store/mail/model/impl/MessageParser.java | 5 ++-
.../mail/model/impl/MessageParserTest.java | 10 +++++
.../store/src/test/resources/eml/calendar.eml | 39 ++++++++++++++++++++
3 files changed, 53 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/0f1f2f27/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
index fa8744f..7bb86c9 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
@@ -61,9 +61,11 @@ public class MessageParser {
private static final List<String> ATTACHMENT_CONTENT_DISPOSITIONS = ImmutableList.of(
ContentDispositionField.DISPOSITION_TYPE_ATTACHMENT.toLowerCase(Locale.US),
ContentDispositionField.DISPOSITION_TYPE_INLINE.toLowerCase(Locale.US));
+ private static final String TEXT_CALENDAR = "text/calendar";
private static final ImmutableList<String> ATTACHMENT_CONTENT_TYPES = ImmutableList.of(
"application/pgp-signature",
- "message/disposition-notification");
+ "message/disposition-notification",
+ TEXT_CALENDAR);
private static final Logger LOGGER = LoggerFactory.getLogger(MessageParser.class);
private final Cid.CidParser cidParser;
@@ -193,6 +195,7 @@ public class MessageParser {
private boolean isTextPart(Entity part) {
return getContentTypeField(part)
+ .filter(header -> !ATTACHMENT_CONTENT_TYPES.contains(header.getMimeType()))
.map(ContentTypeField::getMediaType)
.map(TEXT_MEDIA_TYPE::equals)
.orElse(false);
http://git-wip-us.apache.org/repos/asf/james-project/blob/0f1f2f27/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/MessageParserTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/MessageParserTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/MessageParserTest.java
index 3bb63a8..40b73ec 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/MessageParserTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/MessageParserTest.java
@@ -265,6 +265,16 @@ public class MessageParserTest {
}
@Test
+ public void getAttachmentsShouldConsiderICSAsAttachments() throws Exception {
+ List<MessageAttachment> attachments = testee.retrieveAttachments(
+ ClassLoader.getSystemResourceAsStream("eml/calendar.eml"));
+
+ assertThat(attachments)
+ .hasSize(1)
+ .allMatch(messageAttachment -> messageAttachment.getAttachment().getType().equals("text/calendar"));
+ }
+
+ @Test
public void gpgSignatureShouldBeConsideredAsAnAttachment() throws Exception {
List<MessageAttachment> attachments = testee.retrieveAttachments(
ClassLoader.getSystemResourceAsStream("eml/signedMessage.eml"));
http://git-wip-us.apache.org/repos/asf/james-project/blob/0f1f2f27/mailbox/store/src/test/resources/eml/calendar.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/calendar.eml b/mailbox/store/src/test/resources/eml/calendar.eml
new file mode 100644
index 0000000..05dbb0e
--- /dev/null
+++ b/mailbox/store/src/test/resources/eml/calendar.eml
@@ -0,0 +1,39 @@
+From: Test 1 <te...@linagora.com>
+To: Test 2 <te...@linagora.com>
+Subject: New Time Proposed: New event from Test: lole
+Date: Tue, 13 Mar 2018 14:36:08 +0000
+Message-ID: <AM...@AM5P190MB0354.EURP190.PROD.OUTLOOK.COM>
+Accept-Language: en-US
+Content-Language: en-US
+Content-Type: multipart/alternative;
+ boundary="_000_AM5P190MB03542A58E344F2C68475A951AFD20AM5P190MB0354EURP_"
+MIME-Version: 1.0
+
+--_000_AM5P190MB03542A58E344F2C68475A951AFD20AM5P190MB0354EURP_
+Content-Type: text/plain; charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
+
+Will be better for me, thx
+
+--_000_AM5P190MB03542A58E344F2C68475A951AFD20AM5P190MB0354EURP_
+Content-Type: text/html; charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
+
+<html>
+ <p>Will be better for me, thx</p>
+</html>
+
+--_000_AM5P190MB03542A58E344F2C68475A951AFD20AM5P190MB0354EURP_
+Content-Type: text/calendar; charset="utf-8"; method=COUNTER
+Content-Transfer-Encoding: base64
+
+QkVHSU46VkNBTEVOREFSDQpNRVRIT0Q6Q09VTlRFUg0KUFJPRElEOk1pY3Jvc29mdCBFeGNoYW5n
+ZSBTZXJ2ZXIgMjAxMA0KVkVSU0lPTjoyLjANCkJFR0lOOlZUSU1FWk9ORQ0KVFpJRDpFdXJvcGUv
+QmVybGluDQpCRUdJTjpTVEFOREFSRA0KRFRTVEFSVDoxNjAxMDEwMVQwMzAwMDANClRaT0ZGU0VU
+RlJPTTorMDIwMA0KVFpPRkZTRVRUTzorMDEwMA0KUlJVTEU6RlJFUT1ZRUFSTFk7SU5URVJWQUw9
+MTtCWURBWT0tMVNVO0JZTU9OVEg9MTANCkVORDpTVEFOREFSRA0KQkVHSU46REFZTElHSFQNCkRU
+U0VRVUVOQ0U6MA0KRFRTVEFNUDoyMDE4MDMxM1QxNDM2MDdaDQpDT01NRU5UO0xBTkdVQUdFPWVu
+LVVTOldpbGwgYmUgYmV0dGVyIGZvciBtZVwsIHRoeFxuDQpFTkQ6VkVWRU5UDQpFTkQ6VkNBTEVO
+REFSDQo=
+
+--_000_AM5P190MB03542A58E344F2C68475A951AFD20AM5P190MB0354EURP_--
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org