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