necouchman commented on PR #469:
URL: https://github.com/apache/guacamole-server/pull/469#issuecomment-2143435189

   Well, finally tracked down what's going on, here, and it appears that there 
is a bug in libvncclient, and not all of the required data is initialized to 
send a screen update. In particular, the RFB protocol specifies that a the 
screen update message should include the screen id, x and y offset, width and 
height, and (unused but initialized) flags. libvncclient currently only 
initializes and sends the x and y offset, resulting in bogus data being sent 
for the id, offset, and flags. While some VNC servers may be forgiving of this 
(or ignore it), TigerVNC does not, and this results in its refusal to resize 
correctly.
   
   I've put in a pull request in the LibVNC/libvncserver repo to correct this, 
and it appears to work. However, until they accept that and release a new 
version, this effectively will not work. The options, then, are:
   * Don't merge this code until libvncserver/libvncclient has a release that 
will actually make use of it.
   * Merge this code, anyway, with a warning that it will probably not work 
with most VNC servers.
   * Write a function that uses the `WriteToRFBServer` function and generate 
our own resize message, with the expected data, and then update Guacamole to 
use the corrected/built-in method when it gets fixed.
   
   I'm tempted to go with the last option so that this feature can be used, so 
I'll see what I can come up with.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@guacamole.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to