Hi. I'm using Guac in docker with auth-json as the only extension. No db, ldap or other auth mechanisms. Upon upgrading guac/guacd to 1.5.3 and using the guacamole-auth-json-1.5.3.jar, the extension is no longer loading.
Downgrading to guacamole-auth-json-1.5.2.jar works without issue. The following errors are logged: 15:39:25.667 [localhost-startStop-1] DEBUG o.a.g.extension.ExtensionModule - Reading extension: "guacamole-auth-json-1.5.3.jar" simpleguac-guac-1 | 15:39:25.786 [localhost-startStop-1] DEBUG o.a.g.extension.ExtensionClassLoader - Libraries bundled within extension "/home/guacamole/.guacamole/extensions/guacamole-auth-json-1.5.3.jar" have been copied to temporary directory "/home/guacamole/tomcat/temp/guac-extension-lib-1063521987004296163". simpleguac-guac-1 | 15:39:25.791 [localhost-startStop-1] DEBUG o.a.g.extension.ExtensionModule - [0] Binding AuthenticationProvider "org.apache.guacamole.auth.json.JSONAuthenticationProvider". simpleguac-guac-1 | 15:39:25.976 [localhost-startStop-1] ERROR o.a.g.extension.ProviderFactory - authentication provider extension failed to start: Unable to create injector, see the following errors: simpleguac-guac-1 | simpleguac-guac-1 | 1) [Guice/MissingConstructor]: No injectable constructor for type RequestValidationService. simpleguac-guac-1 | simpleguac-guac-1 | class RequestValidationService does not have a @Inject annotated constructor or a no-arg constructor. simpleguac-guac-1 | simpleguac-guac-1 | Requested by: simpleguac-guac-1 | 1 : RequestValidationService.class(RequestValidationService.java:39) simpleguac-guac-1 | at JSONAuthenticationProviderModule.configure(JSONAuthenticationProviderModule.java:80) simpleguac-guac-1 | simpleguac-guac-1 | Learn more: simpleguac-guac-1 | https://github.com/google/guice/wiki/MISSING_CONSTRUCTOR simpleguac-guac-1 | simpleguac-guac-1 | 1 error simpleguac-guac-1 | simpleguac-guac-1 | ====================== simpleguac-guac-1 | Full classname legend: simpleguac-guac-1 | ====================== simpleguac-guac-1 | JSONAuthenticationProviderModule: "org.apache.guacamole.auth.json.JSONAuthenticationProviderModule" simpleguac-guac-1 | RequestValidationService: "org.apache.guacamole.auth.json.RequestValidationService" simpleguac-guac-1 | ======================== simpleguac-guac-1 | End of classname legend: simpleguac-guac-1 | ======================== simpleguac-guac-1 | simpleguac-guac-1 | simpleguac-guac-1 | 15:39:25.976 [localhost-startStop-1] DEBUG o.a.g.extension.ProviderFactory - org.apache.guacamole.auth.json.JSONAuthenticationProvider instantiation failed. simpleguac-guac-1 | java.lang.reflect.InvocationTargetException: null simpleguac-guac-1 | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) simpleguac-guac-1 | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) simpleguac-guac-1 | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) simpleguac-guac-1 | at java.lang.reflect.Constructor.newInstance(Constructor.java:423) simpleguac-guac-1 | at org.apache.guacamole.extension.ProviderFactory.newInstance(ProviderFactory.java:59) simpleguac-guac-1 | at org.apache.guacamole.extension.AuthenticationProviderFacade.<init>(AuthenticationProviderFacade.java:90) simpleguac-guac-1 | at org.apache.guacamole.extension.ExtensionModule.bindAuthenticationProvider(ExtensionModule.java:230) simpleguac-guac-1 | at org.apache.guacamole.extension.ExtensionModule.bindAuthenticationProviders(ExtensionModule.java:259) simpleguac-guac-1 | at org.apache.guacamole.extension.ExtensionModule.loadExtensions(ExtensionModule.java:584) simpleguac-guac-1 | at org.apache.guacamole.extension.ExtensionModule.configureServlets(ExtensionModule.java:633) simpleguac-guac-1 | at com.google.inject.servlet.ServletModule.configure(ServletModule.java:52) simpleguac-guac-1 | at com.google.inject.AbstractModule.configure(AbstractModule.java:66) simpleguac-guac-1 | at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409) simpleguac-guac-1 | at com.google.inject.spi.Elements.getElements(Elements.java:108) simpleguac-guac-1 | at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160) simpleguac-guac-1 | at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) simpleguac-guac-1 | at com.google.inject.Guice.createInjector(Guice.java:87) simpleguac-guac-1 | at com.google.inject.Guice.createInjector(Guice.java:78) simpleguac-guac-1 | at org.apache.guacamole.GuacamoleServletContextListener.lambda$getInjector$0(GuacamoleServletContextListener.java:193) simpleguac-guac-1 | at java.util.concurrent.atomic.AtomicReference.updateAndGet(AtomicReference.java:179) simpleguac-guac-1 | at org.apache.guacamole.GuacamoleServletContextListener.getInjector(GuacamoleServletContextListener.java:186) simpleguac-guac-1 | at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45) simpleguac-guac-1 | at org.apache.guacamole.GuacamoleServletContextListener.contextInitialized(GuacamoleServletContextListener.java:173) simpleguac-guac-1 | at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4477) simpleguac-guac-1 | at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4935) simpleguac-guac-1 | at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) simpleguac-guac-1 | at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:710) simpleguac-guac-1 | at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:687) simpleguac-guac-1 | at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:661) simpleguac-guac-1 | at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1016) simpleguac-guac-1 | at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1903) simpleguac-guac-1 | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) simpleguac-guac-1 | at java.util.concurrent.FutureTask.run(FutureTask.java:266) simpleguac-guac-1 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) simpleguac-guac-1 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) simpleguac-guac-1 | at java.lang.Thread.run(Thread.java:750) simpleguac-guac-1 | Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors: simpleguac-guac-1 | simpleguac-guac-1 | 1) [Guice/MissingConstructor]: No injectable constructor for type RequestValidationService. simpleguac-guac-1 | simpleguac-guac-1 | class RequestValidationService does not have a @Inject annotated constructor or a no-arg constructor. simpleguac-guac-1 | simpleguac-guac-1 | Requested by: simpleguac-guac-1 | 1 : RequestValidationService.class(RequestValidationService.java:39) simpleguac-guac-1 | at JSONAuthenticationProviderModule.configure(JSONAuthenticationProviderModule.java:80) simpleguac-guac-1 | simpleguac-guac-1 | Learn more: simpleguac-guac-1 | https://github.com/google/guice/wiki/MISSING_CONSTRUCTOR simpleguac-guac-1 | simpleguac-guac-1 | 1 error simpleguac-guac-1 | simpleguac-guac-1 | ====================== simpleguac-guac-1 | Full classname legend: simpleguac-guac-1 | ====================== simpleguac-guac-1 | JSONAuthenticationProviderModule: "org.apache.guacamole.auth.json.JSONAuthenticationProviderModule" simpleguac-guac-1 | RequestValidationService: "org.apache.guacamole.auth.json.RequestValidationService" simpleguac-guac-1 | ======================== simpleguac-guac-1 | End of classname legend: simpleguac-guac-1 | ======================== simpleguac-guac-1 | simpleguac-guac-1 | at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:576) simpleguac-guac-1 | at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:163) simpleguac-guac-1 | at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) simpleguac-guac-1 | at com.google.inject.Guice.createInjector(Guice.java:87) simpleguac-guac-1 | at com.google.inject.Guice.createInjector(Guice.java:69) simpleguac-guac-1 | at com.google.inject.Guice.createInjector(Guice.java:59) simpleguac-guac-1 | at org.apache.guacamole.auth.json.JSONAuthenticationProvider.<init>(JSONAuthenticationProvider.java:56) simpleguac-guac-1 | ... 36 common frames omitted Are anyone else seeing the same thing? Regards Marius
