summaryrefslogtreecommitdiffstats
path: root/libvncclient
diff options
context:
space:
mode:
authorVic Lee <llyzs@163.com>2009-12-20 19:07:00 +0800
committerJohannes Schindelin <johannes.schindelin@gmx.de>2009-12-22 02:33:20 +0100
commit743803facc6e4b933adca382db428be8b49a0d39 (patch)
tree00068cd63b342448e5cce024873ca4b2adce9bfa /libvncclient
parent9659bc129f520b635b7056cf5d746a35003a6b80 (diff)
downloadlibtdevnc-743803facc6e4b933adca382db428be8b49a0d39.tar.gz
libtdevnc-743803facc6e4b933adca382db428be8b49a0d39.zip
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 <llyzs@163.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Diffstat (limited to 'libvncclient')
-rw-r--r--libvncclient/rfbproto.c6
1 files 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: