[ https://issues.apache.org/jira/browse/GUACAMOLE-1641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17574458#comment-17574458 ]
Mike Beynon edited comment on GUACAMOLE-1641 at 8/3/22 2:31 AM: ---------------------------------------------------------------- I'm close to having the initial forks ready for review. Some other folks where I work are going to be helping. It's not quite ready because there's a disconnection problem. A few minutes into the console being up, I see a so-called normal (0x03E8 == 1000) peer connection close on the websocket to the vSphere server. That causes sockets to close on both sides and then HandleRFBServerMessage() returns with a failure because it gets an incomplete message. For comparison, a regular VNC connection to a tight VNC server on a test VM (in the guest OS) runs fine the whole time. The timeout is not due to inactivity as seen by comparing multiple consoles to vSphere at the same time, only some of which have mouse and keyboard activity. I'm even using websocket ping-pong at 20s just in case. I do not have an easy way to see the server logs. It feels like the vSphere VNC server is just closing it's side of the ws connection for an unknown reason. Any suggestions where we can look [~vnick] ? I was going to read through older un-minified wmks.js version of their client that does not see the disconnect, hoping to see a different connection setup step or something else that could explain it. One last question ... I was thinking of making the guac client able to prompt if the username and password for the vSphere server are not in the db. The guac protocol handles prompting for that in the different consoles protocols and getting it to guacd. Is it possible to use that mechanism even before the RFB handshake has started in guacd? was (Author: JIRAUSER293070): I'm close to having the initial forks ready for review. Some other folks where I work are going to be helping. It's not quite ready because there's a disconnection problem. A few minutes into the console being up, I see a so-called normal (0x03E8 == 1000) peer connection close on the websocket to the vSphere server. That causes sockets to close on both sides and then HandleRFBServerMessage() returns with a failure because it gets an incomplete message. For comparison, a regular VNC connection to a tight VNC server on a test VM (in the guest OS) runs fine the whole time. The timeout is not due to inactivity as seen by comparing multiple consoles to vSphere at the same time, only some of which have mouse and keyboard activity. I'm even using websocket ping-pong at 20s just in case. I do not have an easy way to see the server logs. It feels like the vSphere VNC server is just closing it's side of the ws connection for an unknown reason. Any suggestions where we can look? I was going to read through older un-minified wmks.js version of their client that does not see the disconnect, hoping to see a different connection setup step or something else that could explain it. One last question ... I was thinking of making the guac client able to prompt if the username and password for the vSphere server are not in the db. The guac protocol handles prompting for that in the different consoles protocols and getting it to guacd. Is it possible to use that mechanism even before the RFB handshake has started in guacd? > Add vSphere support to VNC protocol > ----------------------------------- > > Key: GUACAMOLE-1641 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-1641 > Project: Guacamole > Issue Type: Improvement > Components: guacamole > Reporter: Mike Beynon > Priority: Minor > > vSphere bundles a VNC server into their ESXi hypervisor, and tunnels the VNC > protocol over a web socket to their client. I'm working now to add support > to guacd to (1) take a vm object id name, (2) use the vSphere API to > establish a session with vCenter and request a webmks ticket, and (3) have > guacd connect to the appropriate ESXi server and port to setup the websocket > and then pass binary frames containing the VNC protocol. The new parameters > for the guacd protocol will mean there's changes to guacamole-client also for > the webapp and the db storage for connection parameters. > I plan to do this on the open source version. > It's related to GUACAMOLE-591, except it will not show the entire VM catalog. > Instead my changes will provide the mechanism in guacd, and later work can > add the catalog. > Any suggestions how to proceed? Things to do or things to avoid doing? > Should I start with the latest apache or glyptodon source? -- This message was sent by Atlassian Jira (v8.20.10#820010)