On Sun, Jan 13, 2019 at 1:22 PM Joachim Lindenberg <joac...@lindenberg.one>
wrote:

> Hello Mike, all,
>
> I really love Guacamole! Was using 0.9.14 for almost a year now, and also
> did my own extension…
>

Great, thank you!


> Today I installed Guacamole 1.0.0 on a VM with docker and I also updated
> my authentication extension to compile against 1.0.0 and have the proper
> version.
>
> Unfortunately it doesn´t work. I get a list of configurations, but when I
> select one of them it doesn´t really connect. Same when I use my token
> approach.
>
>
>
> The log contains the following exception:
>
>
>
> 13-Jan-2019 16:50:13.610 SEVERE [http-nio-8080-exec-7]
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error reading
> request, ignored
>
> java.lang.NullPointerException
>
>         at
> org.apache.guacamole.protocol.ConfiguredGuacamoleSocket.<init>(ConfiguredGuacamoleSocket.java:128)
>
>         at
> org.apache.guacamole.net.auth.simple.SimpleConnection.connect(SimpleConnection.java:124)
>
>         at
> org.apache.guacamole.tunnel.TunnelRequestService.createConnectedTunnel(TunnelRequestService.java:219)
>
>         at
> org.apache.guacamole.tunnel.TunnelRequestService.createTunnel(TunnelRequestService.java:393)
>
>         at
> org.apache.guacamole.tunnel.websocket.RestrictedGuacamoleWebSocketTunnelEndpoint.createTunnel(RestrictedGuacamoleWebSocketTunnelEndpoint.java:113)
>
>         at
> org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint.onOpen(GuacamoleWebSocketTunnelEndpoint.java:200)
>
>         at
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:133)
>
>         at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:852)
>
>         at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
>
>         at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>
>         at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>
>         at java.lang.Thread.run(Thread.java:748)
>

This error points you exactly where you need to look - there's a
NullPointerException occuring in the ConfiguredGuacamoleSocket.java file,
in the init() method, on line 128, which is called by the SimpleConnection
connection() method, on line 124, etc.  You need to trace back why
something null is being passed there (presumably from your custom
extension) and correct that issue.


>
>
> My extension actually returns objects that derive from
> GuacamoleConfiguration, SimpleConnection or AbstractConnectionGroup in the
> user context, and the class deriving from SimpleConnection overrides
> connect(GuacamoleClientInformation info, Map<String, String> tokens). I
> cannot see my connect method being called (I am doing some output there) as
> in 0.9.14, but the stack trace indicates that SimpleConnection.connect() is
> called. Now I am wondering how I can get my overrides being called as in
> 0.9.14. Also not really sure, but speculating I would assume guacamole kind
> of copies the contents of Connection rather than using the ones I return in
> the context.
>
>
>
> I didn´t change anything with respect to permissions, nor did I replace
> references to SmpleUser(Directory) or SimpleConnection(Group)Directory.
>
> Was this a deliberate change in 1.0 that I missed to recognize? Side
> effect of something else? Is there any other cause you can think of what I
> am doing wrong or should try differently?
>

There are *many* things that have changed between 0.9.14 and 1.0.0, and
pretty much of all of those changes are intentional :-).

If you're willing to share your source code, we could probably help track
it down.  If you're keeping that closed, then you're going to be on your
own in determining which of the changes is causing this issue.

-Nick

Reply via email to