Hi Alex,

Thanks for the detailed report.

Which JDK are you using ? I would like to reproduce each topic step by step.

I'm right now preparing 4.4.3 and 4.3.9 releases. Not sure I will have
time to include any change related to these points, but I will try.
Else, I will move forward pretty fast new releases just after.

Regards
JB

On Mon, Dec 19, 2022 at 2:20 PM Alex Heneveld <a...@cloudsoft.io> wrote:
>
> Hi JB, Team,
>
> I'm upgrading various OSGi deps in Apache Brooklyn and have hit three
> curious issues:
>
>
> (1) bin/client disconnects immediately after authentication if no command
> specified; this is after enabling the karaf user in etc/users/properties,
> `bin/client bundle:list` works, but `bin/client` now disconnects
> immediately.  `ssh karaf@localhost -p 8101` still works.
>
> At first I thought it was related to (2) but since commands actually work
> and an ssh shell works I now suspect a TTY issue.  Logging on client (`-l
> 4`) and server don't show much apart from the sudden closing after the
> server says "no command provided".
>
>
> (2) The log shows scary stack traces when
> enabling org.apache.karaf.shell.core/4.3.8 about config commands failing to
> load, eg:
>
> 2022-12-19T10:47:40,020Z - INFO   64 o.a.k.s.i.a.o.CommandExtension
> [tures-3-thread-1] Inspection of class
> org.apache.karaf.config.command.CancelCommand failed.
> java.lang.NoClassDefFoundError: org/apache/karaf/shell/api/action/Action
>
> This is almost certainly due to loading karaf.config earlier (
> https://github.com/apache/karaf/commit/b783f279c78f79005d15657f10fbe3a84bfdd863).
> The stack traces are at INFO level and it doesn't have noticeable impact so
> not a big deal but thought I would say.
>
>
> (3) Using Eclipse Jetty, servlets and WARs no longer start unless geronimo
> jaspi specs _and_ provider are explicitly added; I was getting errors such
> as:
>
> Unable to resolve org.eclipse.jetty.security.jaspi/9.4.49.v20220914:
> missing requirement [org.eclipse.jetty.security.jaspi/9.4.49.v20220914]
> osgi.wiring.package;
> filter:="(&(osgi.wiring.package=javax.security.auth.message)(version>=1.0.0)(!(version>=2.0.0)))"
>
> Could not start the servlet context for context path []
> java.lang.SecurityException: AuthConfigFactory error:
> java.lang.ClassNotFoundException:
> org.apache.geronimo.components.jaspi.AuthConfigFactoryImpl not found by
> org.apache.geronimo.specs.geronimo-jaspic_1.0_spec [46]
>
> The first was solved by explicitly adding this:
>
> <bundle>mvn:org.apache.geronimo.specs/geronimo-jaspic_1.0_spec/1.1</bundle>
>
> That used to come with pax, but doesn't any more, and is needed for
> jetty-websocket, so makes sense.  But that caused the second error, which I
> could only solve by adding a new (never before included) bundle:
>
> <bundle>mvn:org.apache.geronimo.components/geronimo-jaspi/2.0.0</bundle>
>
> It looks like in the old versions possibly something had been setting a
> BasicAuthenticator prior to this code block which meant it previously
> bypassed this jaspi lookup altogether.  No idea why now it is doing this
> lookup.  Also I note there is an ecilpse jetty
> jaspi DefaultAuthConfigFactory but can't see how to wire it.  It works fine
> with geronimo-jaspi -- though we don't do anything special with that; I
> don't even really know what it is, just the WARs stopping launching.
>
> (Probably this is nothing to do with the Karaf changes, but since they are
> all version-linked and it was the most irritating, I figured I'd say!)
>
>
> The versions being upgraded are:
>
> * CXF 3.4.1 -> 3.4.10
> * Pax web 7.3.23 -> 7.3.27
> * Karaf 4.3.6 -> 4.3.8
> * Eclipse Jetty 9.4.43.v20210629 -> 9.4.49.v20220914
>
>
> It all seems to be working now but I thought people might want to know, and
> quite possibly there are better solutions you can point me at!
>
> Many thanks,
> Alex

Reply via email to