You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2021/05/11 04:38:12 UTC
[james-project] 02/02: JAMES-3579 reject verifyIdentity param to
true when authRequired is false in SMTP server configuration
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch smtp-conf-fix
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit cc57eadb2d2dce622f42166a330353b028d1f1b3
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Tue May 11 11:37:36 2021 +0700
JAMES-3579 reject verifyIdentity param to true when authRequired is false in SMTP server configuration
---
.../java/org/apache/james/smtpserver/netty/SMTPServer.java | 6 +++++-
.../java/org/apache/james/smtpserver/SMTPServerTest.java | 14 +++++++++++++-
.../org/apache/james/smtpserver/SMTPTestConfiguration.java | 4 ++++
3 files changed, 22 insertions(+), 2 deletions(-)
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 e01b0a0..0dfa355 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
@@ -183,8 +183,12 @@ public class SMTPServer extends AbstractProtocolAsyncServer implements SMTPServe
addressBracketsEnforcement = configuration.getBoolean("addressBracketsEnforcement", true);
- verifyIdentity = configuration.getBoolean("verifyIdentity", true);
+ verifyIdentity = configuration.getBoolean("verifyIdentity", false);
+ if (authRequired == AUTH_DISABLED && verifyIdentity) {
+ throw new ConfigurationException(
+ "SMTP configuration: 'verifyIdentity' can't be set to true if 'authRequired' is set to false.");
+ }
}
}
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
index 953068b..acf718f 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
@@ -20,6 +20,7 @@ package org.apache.james.smtpserver;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.assertj.core.api.Fail.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -42,6 +43,7 @@ import java.util.List;
import javax.mail.internet.MimeMessage;
import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.commons.net.ProtocolCommandEvent;
import org.apache.commons.net.ProtocolCommandListener;
import org.apache.commons.net.smtp.SMTPClient;
@@ -371,7 +373,9 @@ public class SMTPServerTest {
@AfterEach
public void tearDown() {
- smtpServer.destroy();
+ if (smtpServer.isStarted()) {
+ smtpServer.destroy();
+ }
hashedWheelTimer.stop();
}
@@ -2059,4 +2063,12 @@ public class SMTPServerTest {
out.close();
client.close();
}
+
+ @Test
+ public void testRejectVerifyIdentityWhenAuthRequiredIsFalse() {
+ smtpConfiguration.setVerifyIdentity();
+
+ assertThatThrownBy(() -> init(smtpConfiguration))
+ .isInstanceOf(ConfigurationException.class);
+ }
}
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java
index 9bde7e9..ba8f589 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java
@@ -108,6 +108,10 @@ public class SMTPTestConfiguration extends BaseHierarchicalConfiguration {
startTLS = true;
}
+ public void setVerifyIdentity() {
+ verifyIdentity = true;
+ }
+
public void init() {
addProperty("[@enabled]", true);
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org