I tried running Azureus 2.4.0.2 with Harmony classlib r412711 and the IBM VME on Windows XP.

The command-line was:
java -classpath swt.jar;Azureus2.jar org.gudy.azureus2.ui.swt.Main

It fails with (amongst other things later):

DEBUG::Thu Jun 08 12:27:09 BST 2006::org.gudy.azureus2.core3.security.impl.SESecurityManagerImpl::initialise::137:
No SSL provider available
SESecurityManager::initialise::52,ConfigurationChecker::setSystemProperties::141,ConfigurationManager::initialise::138,Co DEBUG::Thu Jun 08 12:27:09 BST 2006::org.gudy.azureus2.core3.security.impl.SESecurityManagerImpl::ensureStoreExists::408:
java.security.KeyStoreException: KeyStore JKS implementation not found
at java.security.KeyStore.getInstance(KeyStore.java:102)
at org.gudy.azureus2.core3.security.impl.SESecurityManagerImpl.ensureStoreExists(SESecurityManagerImpl.java:379)
at org.gudy.azureus2.core3.security.impl.SESecurityManagerImpl.initialise(SESecurityManagerImpl.java:151)
at org.gudy.azureus2.core3.security.SESecurityManager.initialise(SESecurityManager.java:52)
at org.gudy.azureus2.core3.config.impl.ConfigurationChecker.setSystemProperties(ConfigurationChecker.java:141)
at org.gudy.azureus2.core3.config.impl.ConfigurationManager.initialise(ConfigurationManager.java:138)
at org.gudy.azureus2.core3.config.impl.ConfigurationManager.getInstance(ConfigurationManager.java:71)
at org.gudy.azureus2.core3.logging.impl.LoggerImpl.init(LoggerImpl.java:90)
at org.gudy.azureus2.core3.logging.Logger.<clinit>(Logger.java:48)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:185)
at org.gudy.azureus2.ui.swt.StartServer.<init>(StartServer.java:69)
at org.gudy.azureus2.ui.swt.Main.<init>(Main.java:56)
at org.gudy.azureus2.ui.swt.Main.main(Main.java:162)

Looking at the Azureus code it appears that there is only support for the Sun unspecified (JKS) and GNU Classpath (GKR) keystore format:

See http://azureus.cvs.sourceforge.net/azureus/azureus2/org/gudy/azureus2/core3/security/impl/SESecurityManagerImpl.java?view=markup

... String[] types = { "JKS", "GKR" }; ...

When I bluffed and tried to use BouncyCastle (BKS) as a JKS file I fell over the hard-coded assumption for using the Sun or Jessie SSL providers.

... String[] providers = { "com.sun.net.ssl.internal.ssl.Provider", "org.metastatic.jessie.provider.Jessie" }; ...

at which point I gave up (wink) . It doesn't look like those assumptions can be overridden at runtime, so perhaps we need to take a copy of SESecurityManagerImpl and tweak it - then prepend the modified version on the classpath or look at how to plug-in a different Impl (maybe the security manager is pluggable?)


Azureus started on Harmony classlib revision 415631.

I'm behind a firewall so I couldn't test its full functionality.

The window appeared looks like Azureus running on RI. Two warnings appears in the corner:

http://azureus.aelitis.com/wiki/index.php/LikelyNetworkDisconnectReconnect for help

When I tried to run Azureus from NAT-ed network - with RI it worked fine, with Harmony (same build) an error appeared:

'Too many successive failures occured on port 55255, UDP - processing abandoned. Please check firewall settings for this port to ensure that it is enabled for receiving connections'

  • No labels