From 10cf59ba4f31f690798e8d36a0a29383caee26ab Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Sun, 26 Feb 2012 20:55:37 +0000 Subject: [PATCH] -try to get keys form config --- src/gns/gns.conf.in | 3 +++ src/gns/gnunet-service-gns.c | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/gns/gns.conf.in b/src/gns/gns.conf.in index acf0a222a..3441583a9 100644 --- a/src/gns/gns.conf.in +++ b/src/gns/gns.conf.in @@ -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. diff --git a/src/gns/gnunet-service-gns.c b/src/gns/gnunet-service-gns.c index d3a785185..44de997e1 100644 --- a/src/gns/gnunet-service-gns.c +++ b/src/gns/gnunet-service-gns.c @@ -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); -- 2.25.1