Implemented support for TightVNC protocol extensions in the server code. This version has one incompatibility with TightVNC 1.3.x viewers - such viewers would not be able to connect without authentication. This will be fixed in the nearest time.

git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@651 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/SConnection.h b/common/rfb/SConnection.h
index 4c76631..e41ef5f 100644
--- a/common/rfb/SConnection.h
+++ b/common/rfb/SConnection.h
@@ -155,6 +155,8 @@
       RFBSTATE_UNINITIALISED,
       RFBSTATE_PROTOCOL_VERSION,
       RFBSTATE_SECURITY_TYPE,
+      RFBSTATE_TIGHT_TUNN_TYPE,
+      RFBSTATE_TIGHT_AUTH_TYPE,
       RFBSTATE_SECURITY,
       RFBSTATE_QUERYING,
       RFBSTATE_INITIALISATION,
@@ -180,6 +182,13 @@
     void processSecurityMsg();
     void processInitMsg();
 
+    // These functions add support for TightVNC protocol extensions.
+    void offerTunneling();
+    void processTunnelTypeMsg();
+    void offerAuthentication();
+    void processAuthTypeMsg();
+    void sendInteractionCaps();
+
     int defaultMajorVersion, defaultMinorVersion;
     rdr::InStream* is;
     rdr::OutStream* os;