Removing private key file and certificate before and after every run to
authorMatthias Wachs <wachs@net.in.tum.de>
Fri, 30 Jul 2010 13:40:40 +0000 (13:40 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Fri, 30 Jul 2010 13:40:40 +0000 (13:40 +0000)
test key and cert generation

src/transport/plugin_transport_https.c
src/transport/test_plugin_transport_https.c

index 11a9c9fe82324b9d0ffd5217283e941f6af93350..b7a9465b8ed7145c6eb6bc7ae4c36a072766206b 100644 (file)
@@ -43,9 +43,9 @@
 
 #define DEBUG_HTTPS GNUNET_YES
 #define VERBOSE GNUNET_YES
-#define DEBUG_CURL GNUNET_YES
-#define DEBUG_CONNECTIONS GNUNET_YES
-#define DEBUG_SESSION_SELECTION GNUNET_YES
+#define DEBUG_CURL GNUNET_NO
+#define DEBUG_CONNECTIONS GNUNET_NO
+#define DEBUG_SESSION_SELECTION GNUNET_NO
 
 #define INBOUND GNUNET_NO
 #define OUTBOUND GNUNET_YES
index e2102a2f9a6c8b5c1fc2bcf135143debe0322b21..e5c661ae9792a069e10dcdfd607ea110dd6917fb 100644 (file)
@@ -384,6 +384,10 @@ static CURLM *multi_handle;
  */
 static GNUNET_SCHEDULER_TaskIdentifier http_task_send;
 
+
+static char * key_file;
+static char * cert_file;
+
 /**
  * Shutdown testcase
  */
@@ -462,6 +466,27 @@ shutdown_clean ()
   GNUNET_SCHEDULER_shutdown(sched);
   GNUNET_DISK_directory_remove ("/tmp/test_plugin_transport_http");
 
+  struct stat sbuf;
+
+  if (0 == stat (cert_file, &sbuf ))
+  {
+         if (0 == remove(cert_file))
+             GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Successfully removed existing certificate file `%s'\n",cert_file);
+         else
+                 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to remove certfile `%s'\n",cert_file);
+  }
+
+  if (0 == stat (key_file, &sbuf ))
+  {
+         if (0 == remove(key_file))
+             GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Successfully removed private key file `%s'\n",key_file);
+         else
+                 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to private key file `%s'\n",key_file);
+  }
+
+  GNUNET_free (key_file);
+  GNUNET_free (cert_file);
+
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Exiting testcase\n");
   exit(fail);
   return;
@@ -1135,8 +1160,7 @@ run (void *cls,
   unsigned long long tneigh;
   struct Plugin_Address * cur;
   const char * addr_str;
-
-
+  struct stat sbuf;
   unsigned int suggest_res;
 
   fail_pretty_printer = GNUNET_YES;
@@ -1185,6 +1209,50 @@ run (void *cls,
                      "transport-http");
   }
 
+  /* Get private key file from config */
+  if (GNUNET_CONFIGURATION_have_value (cfg,
+                                                                          "transport-https", "KEY_FILE"))
+  {
+               GNUNET_CONFIGURATION_get_value_string (cfg,
+                                                                                          "transport-https",
+                                                                                          "KEY_FILE",
+                                                                                          &key_file);
+  }
+  else
+  {
+         GNUNET_asprintf(&key_file,"https.key");
+  }
+
+  if (0 == stat (key_file, &sbuf ))
+  {
+         if (0 == remove(key_file))
+             GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Successfully removed existing private key file `%s'\n",key_file);
+         else
+                 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to remove private key file `%s'\n",key_file);
+  }
+
+  /* Get private key file from config */
+  if (GNUNET_CONFIGURATION_have_value (cfg,
+                                                                          "transport-https", "CERT_FILE"))
+  {
+         GNUNET_CONFIGURATION_get_value_string (cfg,
+                                                                                        "transport-https",
+                                                                                    "CERT_FILE",
+                                                                                    &cert_file);
+  }
+  else
+  {
+         GNUNET_asprintf(&cert_file,"https.cert");
+  }
+
+  if (0 == stat (cert_file, &sbuf ))
+  {
+         if (0 == remove(cert_file))
+             GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Successfully removed existing certificate file `%s'\n",cert_file);
+         else
+                 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to remove existing certificate file `%s'\n",cert_file);
+  }
+
   max_connect_per_transport = (uint32_t) tneigh;
   my_private_key = GNUNET_CRYPTO_rsa_key_create_from_file (keyfile);
   GNUNET_free (keyfile);