Skip to content

Commit d89fdfe

Browse files
committed
Switch HostnameVerificationPolicy to BUILTIN by default
1 parent c5bd9af commit d89fdfe

5 files changed

Lines changed: 18 additions & 19 deletions

File tree

httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestTlsHandshakeTimeout.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
3838
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
3939
import org.apache.hc.client5.http.ssl.DefaultClientTlsStrategy;
40+
import org.apache.hc.client5.http.ssl.HostnameVerificationPolicy;
41+
import org.apache.hc.client5.http.ssl.NoopHostnameVerifier;
4042
import org.apache.hc.client5.testing.SSLTestContexts;
4143
import org.apache.hc.client5.testing.tls.TlsHandshakeTimeoutServer;
4244
import org.apache.hc.core5.http.ClassicHttpRequest;
@@ -69,7 +71,7 @@ void testTimeout(final boolean sendServerHello) throws Exception {
6971
.setConnectTimeout(5, SECONDS)
7072
.setSocketTimeout(5, SECONDS)
7173
.build())
72-
.setTlsSocketStrategy(new DefaultClientTlsStrategy(SSLTestContexts.createClientSSLContext()))
74+
.setTlsSocketStrategy(new DefaultClientTlsStrategy(SSLTestContexts.createClientSSLContext(), HostnameVerificationPolicy.CLIENT, NoopHostnameVerifier.INSTANCE))
7375
.setDefaultTlsConfig(TlsConfig.custom()
7476
.setHandshakeTimeout(EXPECTED_TIMEOUT.toMillis(), MILLISECONDS)
7577
.build())

httpclient5/src/main/java/org/apache/hc/client5/http/ssl/AbstractClientTlsStrategy.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ abstract class AbstractClientTlsStrategy implements TlsStrategy, TlsSocketStrate
9797
this.supportedProtocols = supportedProtocols;
9898
this.supportedCipherSuites = supportedCipherSuites;
9999
this.sslBufferManagement = sslBufferManagement != null ? sslBufferManagement : SSLBufferMode.STATIC;
100-
this.hostnameVerificationPolicy = hostnameVerificationPolicy != null ? hostnameVerificationPolicy : HostnameVerificationPolicy.BOTH;
101-
this.hostnameVerifier = hostnameVerifier != null ? hostnameVerifier :
102-
(this.hostnameVerificationPolicy == HostnameVerificationPolicy.BUILTIN ? NoopHostnameVerifier.INSTANCE : HttpsSupport.getDefaultHostnameVerifier());
100+
this.hostnameVerificationPolicy = hostnameVerificationPolicy != null ? hostnameVerificationPolicy :
101+
(hostnameVerifier != null ? HostnameVerificationPolicy.BOTH : HostnameVerificationPolicy.BUILTIN);
102+
this.hostnameVerifier = hostnameVerifier;
103103
}
104104

105105
/**

httpclient5/src/main/java/org/apache/hc/client5/http/ssl/ClientTlsStrategyBuilder.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -226,16 +226,13 @@ private DefaultClientTlsStrategy buildImpl() {
226226
}
227227
final HostnameVerificationPolicy hostnameVerificationPolicyCopy = hostnameVerificationPolicy != null ? hostnameVerificationPolicy :
228228
(hostnameVerifier == null ? HostnameVerificationPolicy.BUILTIN : HostnameVerificationPolicy.BOTH);
229-
final HostnameVerifier hostnameVerifierCopy = hostnameVerifier != null ? hostnameVerifier :
230-
(hostnameVerificationPolicyCopy == HostnameVerificationPolicy.CLIENT || hostnameVerificationPolicyCopy == HostnameVerificationPolicy.BOTH ?
231-
HttpsSupport.getDefaultHostnameVerifier() : NoopHostnameVerifier.INSTANCE);
232229
return new DefaultClientTlsStrategy(
233230
sslContextCopy,
234231
tlsVersionsCopy,
235232
ciphersCopy,
236233
sslBufferMode != null ? sslBufferMode : SSLBufferMode.STATIC,
237234
hostnameVerificationPolicyCopy,
238-
hostnameVerifierCopy);
235+
hostnameVerifier);
239236
}
240237

241238
}

httpclient5/src/main/java/org/apache/hc/client5/http/ssl/ConscryptClientTlsStrategy.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ public class ConscryptClientTlsStrategy extends AbstractClientTlsStrategy {
5454
public static TlsStrategy getDefault() {
5555
return new ConscryptClientTlsStrategy(
5656
SSLContexts.createDefault(),
57-
HostnameVerificationPolicy.BOTH,
58-
HttpsSupport.getDefaultHostnameVerifier());
57+
HostnameVerificationPolicy.BUILTIN,
58+
null);
5959
}
6060

6161
public static TlsStrategy getSystemDefault() {
@@ -64,8 +64,8 @@ public static TlsStrategy getSystemDefault() {
6464
HttpsSupport.getSystemProtocols(),
6565
HttpsSupport.getSystemCipherSuits(),
6666
SSLBufferMode.STATIC,
67-
HostnameVerificationPolicy.BOTH,
68-
HttpsSupport.getDefaultHostnameVerifier());
67+
HostnameVerificationPolicy.BUILTIN,
68+
null);
6969
}
7070

7171
public ConscryptClientTlsStrategy(
@@ -107,7 +107,7 @@ public ConscryptClientTlsStrategy(
107107
}
108108

109109
public ConscryptClientTlsStrategy(final SSLContext sslContext) {
110-
this(sslContext, HttpsSupport.getDefaultHostnameVerifier());
110+
this(sslContext, null);
111111
}
112112

113113
@Override

httpclient5/src/main/java/org/apache/hc/client5/http/ssl/DefaultClientTlsStrategy.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ public class DefaultClientTlsStrategy extends AbstractClientTlsStrategy {
5454
public static DefaultClientTlsStrategy createDefault() {
5555
return new DefaultClientTlsStrategy(
5656
SSLContexts.createDefault(),
57-
HostnameVerificationPolicy.BOTH,
58-
HttpsSupport.getDefaultHostnameVerifier());
57+
HostnameVerificationPolicy.BUILTIN,
58+
null);
5959
}
6060

6161
/**
@@ -67,8 +67,8 @@ public static DefaultClientTlsStrategy createSystemDefault() {
6767
HttpsSupport.getSystemProtocols(),
6868
HttpsSupport.getSystemCipherSuits(),
6969
SSLBufferMode.STATIC,
70-
HostnameVerificationPolicy.BOTH,
71-
HttpsSupport.getDefaultHostnameVerifier());
70+
HostnameVerificationPolicy.BUILTIN,
71+
null);
7272
}
7373

7474
/**
@@ -127,7 +127,7 @@ public DefaultClientTlsStrategy(
127127
final String[] supportedCipherSuites,
128128
final SSLBufferMode sslBufferManagement,
129129
final HostnameVerifier hostnameVerifier) {
130-
this(sslContext, supportedProtocols, supportedCipherSuites, sslBufferManagement, HostnameVerificationPolicy.CLIENT, hostnameVerifier);
130+
this(sslContext, supportedProtocols, supportedCipherSuites, sslBufferManagement, null, hostnameVerifier);
131131
}
132132

133133
public DefaultClientTlsStrategy(
@@ -147,7 +147,7 @@ public DefaultClientTlsStrategy(
147147
}
148148

149149
public DefaultClientTlsStrategy(final SSLContext sslContext) {
150-
this(sslContext, HttpsSupport.getDefaultHostnameVerifier());
150+
this(sslContext, null);
151151
}
152152

153153
@Override

0 commit comments

Comments
 (0)