]> xenbits.xensource.com Git - libvirt.git/commitdiff
rpc: set gnutls log function at global init time
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 3 Jun 2016 16:20:19 +0000 (17:20 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 8 Jun 2016 12:48:45 +0000 (13:48 +0100)
Currently we set the gnutls log function when creating a
TLS context, however, the setting is in fact global, not
per context. So we should be setting it when we first call
gnutls_global_init() instead.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/rpc/virnettlscontext.c

index 9919556bc72d4dd269338f63c955986bccf3864e..ef96587b249cd9619f6c4011bc75f5006861441f 100644 (file)
@@ -701,7 +701,6 @@ static virNetTLSContextPtr virNetTLSContextNew(const char *cacert,
                                                bool isServer)
 {
     virNetTLSContextPtr ctxt;
-    const char *gnutlsdebug;
     int err;
 
     if (virNetTLSContextInitialize() < 0)
@@ -710,16 +709,6 @@ static virNetTLSContextPtr virNetTLSContextNew(const char *cacert,
     if (!(ctxt = virObjectLockableNew(virNetTLSContextClass)))
         return NULL;
 
-    if ((gnutlsdebug = virGetEnvAllowSUID("LIBVIRT_GNUTLS_DEBUG")) != NULL) {
-        int val;
-        if (virStrToLong_i(gnutlsdebug, NULL, 10, &val) < 0)
-            val = 10;
-        gnutls_global_set_log_level(val);
-        gnutls_global_set_log_function(virNetTLSLog);
-        VIR_DEBUG("Enabled GNUTLS debug");
-    }
-
-
     err = gnutls_certificate_allocate_credentials(&ctxt->x509cred);
     if (err) {
         virReportError(VIR_ERR_SYSTEM_ERROR,
@@ -1433,5 +1422,15 @@ void virNetTLSSessionDispose(void *obj)
  */
 void virNetTLSInit(void)
 {
+    const char *gnutlsdebug;
+    if ((gnutlsdebug = virGetEnvAllowSUID("LIBVIRT_GNUTLS_DEBUG")) != NULL) {
+        int val;
+        if (virStrToLong_i(gnutlsdebug, NULL, 10, &val) < 0)
+            val = 10;
+        gnutls_global_set_log_level(val);
+        gnutls_global_set_log_function(virNetTLSLog);
+        VIR_DEBUG("Enabled GNUTLS debug");
+    }
+
     gnutls_global_init();
 }