[ 
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)

Reply via email to