james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Danny Angus <danny.an...@gmail.com>
Subject Re: [jira] Commented: (JAMES-348) make JDK independent (e.g. also IBM JVM should work)
Date Mon, 10 Jan 2005 08:51:13 GMT
perhaps we should have avalon as a component in jira so we can track
issues related to code we want to deprecate.
It might make it easier to decide which of several options we choose.
(e.g. fork the offending code, abandon it in favour of home-grown
alternative, or upgrade to the successor)

On Sun, 9 Jan 2005 17:22:13 +0100 (CET), Hes Siemelink (JIRA)
<server-dev@james.apache.org> wrote:
>      [ http://issues.apache.org/jira/browse/JAMES-348?page=comments#action_57441 ]
> 
> Hes Siemelink commented on JAMES-348:
> -------------------------------------
> 
> Hm, that will probably not work.
> 
> I did some source code archeology on the fossilized Avalon framework and found this:
> 
> http://svn.apache.org/repos/asf/avalon/cvs-migration-snapshot/avalon-components/cornerstone/sockets/impl/src/java/org/apache/avalon/cornerstone/blocks/sockets/SSLFactoryBuilder.java
> 
> In this file you can find the following code:
> 
>     static
>     {
>         // Registers Sun's providers
>         java.security.Security.addProvider( new sun.security.provider.Sun() );
>         java.security.Security.addProvider( new com.sun.net.ssl.internal.ssl.Provider()
);
>     }
> 
> So there are indeed hard-coded references to Sun classes...
> 
> I think there is little hope that someone will patch and test and release a part of Avalon,
but you can try a work around:
> 
> Make an empty implementation of above classes that extend java.security.Provider and
put them on your class path. I don't know if this will work, but it's worth a try.
> 
> > make JDK independent (e.g. also IBM JVM should work)
> > ----------------------------------------------------
> >
> >          Key: JAMES-348
> >          URL: http://issues.apache.org/jira/browse/JAMES-348
> >      Project: James
> >         Type: Improvement
> >   Components: James Core
> >     Versions: 2.1.3
> >  Environment: redhat 9
> >     Reporter: Ralf Hauser
> 
> >
> > INFO    2004-10-07 17:30:21.087 [Phoenix.] (): 18 Blocks to process for phase "startup".
Order of processing = [priva, dnsserver, o
> > bjectstorage, database-connections, mailstore, users-store, thread-manager, connections,
sockets, scheduler, James, spoolmanager, r
> > emotemanager, pop3server, smtpserver, nntp-repository, nntpserver, fetchpop].
> > ERROR   2004-10-07 17:30:23.285 [Phoenix.] (): Component named "sockets" failed
to pass through the Initialization stage. (Reason:
> > java.lang.NoClassDefFoundError: sun/security/provider/Sun).
> > ERROR   2004-10-07 17:30:23.286 [Phoenix.] (): There was an error running phase
"startup" for Block named "sockets". (Reason: Compo
> > nent named "sockets" failed to pass through the Initialization stage. (Reason: java.lang.NoClassDefFoundError:
sun/security/provide
> > r/Sun).).
> > org.apache.excalibur.containerkit.lifecycle.LifecycleException: Component named
"sockets" failed to pass through the Initialization
> >  stage. (Reason: java.lang.NoClassDefFoundError: sun/security/provider/Sun).
> >         at org.apache.excalibur.containerkit.lifecycle.LifecycleHelper.fail(LifecycleHelper.java:289)
> >         at org.apache.excalibur.containerkit.lifecycle.LifecycleHelper.startup(LifecycleHelper.java:159)
> >         at org.apache.avalon.phoenix.components.application.DefaultApplication.startup(DefaultApplication.java:480)
> >         at org.apache.avalon.phoenix.components.application.DefaultApplication.doRunPhase(DefaultApplication.java:428)
> >         at org.apache.avalon.phoenix.components.application.DefaultApplication.runPhase(DefaultApplication.java:364)
> >         at org.apache.avalon.phoenix.components.application.DefaultApplication.start(DefaultApplication.java:138)
> >         at org.apache.avalon.framework.container.ContainerUtil.start(ContainerUtil.java:251)
> > rethrown from
> > java.lang.NoClassDefFoundError: sun/security/provider/Sun
> >         at java.lang.Class.getDeclaredConstructors0(Native Method)
> >         at java.lang.Class.privateGetDeclaredConstructors(Class.java:1747)
> >         at java.lang.Class.getConstructor1(Class.java:2063)
> >         at java.lang.Class.newInstance3(Class.java:331)
> >         at java.lang.Class.newInstance(Class.java:305)
> >         at org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager.createFactory(DefaultSocketManager.java:135)
> >         at org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager.setupServerSocketFactory(DefaultSocketManager.java:93)
> > INFO    2004-10-07 17:30:23.302 [Phoenix.] (): exception while starting:Component
named "sockets" failed to pass through the Initia
> > lization stage. (Reason: java.lang.NoClassDefFoundError: sun/security/provider/Sun).
> > WARN    2004-10-07 17:30:23.308 [Phoenix.] (): Failed to start application james.
> > org.apache.avalon.framework.CascadingException: Failed to start application james.
> >         at org.apache.avalon.phoenix.components.kernel.DefaultKernel.startup(DefaultKernel.java:195)
> >         at org.apache.avalon.phoenix.components.kernel.DefaultKernel.addApplication(DefaultKernel.java:254)
> >         at org.apache.avalon.phoenix.components.deployer.DefaultDeployer.deploy(DefaultDeployer.java:353)
> >         at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.deployFile(DefaultEmbeddor.java:498)
> >         at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.deployFile(DefaultEmbeddor.java:491)
> >         at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.deployFiles(DefaultEmbeddor.java:476)
> >         at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.deployDefaultApplications(DefaultEmbeddor.java:466)
> > rethrown from
> > org.apache.avalon.phoenix.interfaces.ApplicationException: Component named "sockets"
failed to pass through the Initialization stag
> > e. (Reason: java.lang.NoClassDefFoundError: sun/security/provider/Sun).
> >         at org.apache.avalon.phoenix.components.application.DefaultApplication.start(DefaultApplication.java:144)
> >         at org.apache.avalon.framework.container.ContainerUtil.start(ContainerUtil.java:251)
> >         at org.apache.avalon.phoenix.components.kernel.DefaultKernel.startup(DefaultKernel.java:178)
> >         at org.apache.avalon.phoenix.components.kernel.DefaultKernel.addApplication(DefaultKernel.java:254)
> >         at org.apache.avalon.phoenix.components.deployer.DefaultDeployer.deploy(DefaultDeployer.java:353)
> >         at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.deployFile(DefaultEmbeddor.java:498)
> >         at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.deployFile(DefaultEmbeddor.java:491)
> > rethrown from
> > org.apache.excalibur.containerkit.lifecycle.LifecycleException: Component named
"sockets" failed to pass through the Initialization
> >  stage. (Reason: java.lang.NoClassDefFoundError: sun/security/provider/Sun).
> >         at org.apache.excalibur.containerkit.lifecycle.LifecycleHelper.fail(LifecycleHelper.java:289)
> >         at org.apache.excalibur.containerkit.lifecycle.LifecycleHelper.startup(LifecycleHelper.java:159)
> >         at org.apache.avalon.phoenix.components.application.DefaultApplication.startup(DefaultApplication.java:480)
> >         at org.apache.avalon.phoenix.components.application.DefaultApplication.doRunPhase(DefaultApplication.java:428)
> >         at org.apache.avalon.phoenix.components.application.DefaultApplication.runPhase(DefaultApplication.java:364)
> >         at org.apache.avalon.phoenix.components.application.DefaultApplication.start(DefaultApplication.java:138)
> >         at org.apache.avalon.framework.container.ContainerUtil.start(ContainerUtil.java:251)
> > rethrown from
> > java.lang.NoClassDefFoundError: sun/security/provider/Sun
> >         at java.lang.Class.getDeclaredConstructors0(Native Method)
> >         at java.lang.Class.privateGetDeclaredConstructors(Class.java:1747)
> >         at java.lang.Class.getConstructor1(Class.java:2063)
> >         at java.lang.Class.newInstance3(Class.java:331)
> >         at java.lang.Class.newInstance(Class.java:305)
> >         at org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager.createFactory(DefaultSocketManager.java:135)
> >         at org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager.setupServerSocketFactory(DefaultSocketManager.java:93)
> > WARN    2004-10-07 17:30:23.371 [Phoenix.] (): Failed to stop application james
as it is not initialized/started.
> > [
> > So, sun appears to be hard-coded even if in james-config, I set
> >   <sockets>
> >       <server-sockets>
> >          <factory name="plain" class="org.apache.avalon.cornerstone.blocks.sockets.DefaultServerSocketFactory"/>
> >          <factory name="ssl"
> >           class="org.apache.avalon.cornerstone.blocks.sockets.TLSServerSocketFactory">
> >             <keystore>
> >                <file>conf/keystore</file>
> >                <password>asdfasfd</password>
> >                <type>JKS</type>
> >                <protocol>SSL</protocol>
> >                <algorithm>IbmX509</algorithm>
> > ...
> > Also, tried to figure out whether in the future versions of cornerstone, this is
already fixed, but only found
> > http://archive.apache.org/dist/avalon/cornerstone-sockets-impl/source/, but it wasn't
clear, in which avalon successor, it will have its new home (http://avalon.apache.org/closed.html)
> 
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
>    http://issues.apache.org/jira/secure/Administrators.jspa
> -
> If you want more information on JIRA, or have a bug to report see:
>    http://www.atlassian.com/software/jira
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message