aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsync
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2014-12-19 21:38:20 -0800
committerKoushik Dutta <koushd@gmail.com>2014-12-19 21:38:54 -0800
commit8b9c65d5e5382b4feea5b76dc2b61c9858d5a2c9 (patch)
treeb6db941efdf4c5310aee036dcb52b3ba3563d29e /AndroidAsync
parent6bad7e39df48c94b162a225db75684d511a5d89b (diff)
downloadAndroidAsync-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.java2
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/http/SSLEngineSNIConfigurator.java64
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);
- }
-}