summaryrefslogtreecommitdiffstats
path: root/common/rfb/Security.h
diff options
context:
space:
mode:
authorAdam Tkac <atkac@redhat.com>2010-07-20 15:10:16 +0000
committerAdam Tkac <atkac@redhat.com>2010-07-20 15:10:16 +0000
commit0c77e51de8f78a7e50e443ee8a1890a6a2834a67 (patch)
tree62925663cc80404121a685c2062ea94219186339 /common/rfb/Security.h
parent00b395a4101fba5c35708fc8071d82962cb1866d (diff)
downloadtigervnc-0c77e51de8f78a7e50e443ee8a1890a6a2834a67.tar.gz
tigervnc-0c77e51de8f78a7e50e443ee8a1890a6a2834a67.zip
[Development] Use U32 as internal SecurityType type.
Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4097 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'common/rfb/Security.h')
-rw-r--r--common/rfb/Security.h34
1 files changed, 22 insertions, 12 deletions
diff --git a/common/rfb/Security.h b/common/rfb/Security.h
index 19019353..54cdb80e 100644
--- a/common/rfb/Security.h
+++ b/common/rfb/Security.h
@@ -67,22 +67,32 @@ namespace rfb {
*/
Security(void);
+ /*
+ * Note about security types.
+ *
+ * Although RFB protocol specifies security types as U8 values,
+ * we map VeNCrypt subtypes (U32) into the standard security types
+ * to simplify user configuration. With this mapping user can configure
+ * both VeNCrypt subtypes and security types with only one option.
+ */
+
/* Enable/Disable certain security type */
- void EnableSecType(rdr::U8 secType);
- void DisableSecType(rdr::U8 secType) { enabledSecTypes.remove(secType); }
+ void EnableSecType(rdr::U32 secType);
+ void DisableSecType(rdr::U32 secType) { enabledSecTypes.remove(secType); }
/* Check if certain type is supported */
- bool IsSupported(rdr::U8 secType);
+ bool IsSupported(rdr::U32 secType);
- /* Get list of enabled security types */
- const std::list<rdr::U8>& GetEnabledSecTypes(void)
- { return enabledSecTypes; }
+ /* Get list of enabled security types without VeNCrypt subtypes */
+ const std::list<rdr::U8> GetEnabledSecTypes(void);
+ /* Get list of enabled VeNCrypt subtypes */
+ const std::list<rdr::U32> GetEnabledExtSecTypes(void);
/* Create server side SSecurity class instance */
- SSecurity* GetSSecurity(rdr::U8 secType);
+ SSecurity* GetSSecurity(rdr::U32 secType);
/* Create client side CSecurity class instance */
- CSecurity* GetCSecurity(rdr::U8 secType);
+ CSecurity* GetCSecurity(rdr::U32 secType);
static StringParameter secTypes;
@@ -91,12 +101,12 @@ namespace rfb {
* only in viewer-side code and MUST be set by viewer.
*/
private:
- std::list<rdr::U8> enabledSecTypes;
+ std::list<rdr::U32> enabledSecTypes;
};
- const char* secTypeName(rdr::U8 num);
- rdr::U8 secTypeNum(const char* name);
- std::list<rdr::U8> parseSecTypes(const char* types);
+ const char* secTypeName(rdr::U32 num);
+ rdr::U32 secTypeNum(const char* name);
+ std::list<rdr::U32> parseSecTypes(const char* types);
}
#endif