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 ma...@apache.org on 2020/04/30 07:28:43 UTC
[james-project] 07/11: MAILET-166 AutomaticSentMailDetectorImpl
should not fail above 1MB
This is an automated email from the ASF dual-hosted git repository.
matthieu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit a3b3a20a821bdef80e64d3a2e17ad33106851dc8
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Apr 28 13:10:22 2020 +0700
MAILET-166 AutomaticSentMailDetectorImpl should not fail above 1MB
---
.../base/AutomaticallySentMailDetectorImpl.java | 4 ++++
.../base/AutomaticallySentMailDetectorImplTest.java | 19 +++++++++++++++++++
2 files changed, 23 insertions(+)
diff --git a/mailet/base/src/main/java/org/apache/mailet/base/AutomaticallySentMailDetectorImpl.java b/mailet/base/src/main/java/org/apache/mailet/base/AutomaticallySentMailDetectorImpl.java
index 5f42cb6..6b39613 100644
--- a/mailet/base/src/main/java/org/apache/mailet/base/AutomaticallySentMailDetectorImpl.java
+++ b/mailet/base/src/main/java/org/apache/mailet/base/AutomaticallySentMailDetectorImpl.java
@@ -104,6 +104,10 @@ public class AutomaticallySentMailDetectorImpl implements AutomaticallySentMailD
} catch (MimeException e) {
throw new MessagingException("Can not parse Mime", e);
} catch (IOException e) {
+ // there's no reason for a mdn report to be bigger than 1MiB
+ if (e.getMessage().startsWith("Input stream limit exceeded")) {
+ return false;
+ }
throw new MessagingException("Can not read content", e);
}
return resultCollector.getResult();
diff --git a/mailet/base/src/test/java/org/apache/mailet/base/AutomaticallySentMailDetectorImplTest.java b/mailet/base/src/test/java/org/apache/mailet/base/AutomaticallySentMailDetectorImplTest.java
index ad4e551..309ced8 100644
--- a/mailet/base/src/test/java/org/apache/mailet/base/AutomaticallySentMailDetectorImplTest.java
+++ b/mailet/base/src/test/java/org/apache/mailet/base/AutomaticallySentMailDetectorImplTest.java
@@ -332,4 +332,23 @@ public class AutomaticallySentMailDetectorImplTest {
assertThat(new AutomaticallySentMailDetectorImpl().isMdnSentAutomatically(fakeMail)).isFalse();
}
+ @Test
+ public void isMdnSentAutomaticallyShouldNotThrowWhenBiggerThan1MB() throws Exception {
+ MimeMessageBuilder message = MimeMessageBuilder.mimeMessageBuilder()
+ .addHeaders()
+ .setMultipartWithBodyParts(
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("12345678\r\n".repeat(150 * 1024)),
+ MimeMessageBuilder.bodyPartBuilder()
+ .data("12345678\r\n"));
+
+ FakeMail fakeMail = FakeMail.builder()
+ .name("mail")
+ .sender(MailAddressFixture.ANY_AT_JAMES)
+ .mimeMessage(message)
+ .build();
+
+ assertThat(new AutomaticallySentMailDetectorImpl().isMdnSentAutomatically(fakeMail)).isFalse();
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org