-try to get keys form config
authorMartin Schanzenbach <mschanzenbach@posteo.de>
Sun, 26 Feb 2012 20:55:37 +0000 (20:55 +0000)
committerMartin Schanzenbach <mschanzenbach@posteo.de>
Sun, 26 Feb 2012 20:55:37 +0000 (20:55 +0000)
src/gns/gns.conf.in
src/gns/gnunet-service-gns.c

index acf0a222a9333ec1e034127918dd7104cf5b2473..3441583a9c7b71df18236111b4bf5d38d7f32365 100644 (file)
@@ -5,6 +5,9 @@ HOME = $SERVICEHOME
 CONFIG = $DEFAULTCONFIG
 BINARY = gnunet-service-gns
 UNIXPATH = /tmp/gnunet-service-gns.sock
+ZONEKEY = $SERVICEHOME/zonekey
+TRUSTED = bob:$SERVICEHOME/bobkey
+OPTIONS = -L INFO
 
 # Access to this service can compromise all DNS queries in this
 # system.  Thus access should be restricted to the same UID.
index d3a785185ab65126860f33ae94290cd6418481c4..44de997e199d6648fe9a2830ff1fcbede8b87f6f 100644 (file)
@@ -1064,7 +1064,8 @@ put_gns_record(void *cls,
   
   nrb = GNUNET_malloc(rd_payload_length);
   
-  memcpy(&nrb->signature, signature,
+  if (signature != NULL)
+    memcpy(&nrb->signature, signature,
          sizeof(struct GNUNET_CRYPTO_RsaSignature));
   //FIXME signature purpose
   memcpy(&nrb->public_key, key,
@@ -1158,7 +1159,17 @@ run (void *cls, struct GNUNET_SERVER_Handle *server,
 {
   
   GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Init GNS\n");
-  zone_key = GNUNET_CRYPTO_rsa_key_create ();
+  char* keyfile;
+  //this always returns syserr
+  if (GNUNET_SYSERR ==
+      GNUNET_CONFIGURATION_get_value_string (c, "gns",
+                                             "ZONEKEY", &keyfile));
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                "No private key for root zone specified%s!\n", keyfile);
+  }
+  zone_key = GNUNET_CRYPTO_rsa_key_create_from_file (keyfile);
+  //zone_key = GNUNET_CRYPTO_rsa_key_create ();
 
   GNUNET_CRYPTO_hash(zone_key, GNUNET_CRYPTO_RSA_KEY_LENGTH,//FIXME is this ok?
                      &zone_hash);