summaryrefslogtreecommitdiffstats
path: root/luni/src/test/java/libcore/javax
diff options
context:
space:
mode:
Diffstat (limited to 'luni/src/test/java/libcore/javax')
-rw-r--r--luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java b/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
index abf8c89..199164e 100644
--- a/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
+++ b/luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
@@ -28,6 +28,7 @@ import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
+import java.net.SocketAddress;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.security.Principal;
@@ -1581,6 +1582,28 @@ public class SSLSocketTest extends TestCase {
}
}
+ // http://b/18428603
+ public void test_SSLSocket_getPortWithSNI() throws Exception {
+ TestSSLContext context = TestSSLContext.create();
+
+ SSLSocket client = null;
+ try {
+ client = (SSLSocket) context.clientContext.getSocketFactory().createSocket();
+ client.connect(new InetSocketAddress(context.host, context.port));
+ try {
+ // This is crucial to reproducing issue 18428603.
+ Method setHostname = client.getClass().getMethod("setHostname", String.class);
+ setHostname.invoke(client, "sslsockettest.androidcts.google.com");
+ } catch (NoSuchMethodException ignored) {
+ }
+
+ assertTrue(client.getPort() > 0);
+ } finally {
+ client.close();
+ context.close();
+ }
+ }
+
public void test_SSLSocket_sendsTlsFallbackScsv_Fallback_Success() throws Exception {
TestSSLContext context = TestSSLContext.create();