gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r20096 - gnunet/src/gns
Date: Tue, 28 Feb 2012 10:27:53 +0100

Author: schanzen
Date: 2012-02-28 10:27:53 +0100 (Tue, 28 Feb 2012)
New Revision: 20096

Modified:
   gnunet/src/gns/gnunet-service-gns.c
   gnunet/src/gns/plugin_block_gns.c
Log:
-fix xquery


Modified: gnunet/src/gns/gnunet-service-gns.c
===================================================================
--- gnunet/src/gns/gnunet-service-gns.c 2012-02-28 09:27:27 UTC (rev 20095)
+++ gnunet/src/gns/gnunet-service-gns.c 2012-02-28 09:27:53 UTC (rev 20096)
@@ -323,8 +323,8 @@
                        &lookup_key,
                        5, //Replication level FIXME
                        GNUNET_DHT_RO_NONE,
-                       &xquery, //xquery FIXME is this bad?
-                       0, // for test bp sizeof(GNUNET_GNS_RECORD_PKEY),
+                       &xquery,
+                       sizeof(xquery),
                        &process_authority_dht_result,
                        rh);
 
@@ -470,7 +470,7 @@
                        5, //Replication level FIXME
                        GNUNET_DHT_RO_NONE,
                        &xquery, //xquery FIXME is this bad?
-                       0, //for test bp sizeof(rh->query->type),
+                       sizeof(xquery),
                        &process_name_dht_result,
                        rh);
 

Modified: gnunet/src/gns/plugin_block_gns.c
===================================================================
--- gnunet/src/gns/plugin_block_gns.c   2012-02-28 09:27:27 UTC (rev 20095)
+++ gnunet/src/gns/plugin_block_gns.c   2012-02-28 09:27:53 UTC (rev 20096)
@@ -86,27 +86,17 @@
   GNUNET_CRYPTO_hash(name, strlen(name), &name_hash);
 
   GNUNET_CRYPTO_hash_xor(&pkey_hash, &name_hash, &query_key);
-  struct GNUNET_CRYPTO_HashAsciiEncoded hstr;
-  GNUNET_CRYPTO_hash_to_enc (query, &hstr);
-  GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Query key: %s\n", (char*)&hstr);
-  GNUNET_CRYPTO_hash_to_enc (&pkey_hash, &hstr);
-  GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Pub key: %s\n", (char*)&hstr);
-  GNUNET_CRYPTO_hash_to_enc (&name_hash, &hstr);
-  GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Name: %s\n", (char*)&hstr);
-  GNUNET_CRYPTO_hash_to_enc (&query_key, &hstr);
-  GNUNET_log(GNUNET_ERROR_TYPE_INFO, "XOR: %s\n", (char*)&hstr);
   
-  
-  //Check query key against public key
+  /* Check query key against public key */
   if (0 != GNUNET_CRYPTO_hash_cmp(query, &query_key))
     return GNUNET_BLOCK_EVALUATION_REQUEST_VALID;
   
-  GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Checking payload\n");
   rd_count = ntohl(nrb->rd_count);
 
   struct GNUNET_NAMESTORE_RecordData rd[rd_count];
   int i = 0;
   int record_match = 0;
+  uint32_t record_xquery = ntohl(*((uint32_t*)xquery));
   rb = (struct GNSRecordBlock*)(&name[strlen(name) + 1]);
 
   for (i=0; i<rd_count; i++)
@@ -118,10 +108,15 @@
     rd[i].flags = ntohl(rb->flags);
     rd[i].data = (char*)&rb[1];
     rb = (struct GNSRecordBlock *)((char*)&rb[1] + rd[i].data_size);
-    if (xquery_size > 0 && (rd[i].record_type == *((uint32_t*)xquery)))
+    
+    if (xquery_size == 0)
+     continue;
+    
+    if (rd[i].record_type == record_xquery)
+    {
       record_match++;
+    }
   }
-  GNUNET_log(GNUNET_ERROR_TYPE_INFO, "done\n");
   
 
   /*if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature (&nrb->public_key,
@@ -133,10 +128,11 @@
     GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Signature invalid\n");
     return GNUNET_BLOCK_EVALUATION_REQUEST_INVALID;
   }*/
-  GNUNET_log(GNUNET_ERROR_TYPE_INFO, "done\n");
+  
   //No record matches query
   if ((xquery_size > 0) && (record_match == 0))
-    return GNUNET_BLOCK_EVALUATION_OK_MORE;
+    return GNUNET_BLOCK_EVALUATION_REQUEST_VALID;
+
   GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Records match\n");
   //FIXME do bf check before or after crypto??
   if (NULL != bf)




reply via email to

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