diff options
Diffstat (limited to 'libvncclient/rfbproto.c')
-rw-r--r-- | libvncclient/rfbproto.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/libvncclient/rfbproto.c b/libvncclient/rfbproto.c index a7faab1..70fab19 100644 --- a/libvncclient/rfbproto.c +++ b/libvncclient/rfbproto.c @@ -1040,9 +1040,7 @@ InitialiseRFBConnection(rfbClient* client) rfbProtocolVersionMsg pv; int major,minor; uint32_t authScheme; -#ifdef LIBVNCSERVER_WITH_CLIENT_TLS uint32_t subAuthScheme; -#endif rfbClientInitMsg ci; /* if the connection is immediately closed, don't report anything, so @@ -1078,6 +1076,14 @@ InitialiseRFBConnection(rfbClient* client) DefaultSupportedMessagesUltraVNC(client); } + /* UltraVNC Single Click uses minor codes 14 and 16 for the server */ + if (major==3 && (minor==14 || minor==16)) { + minor = minor - 10; + client->minor = minor; + rfbClientLog("UltraVNC Single Click server detected, enabling UltraVNC specific messages\n",pv); + DefaultSupportedMessagesUltraVNC(client); + } + /* TightVNC uses minor codes 5 for the server */ if (major==3 && minor==5) { rfbClientLog("TightVNC server detected, enabling TightVNC specific messages\n",pv); @@ -1146,10 +1152,6 @@ InitialiseRFBConnection(rfbClient* client) break; case rfbTLS: -#ifndef LIBVNCSERVER_WITH_CLIENT_TLS - rfbClientLog("TLS support was not compiled in\n"); - return FALSE; -#else if (!HandleAnonTLSAuth(client)) return FALSE; /* After the TLS session is established, sub auth types are expected. * Note that all following reading/writing are through the TLS session from here. @@ -1179,15 +1181,10 @@ InitialiseRFBConnection(rfbClient* client) (int)subAuthScheme); return FALSE; } -#endif break; case rfbVeNCrypt: -#ifndef LIBVNCSERVER_WITH_CLIENT_TLS - rfbClientLog("TLS support was not compiled in\n"); - return FALSE; -#else if (!HandleVeNCryptAuth(client)) return FALSE; switch (client->subAuthScheme) { @@ -1213,7 +1210,7 @@ InitialiseRFBConnection(rfbClient* client) client->subAuthScheme); return FALSE; } -#endif + break; default: |