]> source.dussan.org Git - tigervnc.git/commitdiff
[Development] Move Get{C,S}Security from Security class to separate classes.
authorAdam Tkac <atkac@redhat.com>
Fri, 1 Oct 2010 08:33:29 +0000 (08:33 +0000)
committerAdam Tkac <atkac@redhat.com>
Fri, 1 Oct 2010 08:33:29 +0000 (08:33 +0000)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4156 3789f03b-4d11-0410-bbf8-ca57d06f2519

16 files changed:
common/rfb/CConnection.cxx
common/rfb/CConnection.h
common/rfb/CSecurityVeNCrypt.cxx
common/rfb/CSecurityVeNCrypt.h
common/rfb/Makefile.am
common/rfb/SConnection.cxx
common/rfb/SConnection.h
common/rfb/SSecurityVeNCrypt.cxx
common/rfb/SSecurityVeNCrypt.h
common/rfb/Security.cxx
common/rfb/Security.h
common/rfb/SecurityClient.cxx [new file with mode: 0644]
common/rfb/SecurityClient.h [new file with mode: 0644]
common/rfb/SecurityServer.cxx [new file with mode: 0644]
common/rfb/SecurityServer.h [new file with mode: 0644]
win/vncconfig/Authentication.h

index 6e1bf12316f221d4cb43c8dcee46b4f9c2a3e1f4..cc68ea11a8a05f5a8a857c0f49950a098eae828e 100644 (file)
@@ -36,7 +36,7 @@ CConnection::CConnection()
     shared(false),
     state_(RFBSTATE_UNINITIALISED), useProtocol3_3(false)
 {
-  security = new Security(SecurityViewer);
+  security = new SecurityClient();
 }
 
 CConnection::~CConnection()
index 58fbb969398364acfd1b12fcbd8af4b8f9f0ef73..eb8c1c3f34dadf2cdc3fa05d547f2a6623229438 100644 (file)
@@ -28,7 +28,7 @@
 #include <rfb/CMsgHandler.h>
 #include <rfb/CSecurity.h>
 #include <rfb/util.h>
-#include <rfb/Security.h>
+#include <rfb/SecurityClient.h>
 
 namespace rfb {
 
@@ -134,7 +134,7 @@ namespace rfb {
     CSecurity *csecurity; /* Windows viewer needs it exported. */
   protected:
     void setState(stateEnum s) { state_ = s; }
-    Security *security;
+    SecurityClient *security;
 
   private:
     void processVersionMsg();
index 3b77ed1afe048ef97823fe3bbddae01704004e43..9c2cebaf09273bc96e867ed2554b63a75d6e65d1 100644 (file)
@@ -36,7 +36,7 @@ using namespace std;
 
 static LogWriter vlog("CVeNCrypt");
 
-CSecurityVeNCrypt::CSecurityVeNCrypt(Security* sec) : csecurity(NULL), security(sec)
+CSecurityVeNCrypt::CSecurityVeNCrypt(SecurityClient* sec) : csecurity(NULL), security(sec)
 {
   haveRecvdMajorVersion = false;
   haveRecvdMinorVersion = false;
index c04d1bf2dd60f4a45fd1c4ade5b89793bbd28187..fd9c5dc0bb7e28622155ad785b6e599330dffbfd 100644 (file)
@@ -26,7 +26,7 @@
 #define __CSECURITYVENCRYPT_H__
 
 #include <rfb/CSecurity.h>
-#include <rfb/Security.h>
+#include <rfb/SecurityClient.h>
 #include <rdr/types.h>
 
 namespace rfb {
@@ -34,7 +34,7 @@ namespace rfb {
   class CSecurityVeNCrypt : public CSecurity {
   public:
 
-    CSecurityVeNCrypt(Security* sec);
+    CSecurityVeNCrypt(SecurityClient* sec);
     ~CSecurityVeNCrypt();
     virtual bool processMsg(CConnection* cc);// { return true; }
     int getType() const {return chosenType;}
@@ -43,7 +43,7 @@ namespace rfb {
     static StringParameter secTypesStr;
   protected:
     CSecurity *csecurity;
-    Security *security;
+    SecurityClient *security;
     bool haveRecvdMajorVersion;
     bool haveRecvdMinorVersion;
     bool haveSentVersion;
index cf55fab0835f53caebc4443c64d97f4fcf61d847..ce196c6e0dd524870ff14d89397f7cc52dd4f6fc 100644 (file)
@@ -18,7 +18,8 @@ HDRS = Blacklist.h CapsContainer.h CapsList.h CConnection.h \
        PixelFormat.h PixelFormat.inl Pixel.h RawDecoder.h RawEncoder.h \
        Rect.h Region.h rreDecode.h RREDecoder.h rreEncode.h RREEncoder.h \
        ScaledPixelBuffer.h ScaleFilters.h SConnection.h ScreenSet.h \
-       screenTypes.h SDesktop.h Security.h ServerCore.h SMsgHandler.h \
+       screenTypes.h SDesktop.h Security.h SecurityServer.h SecurityClient.h \
+       ServerCore.h SMsgHandler.h \
        SMsgReader.h SMsgReaderV3.h SMsgWriter.h SMsgWriterV3.h SSecurity.h \
        SSecurityNone.h SSecurityPlain.h SSecurityStack.h SSecurityVeNCrypt.h \
        SSecurityVncAuth.h Threading.h tightDecode.h \
@@ -40,7 +41,8 @@ librfb_la_SOURCES = $(HDRS) Blacklist.cxx CConnection.cxx CMsgHandler.cxx \
        RREEncoder.cxx RREDecoder.cxx RawDecoder.cxx RawEncoder.cxx \
        Region.cxx SConnection.cxx SMsgHandler.cxx \
        SMsgReader.cxx SMsgReaderV3.cxx SMsgWriter.cxx SMsgWriterV3.cxx \
-       ServerCore.cxx Security.cxx SSecurityPlain.cxx SSecurityStack.cxx \
+       ServerCore.cxx Security.cxx SecurityServer.cxx SecurityClient.cxx \
+       SSecurityPlain.cxx SSecurityStack.cxx \
        SSecurityVncAuth.cxx SSecurityVeNCrypt.cxx \
        ScaledPixelBuffer.cxx ScaleFilters.cxx Timer.cxx TightDecoder.cxx \
        TightEncoder.cxx TightPalette.cxx TransImageGetter.cxx \
index 87db20015b38622f1f89ab300bac3888ad5c4d62..bc4c982de32c36f068123bbd29dbe8475810103f 100644 (file)
@@ -55,7 +55,7 @@ SConnection::SConnection(bool reverseConnection_)
 
   cp.setVersion(defaultMajorVersion, defaultMinorVersion);
 
-  security = new Security(SecurityServer);
+  security = new SecurityServer();
 }
 
 SConnection::~SConnection()
index e139f15f05b1acfbc7aa0ae0cb34127c56ca5765..d0bd499b10bf8d2f117688cba9be997e457fbb43 100644 (file)
@@ -26,7 +26,7 @@
 #include <rdr/InStream.h>
 #include <rdr/OutStream.h>
 #include <rfb/SMsgHandler.h>
-#include <rfb/Security.h>
+#include <rfb/SecurityServer.h>
 #include <rfb/SSecurity.h>
 
 namespace rfb {
@@ -191,7 +191,7 @@ namespace rfb {
     rdr::OutStream* os;
     SMsgReader* reader_;
     SMsgWriter* writer_;
-    Security *security;
+    SecurityServer *security;
     SSecurity* ssecurity;
     stateEnum state_;
     bool reverseConnection;
index f094c8d0907e1d0de1d16295fd77424cee68df9d..9e4260f46e9843ca4446efedc9eae07f567366fd 100644 (file)
@@ -38,7 +38,7 @@ using namespace std;
 
 static LogWriter vlog("SVeNCrypt");
 
-SSecurityVeNCrypt::SSecurityVeNCrypt(Security *sec) : security(sec)
+SSecurityVeNCrypt::SSecurityVeNCrypt(SecurityServer *sec) : security(sec)
 {
   ssecurity = NULL;
   haveSentVersion = false;
index d70909140336c6facb64bafd7ef3e4ee6e62525b..849a702f34f4d5c05d703702b9afd583a8cee5e5 100644 (file)
@@ -36,7 +36,7 @@ namespace rfb {
 
   class SSecurityVeNCrypt : public SSecurity {
   public:
-    SSecurityVeNCrypt(Security *sec);
+    SSecurityVeNCrypt(SecurityServer *sec);
     ~SSecurityVeNCrypt();
     virtual bool processMsg(SConnection* sc);// { return true; }
     virtual int getType() const { return secTypeVeNCrypt; }
@@ -44,7 +44,7 @@ namespace rfb {
 
   protected:
     SSecurity *ssecurity;
-    Security *security;
+    SecurityServer *security;
     bool haveSentVersion, haveRecvdMajorVersion, haveRecvdMinorVersion;
     bool haveSentTypes, haveChosenType;
     rdr::U8 majorVersion, minorVersion, numTypes;
index 2ea51fac63fb8b2bdadca64f5d6ca0c796bb0c40..cbc72aef567826be86ebc8385016ff9f2f82b10e 100644 (file)
@@ -52,41 +52,11 @@ using namespace std;
 
 static LogWriter vlog("Security");
 
-UserPasswdGetter *CSecurity::upg = NULL;
-
-StringParameter Security::secTypesViewer
-("SecurityTypes",
- "Specify which security scheme to use (None, VncAuth)",
-#ifdef HAVE_GNUTLS
- "VeNCrypt,X509Plain,TLSPlain,X509Vnc,TLSVnc,X509None,TLSNone,VncAuth,None",
-#else
- "VncAuth,None",
-#endif
-ConfViewer);
-
-StringParameter Security::secTypesServer
-("SecurityTypes",
- "Specify which security scheme to use (None, VncAuth)",
-#ifdef HAVE_GNUTLS
- "VeNCrypt,TLSVnc,VncAuth",
-#else
- "VncAuth",
-#endif
-ConfServer);
-
-Security::Security(SecurityClassType secClassType)
+Security::Security(StringParameter &secTypes)
 {
   char *secTypesStr;
 
-  switch (secClassType) {
-  case SecurityViewer:
-    secTypesStr = secTypesViewer.getData();
-    break;
-  case SecurityServer:
-    secTypesStr = secTypesServer.getData();
-    break;
-  };
-
+  secTypesStr = secTypes.getData();
   enabledSecTypes = parseSecTypes(secTypesStr);
 
   delete secTypesStr;
@@ -138,74 +108,6 @@ bool Security::IsSupported(U32 secType)
   return false;
 }
 
-SSecurity* Security::GetSSecurity(U32 secType)
-{
-  if (!IsSupported(secType))
-    goto bail;
-
-  switch (secType) {
-  case secTypeNone: return new SSecurityNone();
-  case secTypeVncAuth: return new SSecurityVncAuth();
-  case secTypeVeNCrypt: return new SSecurityVeNCrypt(this);
-  case secTypePlain: return new SSecurityPlain();
-#ifdef HAVE_GNUTLS
-  case secTypeTLSNone:
-    return new SSecurityStack(secTypeTLSNone, new SSecurityTLS(true));
-  case secTypeTLSVnc:
-    return new SSecurityStack(secTypeTLSVnc, new SSecurityTLS(true), new SSecurityVncAuth());
-  case secTypeTLSPlain:
-    return new SSecurityStack(secTypeTLSPlain, new SSecurityTLS(true), new SSecurityPlain());
-  case secTypeX509None:
-    return new SSecurityStack(secTypeX509None, new SSecurityTLS(false));
-  case secTypeX509Vnc:
-    return new SSecurityStack(secTypeX509None, new SSecurityTLS(false), new SSecurityVncAuth());
-  case secTypeX509Plain:
-    return new SSecurityStack(secTypeX509Plain, new SSecurityTLS(false), new SSecurityPlain());
-#endif
-  }
-
-bail:
-  throw Exception("Security type not supported");
-}
-
-CSecurity* Security::GetCSecurity(U32 secType)
-{
-  assert (CSecurity::upg != NULL); /* (upg == NULL) means bug in the viewer */
-
-  if (!IsSupported(secType))
-    goto bail;
-
-  switch (secType) {
-  case secTypeNone: return new CSecurityNone();
-  case secTypeVncAuth: return new CSecurityVncAuth();
-  case secTypeVeNCrypt: return new CSecurityVeNCrypt(this);
-  case secTypePlain: return new CSecurityPlain();
-#ifdef HAVE_GNUTLS
-  case secTypeTLSNone:
-    return new CSecurityStack(secTypeTLSNone, "TLS with no password",
-                             new CSecurityTLS(true));
-  case secTypeTLSVnc:
-    return new CSecurityStack(secTypeTLSVnc, "TLS with VNCAuth",
-                             new CSecurityTLS(true), new CSecurityVncAuth());
-  case secTypeTLSPlain:
-    return new CSecurityStack(secTypeTLSPlain, "TLS with Username/Password",
-                             new CSecurityTLS(true), new CSecurityPlain());
-  case secTypeX509None:
-    return new CSecurityStack(secTypeX509None, "X509 with no password",
-                             new CSecurityTLS(false));
-  case secTypeX509Vnc:
-    return new CSecurityStack(secTypeX509None, "X509 with VNCAuth",
-                             new CSecurityTLS(false), new CSecurityVncAuth());
-  case secTypeX509Plain:
-    return new CSecurityStack(secTypeX509Plain, "X509 with Username/Password",
-                             new CSecurityTLS(false), new CSecurityPlain());
-#endif
-  }
-
-bail:
-  throw Exception("Security type not supported");
-}
-
 rdr::U32 rfb::secTypeNum(const char* name)
 {
   if (strcasecmp(name, "None") == 0)       return secTypeNone;
index 7b9fd407dfb16fac24ee325d93e9ce086c7a45e1..8c90d7642915b8ba22a504e098156494342c1e83 100644 (file)
@@ -60,14 +60,12 @@ namespace rfb {
   const rdr::U32 secResultFailed = 1;
   const rdr::U32 secResultTooMany = 2; // deprecated
 
-  enum SecurityClassType { SecurityViewer, SecurityServer };
-
   class Security {
   public:
     /*
      * Create Security instance.
      */
-    Security(SecurityClassType secClassType);
+    Security(StringParameter &secTypes);
 
     /*
      * Note about security types.
@@ -90,15 +88,6 @@ namespace rfb {
     /* Get list of enabled VeNCrypt subtypes */
     const std::list<rdr::U32> GetEnabledExtSecTypes(void);
 
-    /* Create server side SSecurity class instance */
-    SSecurity* GetSSecurity(rdr::U32 secType);
-
-    /* Create client side CSecurity class instance */
-    CSecurity* GetCSecurity(rdr::U32 secType);
-
-    static StringParameter secTypesViewer;
-    static StringParameter secTypesServer;
-
   private:
     std::list<rdr::U32> enabledSecTypes;
   };
diff --git a/common/rfb/SecurityClient.cxx b/common/rfb/SecurityClient.cxx
new file mode 100644 (file)
index 0000000..e5e428c
--- /dev/null
@@ -0,0 +1,88 @@
+/* Copyright (C) 2002-2005 RealVNC Ltd.  All Rights Reserved.
+ * Copyright (C) 2010 TigerVNC Team
+ * 
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ * USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <assert.h>
+#include <rfb/CSecurityNone.h>
+#include <rfb/CSecurityStack.h>
+#include <rfb/CSecurityVeNCrypt.h>
+#include <rfb/CSecurityVncAuth.h>
+#include <rfb/CSecurityPlain.h>
+#include <rdr/Exception.h>
+#include <rfb/Security.h>
+#ifdef HAVE_GNUTLS
+#include <rfb/CSecurityTLS.h>
+#endif
+
+using namespace rdr;
+using namespace rfb;
+
+UserPasswdGetter *CSecurity::upg = NULL;
+
+StringParameter SecurityClient::secTypes
+("SecurityTypes",
+ "Specify which security scheme to use (None, VncAuth)",
+#ifdef HAVE_GNUTLS
+ "VeNCrypt,X509Plain,TLSPlain,X509Vnc,TLSVnc,X509None,TLSNone,VncAuth,None",
+#else
+ "VncAuth,None",
+#endif
+ConfViewer);
+
+CSecurity* SecurityClient::GetCSecurity(U32 secType)
+{
+  assert (CSecurity::upg != NULL); /* (upg == NULL) means bug in the viewer */
+
+  if (!IsSupported(secType))
+    goto bail;
+
+  switch (secType) {
+  case secTypeNone: return new CSecurityNone();
+  case secTypeVncAuth: return new CSecurityVncAuth();
+  case secTypeVeNCrypt: return new CSecurityVeNCrypt(this);
+  case secTypePlain: return new CSecurityPlain();
+#ifdef HAVE_GNUTLS
+  case secTypeTLSNone:
+    return new CSecurityStack(secTypeTLSNone, "TLS with no password",
+                             new CSecurityTLS(true));
+  case secTypeTLSVnc:
+    return new CSecurityStack(secTypeTLSVnc, "TLS with VNCAuth",
+                             new CSecurityTLS(true), new CSecurityVncAuth());
+  case secTypeTLSPlain:
+    return new CSecurityStack(secTypeTLSPlain, "TLS with Username/Password",
+                             new CSecurityTLS(true), new CSecurityPlain());
+  case secTypeX509None:
+    return new CSecurityStack(secTypeX509None, "X509 with no password",
+                             new CSecurityTLS(false));
+  case secTypeX509Vnc:
+    return new CSecurityStack(secTypeX509None, "X509 with VNCAuth",
+                             new CSecurityTLS(false), new CSecurityVncAuth());
+  case secTypeX509Plain:
+    return new CSecurityStack(secTypeX509Plain, "X509 with Username/Password",
+                             new CSecurityTLS(false), new CSecurityPlain());
+#endif
+  }
+
+bail:
+  throw Exception("Security type not supported");
+}
+
diff --git a/common/rfb/SecurityClient.h b/common/rfb/SecurityClient.h
new file mode 100644 (file)
index 0000000..c30fdfc
--- /dev/null
@@ -0,0 +1,43 @@
+/* Copyright (C) 2002-2005 RealVNC Ltd.  All Rights Reserved.
+ * 
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ * USA.
+ */
+//
+// secTypes.h - constants for the various security types.
+//
+
+#ifndef __RFB_SECURITYCLIENT_H__
+#define __RFB_SECURITYCLIENT_H__
+
+#include <rfb/Configuration.h>
+#include <rfb/Security.h>
+#include <rfb/CSecurity.h>
+
+namespace rfb {
+
+  class SecurityClient : public Security {
+  public:
+    SecurityClient(void) : Security(secTypes) {}
+
+    /* Create client side CSecurity class instance */
+    CSecurity* GetCSecurity(rdr::U32 secType);
+
+    static StringParameter secTypes;
+  };
+
+}
+
+#endif
diff --git a/common/rfb/SecurityServer.cxx b/common/rfb/SecurityServer.cxx
new file mode 100644 (file)
index 0000000..e3ac405
--- /dev/null
@@ -0,0 +1,77 @@
+/* 
+ * Copyright (C) 2010 TigerVNC Team
+ * 
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ * USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <rdr/Exception.h>
+#include <rfb/Security.h>
+#include <rfb/SSecurityNone.h>
+#include <rfb/SSecurityStack.h>
+#include <rfb/SSecurityPlain.h>
+#include <rfb/SSecurityVncAuth.h>
+#include <rfb/SSecurityVeNCrypt.h>
+#ifdef HAVE_GNUTLS
+#include <rfb/SSecurityTLS.h>
+#endif
+
+using namespace rdr;
+using namespace rfb;
+
+StringParameter SecurityServer::secTypes
+("SecurityTypes",
+ "Specify which security scheme to use (None, VncAuth)",
+#ifdef HAVE_GNUTLS
+ "VeNCrypt,TLSVnc,VncAuth",
+#else
+ "VncAuth",
+#endif
+ConfServer);
+
+SSecurity* SecurityServer::GetSSecurity(U32 secType)
+{
+  if (!IsSupported(secType))
+    goto bail;
+
+  switch (secType) {
+  case secTypeNone: return new SSecurityNone();
+  case secTypeVncAuth: return new SSecurityVncAuth();
+  case secTypeVeNCrypt: return new SSecurityVeNCrypt(this);
+  case secTypePlain: return new SSecurityPlain();
+#ifdef HAVE_GNUTLS
+  case secTypeTLSNone:
+    return new SSecurityStack(secTypeTLSNone, new SSecurityTLS(true));
+  case secTypeTLSVnc:
+    return new SSecurityStack(secTypeTLSVnc, new SSecurityTLS(true), new SSecurityVncAuth());
+  case secTypeTLSPlain:
+    return new SSecurityStack(secTypeTLSPlain, new SSecurityTLS(true), new SSecurityPlain());
+  case secTypeX509None:
+    return new SSecurityStack(secTypeX509None, new SSecurityTLS(false));
+  case secTypeX509Vnc:
+    return new SSecurityStack(secTypeX509None, new SSecurityTLS(false), new SSecurityVncAuth());
+  case secTypeX509Plain:
+    return new SSecurityStack(secTypeX509Plain, new SSecurityTLS(false), new SSecurityPlain());
+#endif
+  }
+
+bail:
+  throw Exception("Security type not supported");
+}
+
diff --git a/common/rfb/SecurityServer.h b/common/rfb/SecurityServer.h
new file mode 100644 (file)
index 0000000..0986619
--- /dev/null
@@ -0,0 +1,41 @@
+/* 
+ * Copyright (C) 2010 TigerVNC Team
+ * 
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ * USA.
+ */
+
+#ifndef __RFB_SECURITYSERVER_H__
+#define __RFB_SECURITYSERVER_H__
+
+#include <rfb/Configuration.h>
+#include <rfb/Security.h>
+#include <rfb/SSecurity.h>
+
+namespace rfb {
+
+  class SecurityServer : public Security {
+  public:
+    SecurityServer(void) : Security(secTypes) {}
+
+    /* Create server side SSecurity class instance */
+    SSecurity* GetSSecurity(rdr::U32 secType);
+
+    static StringParameter secTypes;
+  };
+
+}
+
+#endif
index 90bf08c3562e6aef1c2e43ebca88ae412a40f555..731a171028d7fd8275e7f2a3f8488605140947c1 100644 (file)
@@ -40,7 +40,7 @@ namespace rfb {
       AuthenticationPage(const RegKey& rk)
         : PropSheetPage(GetModuleHandle(0), MAKEINTRESOURCE(IDD_AUTHENTICATION)), regKey(rk) {}
       void initDialog() {
-        CharArray sec_types_str(Security::secTypesServer.getData());
+        CharArray sec_types_str(SecurityServer::secTypes.getData());
         std::list<rdr::U32> sec_types = parseSecTypes(sec_types_str.buf);
 
         useNone = useVNC = false;