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 <btell...@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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org