You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2016/11/24 16:07:58 UTC

[jira] [Resolved] (SSHD-717) wrong import-package directive

     [ https://issues.apache.org/jira/browse/SSHD-717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Guillaume Nodet resolved SSHD-717.
----------------------------------
       Resolution: Fixed
         Assignee: Guillaume Nodet
    Fix Version/s: 1.4.0

https://github.com/apache/mina-sshd/commit/d13c6794473e27ed2c98f3e749b1def458dd3b88

> wrong import-package directive
> ------------------------------
>
>                 Key: SSHD-717
>                 URL: https://issues.apache.org/jira/browse/SSHD-717
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Markus Rathgeb
>            Assignee: Guillaume Nodet
>             Fix For: 1.4.0
>
>
> I have build a 1.4.0-SNAPSHOT using the Git sources myself.
> The import package section of the manifest looks like this one (output taken from Karaf bundle:headers command because its well formatted).
> {noformat}
> Import-Package = 
> 	javax.crypto,
> 	javax.crypto.interfaces,
> 	javax.crypto.spec,
> 	javax.management,
> 	javax.security.auth,
> 	javax.security.auth.callback,
> 	javax.security.auth.login,
> 	net.i2p.crypto.eddsa;resolution:=optional;version="[0.1,1)",
> 	net.i2p.crypto.eddsa.math;resolution:=optional,
> 	net.i2p.crypto.eddsa.spec;resolution:=optional;version="[0.1,1)",
> 	org.apache.mina.core.buffer;resolution:=optional;version="[2.0,3)",
> 	org.apache.mina.core.future;resolution:=optional;version="[2.0,3)",
> 	org.apache.mina.core.service;resolution:=optional;version="[2.0,3)",
> 	org.apache.mina.core.session;resolution:=optional;version="[2.0,3)",
> 	org.apache.mina.transport.socket;resolution:=optional;version="[2.0,3)",
> 	org.apache.mina.transport.socket.nio;resolution:=optional;version="[2.0,3)",
> 	org.apache.sshd.agent,
> 	org.apache.sshd.agent.common,
> 	org.apache.sshd.agent.local,
> 	org.apache.sshd.agent.unix,
> 	org.apache.sshd.client,
> 	org.apache.sshd.client.auth,
> 	org.apache.sshd.client.auth.hostbased,
> 	org.apache.sshd.client.auth.keyboard,
> 	org.apache.sshd.client.auth.password,
> 	org.apache.sshd.client.auth.pubkey,
> 	org.apache.sshd.client.channel,
> 	org.apache.sshd.client.channel.exit,
> 	org.apache.sshd.client.config.hosts,
> 	org.apache.sshd.client.config.keys,
> 	org.apache.sshd.client.future,
> 	org.apache.sshd.client.global,
> 	org.apache.sshd.client.kex,
> 	org.apache.sshd.client.keyverifier,
> 	org.apache.sshd.client.scp,
> 	org.apache.sshd.client.session,
> 	org.apache.sshd.client.session.forward,
> 	org.apache.sshd.client.simple,
> 	org.apache.sshd.client.subsystem,
> 	org.apache.sshd.client.subsystem.sftp,
> 	org.apache.sshd.client.subsystem.sftp.extensions,
> 	org.apache.sshd.client.subsystem.sftp.extensions.helpers,
> 	org.apache.sshd.client.subsystem.sftp.extensions.openssh,
> 	org.apache.sshd.client.subsystem.sftp.extensions.openssh.helpers,
> 	org.apache.sshd.common,
> 	org.apache.sshd.common.auth,
> 	org.apache.sshd.common.channel,
> 	org.apache.sshd.common.cipher,
> 	org.apache.sshd.common.compression,
> 	org.apache.sshd.common.config,
> 	org.apache.sshd.common.config.keys.loader,
> 	org.apache.sshd.common.digest,
> 	org.apache.sshd.common.file,
> 	org.apache.sshd.common.file.nativefs,
> 	org.apache.sshd.common.file.root,
> 	org.apache.sshd.common.file.util,
> 	org.apache.sshd.common.forward,
> 	org.apache.sshd.common.future,
> 	org.apache.sshd.common.global,
> 	org.apache.sshd.common.helpers,
> 	org.apache.sshd.common.io,
> 	org.apache.sshd.common.io.mina,
> 	org.apache.sshd.common.io.nio2,
> 	org.apache.sshd.common.kex.dh,
> 	org.apache.sshd.common.keyprovider,
> 	org.apache.sshd.common.mac,
> 	org.apache.sshd.common.random,
> 	org.apache.sshd.common.scp,
> 	org.apache.sshd.common.scp.helpers,
> 	org.apache.sshd.common.session,
> 	org.apache.sshd.common.session.helpers,
> 	org.apache.sshd.common.signature,
> 	org.apache.sshd.common.subsystem.sftp,
> 	org.apache.sshd.common.subsystem.sftp.extensions,
> 	org.apache.sshd.common.subsystem.sftp.extensions.openssh,
> 	org.apache.sshd.common.util,
> 	org.apache.sshd.common.util.closeable,
> 	org.apache.sshd.common.util.io,
> 	org.apache.sshd.common.util.logging,
> 	org.apache.sshd.common.util.net,
> 	org.apache.sshd.common.util.security,
> 	org.apache.sshd.common.util.security.bouncycastle,
> 	org.apache.sshd.common.util.threads,
> 	org.apache.sshd.server,
> 	org.apache.sshd.server.auth,
> 	org.apache.sshd.server.auth.gss,
> 	org.apache.sshd.server.auth.hostbased,
> 	org.apache.sshd.server.auth.keyboard,
> 	org.apache.sshd.server.auth.password,
> 	org.apache.sshd.server.auth.pubkey,
> 	org.apache.sshd.server.channel,
> 	org.apache.sshd.server.config.keys,
> 	org.apache.sshd.server.forward,
> 	org.apache.sshd.server.global,
> 	org.apache.sshd.server.kex,
> 	org.apache.sshd.server.keyprovider,
> 	org.apache.sshd.server.scp,
> 	org.apache.sshd.server.session,
> 	org.apache.sshd.server.shell,
> 	org.apache.sshd.server.subsystem,
> 	org.apache.sshd.server.subsystem.sftp,
> 	org.apache.sshd.server.x11,
> 	org.apache.tomcat.jni;resolution:=optional,
> 	org.bouncycastle.crypto.prng;resolution:=optional;version="[1.55,2)",
> 	org.bouncycastle.jce.provider;resolution:=optional;version="[1.55,2)",
> 	org.bouncycastle.openssl;resolution:=optional;version="[1.55,2)",
> 	org.bouncycastle.openssl.jcajce;resolution:=optional;version="[1.55,2)",
> 	org.ietf.jgss,
> 	org.slf4j;version="[1.7,2)"
> {noformat}
> Caused by the import of the packages it exports itself with missing version constraints, the bundle could import this packages from another package that exports that one with an incomplete version.
> In my environment there are now two sshd bundles installed:
> {noformat}
>   1 | Active   |  20 | 0.14.0                | mvn:org.apache.sshd/sshd-core/0.14.0
> 128 | Active   |  80 | 1.4.0.SNAPSHOT        | mvn:org.apache.sshd/sshd-core/1.4.0-SNAPSHOT
> {noformat}
> As you can see the bundle 128 is using a package that is exported by 1, instead of using it from itself:
> {noformat}
> > requirements 128
> org.apache.sshd.core [128] requires:
> ------------------------------------
> ...
> osgi.wiring.package; (osgi.wiring.package=org.apache.sshd.common.future) resolved by:
>    osgi.wiring.package; org.apache.sshd.common.future 0.14.0 from org.apache.sshd.core [1]
> ...
> {noformat}
> This leads to e.g. this exception:
> {noformat}
> java.lang.NoClassDefFoundError: org/apache/sshd/common/future/VerifiableFuture
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)