From 743803facc6e4b933adca382db428be8b49a0d39 Mon Sep 17 00:00:00 2001 From: Vic Lee Date: Sun, 20 Dec 2009 19:07:00 +0800 Subject: [PATCH] Fix version checking (>=3.8) for rfbVncAuthOK confirmation when no password required It seems that vino does not send AuthOK when there is no password with anonymous TLS, and it seems that vino is the only <3.8 VNC server that handles anonymous TLS at all, so let's not wait for the packet that will never come. Signed-off-by: Vic Lee Signed-off-by: Johannes Schindelin --- libvncclient/rfbproto.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libvncclient/rfbproto.c b/libvncclient/rfbproto.c index 76b501a..d0e324d 100644 --- a/libvncclient/rfbproto.c +++ b/libvncclient/rfbproto.c @@ -809,7 +809,7 @@ InitialiseRFBConnection(rfbClient* client) rfbClientLog("No authentication needed\n"); /* 3.8 and upwards sends a Security Result for rfbNoAuth */ - if (client->major==3 && client->minor > 7) + if ((client->major==3 && client->minor > 7) || client->major>3) if (!rfbHandleAuthResult(client)) return FALSE; break; @@ -838,7 +838,9 @@ InitialiseRFBConnection(rfbClient* client) case rfbNoAuth: rfbClientLog("No sub authentication needed\n"); - if (!rfbHandleAuthResult(client)) return FALSE; + /* 3.8 and upwards sends a Security Result for rfbNoAuth */ + if ((client->major==3 && client->minor > 7) || client->major>3) + if (!rfbHandleAuthResult(client)) return FALSE; break; case rfbVncAuth: