-add record type any, pending flag
authorMartin Schanzenbach <mschanzenbach@posteo.de>
Wed, 28 Mar 2012 09:32:20 +0000 (09:32 +0000)
committerMartin Schanzenbach <mschanzenbach@posteo.de>
Wed, 28 Mar 2012 09:32:20 +0000 (09:32 +0000)
src/gns/gnunet-service-gns_resolver.c
src/gns/testdb/sqlite-alice.db
src/gns/testdb/sqlite-bob.db
src/gns/testdb/sqlite-dave.db
src/include/gnunet_namestore_service.h

index d1cc4ccd317b616f7469798b2a114477452b593a..7d3a518b5451d1771d36a63b30f6167197ce489a 100644 (file)
@@ -69,6 +69,11 @@ static unsigned long long max_allowed_background_queries;
  */
 static struct GNUNET_CRYPTO_ShortHashCode local_zone;
 
+/**
+ * a resolution identifier pool variable
+ * FIXME overflow?
+ * This is a non critical identifier useful for debugging
+ */
 static unsigned long long rid = 0;
 
 /**
@@ -164,7 +169,7 @@ process_pseu_result(struct GetPseuAuthorityHandle* gph, char* name)
   GNUNET_NAMESTORE_lookup_record(namestore_handle,
                                  &gph->zone,
                                  gph->new_name,
-                                 GNUNET_GNS_RECORD_PSEU,
+                                 GNUNET_NAMESTORE_TYPE_ANY,
                                  &process_pseu_lookup_ns,
                                  gph);
 }
@@ -1904,6 +1909,15 @@ process_delegation_result_ns(void* cls,
   
     if (rd[i].record_type != GNUNET_GNS_RECORD_PKEY)
       continue;
+
+    if (rd[i].flags & GNUNET_NAMESTORE_RF_PENDING)
+    {
+      GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+      "GNS_PHASE_DELEGATE_NS-%llu: PKEY for %s is pending user confirmation.\n",
+        name,
+        rh->id);
+      continue;
+    }
     
     if ((GNUNET_TIME_absolute_get_remaining (rd[i].expiration)).rel_value
          == 0)
index 3a428a8819831d902c86fea777dc0dcd7f6d89ab..efc27b9a30238beaa3840b076e07654c13c32350 100644 (file)
Binary files a/src/gns/testdb/sqlite-alice.db and b/src/gns/testdb/sqlite-alice.db differ
index 14749db379b57377fae311d1079d2feccdb87a4c..884d58035848a74b81c469dc12ea6afd4fc223d6 100644 (file)
Binary files a/src/gns/testdb/sqlite-bob.db and b/src/gns/testdb/sqlite-bob.db differ
index 10b9d82c62b174d7e7060af8a3cb44d055bde229..c071b5d08872a8f11a3a9787465fe57edd59e163 100644 (file)
Binary files a/src/gns/testdb/sqlite-dave.db and b/src/gns/testdb/sqlite-dave.db differ
index e66062772ef1b45c8a55ce3c2f14d20055099954..2327025926d1cf1b1576ac70aaa570fd2ff169fe 100644 (file)
@@ -43,6 +43,10 @@ extern "C"
 #endif
 #endif
 
+/**
+ * Record type indicating any record/'*'
+ */
+#define GNUNET_NAMESTORE_TYPE_ANY 0
 
 /**
  * Record type for GNS zone transfer ("PKEY").
@@ -139,7 +143,13 @@ enum GNUNET_NAMESTORE_RecordFlags
    * This is a private record of this peer and it should
    * thus not be handed out to other peers.
    */
-  GNUNET_NAMESTORE_RF_PRIVATE = 2
+  GNUNET_NAMESTORE_RF_PRIVATE = 2,
+
+  /**
+   * This record was added by the system
+   * and is pending user confimation
+   */
+  GNUNET_NAMESTORE_RF_PENDING = 4
 
 };