Skip to content

Commit 270c617

Browse files
committed
#495: enable "*.ssl.checkserveridentity" property for SMTP connections as well, as is it still relevant for opportunistic TLS upgrades.
1 parent 3fee7a4 commit 270c617

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

modules/core-module/src/main/java/org/simplejavamail/api/mailer/config/TransportStrategy.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,11 @@ public String propertyNameSSLTrust() {
169169
}
170170

171171
/**
172-
* @return "mail.smtp.ssl.checkserveridentity"
172+
* @return "mail.smtp.ssl.checkserveridentity", which is only relevant for SMTP + opportunistic TLS
173173
*/
174174
@Override
175175
public String propertyNameCheckServerIdentity() {
176-
throw new IllegalStateException("This property is not relevant for plain SMTP");
176+
return "mail.smtp.ssl.checkserveridentity";
177177
}
178178

179179
/**

modules/simple-java-mail/src/main/java/org/simplejavamail/mailer/internal/MailerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ static private void configureTrustedHosts(@NotNull final Session session, @NotNu
239239
}
240240

241241
static private void configureServerIdentityVerification(@NotNull final Session session, @NotNull final OperationalConfig operationalConfig, @Nullable final TransportStrategy transportStrategy) {
242-
if (transportStrategy != null && transportStrategy != TransportStrategy.SMTP) {
242+
if (transportStrategy != null) {
243243
session.getProperties().setProperty(transportStrategy.propertyNameCheckServerIdentity(),
244244
Boolean.toString(operationalConfig.isVerifyingServerIdentity()));
245245
}

modules/simple-java-mail/src/test/java/org/simplejavamail/mailer/MailerTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public void createMailSession_MinimalConstructor_WithoutConfig() {
8787
assertThat(session.getProperty("mail.smtp.starttls.enable")).isEqualTo("true");
8888
assertThat(session.getProperty("mail.smtp.starttls.required")).isEqualTo("false");
8989
assertThat(session.getProperty("mail.smtp.ssl.trust")).isEqualTo("*");
90-
assertThat(session.getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
90+
assertThat(session.getProperty("mail.smtp.ssl.checkserveridentity")).isEqualTo("true");
9191

9292
assertThat(session.getProperty("mail.smtp.user")).isNull();
9393
assertThat(session.getProperty("mail.smtp.auth")).isNull();
@@ -209,7 +209,7 @@ public void createMailSession_MinimalConstructor_WithConfig_OPPORTUNISTIC_TLS()
209209

210210
assertThat(session.getProperty("mail.smtp.starttls.enable")).isNull();
211211
assertThat(session.getProperty("mail.smtp.starttls.required")).isNull();
212-
assertThat(session.getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
212+
assertThat(session.getProperty("mail.smtp.ssl.checkserveridentity")).isEqualTo("true");
213213

214214
assertThat(session.getProperty("mail.smtp.user")).isEqualTo("username smtp");
215215
assertThat(session.getProperty("mail.smtp.auth")).isEqualTo("true");
@@ -239,7 +239,7 @@ public void createMailSession_MinimalConstructor_WithConfig_OPPORTUNISTIC_TLS_Ma
239239
assertThat(session.getProperty("mail.smtp.starttls.enable")).isEqualTo("true");
240240
assertThat(session.getProperty("mail.smtp.starttls.required")).isEqualTo("false");
241241
assertThat(session.getProperty("mail.smtp.ssl.trust")).isEqualTo("*");
242-
assertThat(session.getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
242+
assertThat(session.getProperty("mail.smtp.ssl.checkserveridentity")).isEqualTo("true");
243243

244244
assertThat(session.getProperty("mail.smtp.user")).isEqualTo("username smtp");
245245
assertThat(session.getProperty("mail.smtp.auth")).isEqualTo("true");

modules/simple-java-mail/src/test/java/org/simplejavamail/mailer/internal/MailerImplTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ public void setup() {
4545
public void trustAllHosts_PLAIN() {
4646
new MailerImpl(null, SMTP, NO_GOVERNANCE(), createEmptyProxyConfig(), session, createDummyOperationalConfig(EMPTY_LIST, true, false));
4747
assertThat(session.getProperties().getProperty("mail.smtp.ssl.trust")).isEqualTo("*");
48-
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
48+
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isEqualTo("false");
4949
assertThat(session.getProperties().getProperty("mail.smtps.ssl.checkserveridentity")).isNull();
5050
new MailerImpl(null, SMTP, NO_GOVERNANCE(), createEmptyProxyConfig(), session, createDummyOperationalConfig(EMPTY_LIST, false, true));
5151
assertThat(session.getProperties().getProperty("mail.smtp.ssl.trust")).isNull();
52-
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
52+
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isEqualTo("true");
5353
assertThat(session.getProperties().getProperty("mail.smtps.ssl.checkserveridentity")).isNull();
5454
}
5555

@@ -98,19 +98,19 @@ public void checkForMissingOAuth2Token() {
9898
public void trustHosts() {
9999
new MailerImpl(null, SMTP, NO_GOVERNANCE(), createEmptyProxyConfig(), session, createDummyOperationalConfig(asList(), false, false));
100100
assertThat(session.getProperties().getProperty("mail.smtp.ssl.trust")).isNull();
101-
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
101+
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isEqualTo("false");
102102
assertThat(session.getProperties().getProperty("mail.smtps.ssl.checkserveridentity")).isNull();
103103
new MailerImpl(null, SMTP, NO_GOVERNANCE(), createEmptyProxyConfig(), session, createDummyOperationalConfig(asList("a"), false, false));
104104
assertThat(session.getProperties().getProperty("mail.smtp.ssl.trust")).isEqualTo("a");
105-
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
105+
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isEqualTo("false");
106106
assertThat(session.getProperties().getProperty("mail.smtps.ssl.checkserveridentity")).isNull();
107107
new MailerImpl(null, SMTP, NO_GOVERNANCE(), createEmptyProxyConfig(), session, createDummyOperationalConfig(asList("a", "b"), false, false));
108108
assertThat(session.getProperties().getProperty("mail.smtp.ssl.trust")).isEqualTo("a b");
109-
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
109+
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isEqualTo("false");
110110
assertThat(session.getProperties().getProperty("mail.smtps.ssl.checkserveridentity")).isNull();
111111
new MailerImpl(null, SMTP, NO_GOVERNANCE(), createEmptyProxyConfig(), session, createDummyOperationalConfig(asList("a", "b", "c"), false, true));
112112
assertThat(session.getProperties().getProperty("mail.smtp.ssl.trust")).isEqualTo("a b c");
113-
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isNull();
113+
assertThat(session.getProperties().getProperty("mail.smtp.ssl.checkserveridentity")).isEqualTo("true");
114114
assertThat(session.getProperties().getProperty("mail.smtps.ssl.checkserveridentity")).isNull();
115115
}
116116

0 commit comments

Comments
 (0)