gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r21371 - gnunet/src/gns


From: gnunet
Subject: [GNUnet-SVN] r21371 - gnunet/src/gns
Date: Wed, 9 May 2012 13:07:47 +0200

Author: schanzen
Date: 2012-05-09 13:07:47 +0200 (Wed, 09 May 2012)
New Revision: 21371

Modified:
   gnunet/src/gns/gnunet-gns.c
   gnunet/src/gns/gnunet-service-gns.c
Log:
-per user lookups done


Modified: gnunet/src/gns/gnunet-gns.c
===================================================================
--- gnunet/src/gns/gnunet-gns.c 2012-05-09 10:07:53 UTC (rev 21370)
+++ gnunet/src/gns/gnunet-gns.c 2012-05-09 11:07:47 UTC (rev 21371)
@@ -60,7 +60,7 @@
 /**
  * raw output
  */
-static int raw;
+static int raw = 0;
 
 static enum GNUNET_GNS_RecordType rtype;
 
@@ -142,6 +142,41 @@
 run (void *cls, char *const *args, const char *cfgfile,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
+  char* keyfile;
+  struct GNUNET_CRYPTO_RsaPrivateKey *key = NULL;
+  struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pkey;
+  struct GNUNET_CRYPTO_ShortHashCode *zone = NULL;
+  struct GNUNET_CRYPTO_ShortHashCode user_zone;
+  struct GNUNET_CRYPTO_ShortHashAsciiEncoded zonename;
+
+  if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, "gns",
+                                                           "ZONEKEY", 
&keyfile))
+  {
+    if (!raw)
+      GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+                  "No private key for root zone found, using default!\n");
+    zone = NULL;
+  }
+  else
+  {
+    if (GNUNET_YES == GNUNET_DISK_file_test (keyfile))
+    {
+      key = GNUNET_CRYPTO_rsa_key_create_from_file (keyfile);
+      GNUNET_CRYPTO_rsa_key_get_public (key, &pkey);
+      GNUNET_CRYPTO_short_hash(&pkey,
+                         sizeof(struct 
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded),
+                         &user_zone);
+      GNUNET_free(keyfile);
+      zone = &user_zone;
+      GNUNET_CRYPTO_short_hash_to_enc (zone, &zonename);
+      printf("asdsad\n");
+      if (!raw)
+        GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                    "Using zone: %s!\n", &zonename);
+      GNUNET_CRYPTO_rsa_key_free(key);
+    }
+  }
+
   gns = GNUNET_GNS_connect (cfg);
   if (lookup_type != NULL)
     rtype = GNUNET_NAMESTORE_typename_to_number(lookup_type);
@@ -158,7 +193,7 @@
   if (shorten_name != NULL)
   {
     /** shorten name */
-    GNUNET_GNS_shorten(gns, shorten_name, &process_shorten_result,
+    GNUNET_GNS_shorten_zone (gns, shorten_name, zone, &process_shorten_result,
                        shorten_name);
   }
 
@@ -166,7 +201,7 @@
   {
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                 "Lookup\n");
-    GNUNET_GNS_lookup(gns, lookup_name, rtype,
+    GNUNET_GNS_lookup_zone (gns, lookup_name, zone, rtype,
                       &process_lookup_result, lookup_name);
   }
 

Modified: gnunet/src/gns/gnunet-service-gns.c
===================================================================
--- gnunet/src/gns/gnunet-service-gns.c 2012-05-09 10:07:53 UTC (rev 21370)
+++ gnunet/src/gns/gnunet-service-gns.c 2012-05-09 11:07:47 UTC (rev 21371)
@@ -435,6 +435,9 @@
   struct GNUNET_CRYPTO_ShortHashAsciiEncoded zonename;
   char* location;
   struct GNUNET_CRYPTO_RsaPrivateKey *key = NULL;
+  
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+              "Looking for private key\n");
 
   if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (GNS_cfg,
                                                             "namestore",
@@ -445,11 +448,20 @@
     return NULL;
   }
 
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+              "Zonefile directory is %s\n", keydir);
+
   GNUNET_CRYPTO_short_hash_to_enc (zone, &zonename);
 
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+              "Zonefile is %s.zkey\n", &zonename);
+
   GNUNET_asprintf(&location, "%s%s%s.zkey", keydir,
-                  DIR_SEPARATOR_STR, zonename);
+                  DIR_SEPARATOR_STR, &zonename);
 
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+              "Checking for %s\n", location);
+
   if (GNUNET_YES == GNUNET_DISK_file_test (location))
     key = GNUNET_CRYPTO_rsa_key_create_from_file (location);
 
@@ -862,7 +874,7 @@
       key = zone_key;
     else
     {
-      key = lookup_private_key(&sh_msg->zone);
+      key = lookup_private_key(&zone);
       clh->zone_key = key;
     }
     




reply via email to

[Prev in Thread] Current Thread [Next in Thread]