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

Reply via email to