]> source.dussan.org Git - tigervnc.git/commitdiff
[Bugfix] Register GNUTLS debug routines only when we actually need them.
authorAdam Tkac <atkac@redhat.com>
Fri, 18 Feb 2011 10:54:11 +0000 (10:54 +0000)
committerAdam Tkac <atkac@redhat.com>
Fri, 18 Feb 2011 10:54:11 +0000 (10:54 +0000)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4295 3789f03b-4d11-0410-bbf8-ca57d06f2519

common/rfb/CSecurityTLS.cxx
common/rfb/LogWriter.h
common/rfb/SSecurityTLS.cxx

index c774c3dbfbb047ba1600a1869e92a87a3a2b04d2..6028792b8ab1515177c81d14118113f1df9c72f2 100644 (file)
 #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;
   }
index 124c58ec593fd3de36a2fe1016e4295d21bf0742..7f8b68d7922ba7ac0eace62404fcec90eff3caf4 100644 (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)) {
index e6202a884f59e1fc68f326d34e0eaf531f7ee2f7..2ea84e07976ec61286a92157c195496a044f54b5 100644 (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;
   }