From 90aa70b2a5cfacf36b77dcadf0755a4a9ee90d5e Mon Sep 17 00:00:00 2001 From: Matthias Wachs Date: Fri, 30 Jul 2010 13:40:40 +0000 Subject: [PATCH] Removing private key file and certificate before and after every run to test key and cert generation --- src/transport/plugin_transport_https.c | 6 +- src/transport/test_plugin_transport_https.c | 72 ++++++++++++++++++++- 2 files changed, 73 insertions(+), 5 deletions(-) diff --git a/src/transport/plugin_transport_https.c b/src/transport/plugin_transport_https.c index 11a9c9fe8..b7a9465b8 100644 --- a/src/transport/plugin_transport_https.c +++ b/src/transport/plugin_transport_https.c @@ -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 diff --git a/src/transport/test_plugin_transport_https.c b/src/transport/test_plugin_transport_https.c index e2102a2f9..e5c661ae9 100644 --- a/src/transport/test_plugin_transport_https.c +++ b/src/transport/test_plugin_transport_https.c @@ -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); -- 2.25.1