gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r21883 - gnunet/src/gns


From: gnunet
Subject: [GNUnet-SVN] r21883 - gnunet/src/gns
Date: Mon, 11 Jun 2012 14:16:27 +0200

Author: schanzen
Date: 2012-06-11 14:16:27 +0200 (Mon, 11 Jun 2012)
New Revision: 21883

Modified:
   gnunet/src/gns/gnunet-gns-proxy.c
Log:
-fixes

Modified: gnunet/src/gns/gnunet-gns-proxy.c
===================================================================
--- gnunet/src/gns/gnunet-gns-proxy.c   2012-06-11 12:08:47 UTC (rev 21882)
+++ gnunet/src/gns/gnunet-gns-proxy.c   2012-06-11 12:16:27 UTC (rev 21883)
@@ -143,6 +143,9 @@
   /* The daemon handle */
   struct MHD_Daemon *daemon;
 
+  /* Optional proxy certificate used */
+  struct ProxyGNSCertificate *proxy_cert;
+
   /* The task ID */
   GNUNET_SCHEDULER_TaskIdentifier httpd_task;
 };
@@ -1567,6 +1570,8 @@
                 "Unable to import private key %s(ret=%d)\n", key_data.data, 
ret);
     GNUNET_break (0);
   }
+
+  GNUNET_free (key_data.data);
 }
 
 /**
@@ -1593,6 +1598,8 @@
     GNUNET_break (0);
   }
 
+  GNUNET_free (cert_data.data);
+
 }
 
 
@@ -1623,23 +1630,13 @@
     GNUNET_break (0);
   }
 
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Generating key\n");
-  gnutls_x509_privkey_init (&rsa);
-  bits = gnutls_sec_param_to_pk_bits (GNUTLS_PK_RSA, GNUTLS_SEC_PARAM_NORMAL);
-  ret = gnutls_x509_privkey_generate (rsa, GNUTLS_PK_RSA, bits, 0);
+  ret = gnutls_x509_crt_set_key (request, proxy_ca.key);
 
   if (GNUTLS_E_SUCCESS != ret)
   {
     GNUNET_break (0);
   }
 
-  ret = gnutls_x509_crt_set_key (request, rsa);
-
-  if (GNUTLS_E_SUCCESS != ret)
-  {
-    GNUNET_break (0);
-  }
-
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Generating cert\n");
 
   struct ProxyGNSCertificate *pgc =
@@ -1690,12 +1687,11 @@
   gnutls_x509_crt_export (request, GNUTLS_X509_FMT_PEM,
                           pgc->cert, &cert_buf_size);
 
-  gnutls_x509_privkey_export (rsa, GNUTLS_X509_FMT_PEM,
+  gnutls_x509_privkey_export (proxy_ca.key, GNUTLS_X509_FMT_PEM,
                           pgc->key, &key_buf_size);
 
 
   gnutls_x509_crt_deinit (request);
-  gnutls_x509_privkey_deinit (rsa);
 
   return pgc;
 
@@ -1731,6 +1727,7 @@
     hd = GNUNET_malloc (sizeof (struct MhdHttpList));
     hd->is_ssl = GNUNET_YES;
     strcpy (hd->domain, domain);
+    hd->proxy_cert = pgc;
     hd->daemon = MHD_start_daemon (MHD_USE_DEBUG | MHD_USE_SSL, http_port++,
                               NULL, NULL,
                               &create_response, hd,
@@ -2115,6 +2112,13 @@
       hd->daemon = NULL;
     }
 
+    if (NULL != hd->proxy_cert)
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                  "Free certificate\n");
+      GNUNET_free (hd->proxy_cert);
+    }
+
     GNUNET_free (hd);
   }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]