From: Martin Schanzenbach Date: Sun, 26 Feb 2012 20:55:37 +0000 (+0000) Subject: -try to get keys form config X-Git-Tag: initial-import-from-subversion-38251~14629 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=10cf59ba4f31f690798e8d36a0a29383caee26ab;p=oweals%2Fgnunet.git -try to get keys form config --- 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);