8223145: Replace wildcard address with loopback or local host in tests - part 1
Replaces binding to wildacard with alternative less susceptible to intermittent failure in some intermittently failing tests. Reviewed-by: chegar, msheppar
This commit is contained in:
parent
bbd9000753
commit
7d4520c109
@ -69,7 +69,8 @@ public class B6361557 {
|
||||
|
||||
public static void main (String[] args) throws Exception {
|
||||
Handler handler = new Handler();
|
||||
InetSocketAddress addr = new InetSocketAddress (0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
InetSocketAddress addr = new InetSocketAddress (loopback, 0);
|
||||
HttpServer server = HttpServer.create (addr, 0);
|
||||
HttpContext ctx = server.createContext ("/test", handler);
|
||||
|
||||
@ -78,7 +79,7 @@ public class B6361557 {
|
||||
server.start ();
|
||||
|
||||
InetSocketAddress destaddr = new InetSocketAddress (
|
||||
InetAddress.getLoopbackAddress(), server.getAddress().getPort()
|
||||
loopback, server.getAddress().getPort()
|
||||
);
|
||||
System.out.println ("destaddr " + destaddr);
|
||||
|
||||
@ -86,7 +87,10 @@ public class B6361557 {
|
||||
int requests = 0;
|
||||
int responses = 0;
|
||||
while (true) {
|
||||
int selres = selector.select (1);
|
||||
// we need to read responses from time to time: slightly
|
||||
// increase the timeout with the amount of pending responses
|
||||
// to give a chance to the server to reply.
|
||||
int selres = selector.select (requests - responses + 1);
|
||||
Set<SelectionKey> selkeys = selector.selectedKeys();
|
||||
for (SelectionKey key : selkeys) {
|
||||
if (key.isReadable()) {
|
||||
@ -95,14 +99,18 @@ public class B6361557 {
|
||||
try {
|
||||
int x = chan.read(buf);
|
||||
if (x == -1 || responseComplete(buf)) {
|
||||
System.out.print("_");
|
||||
key.attach(null);
|
||||
chan.close();
|
||||
responses++;
|
||||
}
|
||||
} catch (IOException e) {}
|
||||
} catch (IOException e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (requests < NUM) {
|
||||
System.out.print(".");
|
||||
SocketChannel schan = SocketChannel.open(destaddr);
|
||||
requestBuf.rewind();
|
||||
int c = 0;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -121,13 +121,14 @@ public class B4722333 implements HttpCallback {
|
||||
MyAuthenticator auth = new MyAuthenticator ();
|
||||
Authenticator.setDefault (auth);
|
||||
try {
|
||||
server = new TestHttpServer (new B4722333(), 1, 10, 0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
server = new TestHttpServer (new B4722333(), 1, 10, loopback, 0);
|
||||
System.out.println ("Server started: listening on port: " + server.getLocalPort());
|
||||
client ("http://localhost:"+server.getLocalPort()+"/d1/d2/d3/foo.html");
|
||||
client ("http://localhost:"+server.getLocalPort()+"/ASD/d3/x.html");
|
||||
client ("http://localhost:"+server.getLocalPort()+"/biz/d3/x.html");
|
||||
client ("http://localhost:"+server.getLocalPort()+"/bar/d3/x.html");
|
||||
client ("http://localhost:"+server.getLocalPort()+"/fuzz/d3/x.html");
|
||||
client ("http://" + server.getAuthority() + "/d1/d2/d3/foo.html");
|
||||
client ("http://" + server.getAuthority() + "/ASD/d3/x.html");
|
||||
client ("http://" + server.getAuthority() + "/biz/d3/x.html");
|
||||
client ("http://" + server.getAuthority() + "/bar/d3/x.html");
|
||||
client ("http://" + server.getAuthority() + "/fuzz/d3/x.html");
|
||||
} catch (Exception e) {
|
||||
if (server != null) {
|
||||
server.terminate();
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -24,11 +24,13 @@
|
||||
/**
|
||||
* @test
|
||||
* @bug 7128648
|
||||
* @library /test/lib
|
||||
* @modules jdk.httpserver
|
||||
* @summary HttpURLConnection.getHeaderFields should return an unmodifiable Map
|
||||
*/
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.InetAddress;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.URI;
|
||||
import java.net.HttpURLConnection;
|
||||
@ -41,6 +43,7 @@ import com.sun.net.httpserver.HttpHandler;
|
||||
import com.sun.net.httpserver.HttpServer;
|
||||
import com.sun.net.httpserver.Headers;
|
||||
import static java.net.Proxy.NO_PROXY;
|
||||
import jdk.test.lib.net.URIBuilder;
|
||||
|
||||
public class UnmodifiableMaps {
|
||||
|
||||
@ -48,7 +51,12 @@ public class UnmodifiableMaps {
|
||||
HttpServer server = startHttpServer();
|
||||
try {
|
||||
InetSocketAddress address = server.getAddress();
|
||||
URI uri = new URI("http://localhost:" + address.getPort() + "/foo");
|
||||
URI uri = URIBuilder.newBuilder()
|
||||
.scheme("http")
|
||||
.host(address.getAddress())
|
||||
.port(address.getPort())
|
||||
.path("/foo")
|
||||
.build();
|
||||
doClient(uri);
|
||||
} finally {
|
||||
server.stop(0);
|
||||
@ -78,7 +86,8 @@ public class UnmodifiableMaps {
|
||||
|
||||
// HTTP Server
|
||||
HttpServer startHttpServer() throws IOException {
|
||||
HttpServer httpServer = HttpServer.create(new InetSocketAddress(0), 0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
HttpServer httpServer = HttpServer.create(new InetSocketAddress(loopback, 0), 0);
|
||||
httpServer.createContext("/foo", new SimpleHandler());
|
||||
httpServer.start();
|
||||
return httpServer;
|
||||
@ -146,4 +155,3 @@ public class UnmodifiableMaps {
|
||||
System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed);
|
||||
if (failed > 0) throw new AssertionError("Some tests failed");}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -24,6 +24,7 @@
|
||||
/* @test
|
||||
* @summary Unit test for java.net.ResponseCache
|
||||
* @bug 4837267
|
||||
* @library /test/lib
|
||||
* @author Yingxian Wang
|
||||
*/
|
||||
|
||||
@ -31,6 +32,7 @@ import java.net.*;
|
||||
import java.util.*;
|
||||
import java.io.*;
|
||||
import javax.net.ssl.*;
|
||||
import jdk.test.lib.net.URIBuilder;
|
||||
|
||||
/**
|
||||
* Request should get serviced by the cache handler. Response get
|
||||
@ -90,14 +92,17 @@ public class ResponseCacheTest implements Runnable {
|
||||
try { fis.close(); } catch (IOException unused) {}
|
||||
}
|
||||
}
|
||||
static class NameVerifier implements HostnameVerifier {
|
||||
static class NameVerifier implements HostnameVerifier {
|
||||
public boolean verify(String hostname, SSLSession session) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
ResponseCacheTest() throws Exception {
|
||||
/* start the server */
|
||||
ss = new ServerSocket(0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
ss = new ServerSocket();
|
||||
ss.bind(new InetSocketAddress(loopback, 0));
|
||||
|
||||
(new Thread(this)).start();
|
||||
/* establish http connection to server */
|
||||
url1 = new URL("http://localhost/file1.cache");
|
||||
@ -126,8 +131,12 @@ static class NameVerifier implements HostnameVerifier {
|
||||
http.disconnect();
|
||||
|
||||
// testing ResponseCacheHandler.put()
|
||||
url2 = new URL("http://localhost:" +
|
||||
Integer.toString(ss.getLocalPort())+"/file2.1");
|
||||
url2 = URIBuilder.newBuilder()
|
||||
.scheme("http")
|
||||
.host(ss.getInetAddress())
|
||||
.port(ss.getLocalPort())
|
||||
.path("/file2.1")
|
||||
.toURL();
|
||||
http = (HttpURLConnection)url2.openConnection();
|
||||
System.out.println("responsecode2 is :"+http.getResponseCode());
|
||||
Map<String,List<String>> headers2 = http.getHeaderFields();
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -45,7 +45,8 @@ public class GetLocalAddress implements Runnable {
|
||||
int linger = 65546;
|
||||
int value = 0;
|
||||
addr = InetAddress.getLocalHost();
|
||||
ss = new ServerSocket(0);
|
||||
ss = new ServerSocket();
|
||||
ss.bind(new InetSocketAddress(addr, 0));
|
||||
port = ss.getLocalPort();
|
||||
|
||||
Thread t = new Thread(new GetLocalAddress());
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -28,6 +28,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.Socket;
|
||||
import java.net.ServerSocket;
|
||||
|
||||
@ -37,8 +39,10 @@ public class SetReceiveBufferSize {
|
||||
}
|
||||
|
||||
public SetReceiveBufferSize() throws Exception {
|
||||
ServerSocket ss = new ServerSocket(0);
|
||||
Socket s = new Socket("localhost", ss.getLocalPort());
|
||||
ServerSocket ss = new ServerSocket();
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
ss.bind(new InetSocketAddress(loopback, 0));
|
||||
Socket s = new Socket(loopback, ss.getLocalPort());
|
||||
Socket accepted = ss.accept();
|
||||
try {
|
||||
s.setReceiveBufferSize(0);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -44,7 +44,8 @@ public class SoTimeout implements Runnable {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
addr = InetAddress.getLocalHost();
|
||||
serverSocket = new ServerSocket(0);
|
||||
serverSocket = new ServerSocket();
|
||||
serverSocket.bind(new InetSocketAddress(addr, 0));
|
||||
port = serverSocket.getLocalPort();
|
||||
|
||||
byte[] b = new byte[12];
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2007, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -39,8 +39,9 @@ public class TestAfterClose
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
ServerSocket ss = new ServerSocket(0, 0, null);
|
||||
Socket socket = new Socket("localhost", ss.getLocalPort());
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
ServerSocket ss = new ServerSocket(0, 0, loopback);
|
||||
Socket socket = new Socket(loopback, ss.getLocalPort());
|
||||
ss.accept();
|
||||
ss.close();
|
||||
test(socket);
|
||||
|
@ -54,10 +54,12 @@ public class UrgentDataTest {
|
||||
try {
|
||||
UrgentDataTest test = new UrgentDataTest ();
|
||||
if (args.length == 0) {
|
||||
test.listener = new ServerSocket (0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
test.listener = new ServerSocket ();
|
||||
test.listener.bind(new InetSocketAddress(loopback, 0));
|
||||
test.isClient = true;
|
||||
test.isServer = true;
|
||||
test.clHost = InetAddress.getLoopbackAddress().getHostAddress();
|
||||
test.clHost = loopback.getHostAddress();
|
||||
test.clPort = test.listener.getLocalPort();
|
||||
test.run();
|
||||
} else if (args[0].equals ("-server")) {
|
||||
|
@ -99,7 +99,7 @@ public class OptionsTest {
|
||||
|
||||
static void doSocketTests() throws Exception {
|
||||
try (
|
||||
ServerSocket srv = new ServerSocket(0);
|
||||
ServerSocket srv = new ServerSocket(0, 50, InetAddress.getLoopbackAddress());
|
||||
Socket c = new Socket(InetAddress.getLoopbackAddress(), srv.getLocalPort());
|
||||
Socket s = srv.accept();
|
||||
) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -24,11 +24,13 @@
|
||||
/**
|
||||
* @test
|
||||
* @bug 4145315
|
||||
* @library /test/lib
|
||||
* @summary Test a read from nonexistant URL
|
||||
*/
|
||||
|
||||
import java.net.*;
|
||||
import java.io.*;
|
||||
import jdk.test.lib.net.URIBuilder;
|
||||
|
||||
public class GetContent implements Runnable {
|
||||
|
||||
@ -71,10 +73,12 @@ public class GetContent implements Runnable {
|
||||
|
||||
boolean error = true;
|
||||
try {
|
||||
String name = "http://localhost:" + ss.getLocalPort() +
|
||||
"/no-such-name";
|
||||
java.net.URL url = null;
|
||||
url = new java.net.URL(name);
|
||||
java.net.URL url = URIBuilder.newBuilder()
|
||||
.scheme("http")
|
||||
.host(ss.getInetAddress())
|
||||
.port(ss.getLocalPort())
|
||||
.path("/no-such-name")
|
||||
.toURL();
|
||||
Object obj = url.getContent();
|
||||
InputStream in = (InputStream) obj;
|
||||
byte buff[] = new byte[200];
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2007, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -64,9 +64,10 @@ public class B5052093 implements HttpCallback {
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
server = new TestHttpServer(new B5052093(), 1, 10, 0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
server = new TestHttpServer(new B5052093(), 1, 10, loopback, 0);
|
||||
try {
|
||||
URL url = new URL("http://localhost:"+server.getLocalPort()+"/foo");
|
||||
URL url = new URL("http://" + server.getAuthority() + "/foo");
|
||||
URLConnection conn = url.openConnection();
|
||||
int i = conn.getContentLength();
|
||||
long l = conn.getContentLengthLong();
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -36,6 +36,8 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.net.InetAddress;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.NetPermission;
|
||||
import java.net.ProxySelector;
|
||||
import java.net.ServerSocket;
|
||||
@ -104,7 +106,7 @@ public class LookupTest {
|
||||
String hostsFileName = CWD + "/LookupTestHosts";
|
||||
System.setProperty("jdk.net.hosts.file", hostsFileName);
|
||||
addMappingToHostsFile("allowedAndFound.com",
|
||||
"127.0.0.1",
|
||||
InetAddress.getLoopbackAddress().getHostAddress(),
|
||||
hostsFileName,
|
||||
false);
|
||||
addMappingToHostsFile("notAllowedButFound.com",
|
||||
@ -131,7 +133,9 @@ public class LookupTest {
|
||||
private volatile boolean done;
|
||||
|
||||
public Server() throws IOException {
|
||||
serverSocket = new ServerSocket(0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
serverSocket = new ServerSocket();
|
||||
serverSocket.bind(new InetSocketAddress(loopback, 0));
|
||||
port = serverSocket.getLocalPort();
|
||||
}
|
||||
|
||||
|
@ -37,6 +37,7 @@ import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.PrintWriter;
|
||||
import java.net.InetAddress;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
@ -52,7 +53,8 @@ public class TestFtpClientNameListWithNull {
|
||||
FtpClient client = FtpClient.create()) {
|
||||
(new Thread(server)).start();
|
||||
int port = server.getPort();
|
||||
client.connect(new InetSocketAddress("localhost", port));
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
client.connect(new InetSocketAddress(loopback, port));
|
||||
client.nameList(null);
|
||||
} finally {
|
||||
if (commandHasArgs) {
|
||||
@ -66,7 +68,9 @@ public class TestFtpClientNameListWithNull {
|
||||
private final ServerSocket serverSocket;
|
||||
|
||||
FtpServer() throws IOException {
|
||||
serverSocket = new ServerSocket(0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
serverSocket = new ServerSocket();
|
||||
serverSocket.bind(new InetSocketAddress(loopback, 0));
|
||||
}
|
||||
|
||||
public void handleClient(Socket client) throws IOException {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -126,7 +126,9 @@ public class ProxyTest {
|
||||
}
|
||||
|
||||
public HttpProxyServer() throws IOException {
|
||||
server = new ServerSocket(0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
server = new ServerSocket();
|
||||
server.bind(new InetSocketAddress(loopback, 0));
|
||||
}
|
||||
|
||||
public int getPort() {
|
||||
@ -183,7 +185,8 @@ public class ProxyTest {
|
||||
server.start();
|
||||
int port = server.getPort();
|
||||
|
||||
Proxy ftpProxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("localhost", port));
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
Proxy ftpProxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(loopback, port));
|
||||
URL url = new URL(testURL);
|
||||
InputStream ins = (url.openConnection(ftpProxy)).getInputStream();
|
||||
in = new BufferedReader(new InputStreamReader(ins));
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -29,6 +29,7 @@ import java.io.InputStreamReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.Authenticator;
|
||||
import java.net.InetAddress;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.PasswordAuthentication;
|
||||
import java.net.URL;
|
||||
@ -62,8 +63,8 @@ public class NTLMAuthWithSM {
|
||||
// set authenticator
|
||||
Authenticator.setDefault(new AuthenticatorImpl());
|
||||
|
||||
String url = String.format("http://localhost:%d/test/",
|
||||
server.getPort());
|
||||
String url = String.format("http://%s/test/",
|
||||
server.getAuthority());
|
||||
|
||||
// load a document which is protected with NTML authentication
|
||||
System.out.println("load() called: " + url);
|
||||
@ -107,8 +108,9 @@ public class NTLMAuthWithSM {
|
||||
}
|
||||
|
||||
static LocalHttpServer startServer() throws IOException {
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
HttpServer httpServer = HttpServer.create(
|
||||
new InetSocketAddress(0), 0);
|
||||
new InetSocketAddress(loopback, 0), 0);
|
||||
LocalHttpServer localHttpServer = new LocalHttpServer(httpServer);
|
||||
localHttpServer.start();
|
||||
|
||||
@ -126,6 +128,14 @@ public class NTLMAuthWithSM {
|
||||
System.out.println("HttpServer: stopped");
|
||||
}
|
||||
|
||||
String getAuthority() {
|
||||
InetAddress address = server.getAddress().getAddress();
|
||||
String hostaddr = address.isAnyLocalAddress()
|
||||
? "localhost" : address.getHostAddress();
|
||||
if (hostaddr.indexOf(':') > -1) hostaddr = "[" + hostaddr + "]";
|
||||
return hostaddr + ":" + getPort();
|
||||
}
|
||||
|
||||
int getPort() {
|
||||
return server.getAddress().getPort();
|
||||
}
|
||||
|
@ -83,9 +83,10 @@ public class PostOnDelete {
|
||||
}
|
||||
|
||||
public String getAuthority() {
|
||||
String address = server.getAddress().getHostString();
|
||||
address = (address.indexOf(':') >= 0) ? ("[" + address + "]") : address;
|
||||
return address + ":" + getPort();
|
||||
InetAddress address = server.getAddress().getAddress();
|
||||
String hostaddr = address.isAnyLocalAddress() ? "localhost" : address.getHostAddress();
|
||||
hostaddr = (hostaddr.indexOf(':') >= 0) ? ("[" + hostaddr + "]") : hostaddr;
|
||||
return hostaddr + ":" + getPort();
|
||||
}
|
||||
|
||||
public int getPort() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -25,11 +25,13 @@
|
||||
* @test
|
||||
* @bug 4392195
|
||||
* @summary Infinite loop in sun.net.www.http.KeepAliveStream [due to skip()]
|
||||
* @library /test/lib
|
||||
* @run main/othervm/timeout=30 KeepAliveStreamClose
|
||||
*/
|
||||
|
||||
import java.net.*;
|
||||
import java.io.*;
|
||||
import jdk.test.lib.net.URIBuilder;
|
||||
|
||||
public class KeepAliveStreamClose {
|
||||
static class XServer extends Thread {
|
||||
@ -78,11 +80,16 @@ public class KeepAliveStreamClose {
|
||||
|
||||
public static void main (String[] args) {
|
||||
try {
|
||||
ServerSocket serversocket = new ServerSocket (0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
ServerSocket serversocket = new ServerSocket (0, 50, loopback);
|
||||
int port = serversocket.getLocalPort ();
|
||||
XServer server = new XServer (serversocket);
|
||||
server.start ();
|
||||
URL url = new URL ("http://localhost:"+port);
|
||||
URL url = URIBuilder.newBuilder()
|
||||
.scheme("http")
|
||||
.loopback()
|
||||
.port(port)
|
||||
.toURL();
|
||||
URLConnection urlc = url.openConnection ();
|
||||
InputStream is = urlc.getInputStream ();
|
||||
int i=0, c;
|
||||
|
@ -68,6 +68,22 @@ public class TestHttpServer {
|
||||
this (cb, 1, 10, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>TestHttpServer<code> instance with the specified callback object
|
||||
* for handling requests. One thread is created to handle requests,
|
||||
* and up to ten TCP connections will be handled simultaneously.
|
||||
* @param cb the callback object which is invoked to handle each
|
||||
* incoming request
|
||||
* @param address the address to bind the server to. <code>Null</code>
|
||||
* means bind to the wildcard address.
|
||||
* @param port the port number to bind the server to. <code>Zero</code>
|
||||
* means choose any free port.
|
||||
*/
|
||||
|
||||
public TestHttpServer (HttpCallback cb, InetAddress address, int port) throws IOException {
|
||||
this (cb, 1, 10, address, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>TestHttpServer<code> instance with the specified number of
|
||||
* threads and maximum number of connections per thread. This functions
|
||||
@ -102,9 +118,33 @@ public class TestHttpServer {
|
||||
*/
|
||||
|
||||
public TestHttpServer (HttpCallback cb, int threads, int cperthread, int port)
|
||||
throws IOException {
|
||||
this(cb, threads, cperthread, null, port);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a <code>TestHttpServer<code> instance with the specified number
|
||||
* of threads and maximum number of connections per thread and running on
|
||||
* the specified port. The specified number of threads are created to
|
||||
* handle incoming requests, and each thread is allowed
|
||||
* to handle a number of simultaneous TCP connections.
|
||||
* @param cb the callback object which is invoked to handle
|
||||
* each incoming request
|
||||
* @param threads the number of threads to create to handle
|
||||
* requests in parallel
|
||||
* @param cperthread the number of simultaneous TCP connections
|
||||
* to handle per thread
|
||||
* @param address the address to bind the server to. <code>Null</code>
|
||||
* means bind to the wildcard address.
|
||||
* @param port the port number to bind the server to. <code>Zero</code>
|
||||
* means choose any free port.
|
||||
*/
|
||||
|
||||
public TestHttpServer (HttpCallback cb, int threads, int cperthread,
|
||||
InetAddress address, int port)
|
||||
throws IOException {
|
||||
schan = ServerSocketChannel.open ();
|
||||
InetSocketAddress addr = new InetSocketAddress (port);
|
||||
InetSocketAddress addr = new InetSocketAddress (address, port);
|
||||
schan.socket().bind (addr);
|
||||
this.threads = threads;
|
||||
this.cb = cb;
|
||||
@ -147,6 +187,14 @@ public class TestHttpServer {
|
||||
return schan.socket().getLocalPort ();
|
||||
}
|
||||
|
||||
public String getAuthority() {
|
||||
InetAddress address = schan.socket().getInetAddress();
|
||||
String hostaddr = address.getHostAddress();
|
||||
if (address.isAnyLocalAddress()) hostaddr = "localhost";
|
||||
if (hostaddr.indexOf(':') > -1) hostaddr = "[" + hostaddr + "]";
|
||||
return hostaddr + ":" + getLocalPort();
|
||||
}
|
||||
|
||||
static class Server extends Thread {
|
||||
|
||||
ServerSocketChannel schan;
|
||||
@ -746,4 +794,3 @@ public class TestHttpServer {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -82,7 +82,8 @@ public class B8012625 implements HttpHandler {
|
||||
ExecutorService ex;
|
||||
|
||||
public B8012625 () throws Exception {
|
||||
server = HttpServer.create(new InetSocketAddress(0), 10);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
server = HttpServer.create(new InetSocketAddress(loopback, 0), 10);
|
||||
HttpContext ctx = server.createContext("/", this);
|
||||
ex = Executors.newFixedThreadPool(5);
|
||||
server.setExecutor(ex);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -80,8 +80,11 @@ class XServer extends Thread {
|
||||
|
||||
public class Finalizer {
|
||||
public static void main (String args[]) {
|
||||
ServerSocket serversocket = null;
|
||||
try {
|
||||
ServerSocket serversocket = new ServerSocket (0);
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
serversocket = new ServerSocket();
|
||||
serversocket.bind(new InetSocketAddress(loopback, 0));
|
||||
int port = serversocket.getLocalPort ();
|
||||
XServer server = new XServer (serversocket);
|
||||
server.start ();
|
||||
@ -107,6 +110,10 @@ public class Finalizer {
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException("finalize method failure."+e);
|
||||
} catch (InterruptedException ie) {
|
||||
} finally {
|
||||
if (serversocket != null) {
|
||||
try {serversocket.close();} catch (IOException io) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -99,8 +99,9 @@ public class ResponseCacheStream implements HttpCallback {
|
||||
public static void main(String[] args) throws Exception {
|
||||
MyResponseCache cache = new MyResponseCache();
|
||||
try {
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
ResponseCache.setDefault(cache);
|
||||
server = new TestHttpServer (new ResponseCacheStream());
|
||||
server = new TestHttpServer (new ResponseCacheStream(), loopback, 0);
|
||||
System.out.println ("Server: listening on port: " + server.getLocalPort());
|
||||
URL url = URIBuilder.newBuilder()
|
||||
.scheme("http")
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -24,6 +24,7 @@
|
||||
/* @test
|
||||
* @bug 4696506 4942650
|
||||
* @summary Unit test for java.net.CookieHandler
|
||||
* @library /test/lib
|
||||
* @run main/othervm CookieHandlerTest
|
||||
*
|
||||
* SunJSSE does not support dynamic system properties, no way to re-use
|
||||
@ -35,6 +36,7 @@ import java.net.*;
|
||||
import java.util.*;
|
||||
import java.io.*;
|
||||
import javax.net.ssl.*;
|
||||
import jdk.test.lib.net.URIBuilder;
|
||||
|
||||
public class CookieHandlerTest {
|
||||
static Map<String,String> cookies;
|
||||
@ -78,10 +80,12 @@ public class CookieHandlerTest {
|
||||
* to avoid infinite hangs.
|
||||
*/
|
||||
void doServerSide() throws Exception {
|
||||
InetAddress loopback = InetAddress.getLoopbackAddress();
|
||||
SSLServerSocketFactory sslssf =
|
||||
(SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
|
||||
SSLServerSocket sslServerSocket =
|
||||
(SSLServerSocket) sslssf.createServerSocket(serverPort);
|
||||
(SSLServerSocket) sslssf.createServerSocket();
|
||||
sslServerSocket.bind(new InetSocketAddress(loopback, serverPort));
|
||||
serverPort = sslServerSocket.getLocalPort();
|
||||
|
||||
/*
|
||||
@ -151,8 +155,11 @@ public class CookieHandlerTest {
|
||||
}
|
||||
HttpsURLConnection http = null;
|
||||
/* establish http connection to server */
|
||||
String uri = "https://localhost:" + +serverPort ;
|
||||
URL url = new URL(uri);
|
||||
URL url = URIBuilder.newBuilder()
|
||||
.scheme("https")
|
||||
.loopback()
|
||||
.port(serverPort)
|
||||
.toURL();
|
||||
HttpsURLConnection.setDefaultHostnameVerifier(new NameVerifier());
|
||||
http = (HttpsURLConnection)url.openConnection();
|
||||
|
||||
|
@ -61,6 +61,12 @@ public class URIBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public URIBuilder host(InetAddress address) {
|
||||
String hostaddr = address.isAnyLocalAddress()
|
||||
? "localhost" : address.getHostAddress();
|
||||
return host(hostaddr);
|
||||
}
|
||||
|
||||
public URIBuilder loopback() {
|
||||
return host(InetAddress.getLoopbackAddress().getHostAddress());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user