diff options
author | Koushik Dutta <koushd@gmail.com> | 2015-06-28 14:25:49 -0700 |
---|---|---|
committer | Koushik Dutta <koushd@gmail.com> | 2015-06-28 14:25:56 -0700 |
commit | f585d5b7e48ae6ec87992185a0281ac92ba10d5d (patch) | |
tree | 71de4c50e49593d95d8fbde2eff16950e330e60b /AndroidAsync | |
parent | 1bc7905b07821f840068089343e6b77a8686d1ab (diff) | |
download | AndroidAsync-f585d5b7e48ae6ec87992185a0281ac92ba10d5d.tar.gz AndroidAsync-f585d5b7e48ae6ec87992185a0281ac92ba10d5d.tar.bz2 AndroidAsync-f585d5b7e48ae6ec87992185a0281ac92ba10d5d.zip |
Properly bubble up any exceptions during handshake failure.
Related to diagnosing: https://github.com/koush/ion/issues/559#issuecomment-116263055
Diffstat (limited to 'AndroidAsync')
-rw-r--r-- | AndroidAsync/src/com/koushikdutta/async/AsyncSSLSocketWrapper.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/AsyncSSLSocketWrapper.java b/AndroidAsync/src/com/koushikdutta/async/AsyncSSLSocketWrapper.java index 3dd7415..f7ac99e 100644 --- a/AndroidAsync/src/com/koushikdutta/async/AsyncSSLSocketWrapper.java +++ b/AndroidAsync/src/com/koushikdutta/async/AsyncSSLSocketWrapper.java @@ -103,7 +103,10 @@ public class AsyncSSLSocketWrapper implements AsyncSocketWrapper, AsyncSSLSocket socket.setClosedCallback(new CompletedCallback() { @Override public void onCompleted(Exception ex) { - callback.onHandshakeCompleted(new SSLException(ex), null); + if (ex != null) + callback.onHandshakeCompleted(ex, null); + else + callback.onHandshakeCompleted(new SSLException("socket closed during handshake"), null); } }); try { @@ -421,6 +424,8 @@ public class AsyncSSLSocketWrapper implements AsyncSocketWrapper, AsyncSSLSocket handshakeCallback = null; mSocket.setDataCallback(new DataCallback.NullDataCallback()); mSocket.end(); + // handshake sets this callback. unset it. + mSocket.setClosedCallback(null); mSocket.close(); hs.onHandshakeCompleted(e, null); return; |