This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 1135de3ce0d1de7da5ffae657df2ddcfd7075ffa
Author: Benoit Tellier <[email protected]>
AuthorDate: Mon Dec 6 17:39:09 2021 +0700

    JAMES-3680 smtpserver.xml: avoid the implicit default wildcard for 
authorizedAddresses
    
    When authRequired = false all addresses were accepted.
    
    We should rather require this configuration to be explicit.
---
 .../docs/modules/ROOT/pages/configure/smtp.adoc    |  3 +-
 .../src/test/resources/smtpserver.xml              |  1 +
 ...ectResolutionRemoteDeliveryIntegrationTest.java | 10 +++-
 .../GatewayRemoteDeliveryIntegrationTest.java      | 13 +++++
 .../org/apache/james/mailets/MailetErrorsTest.java | 55 ++++++++++++++++++++++
 .../mailets/RemoteDeliveryDKIMIntegrationTest.java |  7 +++
 .../mailets/RemoteDeliveryErrorHandlingTest.java   |  3 ++
 .../james/mailets/RemoteDeliveryErrorTest.java     |  3 ++
 .../RemoteDeliveryForwardIntegrationTest.java      |  3 ++
 .../james/mailets/RemoteDeliveryOnSuccessTest.java |  3 ++
 .../james/smtp/dsn/DSNLocalIntegrationTest.java    |  2 +
 .../org/apache/james/smtp/dsn/DSNRelayTest.java    |  3 +-
 .../james/smtp/dsn/DSNRemoteIntegrationTest.java   |  3 +-
 .../apache/james/smtpserver/netty/SMTPServer.java  | 22 +--------
 src/site/xdoc/server/config-smtp-lmtp.xml          |  3 +-
 15 files changed, 106 insertions(+), 28 deletions(-)

diff --git 
a/server/apps/distributed-app/docs/modules/ROOT/pages/configure/smtp.adoc 
b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/smtp.adoc
index 4de5611..8222b85 100644
--- a/server/apps/distributed-app/docs/modules/ROOT/pages/configure/smtp.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/smtp.adoc
@@ -74,8 +74,7 @@ regardless of this option.
 | auth.announce
 | This is an optional tag.  Possible values are:
 
-* never: Don't announce auth. If absent, *authorizedAddresses* are set to a 
wilcard to accept all remote hosts.
-This is the default behaviour.
+* never: Don't announce auth.
 
 * always: always announce AUTH capability to clients.
 
diff --git a/server/apps/distributed-app/src/test/resources/smtpserver.xml 
b/server/apps/distributed-app/src/test/resources/smtpserver.xml
index a4e1bcf..aa98c05 100644
--- a/server/apps/distributed-app/src/test/resources/smtpserver.xml
+++ b/server/apps/distributed-app/src/test/resources/smtpserver.xml
@@ -36,6 +36,7 @@
         <auth>
             <announce>never</announce>
         </auth>
+        <authorizedAddresses>0.0.0.0/0.0.0.0</authorizedAddresses>
         <verifyIdentity>false</verifyIdentity>
         <maxmessagesize>0</maxmessagesize>
         <addressBracketsEnforcement>true</addressBracketsEnforcement>
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
index 47fae4c..6def318 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/DirectResolutionRemoteDeliveryIntegrationTest.java
@@ -100,7 +100,7 @@ public class DirectResolutionRemoteDeliveryIntegrationTest {
                 .putProcessor(CommonProcessors.bounces()))
             .withSmtpConfiguration(SmtpConfiguration.builder()
                 .doNotVerifyIdentity()
-                .build())
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
@@ -128,6 +128,8 @@ public class DirectResolutionRemoteDeliveryIntegrationTest {
             
.withMailetContainer(TemporaryJamesServer.simpleMailetContainerConfiguration()
                 .putProcessor(directResolutionTransport())
                 .putProcessor(CommonProcessors.bounces()))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
@@ -154,6 +156,8 @@ public class DirectResolutionRemoteDeliveryIntegrationTest {
             
.withMailetContainer(TemporaryJamesServer.simpleMailetContainerConfiguration()
                 .putProcessor(transport())
                 .putProcessor(CommonProcessors.bounces()))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
@@ -182,6 +186,8 @@ public class DirectResolutionRemoteDeliveryIntegrationTest {
             
.withMailetContainer(TemporaryJamesServer.simpleMailetContainerConfiguration()
                 .putProcessor(transport())
                 .putProcessor(CommonProcessors.bounces()))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
@@ -219,6 +225,8 @@ public class DirectResolutionRemoteDeliveryIntegrationTest {
                     .addMailet(MailetConfiguration.remoteDeliveryBuilder()
                         .matcher(All.class)))
                 .putProcessor(CommonProcessors.bounces()))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
diff --git 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
index 1fe9554..2c70265 100644
--- 
a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
+++ 
b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/GatewayRemoteDeliveryIntegrationTest.java
@@ -91,6 +91,7 @@ class GatewayRemoteDeliveryIntegrationTest {
             
.withMailetContainer(generateMailetContainerConfiguration(gatewayProperty))
             .withSmtpConfiguration(SmtpConfiguration.builder()
                 .doNotVerifyIdentity()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0")
                 .build())
             .build(temporaryFolder);
         jamesServer.start();
@@ -113,6 +114,8 @@ class GatewayRemoteDeliveryIntegrationTest {
         jamesServer = TemporaryJamesServer.builder()
             .withBase(SMTP_ONLY_MODULE)
             
.withMailetContainer(generateMailetContainerConfiguration(gatewayProperty))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
@@ -134,6 +137,8 @@ class GatewayRemoteDeliveryIntegrationTest {
         jamesServer = TemporaryJamesServer.builder()
             .withBase(SMTP_ONLY_MODULE)
             
.withMailetContainer(generateMailetContainerConfiguration(gatewayProperty))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
@@ -156,6 +161,8 @@ class GatewayRemoteDeliveryIntegrationTest {
         jamesServer = TemporaryJamesServer.builder()
             .withBase(SMTP_ONLY_MODULE)
             
.withMailetContainer(generateMailetContainerConfiguration(gatewayProperty))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
@@ -179,6 +186,8 @@ class GatewayRemoteDeliveryIntegrationTest {
             .withBase(SMTP_AND_IMAP_MODULE)
             .withOverrides(binder -> 
binder.bind(DNSService.class).toInstance(inMemoryDNSService))
             
.withMailetContainer(generateMailetContainerConfiguration(gatewayProperty))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
@@ -206,6 +215,8 @@ class GatewayRemoteDeliveryIntegrationTest {
             .withBase(SMTP_AND_IMAP_MODULE)
             .withOverrides(binder -> 
binder.bind(DNSService.class).toInstance(inMemoryDNSService))
             
.withMailetContainer(generateMailetContainerConfiguration(gatewayProperty))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
@@ -237,6 +248,8 @@ class GatewayRemoteDeliveryIntegrationTest {
                     
.addMailet(MailetConfiguration.remoteDeliveryBuilderNoBounces()
                         .matcher(All.class)
                         .addProperty("gateway", gatewayProperty))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
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 c754de6..5342e20 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
@@ -35,6 +35,7 @@ import 
org.apache.james.mailets.configuration.CommonProcessors;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.MailetContainer;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
+import org.apache.james.mailets.configuration.SmtpConfiguration;
 import org.apache.james.mailrepository.api.MailRepositoryUrl;
 import org.apache.james.modules.protocols.ImapGuiceProbe;
 import org.apache.james.modules.protocols.SmtpGuiceProbe;
@@ -96,6 +97,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(All.class)
                         .mailet(ErrorMailet.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -116,6 +119,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(All.class)
                         .mailet(NoClassDefFoundErrorMailet.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -137,6 +142,8 @@ class MailetErrorsTest {
                         .mailet(OneRuntimeExceptionMailet.class)
                         .addProperty("onMailetException", "propagate"))
                     .addMailet(MailetConfiguration.TO_TRANSPORT)))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         jamesServer.getProbe(DataProbeImpl.class).fluent()
@@ -167,6 +174,8 @@ class MailetErrorsTest {
                     .addMailetsFrom(CommonProcessors.transport()))
                 .putProcessor(errorProcessor())
                 .putProcessor(CommonProcessors.root()))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         jamesServer.getProbe(DataProbeImpl.class).fluent()
@@ -203,6 +212,8 @@ class MailetErrorsTest {
                     .addMailetsFrom(CommonProcessors.transport()))
                 .putProcessor(errorProcessor())
                 .putProcessor(CommonProcessors.root()))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         jamesServer.getProbe(DataProbeImpl.class).fluent()
@@ -232,6 +243,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(NoClassDefFoundErrorMatcher.class)
                         .mailet(Null.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -255,6 +268,8 @@ class MailetErrorsTest {
                     .addMailetsFrom(CommonProcessors.transport()))
                 .putProcessor(errorProcessor())
                 .putProcessor(CommonProcessors.root()))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         jamesServer.getProbe(DataProbeImpl.class).fluent()
@@ -292,6 +307,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(All.class)
                         .mailet(RuntimeExceptionMailet.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -317,6 +334,8 @@ class MailetErrorsTest {
                         .matcher(All.class)
                         .mailet(ToRepository.class)
                         .addProperty("repositoryPath", 
CUSTOM_REPOSITORY.asString()))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -341,6 +360,8 @@ class MailetErrorsTest {
                         .matcher(All.class)
                         .mailet(ToRepository.class)
                         .addProperty("repositoryPath", 
CUSTOM_REPOSITORY.asString()))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -362,6 +383,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(All.class)
                         .mailet(RuntimeErrorMailet.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -384,6 +407,8 @@ class MailetErrorsTest {
                         .matcher(All.class)
                         .mailet(ErrorMailet.class)
                         .addProperty("onMailetException", CUSTOM_PROCESSOR))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -407,6 +432,8 @@ class MailetErrorsTest {
                         .matcher(All.class)
                         .mailet(RuntimeExceptionMailet.class)
                         .addProperty("onMailetException", CUSTOM_PROCESSOR))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -433,6 +460,8 @@ class MailetErrorsTest {
                         .matcher(All.class)
                         .mailet(ToRepository.class)
                         .addProperty("repositoryPath", 
CUSTOM_REPOSITORY.asString()))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -459,6 +488,8 @@ class MailetErrorsTest {
                         .matcher(All.class)
                         .mailet(ToRepository.class)
                         .addProperty("repositoryPath", 
CUSTOM_REPOSITORY.asString()))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -479,6 +510,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(ErrorMatcher.class)
                         .mailet(NoopMailet.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -499,6 +532,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(RuntimeExceptionMatcher.class)
                         .mailet(NoopMailet.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -521,6 +556,8 @@ class MailetErrorsTest {
                         .matcher(ErrorMatcher.class)
                         .mailet(NoopMailet.class)
                         .addProperty("onMatchException", CUSTOM_PROCESSOR))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -543,6 +580,8 @@ class MailetErrorsTest {
                         .matcher(RuntimeExceptionMatcher.class)
                         .mailet(NoopMailet.class)
                         .addProperty("onMatchException", CUSTOM_PROCESSOR))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -569,6 +608,8 @@ class MailetErrorsTest {
                         .matcher(All.class)
                         .mailet(ToRepository.class)
                         .addProperty("repositoryPath", 
CUSTOM_REPOSITORY.asString()))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -595,6 +636,8 @@ class MailetErrorsTest {
                         .matcher(All.class)
                         .mailet(ToRepository.class)
                         .addProperty("repositoryPath", 
CUSTOM_REPOSITORY.asString()))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -621,6 +664,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(All.class)
                         .mailet(Null.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -647,6 +692,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(All.class)
                         .mailet(Null.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -677,6 +724,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(ErrorMatcher.class)
                         .mailet(Null.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -707,6 +756,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(RuntimeExceptionMatcher.class)
                         .mailet(Null.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -737,6 +788,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(All.class)
                         .mailet(ErrorMailet.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
@@ -767,6 +820,8 @@ class MailetErrorsTest {
                     .addMailet(MailetConfiguration.builder()
                         .matcher(All.class)
                         .mailet(RuntimeExceptionMailet.class))))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
         MailRepositoryProbeImpl probe = 
jamesServer.getProbe(MailRepositoryProbeImpl.class);
diff --git 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryDKIMIntegrationTest.java
 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryDKIMIntegrationTest.java
index 04cf598..c4025dd 100644
--- 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryDKIMIntegrationTest.java
+++ 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryDKIMIntegrationTest.java
@@ -46,6 +46,7 @@ import 
org.apache.james.jdkim.mailets.MockPublicKeyRecordRetriever;
 import org.apache.james.mailets.configuration.CommonProcessors;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
+import org.apache.james.mailets.configuration.SmtpConfiguration;
 import org.apache.james.mock.smtp.server.model.Mail;
 import org.apache.james.mock.smtp.server.testing.MockSmtpServerExtension;
 import 
org.apache.james.mock.smtp.server.testing.MockSmtpServerExtension.DockerMockSmtp;
@@ -138,6 +139,8 @@ class RemoteDeliveryDKIMIntegrationTest {
         jamesServer = TemporaryJamesServer.builder()
             .withBase(SMTP_ONLY_MODULE)
             .withOverrides(binder -> 
binder.bind(DNSService.class).toInstance(inMemoryDNSService))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             
.withMailetContainer(TemporaryJamesServer.simpleMailetContainerConfiguration()
                 
.putProcessor(directResolutionTransport(MailetConfiguration.remoteDeliveryBuilder()
                     .addProperty("mail.smtp.allow8bitmime", "true")))
@@ -179,6 +182,8 @@ class RemoteDeliveryDKIMIntegrationTest {
         jamesServer = TemporaryJamesServer.builder()
             .withBase(SMTP_ONLY_MODULE)
             .withOverrides(binder -> 
binder.bind(DNSService.class).toInstance(inMemoryDNSService))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             
.withMailetContainer(TemporaryJamesServer.simpleMailetContainerConfiguration()
                 
.putProcessor(directResolutionTransport(MailetConfiguration.remoteDeliveryBuilder()
                     .addProperty("mail.smtp.allow8bitmime", "true")))
@@ -221,6 +226,8 @@ class RemoteDeliveryDKIMIntegrationTest {
         jamesServer = TemporaryJamesServer.builder()
             .withBase(SMTP_ONLY_MODULE)
             .withOverrides(binder -> 
binder.bind(DNSService.class).toInstance(inMemoryDNSService))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             
.withMailetContainer(TemporaryJamesServer.simpleMailetContainerConfiguration()
                 
.putProcessor(directResolutionTransport(MailetConfiguration.remoteDeliveryBuilder()))
                 .putProcessor(CommonProcessors.bounces()))
diff --git 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryErrorHandlingTest.java
 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryErrorHandlingTest.java
index a85009b..96aab51 100644
--- 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryErrorHandlingTest.java
+++ 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryErrorHandlingTest.java
@@ -39,6 +39,7 @@ import org.apache.james.dnsservice.api.InMemoryDNSService;
 import org.apache.james.mailets.TemporaryJamesServer;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
+import org.apache.james.mailets.configuration.SmtpConfiguration;
 import org.apache.james.mailrepository.api.MailRepositoryUrl;
 import org.apache.james.mock.smtp.server.model.SMTPCommand;
 import org.apache.james.mock.smtp.server.testing.MockSmtpServerExtension;
@@ -97,6 +98,8 @@ class RemoteDeliveryErrorHandlingTest {
         jamesServer = TemporaryJamesServer.builder()
             .withBase(Modules.combine(MemoryJamesServerMain.SMTP_ONLY_MODULE, 
MemoryJamesServerMain.WEBADMIN_TESTING))
             .withOverrides(binder -> 
binder.bind(DNSService.class).toInstance(inMemoryDNSService))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             
.withMailetContainer(TemporaryJamesServer.simpleMailetContainerConfiguration()
                 .putProcessor(ProcessorConfiguration.transport()
                     .addMailet(BCC_STRIPPER)
diff --git 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryErrorTest.java
 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryErrorTest.java
index 3ad4da4..224968d 100644
--- 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryErrorTest.java
+++ 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryErrorTest.java
@@ -42,6 +42,7 @@ import 
org.apache.james.mailets.configuration.CommonProcessors;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.MailetContainer;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
+import org.apache.james.mailets.configuration.SmtpConfiguration;
 import org.apache.james.mock.smtp.server.ConfigurationClient;
 import org.apache.james.mock.smtp.server.model.Mail;
 import org.apache.james.mock.smtp.server.model.SMTPCommand;
@@ -134,6 +135,8 @@ class RemoteDeliveryErrorTest {
                 .putProcessor(CommonProcessors.error())
                 .putProcessor(directResolutionTransport())
                 .putProcessor(CommonProcessors.bounces()))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
diff --git 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryForwardIntegrationTest.java
 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryForwardIntegrationTest.java
index 25f3abc..4e50dbb 100644
--- 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryForwardIntegrationTest.java
+++ 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryForwardIntegrationTest.java
@@ -31,6 +31,7 @@ import org.apache.james.core.Domain;
 import org.apache.james.mailets.configuration.CommonProcessors;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.MailetContainer;
+import org.apache.james.mailets.configuration.SmtpConfiguration;
 import org.apache.james.mock.smtp.server.testing.MockSmtpServerExtension;
 import 
org.apache.james.mock.smtp.server.testing.MockSmtpServerExtension.DockerMockSmtp;
 import org.apache.james.modules.protocols.ImapGuiceProbe;
@@ -84,6 +85,8 @@ class RemoteDeliveryForwardIntegrationTest {
 
         jamesServer = TemporaryJamesServer.builder()
             .withMailetContainer(mailetContainer)
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(tempDir);
         jamesServer.start();
         webAdminApi = 
WebAdminUtils.spec(jamesServer.getProbe(WebAdminGuiceProbe.class).getWebAdminPort());
diff --git 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryOnSuccessTest.java
 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryOnSuccessTest.java
index 42c6c65..37e522a 100644
--- 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryOnSuccessTest.java
+++ 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/mailets/RemoteDeliveryOnSuccessTest.java
@@ -40,6 +40,7 @@ import 
org.apache.james.mailets.configuration.CommonProcessors;
 import org.apache.james.mailets.configuration.MailetConfiguration;
 import org.apache.james.mailets.configuration.MailetContainer;
 import org.apache.james.mailets.configuration.ProcessorConfiguration;
+import org.apache.james.mailets.configuration.SmtpConfiguration;
 import org.apache.james.mailrepository.api.MailRepositoryUrl;
 import org.apache.james.mock.smtp.server.ConfigurationClient;
 import org.apache.james.mock.smtp.server.model.SMTPCommand;
@@ -102,6 +103,8 @@ class RemoteDeliveryOnSuccessTest {
         jamesServer = TemporaryJamesServer.builder()
             .withBase(SMTP_AND_IMAP_MODULE)
             .withOverrides(binder -> 
binder.bind(DNSService.class).toInstance(inMemoryDNSService))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .withMailetContainer(MailetContainer.builder()
                 .putProcessor(CommonProcessors.simpleRoot())
                 .putProcessor(CommonProcessors.error())
diff --git 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNLocalIntegrationTest.java
 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNLocalIntegrationTest.java
index 9cb38e8..760b84f 100644
--- 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNLocalIntegrationTest.java
+++ 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNLocalIntegrationTest.java
@@ -92,6 +92,8 @@ class DSNLocalIntegrationTest {
         jamesServer = TemporaryJamesServer.builder()
             .withBase(SMTP_AND_IMAP_MODULE)
             .withOverrides(binder -> 
binder.bind(DNSService.class).toInstance(inMemoryDNSService))
+            .withSmtpConfiguration(SmtpConfiguration.builder()
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .withMailetContainer(MailetContainer.builder()
                 .putProcessor(CommonProcessors.simpleRoot())
                 .putProcessor(CommonProcessors.error())
diff --git 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNRelayTest.java
 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNRelayTest.java
index a104f66..a9e7419 100644
--- 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNRelayTest.java
+++ 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNRelayTest.java
@@ -98,7 +98,8 @@ class DSNRelayTest {
                 .addHook(DSNEhloHook.class.getName())
                 .addHook(DSNMailParameterHook.class.getName())
                 .addHook(DSNRcptParameterHook.class.getName())
-                .addHook(DSNMessageHook.class.getName()))
+                .addHook(DSNMessageHook.class.getName())
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
diff --git 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNRemoteIntegrationTest.java
 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNRemoteIntegrationTest.java
index a97ffb2..2cad4ee 100644
--- 
a/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNRemoteIntegrationTest.java
+++ 
b/server/mailet/remote-delivery-integration-testing/src/test/java/org/apache/james/smtp/dsn/DSNRemoteIntegrationTest.java
@@ -147,7 +147,8 @@ class DSNRemoteIntegrationTest {
                 .addHook(DSNEhloHook.class.getName())
                 .addHook(DSNMailParameterHook.class.getName())
                 .addHook(DSNRcptParameterHook.class.getName())
-                .addHook(DSNMessageHook.class.getName()))
+                .addHook(DSNMessageHook.class.getName())
+                .withAutorizedAddresses("0.0.0.0/0.0.0.0"))
             .build(temporaryFolder);
         jamesServer.start();
 
diff --git 
a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
 
b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
index 824460d..dd0c0f9 100644
--- 
a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
+++ 
b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
@@ -147,6 +147,7 @@ public class SMTPServer extends AbstractProtocolAsyncServer 
implements SMTPServe
                 networks.add(addr);
             }
             authorizedNetworks = new NetMatcher(networks, dns);
+            LOGGER.info("Authorized addresses: {}", authorizedNetworks);
         }
         SMTPProtocol transport = new SMTPProtocol(getProtocolHandlerChain(), 
theConfigData) {
 
@@ -175,27 +176,6 @@ public class SMTPServer extends 
AbstractProtocolAsyncServer implements SMTPServe
             }
 
             authorizedAddresses = 
configuration.getString("authorizedAddresses", null);
-            if (authRequired == NEVER && authorizedAddresses == null) {
-                /*
-                 * if SMTP AUTH is not required then we will use
-                 * authorizedAddresses to determine whether or not to relay
-                 * e-mail. Therefore if SMTP AUTH is not required, we will not
-                 * relay e-mail unless the sending IP address is authorized.
-                 * 
-                 * Since this is a change in behavior for James v2, create a
-                 * default authorizedAddresses network of 0.0.0.0/0, which
-                 * matches all possible addresses, thus preserving the current
-                 * behavior.
-                 * 
-                 * James v3 should require the <authorizedAddresses> element.
-                 */
-                authorizedAddresses = "0.0.0.0/0.0.0.0";
-            }
-
-          
-            if (authorizedNetworks != null) {
-                LOGGER.info("Authorized addresses: {}", authorizedNetworks);
-            }
 
             // get the message size limit from the conf file and multiply
             // by 1024, to put it in bytes
diff --git a/src/site/xdoc/server/config-smtp-lmtp.xml 
b/src/site/xdoc/server/config-smtp-lmtp.xml
index 6adcaf8..dc52e36 100644
--- a/src/site/xdoc/server/config-smtp-lmtp.xml
+++ b/src/site/xdoc/server/config-smtp-lmtp.xml
@@ -91,8 +91,7 @@
         <dt><strong>auth.announce</strong></dt>
         <dd>This is an optional tag.  Possible values are:<br/>
 
-            * never: Don't announce auth. If absent, *authorizedAddresses* are 
set to a wilcard to accept all remote hosts.
-            This is the default behaviour.<br/>
+            * never: Don't announce auth.<br/>
 
             * always: always announce AUTH capability to clients.<br/>
 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to