This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 8b418eb6de775dd9c72ea10238dd7c827596375d Author: Benoit TELLIER <btell...@linagora.com> AuthorDate: Tue Dec 19 08:33:44 2023 +0100 JAMES-3944 Configure rrt-error in more places Also add a note into upgrade-instructions.md --- .../cli-integration-tests/src/test/resources/mailetcontainer.xml | 4 ++++ .../src/test/java/org/apache/james/cli/DomainManageTest.java | 2 +- server/apps/webadmin-cli/src/test/resources/mailetcontainer.xml | 6 ++++++ .../jmap/src/main/resources/defaultJmapMailetContainer.xml | 5 +++++ .../main/java/org/apache/james/mailets/TemporaryJamesServer.java | 2 ++ .../src/test/java/org/apache/james/mailets/MailetErrorsTest.java | 7 +++++++ .../mailetcontainer-api/src/main/resources/mailetcontainer.xml | 9 +++++++++ .../src/test/resources/mailetcontainer.xml | 6 ++++++ .../src/test/resources/mailetcontainer.xml | 5 +++++ .../src/test/resources/mailetcontainer.xml | 5 +++++ .../integration/WebAdminServerIntegrationImmutableTest.java | 6 ++++-- .../webadmin/integration/WebAdminServerIntegrationTest.java | 6 ++++-- testing/base/src/main/resources/logback-test.xml | 4 ---- upgrade-instructions.md | 3 +++ 14 files changed, 61 insertions(+), 9 deletions(-) diff --git a/server/apps/cli-integration-tests/src/test/resources/mailetcontainer.xml b/server/apps/cli-integration-tests/src/test/resources/mailetcontainer.xml index 943770ab9d..c450e90b15 100644 --- a/server/apps/cli-integration-tests/src/test/resources/mailetcontainer.xml +++ b/server/apps/cli-integration-tests/src/test/resources/mailetcontainer.xml @@ -44,6 +44,10 @@ <mailet match="All" class="Bounce"/> </processor> + <processor state="rrt-error" enableJmx="false"> + <mailet match="All" class="Bounce"/> + </processor> + <processor state="transport" enableJmx="false"> <matcher name="relay-allowed" match="org.apache.james.mailetcontainer.impl.matchers.Or"> diff --git a/server/apps/webadmin-cli/src/test/java/org/apache/james/cli/DomainManageTest.java b/server/apps/webadmin-cli/src/test/java/org/apache/james/cli/DomainManageTest.java index f16f1945ea..5428f89e09 100644 --- a/server/apps/webadmin-cli/src/test/java/org/apache/james/cli/DomainManageTest.java +++ b/server/apps/webadmin-cli/src/test/java/org/apache/james/cli/DomainManageTest.java @@ -50,7 +50,7 @@ class DomainManageTest { .configurationFromClasspath() .usersRepository(DEFAULT) .build()) - .server(configuration -> MemoryJamesServerMain.createServer(configuration)) + .server(MemoryJamesServerMain::createServer) .build(); private final ByteArrayOutputStream outputStreamCaptor = new ByteArrayOutputStream(); diff --git a/server/apps/webadmin-cli/src/test/resources/mailetcontainer.xml b/server/apps/webadmin-cli/src/test/resources/mailetcontainer.xml index bbed9a83c2..ae66343c59 100644 --- a/server/apps/webadmin-cli/src/test/resources/mailetcontainer.xml +++ b/server/apps/webadmin-cli/src/test/resources/mailetcontainer.xml @@ -47,6 +47,12 @@ </processor> + <processor state="rrt-error" enableJmx="false"> + <mailet match="All" class="ToRepository"> + <repositoryPath>memory://var/mail/rrt-error/</repositoryPath> + </mailet> + </processor> + <processor state="transport" enableJmx="false"> <matcher name="relay-allowed" match="org.apache.james.mailetcontainer.impl.matchers.Or"> <matcher match="SMTPAuthSuccessful"/> diff --git a/server/container/guice/protocols/jmap/src/main/resources/defaultJmapMailetContainer.xml b/server/container/guice/protocols/jmap/src/main/resources/defaultJmapMailetContainer.xml index eb27100d53..bde631415e 100644 --- a/server/container/guice/protocols/jmap/src/main/resources/defaultJmapMailetContainer.xml +++ b/server/container/guice/protocols/jmap/src/main/resources/defaultJmapMailetContainer.xml @@ -93,4 +93,9 @@ </mailet> </processor> + <processor state="rrt-error" enableJmx="false"> + <mailet match="IsSenderInRRTLoop" class="Null"/> + <mailet match="All" class="Bounce"/> + </processor> + </processors> \ No newline at end of file diff --git a/server/mailet/integration-testing/src/main/java/org/apache/james/mailets/TemporaryJamesServer.java b/server/mailet/integration-testing/src/main/java/org/apache/james/mailets/TemporaryJamesServer.java index aee4e6914d..1f136009cd 100644 --- a/server/mailet/integration-testing/src/main/java/org/apache/james/mailets/TemporaryJamesServer.java +++ b/server/mailet/integration-testing/src/main/java/org/apache/james/mailets/TemporaryJamesServer.java @@ -55,6 +55,7 @@ public class TemporaryJamesServer { return MailetContainer.builder() .putProcessor(CommonProcessors.root()) .putProcessor(CommonProcessors.error()) + .putProcessor(CommonProcessors.rrtError()) .putProcessor(CommonProcessors.transport()) .putProcessor(CommonProcessors.bounces()); } @@ -63,6 +64,7 @@ public class TemporaryJamesServer { return MailetContainer.builder() .putProcessor(CommonProcessors.simpleRoot()) .putProcessor(CommonProcessors.error()) + .putProcessor(CommonProcessors.rrtError()) .putProcessor(CommonProcessors.transport()) .putProcessor(CommonProcessors.bounces()); } diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/MailetErrorsTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/MailetErrorsTest.java index d9a8be365e..c652366c3d 100644 --- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/MailetErrorsTest.java +++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/MailetErrorsTest.java @@ -21,6 +21,7 @@ package org.apache.james.mailets; import static org.apache.james.MemoryJamesServerMain.SMTP_ONLY_MODULE; import static org.apache.james.mailets.configuration.CommonProcessors.ERROR_REPOSITORY; +import static org.apache.james.mailets.configuration.CommonProcessors.rrtError; import static org.apache.james.mailets.configuration.Constants.DEFAULT_DOMAIN; import static org.apache.james.mailets.configuration.Constants.FROM; import static org.apache.james.mailets.configuration.Constants.LOCALHOST_IP; @@ -136,6 +137,7 @@ class MailetErrorsTest { .withMailetContainer(MailetContainer.builder() .putProcessor(CommonProcessors.transport()) .putProcessor(errorProcessor()) + .putProcessor(rrtError()) .putProcessor(CommonProcessors.bounces()) .putProcessor(ProcessorConfiguration.root() .addMailet(MailetConfiguration.builder() @@ -174,6 +176,7 @@ class MailetErrorsTest { .addProperty("onMailetException", "propagate")) .addMailetsFrom(CommonProcessors.transport())) .putProcessor(errorProcessor()) + .putProcessor(rrtError()) .putProcessor(CommonProcessors.bounces()) .putProcessor(CommonProcessors.root())) .withSmtpConfiguration(SmtpConfiguration.builder() @@ -213,6 +216,7 @@ class MailetErrorsTest { .addProperty("onMatchException", "propagate")) .addMailetsFrom(CommonProcessors.transport())) .putProcessor(errorProcessor()) + .putProcessor(rrtError()) .putProcessor(CommonProcessors.bounces()) .putProcessor(CommonProcessors.root())) .withSmtpConfiguration(SmtpConfiguration.builder() @@ -270,6 +274,7 @@ class MailetErrorsTest { .addProperty("onMailetException", "propagate")) .addMailetsFrom(CommonProcessors.transport())) .putProcessor(errorProcessor()) + .putProcessor(rrtError()) .putProcessor(CommonProcessors.bounces()) .putProcessor(CommonProcessors.root())) .withSmtpConfiguration(SmtpConfiguration.builder() @@ -330,6 +335,7 @@ class MailetErrorsTest { .withMailetContainer(MailetContainer.builder() .putProcessor(CommonProcessors.deliverOnlyTransport()) .putProcessor(errorProcessor()) + .putProcessor(rrtError()) .putProcessor(ProcessorConfiguration.root() .addMailet(MailetConfiguration.builder() .matcher(All.class) @@ -383,6 +389,7 @@ class MailetErrorsTest { .withMailetContainer(MailetContainer.builder() .putProcessor(CommonProcessors.deliverOnlyTransport()) .putProcessor(errorProcessor()) + .putProcessor(rrtError()) .putProcessor(ProcessorConfiguration.root() .addMailet(MailetConfiguration.builder() .matcher(All.class) diff --git a/server/mailet/mailetcontainer-api/src/main/resources/mailetcontainer.xml b/server/mailet/mailetcontainer-api/src/main/resources/mailetcontainer.xml index 09022b6c75..c5114cf461 100644 --- a/server/mailet/mailetcontainer-api/src/main/resources/mailetcontainer.xml +++ b/server/mailet/mailetcontainer-api/src/main/resources/mailetcontainer.xml @@ -100,6 +100,15 @@ <passThrough>false</passThrough> </mailet> </processor> + + <processor state="rrt-error" enableJmx="false"> + <mailet match="All" class="ToRepository"> + <repositoryPath>file://var/mail/rrt-error/</repositoryPath> + <passThrough>true</passThrough> + </mailet> + <mailet match="IsSenderInRRTLoop" class="Null"/> + <mailet match="All" class="Bounce"/> + </processor> </processors> diff --git a/server/protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/resources/mailetcontainer.xml b/server/protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/resources/mailetcontainer.xml index 6bab52cf7c..cf33795cf7 100644 --- a/server/protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/resources/mailetcontainer.xml +++ b/server/protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/resources/mailetcontainer.xml @@ -43,6 +43,12 @@ </mailet> </processor> + <processor state="rrt-error" enableJmx="false"> + <mailet match="All" class="Bounce"> + <onMailetException>ignore</onMailetException> + </mailet> + </processor> + <processor state="transport" enableJmx="false"> <matcher name="mdn-matcher" match="org.apache.james.mailetcontainer.impl.matchers.And"> <matcher match="HasMimeType=multipart/report"/> diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/resources/mailetcontainer.xml b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/resources/mailetcontainer.xml index c4694a3a1c..040aeed232 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/resources/mailetcontainer.xml +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/resources/mailetcontainer.xml @@ -49,6 +49,11 @@ </mailet> </processor> + <processor state="rrt-error" enableJmx="false"> + <mailet match="All" class="ToRepository"> + <repositoryPath>cassandra://var/mail/rrt-error/</repositoryPath> + </mailet> + </processor> <processor state="transport" enableJmx="false"> <matcher name="relay-allowed" match="org.apache.james.mailetcontainer.impl.matchers.Or"> diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/resources/mailetcontainer.xml b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/resources/mailetcontainer.xml index d5b2316814..be73c0ed58 100644 --- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/resources/mailetcontainer.xml +++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/resources/mailetcontainer.xml @@ -49,6 +49,11 @@ </mailet> </processor> + <processor state="rrt-error" enableJmx="false"> + <mailet match="All" class="ToRepository"> + <repositoryPath>memory://var/mail/rrt-error/</repositoryPath> + </mailet> + </processor> <processor state="transport" enableJmx="false"> <matcher name="relay-allowed" match="org.apache.james.mailetcontainer.impl.matchers.Or"> diff --git a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationImmutableTest.java b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationImmutableTest.java index e4badb62cf..f96f6f1782 100644 --- a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationImmutableTest.java +++ b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationImmutableTest.java @@ -100,7 +100,8 @@ public abstract class WebAdminServerIntegrationImmutableTest { .body("repository", containsInAnyOrder( "var/mail/error", "var/mail/relay-denied", - "var/mail/address-error")); + "var/mail/address-error", + "var/mail/rrt-error")); } @Test @@ -115,7 +116,8 @@ public abstract class WebAdminServerIntegrationImmutableTest { .body("repository", containsInAnyOrder( "var/mail/error", "var/mail/relay-denied", - "var/mail/address-error")); + "var/mail/address-error", + "var/mail/rrt-error")); } @Test diff --git a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java index dd5df6dbe3..0a8ebef450 100644 --- a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java @@ -151,7 +151,8 @@ public abstract class WebAdminServerIntegrationTest { .body("repository", containsInAnyOrder( "var/mail/error", "var/mail/relay-denied", - "var/mail/address-error")); + "var/mail/address-error", + "var/mail/rrt-error")); } @@ -168,7 +169,8 @@ public abstract class WebAdminServerIntegrationTest { .body("repository", containsInAnyOrder( "var/mail/error", "var/mail/relay-denied", - "var/mail/address-error")); + "var/mail/address-error", + "var/mail/rrt-error")); } @Test diff --git a/testing/base/src/main/resources/logback-test.xml b/testing/base/src/main/resources/logback-test.xml index 3451bad032..8e1fde3a69 100644 --- a/testing/base/src/main/resources/logback-test.xml +++ b/testing/base/src/main/resources/logback-test.xml @@ -17,10 +17,6 @@ <encoder> <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern> </encoder> - <immediateFlush>false</immediateFlush> - <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> - <level>ERROR</level> - </filter> </appender> <root level="WARN"> diff --git a/upgrade-instructions.md b/upgrade-instructions.md index a713e73113..f52cab3308 100644 --- a/upgrade-instructions.md +++ b/upgrade-instructions.md @@ -65,6 +65,9 @@ This behaviour can be disabled via the RecipientRewriteTable mailet configuratio <mailet/>> ``` +Note that now `JMAPFiltering` mailet requires the `rrt-error` processor for handling forward loops. We thus recommand adding +this processor, that is part of the default configuration of your distribution. + ### Change compaction strategy of blob_cache table Date: 18/09/2023 --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org