From 502257542928a7a3548a7b201928ca76781fbf99 Mon Sep 17 00:00:00 2001 From: zzz Date: Fri, 13 Mar 2009 21:49:27 +0000 Subject: [PATCH] - Deal with conflicting bouncycastle libs take #2 - Disable NTCP - Shuffle the startup/shutdown tasks some --- android/res/raw/router_config | 2 ++ android/src/net/i2p/router/I2PAndroid.java | 19 ++++++++++++++----- .../src/net/i2p/router/web/ReseedChecker.java | 2 ++ .../src/net/i2p/router/web/ContextHelper.java | 2 +- .../src/net/i2p/crypto/HMAC256Generator.java | 4 ++-- .../src/net/i2p/crypto/HMACGenerator.java | 6 +++--- 6 files changed, 24 insertions(+), 11 deletions(-) diff --git a/android/res/raw/router_config b/android/res/raw/router_config index 19c609542..0e7cd2ced 100644 --- a/android/res/raw/router_config +++ b/android/res/raw/router_config @@ -5,3 +5,5 @@ router.decayingBloomFilterM=20 stat.full=false # no I2CP i2p.dummyClientFacade=true +# for now +i2np.ntcp.enable=false diff --git a/android/src/net/i2p/router/I2PAndroid.java b/android/src/net/i2p/router/I2PAndroid.java index c08670e36..bb77d290b 100644 --- a/android/src/net/i2p/router/I2PAndroid.java +++ b/android/src/net/i2p/router/I2PAndroid.java @@ -12,6 +12,7 @@ import java.io.InputStream; import java.io.IOException; import net.i2p.router.Router; +import net.i2p.router.web.ContextHelper; import net.i2p.router.web.ReseedChecker; import net.i2p.util.I2PFile; @@ -29,11 +30,6 @@ public class I2PAndroid extends Activity _context = this; // Activity extends Context debugStuff(); initialize(); - - Router.main(null); - System.err.println("Router.main finished"); - - ReseedChecker.checkReseed(); } public void onRestart() @@ -42,6 +38,16 @@ public class I2PAndroid extends Activity super.onRestart(); } + public void onStart() + { + System.err.println("onStart called"); + super.onStart(); + Router.main(null); + System.err.println("Router.main finished"); + + ReseedChecker.checkReseed(); + } + public void onResume() { System.err.println("onResume called"); @@ -58,6 +64,9 @@ public class I2PAndroid extends Activity { System.err.println("onStop called"); super.onStop(); + // shutdown() doesn't return so use shutdownGracefully() + ContextHelper.getContext(null).router().shutdownGracefully(Router.EXIT_HARD); + System.err.println("shutdown complete"); } public void onDestroy() diff --git a/android/src/net/i2p/router/web/ReseedChecker.java b/android/src/net/i2p/router/web/ReseedChecker.java index 96eccce51..8c8ff7bf9 100644 --- a/android/src/net/i2p/router/web/ReseedChecker.java +++ b/android/src/net/i2p/router/web/ReseedChecker.java @@ -30,6 +30,8 @@ public class ReseedChecker { System.err.println("Yes, reseeding now"); ReseedHandler reseedHandler = new ReseedHandler(); reseedHandler.requestReseed(); + } else { + System.err.println("No, we have " + names.length + " routers in the netDb"); } } } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ContextHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ContextHelper.java index 0aa250654..7d9b28e89 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ContextHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ContextHelper.java @@ -5,7 +5,7 @@ import java.util.List; import net.i2p.data.Hash; import net.i2p.router.RouterContext; -class ContextHelper { +public class ContextHelper { public static RouterContext getContext(String contextId) { List contexts = RouterContext.listContexts(); if ( (contexts == null) || (contexts.size() <= 0) ) diff --git a/core/java/src/net/i2p/crypto/HMAC256Generator.java b/core/java/src/net/i2p/crypto/HMAC256Generator.java index 7d6f67a76..0335d1e7e 100644 --- a/core/java/src/net/i2p/crypto/HMAC256Generator.java +++ b/core/java/src/net/i2p/crypto/HMAC256Generator.java @@ -20,10 +20,10 @@ public class HMAC256Generator extends HMACGenerator { public HMAC256Generator(I2PAppContext context) { super(context); } @Override - protected Mac acquire() { + protected I2PHMac acquire() { synchronized (_available) { if (_available.size() > 0) - return (Mac)_available.remove(0); + return (I2PHMac)_available.remove(0); } // the HMAC is hardcoded to use SHA256 digest size // for backwards compatability. next time we have a backwards diff --git a/core/java/src/net/i2p/crypto/HMACGenerator.java b/core/java/src/net/i2p/crypto/HMACGenerator.java index 52b29e19b..29d76cbd2 100644 --- a/core/java/src/net/i2p/crypto/HMACGenerator.java +++ b/core/java/src/net/i2p/crypto/HMACGenerator.java @@ -50,7 +50,7 @@ public class HMACGenerator { if ((key == null) || (key.getData() == null) || (data == null)) throw new NullPointerException("Null arguments for HMAC"); - Mac mac = acquire(); + I2PHMac mac = acquire(); mac.init(key.getData()); mac.update(data, offset, length); //byte rv[] = new byte[Hash.HASH_LENGTH]; @@ -87,10 +87,10 @@ public class HMACGenerator { return eq; } - protected Mac acquire() { + protected I2PHMac acquire() { synchronized (_available) { if (_available.size() > 0) - return (Mac)_available.remove(0); + return (I2PHMac)_available.remove(0); } // the HMAC is hardcoded to use SHA256 digest size // for backwards compatability. next time we have a backwards