You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@guacamole.apache.org by "Jake Coffman (Jira)" <ji...@apache.org> on 2020/05/24 20:30:00 UTC
[jira] [Created] (GUACAMOLE-1077) guacd sending invalid
instructions causing disconnect
Jake Coffman created GUACAMOLE-1077:
---------------------------------------
Summary: guacd sending invalid instructions causing disconnect
Key: GUACAMOLE-1077
URL: https://issues.apache.org/jira/browse/GUACAMOLE-1077
Project: Guacamole
Issue Type: Bug
Components: guacamole-server
Affects Versions: 1.1.0
Reporter: Jake Coffman
I noticed occasionally that using the guacamole session sharing feature that I and others would get immediately disconnected after connecting to an existing session. I wrote a script that reproduces the issue within a minute or two (although sometimes it happens right away).
See this repo for the code: [https://github.com/jakecoffman/guacd-bug]
I believe the issue is guacd is sending an invalid instruction because the error seen is {{Connection to guacd terminated abnormally: Element terminator of instruction was not ';' nor ','}}
Steps to reproduce the issue:
* Start guacd {{docker run --name guacd -it --rm -p 4822:4822 guacamole/guacd}}
* Start postgres {{docker run --name some-postgres -e POSTGRES_PASSWORD=pw -e POSTGRES_USER=postgres -e POSTGRES_DB=guacamole_db -p 5432:5432 -d postgres}}
* Generate init.db {{docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgres > initdb.sql}}
* Run initdb.sql on guacamole_db database
* Start guacamole client {{docker run --name my-guac --link guacd:guacd --link some-postgres:postgres -e POSTGRES_DATABASE=guacamole_db -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=pw -p 8080:8080 guacamole/guacamole}}
* Connect [http://localhost:8080/guacamole/#/]
* Login with guacadmin/guacadmin
* Configure an RDP session as usual, but be sure to set Maximum connections to 100 and Maximum per user to 100 too.
* Save and go Home
* Click on the connection to start the first connection
* In a new window/browser login to guacamole and go to settings
* Under active sessions you should see your other active session. Open developer tools and then click on the Connection Name link to connect to it.
* Copy the websocket connection from the network tab and paste it into the Go script (replace url).
* Also grab the Cookie header and paste it in the script (replace cookie).
* Start the script {{go run main.go}}
* You should see "Diaing 0" etc for a while, sometimes it happens right away sometimes it takes a long time.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)