From: Adam Tkac Date: Fri, 18 Feb 2011 10:54:11 +0000 (+0000) Subject: [Bugfix] Register GNUTLS debug routines only when we actually need them. X-Git-Tag: v1.0.90~24 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=348269d30bb6bfa7543cc94b61f5146f9ab062b6;p=tigervnc.git [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 --- diff --git a/common/rfb/CSecurityTLS.cxx b/common/rfb/CSecurityTLS.cxx index c774c3db..6028792b 100644 --- a/common/rfb/CSecurityTLS.cxx +++ b/common/rfb/CSecurityTLS.cxx @@ -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; } diff --git a/common/rfb/LogWriter.h b/common/rfb/LogWriter.h index 124c58ec..7f8b68d7 100644 --- a/common/rfb/LogWriter.h +++ b/common/rfb/LogWriter.h @@ -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)) { diff --git a/common/rfb/SSecurityTLS.cxx b/common/rfb/SSecurityTLS.cxx index e6202a88..2ea84e07 100644 --- a/common/rfb/SSecurityTLS.cxx +++ b/common/rfb/SSecurityTLS.cxx @@ -35,7 +35,6 @@ #include #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; }