Browse Source

[Bugfix] Register GNUTLS debug routines only when we actually need them.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4295 3789f03b-4d11-0410-bbf8-ca57d06f2519
tags/v1.0.90
Adam Tkac 13 years ago
parent
commit
348269d30b
3 changed files with 13 additions and 17 deletions
  1. 6
    10
      common/rfb/CSecurityTLS.cxx
  2. 1
    0
      common/rfb/LogWriter.h
  3. 6
    7
      common/rfb/SSecurityTLS.cxx

+ 6
- 10
common/rfb/CSecurityTLS.cxx View File

@@ -62,23 +62,18 @@
#define WITHOUT_X509_TIMES
#endif

#define TLS_DEBUG

using namespace rfb;

StringParameter CSecurityTLS::x509ca("x509ca", "X509 CA certificate", "", ConfViewer);
StringParameter CSecurityTLS::x509crl("x509crl", "X509 CRL file", "", ConfViewer);

static LogWriter vlog("TLS");

#ifdef TLS_DEBUG
static LogWriter vlog_raw("Raw TLS");
static LogWriter vlog_raw("RawTLS");

static void debug_log(int level, const char* str)
{
vlog_raw.debug(str);
}
#endif

void CSecurityTLS::initGlobal()
{
@@ -87,10 +82,11 @@ void CSecurityTLS::initGlobal()
if (!globalInitDone) {
gnutls_global_init();

#ifdef TLS_DEBUG
gnutls_global_set_log_level(10);
gnutls_global_set_log_function(debug_log);
#endif
/* 100 means debug log */
if (vlog_raw.getLevel() >= 100) {
gnutls_global_set_log_level(10);
gnutls_global_set_log_function(debug_log);
}

globalInitDone = true;
}

+ 1
- 0
common/rfb/LogWriter.h View File

@@ -51,6 +51,7 @@ namespace rfb {

void setLog(Logger *logger);
void setLevel(int level);
int getLevel(void) { return m_level; }

inline void write(int level, const char* format, ...) {
if (m_log && (level <= m_level)) {

+ 6
- 7
common/rfb/SSecurityTLS.cxx View File

@@ -35,7 +35,6 @@
#include <rdr/TLSOutStream.h>

#define DH_BITS 1024 /* XXX This should be configurable! */
#define TLS_DEBUG

using namespace rfb;

@@ -46,13 +45,12 @@ StringParameter SSecurityTLS::X509_KeyFile
("x509key", "specifies path to the key of the x509 certificate in PEM format", "", ConfServer);

static LogWriter vlog("TLS");
static LogWriter vlog_raw("RawTLS");

#ifdef TLS_DEBUG
static void debug_log(int level, const char* str)
{
vlog.debug(str);
}
#endif

void SSecurityTLS::initGlobal()
{
@@ -62,10 +60,11 @@ void SSecurityTLS::initGlobal()
if (gnutls_global_init() != GNUTLS_E_SUCCESS)
throw AuthFailureException("gnutls_global_init failed");

#ifdef TLS_DEBUG
gnutls_global_set_log_level(10);
gnutls_global_set_log_function(debug_log);
#endif
/* 100 means debug log */
if (vlog_raw.getLevel() >= 100) {
gnutls_global_set_log_level(10);
gnutls_global_set_log_function(debug_log);
}

globalInitDone = true;
}

Loading…
Cancel
Save