gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r26259 - gnunet/src/core


From: gnunet
Subject: [GNUnet-SVN] r26259 - gnunet/src/core
Date: Sat, 2 Mar 2013 23:19:19 +0100

Author: grothoff
Date: 2013-03-02 23:19:19 +0100 (Sat, 02 Mar 2013)
New Revision: 26259

Modified:
   gnunet/src/core/core.conf.in
   gnunet/src/core/gnunet-service-core_kx.c
Log:
adding option to disable use of ephemeral keys for HPC testing

Modified: gnunet/src/core/core.conf.in
===================================================================
--- gnunet/src/core/core.conf.in        2013-03-02 22:10:55 UTC (rev 26258)
+++ gnunet/src/core/core.conf.in        2013-03-02 22:19:19 UTC (rev 26259)
@@ -18,3 +18,7 @@
 # REJECT_FROM =
 # REJECT_FROM6 =
 # PREFIX =
+
+# Note: this MUST be set to YES in production, only set to NO for testing
+# for performance (testbed/cluster-scale use!).
+USE_EPHEMERAL_KEYS = YES
\ No newline at end of file

Modified: gnunet/src/core/gnunet-service-core_kx.c
===================================================================
--- gnunet/src/core/gnunet-service-core_kx.c    2013-03-02 22:10:55 UTC (rev 
26258)
+++ gnunet/src/core/gnunet-service-core_kx.c    2013-03-02 22:19:19 UTC (rev 
26259)
@@ -1510,19 +1510,30 @@
   GNUNET_CRYPTO_ecc_key_get_public (my_private_key, &my_public_key);
   GNUNET_CRYPTO_hash (&my_public_key, sizeof (my_public_key),
                       &GSC_my_identity.hashPubKey);
-  my_ephemeral_key = GNUNET_CRYPTO_ecc_key_create ();
-  if (NULL == my_ephemeral_key)
+  if (GNUNET_YES ==
+      GNUNET_CONFIGURATION_get_value_yesno (GSC_cfg,
+                                           "core",
+                                           "USE_EPHEMERAL_KEYS"))
   {
-    GNUNET_break (0);
-    GNUNET_CRYPTO_ecc_key_free (my_private_key);
-    my_private_key = NULL;
-    return GNUNET_SYSERR;
+    my_ephemeral_key = GNUNET_CRYPTO_ecc_key_create ();
+    if (NULL == my_ephemeral_key)
+    {
+      GNUNET_break (0);
+      GNUNET_CRYPTO_ecc_key_free (my_private_key);
+      my_private_key = NULL;
+      return GNUNET_SYSERR;
+    }
+    sign_ephemeral_key ();
+    rekey_task = GNUNET_SCHEDULER_add_delayed (REKEY_FREQUENCY,
+                                              &do_rekey,
+                                              NULL);
   }
-  sign_ephemeral_key ();
+  else
+  {
+    my_ephemeral_key = my_private_key;
+    sign_ephemeral_key ();
+  }
   mst = GNUNET_SERVER_mst_create (&deliver_message, NULL);
-  rekey_task = GNUNET_SCHEDULER_add_delayed (REKEY_FREQUENCY,
-                                            &do_rekey,
-                                            NULL);
   return GNUNET_OK;
 }
 
@@ -1538,16 +1549,17 @@
     GNUNET_SCHEDULER_cancel (rekey_task);
     rekey_task = GNUNET_SCHEDULER_NO_TASK;
   }
+  if ( (NULL != my_ephemeral_key) &&
+       (my_ephemeral_key != my_private_key) )
+  {
+    GNUNET_CRYPTO_ecc_key_free (my_ephemeral_key);
+    my_ephemeral_key = NULL;
+  }
   if (NULL != my_private_key)
   {
     GNUNET_CRYPTO_ecc_key_free (my_private_key);
     my_private_key = NULL;
   }
-  if (NULL != my_ephemeral_key)
-  {
-    GNUNET_CRYPTO_ecc_key_free (my_ephemeral_key);
-    my_ephemeral_key = NULL;
-  }
   if (NULL != mst)
   {
     GNUNET_SERVER_mst_destroy (mst);




reply via email to

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