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

Reply via email to