diff options
author | Koushik Dutta <koushd@gmail.com> | 2014-12-19 21:38:20 -0800 |
---|---|---|
committer | Koushik Dutta <koushd@gmail.com> | 2014-12-19 21:38:54 -0800 |
commit | 8b9c65d5e5382b4feea5b76dc2b61c9858d5a2c9 (patch) | |
tree | b6db941efdf4c5310aee036dcb52b3ba3563d29e /AndroidAsync | |
parent | 6bad7e39df48c94b162a225db75684d511a5d89b (diff) | |
download | AndroidAsync-8b9c65d5e5382b4feea5b76dc2b61c9858d5a2c9.tar.gz AndroidAsync-8b9c65d5e5382b4feea5b76dc2b61c9858d5a2c9.tar.bz2 AndroidAsync-8b9c65d5e5382b4feea5b76dc2b61c9858d5a2c9.zip |
This SNI hack seems to cause issues.
https://github.com/koush/ion/issues/443
Revert "Use reflection to enable SNI in the SSLEngine when available."
This reverts commit fb81e9912307c64a5311d9afb8c42b0e47a3fc73.
Conflicts:
AndroidAsync/AndroidAsync-AndroidAsync.iml
Diffstat (limited to 'AndroidAsync')
-rw-r--r-- | AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java | 2 | ||||
-rw-r--r-- | AndroidAsync/src/com/koushikdutta/async/http/SSLEngineSNIConfigurator.java | 64 |
2 files changed, 1 insertions, 65 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java b/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java index 6382494..e2e1404 100644 --- a/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java +++ b/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java @@ -73,9 +73,9 @@ public class AsyncHttpClient { insertMiddleware(socketMiddleware = new AsyncSocketMiddleware(this)); insertMiddleware(sslSocketMiddleware = new SpdyMiddleware(this)); insertMiddleware(httpTransportMiddleware = new HttpTransportMiddleware()); - sslSocketMiddleware.addEngineConfigurator(new SSLEngineSNIConfigurator()); } + @SuppressLint("NewApi") private static void setupAndroidProxy(AsyncHttpRequest request) { // using a explicit proxy? diff --git a/AndroidAsync/src/com/koushikdutta/async/http/SSLEngineSNIConfigurator.java b/AndroidAsync/src/com/koushikdutta/async/http/SSLEngineSNIConfigurator.java deleted file mode 100644 index 5a87a56..0000000 --- a/AndroidAsync/src/com/koushikdutta/async/http/SSLEngineSNIConfigurator.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.koushikdutta.async.http; - -import java.lang.reflect.Field; -import java.util.Hashtable; - -import javax.net.ssl.SSLEngine; - -/** - * Created by koush on 12/8/14. - */ -public class SSLEngineSNIConfigurator implements AsyncSSLEngineConfigurator { - private static class EngineHolder implements AsyncSSLEngineConfigurator { - Field peerHost; - Field peerPort; - Field sslParameters; - Field useSni; - - public EngineHolder(Class engineClass) { - try { - peerHost = engineClass.getSuperclass().getDeclaredField("peerHost"); - peerHost.setAccessible(true); - - peerPort = engineClass.getSuperclass().getDeclaredField("peerPort"); - peerPort.setAccessible(true); - - sslParameters = engineClass.getDeclaredField("sslParameters"); - sslParameters.setAccessible(true); - - useSni = sslParameters.getType().getDeclaredField("useSni"); - useSni.setAccessible(true); - } - catch (NoSuchFieldException e) { - } - } - - @Override - public void configureEngine(SSLEngine engine, AsyncHttpClientMiddleware.GetSocketData data, String host, int port) { - if (useSni == null) - return; - try { - peerHost.set(engine, host); - peerPort.set(engine, port); - Object sslp = sslParameters.get(engine); - useSni.set(sslp, true); - } - catch (IllegalAccessException e) { - } - } - } - - Hashtable<String, EngineHolder> holders = new Hashtable<String, EngineHolder>(); - - @Override - public void configureEngine(SSLEngine engine, AsyncHttpClientMiddleware.GetSocketData data, String host, int port) { - String name = engine.getClass().getCanonicalName(); - EngineHolder holder = holders.get(name); - if (holder == null) { - holder = new EngineHolder(engine.getClass()); - holders.put(name, holder); - } - - holder.configureEngine(engine, data, host, port); - } -} |