-simplify zone key loading by using synchronous ECC key API
authorChristian Grothoff <christian@grothoff.org>
Tue, 9 Jul 2013 07:28:27 +0000 (07:28 +0000)
committerChristian Grothoff <christian@grothoff.org>
Tue, 9 Jul 2013 07:28:27 +0000 (07:28 +0000)
src/namestore/gnunet-namestore.c
src/namestore/gnunet-service-namestore.c

index 95f0b520f8b75be1fbe654991d4cd5ed56c732cb..3c8014268dd39ef059f10245401f4cbba7d3cb86 100644 (file)
@@ -447,28 +447,41 @@ get_existing_record (void *cls,
 
 
 /**
- * Function called with the result of the ECC key generation.
+ * Function called with the result from the check if the namestore
+ * service is actually running.  If it is, we start the actual
+ * operation.
  *
- * @param cls our configuration
- * @param pk our private key, NULL on failure
- * @param emsg NULL on success, otherwise error message
+ * @param cls closure with our configuration
+ * @param result GNUNET_YES if the namestore service is running
  */
 static void
-key_generation_cb (void *cls,
-                   struct GNUNET_CRYPTO_EccPrivateKey *pk,
-                   const char *emsg)
+testservice_task (void *cls,
+                  int result)
 {
   const struct GNUNET_CONFIGURATION_Handle *cfg = cls;
   struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded pub;
   struct GNUNET_NAMESTORE_RecordData rd;
 
-  keygen = NULL;
-  if (NULL == pk)
+  if (GNUNET_YES != result)
   {
-    GNUNET_SCHEDULER_shutdown ();
+    FPRINTF (stderr, _("Service `%s' is not running\n"), 
+            "namestore");
     return;
   }
-  zone_pkey = pk;
+  if (NULL == keyfile)
+  {
+    if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, "gns",
+                                                              "ZONEKEY", &keyfile))
+    {
+      GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
+                                "gns", "ZONEKEY");
+      return;
+    }
+    fprintf (stderr,
+             _("Using default zone file `%s'\n"),
+             keyfile);
+  }
+  zone_pkey = GNUNET_CRYPTO_ecc_key_create_from_file (keyfile);
 
   if (! (add|del|list|(NULL != uri)))
   {
@@ -680,51 +693,6 @@ key_generation_cb (void *cls,
 }
 
 
-/**
- * Function called with the result from the check if the namestore
- * service is actually running.  If it is, we start the actual
- * operation.
- *
- * @param cls closure with our configuration
- * @param result GNUNET_YES if the namestore service is running
- */
-static void
-testservice_task (void *cls,
-                  int result)
-{
-  const struct GNUNET_CONFIGURATION_Handle *cfg = cls;
-
-  if (GNUNET_YES != result)
-  {
-    FPRINTF (stderr, _("Service `%s' is not running\n"), 
-            "namestore");
-    return;
-  }
-  if (NULL == keyfile)
-  {
-    if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, "gns",
-                                                              "ZONEKEY", &keyfile))
-    {
-      GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
-                                "gns", "ZONEKEY");
-      return;
-    }
-    fprintf (stderr,
-             _("Using default zone file `%s'\n"),
-             keyfile);
-  }
-  keygen = GNUNET_CRYPTO_ecc_key_create_start (keyfile,
-                                              &key_generation_cb, (void *) cfg);
-  GNUNET_free (keyfile);
-  keyfile = NULL;
-  if (NULL == keygen)
-  {
-    GNUNET_SCHEDULER_shutdown ();
-    ret = 1;
-  }
-}
-
-
 /**
  * Main function that will be run.
  *
index 34d6dd5d031a1e3440dd71e5679062bc9b94a3f2..984c468fa5ab8e7084aeab3c70cb6190fbdc0eff 100644 (file)
@@ -1702,7 +1702,6 @@ zonekey_file_it (void *cls, const char *filename)
     return GNUNET_OK;
   pk = GNUNET_CRYPTO_ecc_key_create_from_file (filename);
   learn_private_key (pk);
-  GNUNET_CRYPTO_ecc_key_free (pk);
   (*counter)++;
   return GNUNET_OK;
 }