Skip to content

Commit 41e4c47

Browse files
author
Stephane Landelle
committed
Make acceptAnyCertificate doesn't disable HostnameVerifier, close AsyncHttpClient#649
1 parent e19c611 commit 41e4c47

File tree

4 files changed

+19
-43
lines changed

4 files changed

+19
-43
lines changed

api/src/main/java/org/asynchttpclient/AsyncHttpClientConfig.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,6 @@
1717

1818
import static org.asynchttpclient.AsyncHttpClientConfigDefaults.*;
1919

20-
import org.asynchttpclient.date.TimeConverter;
21-
import org.asynchttpclient.filter.IOExceptionFilter;
22-
import org.asynchttpclient.filter.RequestFilter;
23-
import org.asynchttpclient.filter.ResponseFilter;
24-
import org.asynchttpclient.util.ProxyUtils;
25-
26-
import javax.net.ssl.HostnameVerifier;
27-
import javax.net.ssl.SSLContext;
28-
2920
import java.io.IOException;
3021
import java.io.InputStream;
3122
import java.util.Collections;
@@ -35,6 +26,16 @@
3526
import java.util.concurrent.ExecutorService;
3627
import java.util.concurrent.Executors;
3728

29+
import javax.net.ssl.HostnameVerifier;
30+
import javax.net.ssl.SSLContext;
31+
32+
import org.asynchttpclient.date.TimeConverter;
33+
import org.asynchttpclient.filter.IOExceptionFilter;
34+
import org.asynchttpclient.filter.RequestFilter;
35+
import org.asynchttpclient.filter.ResponseFilter;
36+
import org.asynchttpclient.util.DefaultHostnameVerifier;
37+
import org.asynchttpclient.util.ProxyUtils;
38+
3839
/**
3940
* Configuration class to use with a {@link AsyncHttpClient}. System property can be also used to configure this
4041
* object default behavior by doing:
@@ -538,7 +539,7 @@ public static class Builder {
538539
private int pooledConnectionIdleTimeout = defaultPooledConnectionIdleTimeout();
539540
private int connectionTTL = defaultConnectionTTL();
540541
private SSLContext sslContext;
541-
private HostnameVerifier hostnameVerifier = defaultHostnameVerifier();
542+
private HostnameVerifier hostnameVerifier;
542543
private boolean acceptAnyCertificate = defaultAcceptAnyCertificate();
543544
private boolean followRedirect = defaultFollowRedirect();
544545
private int maxRedirects = defaultMaxRedirects();
@@ -1082,17 +1083,19 @@ public Builder(AsyncHttpClientConfig prototype) {
10821083
*/
10831084
public AsyncHttpClientConfig build() {
10841085

1085-
if (proxyServerSelector == null && useProxySelector) {
1086+
if (proxyServerSelector == null && useProxySelector)
10861087
proxyServerSelector = ProxyUtils.getJdkDefaultProxyServerSelector();
1087-
}
10881088

1089-
if (proxyServerSelector == null && useProxyProperties) {
1089+
if (proxyServerSelector == null && useProxyProperties)
10901090
proxyServerSelector = ProxyUtils.createProxyServerSelector(System.getProperties());
1091-
}
10921091

1093-
if (proxyServerSelector == null) {
1092+
if (proxyServerSelector == null)
10941093
proxyServerSelector = ProxyServerSelector.NO_PROXY_SELECTOR;
1095-
}
1094+
1095+
if (acceptAnyCertificate)
1096+
hostnameVerifier = null;
1097+
else if (hostnameVerifier == null)
1098+
hostnameVerifier = new DefaultHostnameVerifier();
10961099

10971100
return new AsyncHttpClientConfig(connectionTimeout,//
10981101
maxConnections,//

api/src/main/java/org/asynchttpclient/AsyncHttpClientConfigBean.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ void configureDefaults() {
6565
disableUrlEncodingForBoundRequests = defaultDisableUrlEncodingForBoundRequests();
6666
removeQueryParamOnRedirect = defaultRemoveQueryParamOnRedirect();
6767
strict302Handling = defaultStrict302Handling();
68-
hostnameVerifier = defaultHostnameVerifier();
6968
acceptAnyCertificate = defaultAcceptAnyCertificate();
7069

7170
if (defaultUseProxySelector()) {

api/src/main/java/org/asynchttpclient/AsyncHttpClientConfigDefaults.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,6 @@ public static boolean defaultRemoveQueryParamOnRedirect() {
113113
return getBoolean(ASYNC_CLIENT + "removeQueryParamOnRedirect", true);
114114
}
115115

116-
public static HostnameVerifier defaultHostnameVerifier() {
117-
return new DefaultHostnameVerifier();
118-
}
119-
120116
public static boolean defaultSpdyEnabled() {
121117
return Boolean.getBoolean(ASYNC_CLIENT + "spdyEnabled");
122118
}

api/src/main/java/org/asynchttpclient/util/AllowAllHostnameVerifier.java

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)