aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschanzen <schanzen@140774ce-b5e7-0310-ab8b-a85725594a96>2012-02-26 20:55:37 +0000
committerschanzen <schanzen@140774ce-b5e7-0310-ab8b-a85725594a96>2012-02-26 20:55:37 +0000
commit0900b2581e4681703d40b800b280e95358dd9c8c (patch)
treec4dcaf5c7935356478a2f75ab36fba434c8a4c2e
parent39ada336388359c831f8ed2928aecb32870ca27b (diff)
-try to get keys form config
git-svn-id: https://gnunet.org/svn/gnunet@20049 140774ce-b5e7-0310-ab8b-a85725594a96
-rw-r--r--src/gns/gns.conf.in3
-rw-r--r--src/gns/gnunet-service-gns.c15
2 files changed, 16 insertions, 2 deletions
diff --git a/src/gns/gns.conf.in b/src/gns/gns.conf.in
index acf0a222a9..3441583a9c 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 d3a785185a..44de997e19 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);