apache / shiro

Apache Shiro
https://shiro.apache.org/
Apache License 2.0
4.31k stars 2.31k forks source link

Bouncycastle dependency problem with Karaf 4.4.5 and Shiro 2.0.0 #1400

Closed jherkel closed 6 months ago

jherkel commented 6 months ago

Search before asking

Environment

Fedora Linux, openjdk 17

Shiro version

2.0.0

What was the actual outcome?

I tried to build karaf kar archive with verification. My feature.xml contains apache shiro with bcrypt and argon libs ` shiro-core

mvn:org.apache.shiro.crypto/shiro-hashes-bcrypt/${org.apache.shiro.version}
<bundle>mvn:org.apache.shiro.crypto/shiro-hashes-argon2/${org.apache.shiro.version}</bundle>`

During maven build I can see this error: Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.4.5:verify (default-verify) on project chronos.features.platform: Verification failures: Verification failures: Feature resolution failed for [chronos-platform/0.0.1.SNAPSHOT] Message: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=chronos-platform; type=karaf.feature; version=0.0.1.SNAPSHOT; filter:="(&(osgi.identity=chronos-platform)(type=karaf.feature)(version>=0.0.1.SNAPSHOT))" [caused by: Unable to resolve chronos-platform/0.0.1.SNAPSHOT: missing requirement [chronos-platform/0.0.1.SNAPSHOT] osgi.identity; osgi.identity=chronos-libs-shiro; type=karaf.feature; version="[0.0.1.SNAPSHOT,0.0.1.SNAPSHOT]" [caused by: Unable to resolve chronos-libs-shiro/0.0.1.SNAPSHOT: missing requirement [chronos-libs-shiro/0.0.1.SNAPSHOT] osgi.identity; osgi.identity=org.apache.shiro.hashes.bcrypt; type=osgi.bundle; version="[2.0.0,2.0.0]"; resolution:=mandatory [caused by: Unable to resolve org.apache.shiro.hashes.bcrypt/2.0.0: missing requirement [org.apache.shiro.hashes.bcrypt/2.0.0] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.bouncycastle.crypto.generators)(version>=1.77.0)(!(version>=2.0.0)))"]]]

I can see that MANIFEST.MF for shiro-hashes-bcrypt.jar contains Import-Package: org.apache.shiro.crypto.hash;version="[2,3)",org.apach e.shiro.lang.util;version="[2,3)",org.aopalliance.aop;version="[1.0.0 ,2.0.0)";resolution:=optional,com.google.inject;version="1.3";resolut ion:=optional,java.lang,java.lang.invoke,java.nio.charset,java.securi ty,java.util,java.util.function,java.util.regex,org.bouncycastle.cryp to.generators;version="[1.77,2)",org.slf4j;version="[2.0,3)"

What was the expected outcome?

Maybe feature.xml needs some sync with karaf bom.

How to reproduce

Try to create kar feature with shiro-core and bcrypt hash provider (or argon)

Debug logs

No response

jbonofre commented 6 months ago

FYI, Karaf 4.4.6 upgraded to bc bundles 1.77 (see https://issues.apache.org/jira/browse/KARAF-7809).

So it should be ok on 4.4.6.