diff options
6 files changed, 43 insertions, 43 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java b/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java index 4418bbd..f4f1a7a 100644 --- a/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java +++ b/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.SocketAddress; -import java.nio.ByteBuffer; import java.nio.channels.ClosedChannelException; import java.nio.channels.DatagramChannel; import java.nio.channels.SelectionKey; @@ -17,17 +16,22 @@ import java.util.Set; import java.util.concurrent.Semaphore; import junit.framework.Assert; +import android.os.Build; import android.util.Log; -import com.koushikdutta.async.callback.ClosedCallback; import com.koushikdutta.async.callback.ConnectCallback; -import com.koushikdutta.async.callback.DataCallback; import com.koushikdutta.async.callback.ListenCallback; -import com.koushikdutta.async.callback.WritableCallback; public class AsyncServer { private static final String LOGTAG = "NIO"; + static { + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO) { + java.lang.System.setProperty("java.net.preferIPv4Stack", "true"); + java.lang.System.setProperty("java.net.preferIPv6Addresses", "false"); + } + } + static AsyncServer mInstance = new AsyncServer() { { setAutostart(true); diff --git a/AndroidAsync/src/com/koushikdutta/async/SSLDataExchange.java b/AndroidAsync/src/com/koushikdutta/async/SSLDataExchange.java index 2db7365..0d339ee 100644 --- a/AndroidAsync/src/com/koushikdutta/async/SSLDataExchange.java +++ b/AndroidAsync/src/com/koushikdutta/async/SSLDataExchange.java @@ -28,9 +28,15 @@ public class SSLDataExchange implements DataTransformer, DataExchange { BufferedDataSink mSink; ByteBuffer mReadTmp = ByteBuffer.allocate(8192); boolean mUnwrapping = false; - public SSLDataExchange(DataExchange exchange) { + public SSLDataExchange(DataExchange exchange, String host, int port) { mExchange = exchange; + if (host != null) { + engine = ctx.createSSLEngine(host, port); + } + else { + engine = ctx.createSSLEngine(); + } engine.setUseClientMode(true); mSink = new BufferedDataSink(exchange); @@ -41,9 +47,9 @@ public class SSLDataExchange implements DataTransformer, DataExchange { mEmitter.setDataCallback(new DataCallback() { @Override public void onDataAvailable(DataEmitter emitter, ByteBufferList bb) { + if (mUnwrapping) + return; try { - if (mUnwrapping) - return; mUnwrapping = true; ByteBufferList out = new ByteBufferList(); @@ -77,6 +83,7 @@ public class SSLDataExchange implements DataTransformer, DataExchange { Util.emitAllData(SSLDataExchange.this, out); } catch (Exception ex) { + ex.printStackTrace(); report(ex); } finally { @@ -95,16 +102,35 @@ public class SSLDataExchange implements DataTransformer, DataExchange { } } + static SSLContext ctx; static { try { ctx = SSLContext.getInstance("Default"); } catch (Exception ex) { + try { + ctx = SSLContext.getInstance("TLS"); + TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { + public java.security.cert.X509Certificate[] getAcceptedIssuers() { + return null; + } + + public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) { + } + + public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) { + } + } }; + ctx.init(null, trustAllCerts, new java.security.SecureRandom()); + } + catch (Exception ex2) { + ex.printStackTrace(); + ex2.printStackTrace(); + } } } - static SSLContext ctx; - SSLEngine engine = ctx.createSSLEngine(); + SSLEngine engine; boolean finishedHandshake = false; DataCallback mDataCallback; diff --git a/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java b/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java index 733d444..7cb6efb 100644 --- a/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java +++ b/AndroidAsync/src/com/koushikdutta/async/http/AsyncHttpClient.java @@ -75,6 +75,7 @@ public class AsyncHttpClient { } } final String lookup = uri.getScheme() + "//" + uri.getHost() + ":" + port; + final int finalPort = port; final InternalConnectCallback socketConnected = new InternalConnectCallback() { @Override @@ -143,7 +144,7 @@ public class AsyncHttpClient { if (exchange == null) { exchange = socket; if (request.getUri().getScheme().equals("https")) { - SSLDataExchange ssl = new SSLDataExchange(socket); + SSLDataExchange ssl = new SSLDataExchange(socket, uri.getHost(), finalPort); exchange = ssl; socket.setDataCallback(ssl); } diff --git a/AndroidAsyncSample/gen/R.java.d b/AndroidAsyncSample/gen/R.java.d deleted file mode 100644 index a1f128f..0000000 --- a/AndroidAsyncSample/gen/R.java.d +++ /dev/null @@ -1,31 +0,0 @@ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/gen/com/koushikdutta/async/sample/R.java \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/gen/com/koushikdutta/async/R.java \ - : /Volumes/Data/src/AndroidAsync/AndroidAsync/res/drawable-hdpi/ic_action_search.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/res/drawable-hdpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/res/drawable-ldpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/res/drawable-mdpi/ic_action_search.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/res/drawable-mdpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/res/drawable-xhdpi/ic_action_search.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/res/drawable-xhdpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/res/values/strings.xml \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/bin/res/drawable-hdpi/ic_action_search.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/bin/res/drawable-hdpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/bin/res/drawable-ldpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/bin/res/drawable-mdpi/ic_action_search.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/bin/res/drawable-mdpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/bin/res/drawable-xhdpi/ic_action_search.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsync/bin/res/drawable-xhdpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/drawable-hdpi/ic_action_search.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/drawable-hdpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/drawable-ldpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/drawable-mdpi/ic_action_search.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/drawable-mdpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/drawable-xhdpi/ic_action_search.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/drawable-xhdpi/ic_launcher.png \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/layout/activity_main.xml \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/menu/activity_main.xml \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/values/strings.xml \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/values/styles.xml \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/values-v11/styles.xml \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/res/values-v14/styles.xml \ -/Volumes/Data/src/AndroidAsync/AndroidAsyncSample/bin/AndroidManifest.xml \ diff --git a/AndroidAsyncSample/gen/com/koushikdutta/async/sample/BuildConfig.java b/AndroidAsyncSample/gen/com/koushikdutta/async/sample/BuildConfig.java index b4b6385..9429b8f 100644 --- a/AndroidAsyncSample/gen/com/koushikdutta/async/sample/BuildConfig.java +++ b/AndroidAsyncSample/gen/com/koushikdutta/async/sample/BuildConfig.java @@ -2,5 +2,5 @@ package com.koushikdutta.async.sample; public final class BuildConfig { - public final static boolean DEBUG = false; + public final static boolean DEBUG = true; }
\ No newline at end of file diff --git a/AndroidAsyncSample/src/com/koushikdutta/async/sample/MainActivity.java b/AndroidAsyncSample/src/com/koushikdutta/async/sample/MainActivity.java index ee1a212..e102ddd 100644 --- a/AndroidAsyncSample/src/com/koushikdutta/async/sample/MainActivity.java +++ b/AndroidAsyncSample/src/com/koushikdutta/async/sample/MainActivity.java @@ -20,7 +20,7 @@ public class MainActivity extends Activity { ImageView rommanager; ImageView tether; ImageView desksms; - + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); |