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