summaryrefslogtreecommitdiffstats
path: root/emailcommon
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2014-12-17 01:04:27 +0100
committerSteve Kondik <steve@cyngn.com>2015-10-18 14:02:22 -0700
commita7d1b42409e2b5ed365345c403dfda4c92901223 (patch)
tree312e6a654dbbc6e83d9fa13e810cde3e5abf779c /emailcommon
parent761a860cee4217997db0306e7b1dedaffc602777 (diff)
downloadandroid_packages_apps_Email-a7d1b42409e2b5ed365345c403dfda4c92901223.tar.gz
android_packages_apps_Email-a7d1b42409e2b5ed365345c403dfda4c92901223.tar.bz2
android_packages_apps_Email-a7d1b42409e2b5ed365345c403dfda4c92901223.zip
email: start handshake before hostname verification
Start handshake prior to hostname verification to ensure exceptions do not get silenced Change-Id: Ide60753663d82d63b0f410b985447b7b26efd8f1 Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Diffstat (limited to 'emailcommon')
-rw-r--r--emailcommon/src/com/android/emailcommon/utility/SSLSocketFactory.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/emailcommon/src/com/android/emailcommon/utility/SSLSocketFactory.java b/emailcommon/src/com/android/emailcommon/utility/SSLSocketFactory.java
index 4d19e158c..7a0c24c1c 100644
--- a/emailcommon/src/com/android/emailcommon/utility/SSLSocketFactory.java
+++ b/emailcommon/src/com/android/emailcommon/utility/SSLSocketFactory.java
@@ -335,6 +335,10 @@ public class SSLSocketFactory implements LayeredSocketFactory {
// Set Server Name Indication if is available for this socket
setSocketHostname(sslsock, host);
+ // Start handshake prior to hostname verification to ensure
+ // handshake exceptions do not get silenced by hostname verification.
+ sslsock.startHandshake();
+
try {
hostnameVerifier.verify(host, sslsock);
// verifyHostName() didn't blowup - good!
@@ -402,6 +406,10 @@ public class SSLSocketFactory implements LayeredSocketFactory {
// Set Server Name Indication if it's available for this socket
setSocketHostname(sslSocket, host);
+ // Start handshake prior to hostname verification to ensure
+ // handshake exceptions do not get silenced by hostname verification.
+ sslSocket.startHandshake();
+
hostnameVerifier.verify(host, sslSocket);
// verifyHostName() didn't blowup - good!
return sslSocket;