diff options
author | Adam Tkac <atkac@redhat.com> | 2010-04-23 14:06:38 +0000 |
---|---|---|
committer | Adam Tkac <atkac@redhat.com> | 2010-04-23 14:06:38 +0000 |
commit | 1d15e2d60a171a43c83e51a1343727701ac34f4b (patch) | |
tree | 01eebc9a1baf00ade1c7fe2495c16cd3abc08113 /common/rfb/Security.h | |
parent | b6eb3990a15e32e7d506ef713da51ca0305ef4a9 (diff) | |
download | tigervnc-1d15e2d60a171a43c83e51a1343727701ac34f4b.tar.gz tigervnc-1d15e2d60a171a43c83e51a1343727701ac34f4b.zip |
[Development] Implement Security class. This class will be used to create
CSecurity/SSecurity objects for authentication purposes.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4038 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'common/rfb/Security.h')
-rw-r--r-- | common/rfb/Security.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/common/rfb/Security.h b/common/rfb/Security.h index 9ccfb56b..cb499110 100644 --- a/common/rfb/Security.h +++ b/common/rfb/Security.h @@ -23,6 +23,9 @@ #define __RFB_SECTYPES_H__ #include <rdr/types.h> +#include <rfb/Configuration.h> +#include <rfb/SSecurity.h> + #include <list> namespace rfb { @@ -34,7 +37,7 @@ namespace rfb { const rdr::U8 secTypeRA2ne = 6; const rdr::U8 secTypeSSPI = 7; - const rdr::U8 secTypeSSPIne = 8; + const rdr::U8 secTypeSSPIne = 8; const rdr::U8 secTypeTight = 16; const rdr::U8 secTypeUltra = 17; @@ -46,6 +49,30 @@ namespace rfb { const rdr::U32 secResultFailed = 1; const rdr::U32 secResultTooMany = 2; // deprecated + class Security { + public: + /* Create Security instance */ + Security(void); + + /* Enable/Disable certain security type */ + void EnableSecType(rdr::U8 secType); + void DisableSecType(rdr::U8 secType) { enabledSecTypes.remove(secType); } + + /* Check if certain type is supported */ + bool IsSupported(rdr::U8 secType); + + /* Get list of enabled security types */ + const std::list<rdr::U8>& GetEnabledSecTypes(void) + { return enabledSecTypes; } + + /* Create server side SSecurity class instance */ + SSecurity* GetSSecurity(rdr::U8 secType); + + static StringParameter secTypes; + private: + std::list<rdr::U8> enabledSecTypes; + }; + const char* secTypeName(rdr::U8 num); rdr::U8 secTypeNum(const char* name); std::list<rdr::U8> parseSecTypes(const char* types); |