Kaynağa Gözat

[Development] Extend Security class to allow different default sectypes for server/viewer.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4122 3789f03b-4d11-0410-bbf8-ca57d06f2519
tags/v1.0.90
Adam Tkac 13 yıl önce
ebeveyn
işleme
fb993153a0

+ 1
- 1
common/rfb/CConnection.cxx Dosyayı Görüntüle

@@ -36,7 +36,7 @@ CConnection::CConnection()
shared(false),
state_(RFBSTATE_UNINITIALISED), useProtocol3_3(false)
{
security = new Security();
security = new Security(SecurityViewer);
}

CConnection::~CConnection()

+ 1
- 1
common/rfb/SConnection.cxx Dosyayı Görüntüle

@@ -55,7 +55,7 @@ SConnection::SConnection(bool reverseConnection_)

cp.setVersion(defaultMajorVersion, defaultMinorVersion);

security = new Security();
security = new Security(SecurityServer);
}

SConnection::~SConnection()

+ 18
- 4
common/rfb/Security.cxx Dosyayı Görüntüle

@@ -52,14 +52,28 @@ static LogWriter vlog("Security");

UserPasswdGetter *CSecurity::upg = NULL;

StringParameter Security::secTypes
StringParameter Security::secTypesViewer
("SecurityTypes",
"Specify which security scheme to use (None, VncAuth)",
"VncAuth");
"VncAuth", ConfViewer);

Security::Security(void)
StringParameter Security::secTypesServer
("SecurityTypes",
"Specify which security scheme to use (None, VncAuth)",
"VncAuth", ConfServer);

Security::Security(SecurityClassType secClassType)
{
char *secTypesStr = secTypes.getData();
char *secTypesStr;

switch (secClassType) {
case SecurityViewer:
secTypesStr = secTypesViewer.getData();
break;
case SecurityServer:
secTypesStr = secTypesServer.getData();
break;
};

enabledSecTypes = parseSecTypes(secTypesStr);


+ 5
- 2
common/rfb/Security.h Dosyayı Görüntüle

@@ -60,12 +60,14 @@ namespace rfb {
const rdr::U32 secResultFailed = 1;
const rdr::U32 secResultTooMany = 2; // deprecated

enum SecurityClassType { SecurityViewer, SecurityServer };

class Security {
public:
/*
* Create Security instance.
*/
Security(void);
Security(SecurityClassType secClassType);

/*
* Note about security types.
@@ -94,7 +96,8 @@ namespace rfb {
/* Create client side CSecurity class instance */
CSecurity* GetCSecurity(rdr::U32 secType);

static StringParameter secTypes;
static StringParameter secTypesViewer;
static StringParameter secTypesServer;

/*
* Use variable directly instead of dumb get/set methods. It is used

Loading…
İptal
Kaydet