--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java Fri Apr 09 07:21:46 2010 -0700
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java Sat Apr 10 09:13:12 2010 +0800
@@ -624,6 +624,11 @@
volatile static boolean serverReady = false;
/*
+ * Is the connection ready to close?
+ */
+ volatile static boolean closeReady = false;
+
+ /*
* Turn on SSL debugging?
*/
static boolean debug = false;
@@ -670,11 +675,14 @@
out.print("Testing\r\n");
out.flush();
} finally {
- // close the socket
- Thread.sleep(2000);
- System.out.println("Server closing socket");
- sslSocket.close();
- serverReady = false;
+ // close the socket
+ while (!closeReady) {
+ Thread.sleep(50);
+ }
+
+ System.out.println("Server closing socket");
+ sslSocket.close();
+ serverReady = false;
}
}
@@ -704,12 +712,17 @@
URL url = new URL("https://localhost:" + serverPort+"/");
System.out.println("url is "+url.toString());
- http = (HttpsURLConnection)url.openConnection();
+ try {
+ http = (HttpsURLConnection)url.openConnection();
- int respCode = http.getResponseCode();
- System.out.println("respCode = "+respCode);
-
- http.disconnect();
+ int respCode = http.getResponseCode();
+ System.out.println("respCode = "+respCode);
+ } finally {
+ if (http != null) {
+ http.disconnect();
+ }
+ closeReady = true;
+ }
}
/*
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java Fri Apr 09 07:21:46 2010 -0700
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java Sat Apr 10 09:13:12 2010 +0800
@@ -61,6 +61,11 @@
volatile static boolean serverReady = false;
/*
+ * Is the connection ready to close?
+ */
+ volatile static boolean closeReady = false;
+
+ /*
* Turn on SSL debugging?
*/
static boolean debug = false;
@@ -98,25 +103,34 @@
serverReady = true;
SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
- InputStream sslIS = sslSocket.getInputStream();
- OutputStream sslOS = sslSocket.getOutputStream();
- BufferedReader br = new BufferedReader(new InputStreamReader(sslIS));
- PrintStream ps = new PrintStream(sslOS);
- // process HTTP POST request from client
- System.out.println("status line: "+br.readLine());
- String msg = null;
- while ((msg = br.readLine()) != null && msg.length() > 0);
+ try {
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+ BufferedReader br =
+ new BufferedReader(new InputStreamReader(sslIS));
+ PrintStream ps = new PrintStream(sslOS);
+
+ // process HTTP POST request from client
+ System.out.println("status line: "+br.readLine());
+ String msg = null;
+ while ((msg = br.readLine()) != null && msg.length() > 0);
- msg = br.readLine();
- if (msg.equals(postMsg)) {
- ps.println("HTTP/1.1 200 OK\n\n");
- } else {
- ps.println("HTTP/1.1 500 Not OK\n\n");
+ msg = br.readLine();
+ if (msg.equals(postMsg)) {
+ ps.println("HTTP/1.1 200 OK\n\n");
+ } else {
+ ps.println("HTTP/1.1 500 Not OK\n\n");
+ }
+ ps.flush();
+
+ // close the socket
+ while (!closeReady) {
+ Thread.sleep(50);
+ }
+ } finally {
+ sslSocket.close();
+ sslServerSocket.close();
}
- ps.flush();
- Thread.sleep(2000);
- sslSocket.close();
- sslServerSocket.close();
}
/*
@@ -144,12 +158,17 @@
http.setRequestMethod("POST");
PrintStream ps = new PrintStream(http.getOutputStream());
- ps.println(postMsg);
- ps.flush();
- if (http.getResponseCode() != 200) {
- throw new RuntimeException("test Failed");
+ try {
+ ps.println(postMsg);
+ ps.flush();
+ if (http.getResponseCode() != 200) {
+ throw new RuntimeException("test Failed");
+ }
+ } finally {
+ ps.close();
+ http.disconnect();
+ closeReady = true;
}
- ps.close();
}
static class NameVerifier implements HostnameVerifier {
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java Fri Apr 09 07:21:46 2010 -0700
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java Sat Apr 10 09:13:12 2010 +0800
@@ -624,6 +624,11 @@
volatile static boolean serverReady = false;
/*
+ * Is the connection ready to close?
+ */
+ volatile static boolean closeReady = false;
+
+ /*
* Turn on SSL debugging?
*/
static boolean debug = false;
@@ -670,11 +675,14 @@
out.print("Testing\r\n");
out.flush();
} finally {
- // close the socket
- Thread.sleep(2000);
- System.out.println("Server closing socket");
- sslSocket.close();
- serverReady = false;
+ // close the socket
+ while (!closeReady) {
+ Thread.sleep(50);
+ }
+
+ System.out.println("Server closing socket");
+ sslSocket.close();
+ serverReady = false;
}
}
@@ -716,7 +724,10 @@
// no subject alternative names matching IP address 127.0.0.1 found
// that's the expected exception, ignore it.
} finally {
- http.disconnect();
+ if (http != null) {
+ http.disconnect();
+ }
+ closeReady = true;
}
}
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java Fri Apr 09 07:21:46 2010 -0700
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java Sat Apr 10 09:13:12 2010 +0800
@@ -625,6 +625,11 @@
volatile static boolean serverReady = false;
/*
+ * Is the connection ready to close?
+ */
+ volatile static boolean closeReady = false;
+
+ /*
* Turn on SSL debugging?
*/
static boolean debug = false;
@@ -672,7 +677,10 @@
out.flush();
} finally {
// close the socket
- Thread.sleep(2000);
+ while (!closeReady) {
+ Thread.sleep(50);
+ }
+
System.out.println("Server closing socket");
sslSocket.close();
serverReady = false;
@@ -705,12 +713,17 @@
URL url = new URL("https://127.0.0.1:" + serverPort+"/");
System.out.println("url is "+url.toString());
- http = (HttpsURLConnection)url.openConnection();
+ try {
+ http = (HttpsURLConnection)url.openConnection();
- int respCode = http.getResponseCode();
- System.out.println("respCode = "+respCode);
-
- http.disconnect();
+ int respCode = http.getResponseCode();
+ System.out.println("respCode = "+respCode);
+ } finally {
+ if (http != null) {
+ http.disconnect();
+ }
+ closeReady = true;
+ }
}
/*
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java Fri Apr 09 07:21:46 2010 -0700
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java Sat Apr 10 09:13:12 2010 +0800
@@ -625,6 +625,11 @@
volatile static boolean serverReady = false;
/*
+ * Is the connection ready to close?
+ */
+ volatile static boolean closeReady = false;
+
+ /*
* Turn on SSL debugging?
*/
static boolean debug = false;
@@ -672,7 +677,10 @@
out.flush();
} finally {
// close the socket
- Thread.sleep(2000);
+ while (!closeReady) {
+ Thread.sleep(50);
+ }
+
System.out.println("Server closing socket");
sslSocket.close();
serverReady = false;
@@ -705,12 +713,17 @@
URL url = new URL("https://localhost:" + serverPort+"/");
System.out.println("url is "+url.toString());
- http = (HttpsURLConnection)url.openConnection();
+ try {
+ http = (HttpsURLConnection)url.openConnection();
- int respCode = http.getResponseCode();
- System.out.println("respCode = "+respCode);
-
- http.disconnect();
+ int respCode = http.getResponseCode();
+ System.out.println("respCode = "+respCode);
+ } finally {
+ if (http != null) {
+ http.disconnect();
+ }
+ closeReady = true;
+ }
}
/*
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java Fri Apr 09 07:21:46 2010 -0700
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java Sat Apr 10 09:13:12 2010 +0800
@@ -624,6 +624,11 @@
volatile static boolean serverReady = false;
/*
+ * Is the connection ready to close?
+ */
+ volatile static boolean closeReady = false;
+
+ /*
* Turn on SSL debugging?
*/
static boolean debug = false;
@@ -671,7 +676,10 @@
out.flush();
} finally {
// close the socket
- Thread.sleep(2000);
+ while (!closeReady) {
+ Thread.sleep(50);
+ }
+
System.out.println("Server closing socket");
sslSocket.close();
serverReady = false;
@@ -704,12 +712,17 @@
URL url = new URL("https://localhost:" + serverPort+"/");
System.out.println("url is "+url.toString());
- http = (HttpsURLConnection)url.openConnection();
+ try {
+ http = (HttpsURLConnection)url.openConnection();
- int respCode = http.getResponseCode();
- System.out.println("respCode = "+respCode);
-
- http.disconnect();
+ int respCode = http.getResponseCode();
+ System.out.println("respCode = "+respCode);
+ } finally {
+ if (http != null) {
+ http.disconnect();
+ }
+ closeReady = true;
+ }
}
/*
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java Fri Apr 09 07:21:46 2010 -0700
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java Sat Apr 10 09:13:12 2010 +0800
@@ -61,6 +61,11 @@
volatile static boolean serverReady = false;
/*
+ * Is the connection ready to close?
+ */
+ volatile static boolean closeReady = false;
+
+ /*
* Turn on SSL debugging?
*/
static boolean debug = false;
@@ -98,24 +103,33 @@
serverReady = true;
SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
- InputStream sslIS = sslSocket.getInputStream();
- OutputStream sslOS = sslSocket.getOutputStream();
- BufferedReader br = new BufferedReader(new InputStreamReader(sslIS));
- PrintStream ps = new PrintStream(sslOS);
- // process HTTP POST request from client
- System.out.println("status line: "+br.readLine());
+ try {
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+ BufferedReader br =
+ new BufferedReader(new InputStreamReader(sslIS));
+ PrintStream ps = new PrintStream(sslOS);
+
+ // process HTTP POST request from client
+ System.out.println("status line: "+br.readLine());
- ps.println("HTTP/1.1 307 Redirect");
- ps.println("Location: https://localhost:"+serverPort+"/index.html\n\n");
- ps.flush();
- sslSocket = (SSLSocket) sslServerSocket.accept();
- sslOS = sslSocket.getOutputStream();
- ps = new PrintStream(sslOS);
- ps.println("HTTP/1.1 200 Redirect succeeded\n\n");
- ps.flush();
- Thread.sleep(2000);
- sslSocket.close();
- sslServerSocket.close();
+ ps.println("HTTP/1.1 307 Redirect");
+ ps.println("Location: https://localhost:" + serverPort +
+ "/index.html\n\n");
+ ps.flush();
+ sslSocket = (SSLSocket) sslServerSocket.accept();
+ sslOS = sslSocket.getOutputStream();
+ ps = new PrintStream(sslOS);
+ ps.println("HTTP/1.1 200 Redirect succeeded\n\n");
+ ps.flush();
+ } finally {
+ // close the socket
+ while (!closeReady) {
+ Thread.sleep(50);
+ }
+ sslSocket.close();
+ sslServerSocket.close();
+ }
}
/*
@@ -139,10 +153,14 @@
HttpsURLConnection.setDefaultHostnameVerifier(
new NameVerifier());
HttpsURLConnection http = (HttpsURLConnection)url.openConnection();
-
- System.out.println("response header: "+http.getHeaderField(0));
- if (http.getResponseCode() != 200) {
- throw new RuntimeException("test Failed");
+ try {
+ System.out.println("response header: "+http.getHeaderField(0));
+ if (http.getResponseCode() != 200) {
+ throw new RuntimeException("test Failed");
+ }
+ } finally {
+ http.disconnect();
+ closeReady = true;
}
}