aboutsummaryrefslogtreecommitdiff
path: root/src/gns/plugin_block_gns.c
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2012-03-12 13:12:37 +0000
committerMartin Schanzenbach <mschanzenbach@posteo.de>2012-03-12 13:12:37 +0000
commit00eda546242086cee3dc920e2f82a7b5be3e0999 (patch)
tree16675854d0259c061b1c40056f6c79655cee2b9b /src/gns/plugin_block_gns.c
parentc5c2121206bf094d18bff9d7835a01c39c0a8348 (diff)
downloadgnunet-00eda546242086cee3dc920e2f82a7b5be3e0999.tar.gz
gnunet-00eda546242086cee3dc920e2f82a7b5be3e0999.zip
-bugfixes, tests
Diffstat (limited to 'src/gns/plugin_block_gns.c')
-rw-r--r--src/gns/plugin_block_gns.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/gns/plugin_block_gns.c b/src/gns/plugin_block_gns.c
index 4c8ab3eb9..329088280 100644
--- a/src/gns/plugin_block_gns.c
+++ b/src/gns/plugin_block_gns.c
@@ -75,6 +75,9 @@ block_plugin_gns_evaluate (void *cls, enum GNUNET_BLOCK_Type type,
75 uint32_t record_xquery; 75 uint32_t record_xquery;
76 unsigned int record_match; 76 unsigned int record_match;
77 77
78 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
79 "BLOCK_TEST\n");
80
78 if (type != GNUNET_BLOCK_TYPE_GNS_NAMERECORD) 81 if (type != GNUNET_BLOCK_TYPE_GNS_NAMERECORD)
79 return GNUNET_BLOCK_EVALUATION_TYPE_NOT_SUPPORTED; 82 return GNUNET_BLOCK_EVALUATION_TYPE_NOT_SUPPORTED;
80 if (reply_block_size == 0) 83 if (reply_block_size == 0)
@@ -90,6 +93,15 @@ block_plugin_gns_evaluate (void *cls, enum GNUNET_BLOCK_Type type,
90 93
91 GNUNET_CRYPTO_hash_xor(&pkey_hash, &name_hash, &query_key); 94 GNUNET_CRYPTO_hash_xor(&pkey_hash, &name_hash, &query_key);
92 95
96 struct GNUNET_CRYPTO_HashAsciiEncoded xor_exp;
97 struct GNUNET_CRYPTO_HashAsciiEncoded xor_got;
98 GNUNET_CRYPTO_hash_to_enc (&query_key, &xor_exp);
99 GNUNET_CRYPTO_hash_to_enc (query, &xor_got);
100
101 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
102 "BLOCK_TEST for %s got %s expected %s\n",
103 name, (char*) &xor_got, (char*) &xor_exp);
104
93 /* Check query key against public key */ 105 /* Check query key against public key */
94 if (0 != GNUNET_CRYPTO_hash_cmp(query, &query_key)) 106 if (0 != GNUNET_CRYPTO_hash_cmp(query, &query_key))
95 return GNUNET_BLOCK_EVALUATION_REQUEST_VALID; 107 return GNUNET_BLOCK_EVALUATION_REQUEST_VALID;
@@ -124,6 +136,9 @@ block_plugin_gns_evaluate (void *cls, enum GNUNET_BLOCK_Type type,
124 { 136 {
125 137
126 exp = GNUNET_TIME_absolute_min (exp, rd[i].expiration); 138 exp = GNUNET_TIME_absolute_min (exp, rd[i].expiration);
139
140 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
141 "Got record of size %d\n", rd[i].data_size);
127 142
128 if ((record_xquery != 0) 143 if ((record_xquery != 0)
129 && (rd[i].record_type == record_xquery)) 144 && (rd[i].record_type == record_xquery))
@@ -131,6 +146,10 @@ block_plugin_gns_evaluate (void *cls, enum GNUNET_BLOCK_Type type,
131 record_match++; 146 record_match++;
132 } 147 }
133 } 148 }
149
150 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
151 "Verifying signature of %d records for name %s\n",
152 rd_count, name);
134 153
135 if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature (&nrb->public_key, 154 if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature (&nrb->public_key,
136 exp, 155 exp,
@@ -144,9 +163,12 @@ block_plugin_gns_evaluate (void *cls, enum GNUNET_BLOCK_Type type,
144 } 163 }
145 } 164 }
146 165
147 //No record matches query
148 if ((record_xquery != 0) && (record_match == 0)) 166 if ((record_xquery != 0) && (record_match == 0))
167 {
168 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
169 "No record matches query!\n");
149 return GNUNET_BLOCK_EVALUATION_REQUEST_VALID; 170 return GNUNET_BLOCK_EVALUATION_REQUEST_VALID;
171 }
150 172
151 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Records match\n"); 173 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Records match\n");
152 174