Skip to content

Commit 4656e39

Browse files
author
Andrew Lu
committed
8310731: Configure a javax.net.ssl.SNIMatcher for the HTTP/1.1 test servers in java/net/httpclient tests
Reviewed-by: goetz Backport-of: 05e9c41eddf8961d1384c88ccedf993d86822a6b
1 parent 49624e7 commit 4656e39

19 files changed

+294
-53
lines changed

test/jdk/java/net/httpclient/AsFileDownloadTest.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import com.sun.net.httpserver.HttpExchange;
2525
import com.sun.net.httpserver.HttpHandler;
2626
import com.sun.net.httpserver.HttpServer;
27-
import com.sun.net.httpserver.HttpsConfigurator;
2827
import com.sun.net.httpserver.HttpsServer;
2928
import java.io.IOException;
3029
import java.io.InputStream;
@@ -51,6 +50,7 @@
5150
import jdk.test.lib.net.SimpleSSLContext;
5251
import jdk.test.lib.util.FileUtils;
5352
import jdk.httpclient.test.lib.common.HttpServerAdapters;
53+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
5454
import jdk.httpclient.test.lib.http2.Http2TestServer;
5555
import jdk.httpclient.test.lib.http2.Http2TestExchange;
5656
import jdk.httpclient.test.lib.http2.Http2Handler;
@@ -73,6 +73,7 @@
7373
* @library /test/lib /test/jdk/java/net/httpclient/lib
7474
* @build jdk.httpclient.test.lib.http2.Http2TestServer jdk.test.lib.net.SimpleSSLContext
7575
* jdk.test.lib.Platform jdk.test.lib.util.FileUtils
76+
* jdk.httpclient.test.lib.common.TestServerConfigurator
7677
* @run testng/othervm AsFileDownloadTest
7778
* @run testng/othervm/java.security.policy=AsFileDownloadTest.policy AsFileDownloadTest
7879
*/
@@ -299,7 +300,7 @@ public void setup() throws Exception {
299300
httpURI = "http://" + serverAuthority(httpTestServer) + "/http1/afdt";
300301

301302
httpsTestServer = HttpsServer.create(sa, 0);
302-
httpsTestServer.setHttpsConfigurator(new HttpsConfigurator(sslContext));
303+
httpsTestServer.setHttpsConfigurator(new TestServerConfigurator(sa.getAddress(), sslContext));
303304
httpsTestServer.createContext("/https1/afdt", new Http1FileDispoHandler());
304305
httpsURI = "https://" + serverAuthority(httpsTestServer) + "/https1/afdt";
305306

test/jdk/java/net/httpclient/AuthFilterCacheTest.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import com.sun.net.httpserver.HttpServer;
3838
import com.sun.net.httpserver.HttpsConfigurator;
3939
import com.sun.net.httpserver.HttpsServer;
40+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
4041
import org.testng.annotations.AfterClass;
4142
import org.testng.annotations.BeforeClass;
4243
import org.testng.annotations.DataProvider;
@@ -53,7 +54,7 @@
5354
* @summary AuthenticationFilter.Cache::remove may throw ConcurrentModificationException
5455
* @library /test/lib /test/jdk/java/net/httpclient/lib
5556
* @build jdk.httpclient.test.lib.common.HttpServerAdapters jdk.test.lib.net.SimpleSSLContext
56-
* DigestEchoServer
57+
* DigestEchoServer jdk.httpclient.test.lib.common.TestServerConfigurator
5758
* @run testng/othervm -Dtest.requiresHost=true
5859
* -Djdk.httpclient.HttpClient.log=headers
5960
* -Djdk.internal.httpclient.debug=false
@@ -131,7 +132,7 @@ public void setUp() throws Exception {
131132
// HTTPS/1.1
132133
HttpsServer sserver1 = HttpsServer.create(sa, 100);
133134
sserver1.setExecutor(executor);
134-
sserver1.setHttpsConfigurator(new HttpsConfigurator(context));
135+
sserver1.setHttpsConfigurator(new TestServerConfigurator(sa.getAddress(), context));
135136
https1Server = HttpTestServer.of(sserver1);
136137
https1Server.addHandler(new TestHandler(), "/AuthFilterCacheTest/https1/");
137138
https1Server.start();

test/jdk/java/net/httpclient/ConcurrentResponses.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
* unprocessed HTTP data
2929
* @library /test/lib /test/jdk/java/net/httpclient/lib
3030
* @build jdk.httpclient.test.lib.http2.Http2TestServer jdk.test.lib.net.SimpleSSLContext
31+
* jdk.httpclient.test.lib.common.TestServerConfigurator
3132
* @run testng/othervm
3233
* -Djdk.httpclient.HttpClient.log=headers,errors,channel
3334
* ConcurrentResponses
@@ -51,7 +52,6 @@
5152
import com.sun.net.httpserver.HttpExchange;
5253
import com.sun.net.httpserver.HttpHandler;
5354
import com.sun.net.httpserver.HttpServer;
54-
import com.sun.net.httpserver.HttpsConfigurator;
5555
import com.sun.net.httpserver.HttpsServer;
5656
import java.net.http.HttpClient;
5757
import java.net.http.HttpRequest;
@@ -60,6 +60,8 @@
6060
import java.net.http.HttpResponse.BodyHandlers;
6161
import java.net.http.HttpResponse.BodySubscriber;
6262
import java.net.http.HttpResponse.BodySubscribers;
63+
64+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
6365
import jdk.httpclient.test.lib.common.HttpServerAdapters;
6466
import jdk.httpclient.test.lib.http2.Http2TestServer;
6567
import jdk.httpclient.test.lib.http2.Http2TestExchange;
@@ -267,7 +269,7 @@ public void setup() throws Exception {
267269
httpChunkedURI = "http://" + serverAuthority(httpTestServer) + "/http1/chunked";
268270

269271
httpsTestServer = HttpsServer.create(sa, 0);
270-
httpsTestServer.setHttpsConfigurator(new HttpsConfigurator(sslContext));
272+
httpsTestServer.setHttpsConfigurator(new TestServerConfigurator(sa.getAddress(), sslContext));
271273
httpsTestServer.createContext("/https1/fixed", new Http1FixedHandler());
272274
httpsFixedURI = "https://" + serverAuthority(httpsTestServer) + "/https1/fixed";
273275
httpsTestServer.createContext("/https1/chunked", new Http1ChunkedHandler());

test/jdk/java/net/httpclient/CustomResponseSubscriber.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
* @summary Tests response body subscribers's onComplete is not invoked before onSubscribe
2727
* @library /test/lib /test/jdk/java/net/httpclient/lib
2828
* @build jdk.test.lib.net.SimpleSSLContext jdk.httpclient.test.lib.http2.Http2TestServer
29+
* jdk.httpclient.test.lib.common.TestServerConfigurator
2930
* @run testng/othervm CustomResponseSubscriber
3031
*/
3132

@@ -43,7 +44,6 @@
4344
import com.sun.net.httpserver.HttpExchange;
4445
import com.sun.net.httpserver.HttpHandler;
4546
import com.sun.net.httpserver.HttpServer;
46-
import com.sun.net.httpserver.HttpsConfigurator;
4747
import com.sun.net.httpserver.HttpsServer;
4848
import java.net.http.HttpClient;
4949
import java.net.http.HttpHeaders;
@@ -52,6 +52,8 @@
5252
import java.net.http.HttpResponse.BodyHandler;
5353
import java.net.http.HttpResponse.BodySubscriber;
5454
import java.net.http.HttpResponse.BodySubscribers;
55+
56+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
5557
import jdk.httpclient.test.lib.http2.Http2TestServer;
5658
import jdk.httpclient.test.lib.http2.Http2TestExchange;
5759
import jdk.httpclient.test.lib.http2.Http2Handler;
@@ -200,7 +202,7 @@ public void setup() throws Exception {
200202
httpURI_chunk = "http://" + serverAuthority(httpTestServer) + "/http1/chunk";
201203

202204
httpsTestServer = HttpsServer.create(sa, 0);
203-
httpsTestServer.setHttpsConfigurator(new HttpsConfigurator(sslContext));
205+
httpsTestServer.setHttpsConfigurator(new TestServerConfigurator(sa.getAddress(), sslContext));
204206
httpsTestServer.createContext("/https1/fixed", h1_fixedLengthHandler);
205207
httpsTestServer.createContext("/https1/chunk", h1_chunkHandler);
206208
httpsURI_fixed = "https://" + serverAuthority(httpsTestServer) + "/https1/fixed";

test/jdk/java/net/httpclient/ExpectContinue.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,16 @@
2424
/*
2525
* @test
2626
* @summary Basic test for Expect 100-Continue ( HTTP/1.1 only )
27-
* @modules java.net.http
27+
* @library /test/lib /test/jdk/java/net/httpclient/lib
28+
* @build jdk.test.lib.net.SimpleSSLContext jdk.httpclient.test.lib.common.TestServerConfigurator
29+
* @modules java.net.http/jdk.internal.net.http.common
2830
* jdk.httpserver
29-
* @library /test/lib
30-
* @build jdk.test.lib.net.SimpleSSLContext
3131
* @run testng/othervm ExpectContinue
3232
*/
3333

3434
import com.sun.net.httpserver.HttpExchange;
3535
import com.sun.net.httpserver.HttpHandler;
3636
import com.sun.net.httpserver.HttpServer;
37-
import com.sun.net.httpserver.HttpsConfigurator;
3837
import com.sun.net.httpserver.HttpsServer;
3938
import java.io.IOException;
4039
import java.io.InputStream;
@@ -49,6 +48,8 @@
4948
import java.net.http.HttpResponse.BodyHandlers;
5049
import java.util.List;
5150
import javax.net.ssl.SSLContext;
51+
52+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
5253
import jdk.test.lib.net.SimpleSSLContext;
5354
import org.testng.annotations.AfterTest;
5455
import org.testng.annotations.BeforeTest;
@@ -148,7 +149,7 @@ public void setup() throws Exception {
148149
httpURI = "http://" + serverAuthority(httpTestServer) + "/http1/ec";
149150

150151
httpsTestServer = HttpsServer.create(sa, 0);
151-
httpsTestServer.setHttpsConfigurator(new HttpsConfigurator(sslContext));
152+
httpsTestServer.setHttpsConfigurator(new TestServerConfigurator(sa.getAddress(), sslContext));
152153
httpsTestServer.createContext("/https1/ec", new Http1ExpectContinueHandler());
153154
httpsURI = "https://" + serverAuthority(httpsTestServer) + "/https1/ec";
154155

test/jdk/java/net/httpclient/HttpRedirectTest.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@
2020
* or visit www.oracle.com if you need additional information or have any
2121
* questions.
2222
*/
23-
import com.sun.net.httpserver.HttpServer;
24-
import com.sun.net.httpserver.HttpsConfigurator;
2523
import com.sun.net.httpserver.HttpsServer;
24+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
2625
import jdk.test.lib.net.SimpleSSLContext;
2726
import org.testng.annotations.BeforeClass;
2827
import org.testng.annotations.AfterClass;
@@ -60,7 +59,6 @@
6059
import java.util.concurrent.TimeUnit;
6160
import java.util.concurrent.atomic.AtomicLong;
6261
import jdk.httpclient.test.lib.common.HttpServerAdapters;
63-
import jdk.httpclient.test.lib.http2.Http2TestServer;
6462

6563
/**
6664
* @test
@@ -69,6 +67,7 @@
6967
* @library /test/lib /test/jdk/java/net/httpclient/lib
7068
* @build jdk.test.lib.net.SimpleSSLContext DigestEchoServer HttpRedirectTest
7169
* jdk.httpclient.test.lib.common.HttpServerAdapters
70+
* jdk.httpclient.test.lib.common.TestServerConfigurator
7271
* @run testng/othervm -Dtest.requiresHost=true
7372
* -Djdk.httpclient.HttpClient.log=headers
7473
* -Djdk.internal.httpclient.debug=false
@@ -175,7 +174,7 @@ public void setUp() throws Exception {
175174
// HTTPS/1.1
176175
HttpsServer sserver1 = HttpsServer.create(sa, 100);
177176
sserver1.setExecutor(executor);
178-
sserver1.setHttpsConfigurator(new HttpsConfigurator(context));
177+
sserver1.setHttpsConfigurator(new TestServerConfigurator(sa.getAddress(), context));
179178
https1Server = HttpTestServer.of(sserver1);
180179
https1Server.addHandler(new HttpTestRedirectHandler("https", https1Server),
181180
"/HttpRedirectTest/https1/");

test/jdk/java/net/httpclient/HttpSlowServerTest.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@
2020
* or visit www.oracle.com if you need additional information or have any
2121
* questions.
2222
*/
23-
import com.sun.net.httpserver.HttpServer;
24-
import com.sun.net.httpserver.HttpsConfigurator;
2523
import com.sun.net.httpserver.HttpsServer;
24+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
2625
import jdk.test.lib.net.SimpleSSLContext;
2726

2827
import javax.net.ssl.SSLContext;
@@ -51,7 +50,6 @@
5150
import java.util.concurrent.TimeUnit;
5251
import java.util.concurrent.atomic.AtomicLong;
5352
import jdk.httpclient.test.lib.common.HttpServerAdapters;
54-
import jdk.httpclient.test.lib.http2.Http2TestServer;
5553
import static java.net.http.HttpClient.Version.HTTP_1_1;
5654
import static java.net.http.HttpClient.Version.HTTP_2;
5755

@@ -62,6 +60,7 @@
6260
* @library /test/lib /test/jdk/java/net/httpclient/lib
6361
* @build jdk.httpclient.test.lib.common.HttpServerAdapters jdk.test.lib.net.SimpleSSLContext
6462
* DigestEchoServer HttpSlowServerTest
63+
* jdk.httpclient.test.lib.common.TestServerConfigurator
6564
* @run main/othervm -Dtest.requiresHost=true
6665
* -Djdk.httpclient.HttpClient.log=headers
6766
* -Djdk.internal.httpclient.debug=false
@@ -138,7 +137,7 @@ public void setUp() throws Exception {
138137
// HTTPS/1.1
139138
HttpsServer sserver1 = HttpsServer.create(sa, 100);
140139
sserver1.setExecutor(executor);
141-
sserver1.setHttpsConfigurator(new HttpsConfigurator(context));
140+
sserver1.setHttpsConfigurator(new TestServerConfigurator(sa.getAddress(), context));
142141
https1Server = HttpTestServer.of(sserver1);
143142
https1Server.addHandler(new HttpTestSlowHandler(), "/HttpSlowServerTest/https1/");
144143
https1Server.start();

test/jdk/java/net/httpclient/ImmutableFlowItems.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
* and that the buffers are read-only
2828
* @library /test/lib /test/jdk/java/net/httpclient/lib
2929
* @build jdk.test.lib.net.SimpleSSLContext jdk.httpclient.test.lib.http2.Http2TestServer
30+
* jdk.httpclient.test.lib.common.TestServerConfigurator
3031
* @run testng/othervm ImmutableFlowItems
3132
*/
3233

@@ -43,7 +44,6 @@
4344
import com.sun.net.httpserver.HttpExchange;
4445
import com.sun.net.httpserver.HttpHandler;
4546
import com.sun.net.httpserver.HttpServer;
46-
import com.sun.net.httpserver.HttpsConfigurator;
4747
import com.sun.net.httpserver.HttpsServer;
4848
import java.net.http.HttpClient;
4949
import java.net.http.HttpHeaders;
@@ -53,6 +53,8 @@
5353
import java.net.http.HttpResponse.BodySubscriber;
5454
import java.net.http.HttpResponse.BodySubscribers;
5555
import javax.net.ssl.SSLContext;
56+
57+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
5658
import jdk.httpclient.test.lib.http2.Http2TestServer;
5759
import jdk.httpclient.test.lib.http2.Http2TestExchange;
5860
import jdk.httpclient.test.lib.http2.Http2Handler;
@@ -189,7 +191,7 @@ public void setup() throws Exception {
189191
httpURI_chunk = "http://" + serverAuthority(httpTestServer) + "/http1/chunk";
190192

191193
httpsTestServer = HttpsServer.create(sa, 0);
192-
httpsTestServer.setHttpsConfigurator(new HttpsConfigurator(sslContext));
194+
httpsTestServer.setHttpsConfigurator(new TestServerConfigurator(sa.getAddress(), sslContext));
193195
httpsTestServer.createContext("/https1/fixed", h1_fixedLengthHandler);
194196
httpsTestServer.createContext("/https1/chunk", h1_chunkHandler);
195197
httpsURI_fixed = "https://" + serverAuthority(httpsTestServer) + "/https1/fixed";

test/jdk/java/net/httpclient/LargeHandshakeTest.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
* or visit www.oracle.com if you need additional information or have any
2121
* questions.
2222
*/
23-
import com.sun.net.httpserver.HttpServer;
24-
import com.sun.net.httpserver.HttpsConfigurator;
2523
import com.sun.net.httpserver.HttpsServer;
2624

2725
import javax.net.ssl.KeyManagerFactory;
@@ -61,7 +59,7 @@
6159
import java.util.concurrent.TimeUnit;
6260
import java.util.concurrent.atomic.AtomicLong;
6361
import jdk.httpclient.test.lib.common.HttpServerAdapters;
64-
import jdk.httpclient.test.lib.http2.Http2TestServer;
62+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
6563
import static java.net.http.HttpClient.Version.HTTP_1_1;
6664
import static java.net.http.HttpClient.Version.HTTP_2;
6765

@@ -82,6 +80,7 @@
8280
* @library /test/lib /test/jdk/java/net/httpclient/lib
8381
* @build jdk.httpclient.test.lib.common.HttpServerAdapters jdk.test.lib.net.SimpleSSLContext
8482
* DigestEchoServer
83+
* jdk.httpclient.test.lib.common.TestServerConfigurator
8584
* @run main/othervm -Dtest.requiresHost=true
8685
* -Djdk.httpclient.HttpClient.log=headers
8786
* -Djdk.internal.httpclient.debug=true
@@ -1011,7 +1010,7 @@ public void setUp() throws Exception {
10111010
// HTTPS/1.1
10121011
HttpsServer sserver1 = HttpsServer.create(sa, 100);
10131012
sserver1.setExecutor(executor);
1014-
sserver1.setHttpsConfigurator(new HttpsConfigurator(context));
1013+
sserver1.setHttpsConfigurator(new TestServerConfigurator(sa.getAddress(), context));
10151014
https1Server = HttpTestServer.of(sserver1);
10161015
https1Server.addHandler(new HttpTestLargeHandler(), "/LargeHandshakeTest/https1/");
10171016
https1Server.start();

test/jdk/java/net/httpclient/LargeResponseTest.java

+3-5
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@
2020
* or visit www.oracle.com if you need additional information or have any
2121
* questions.
2222
*/
23-
import com.sun.net.httpserver.HttpServer;
24-
import com.sun.net.httpserver.HttpsConfigurator;
2523
import com.sun.net.httpserver.HttpsServer;
24+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
2625
import jdk.test.lib.net.SimpleSSLContext;
2726

2827
import javax.net.ssl.SSLContext;
@@ -38,7 +37,6 @@
3837
import java.net.http.HttpClient;
3938
import java.net.http.HttpRequest;
4039
import java.net.http.HttpResponse;
41-
import java.nio.charset.StandardCharsets;
4240
import java.time.Duration;
4341
import java.util.List;
4442
import java.util.Set;
@@ -51,7 +49,6 @@
5149
import java.util.concurrent.TimeUnit;
5250
import java.util.concurrent.atomic.AtomicLong;
5351
import jdk.httpclient.test.lib.common.HttpServerAdapters;
54-
import jdk.httpclient.test.lib.http2.Http2TestServer;
5552
import static java.net.http.HttpClient.Version.HTTP_1_1;
5653
import static java.net.http.HttpClient.Version.HTTP_2;
5754

@@ -64,6 +61,7 @@
6461
* @library /test/lib /test/jdk/java/net/httpclient/lib
6562
* @build jdk.httpclient.test.lib.common.HttpServerAdapters
6663
* jdk.test.lib.net.SimpleSSLContext DigestEchoServer
64+
* jdk.httpclient.test.lib.common.TestServerConfigurator
6765
* @run main/othervm -Dtest.requiresHost=true
6866
* -Djdk.httpclient.HttpClient.log=headers
6967
* -Djdk.internal.httpclient.debug=true
@@ -136,7 +134,7 @@ public void setUp() throws Exception {
136134
// HTTPS/1.1
137135
HttpsServer sserver1 = HttpsServer.create(sa, 100);
138136
sserver1.setExecutor(executor);
139-
sserver1.setHttpsConfigurator(new HttpsConfigurator(context));
137+
sserver1.setHttpsConfigurator(new TestServerConfigurator(sa.getAddress(), context));
140138
https1Server = HttpTestServer.of(sserver1);
141139
https1Server.addHandler(new HttpTestLargeHandler(), "/LargeResponseTest/https1/");
142140
https1Server.start();

test/jdk/java/net/httpclient/LightWeightHttpServer.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import com.sun.net.httpserver.HttpExchange;
3434
import com.sun.net.httpserver.HttpHandler;
3535
import com.sun.net.httpserver.HttpServer;
36-
import com.sun.net.httpserver.HttpsConfigurator;
3736
import com.sun.net.httpserver.HttpsServer;
3837
import java.io.IOException;
3938
import java.io.InputStream;
@@ -50,6 +49,8 @@
5049
import java.util.logging.Level;
5150
import java.util.logging.Logger;
5251
import javax.net.ssl.SSLContext;
52+
53+
import jdk.httpclient.test.lib.common.TestServerConfigurator;
5354
import jdk.test.lib.net.SimpleSSLContext;
5455

5556
public class LightWeightHttpServer {
@@ -111,7 +112,7 @@ public static void initServer() throws IOException {
111112
httpServer.setExecutor(executor);
112113
httpsServer.setExecutor(executor);
113114
ctx = new SimpleSSLContext().get();
114-
httpsServer.setHttpsConfigurator(new HttpsConfigurator(ctx));
115+
httpsServer.setHttpsConfigurator(new TestServerConfigurator(addr.getAddress(), ctx));
115116
httpServer.start();
116117
httpsServer.start();
117118

0 commit comments

Comments
 (0)