diff options
-rw-r--r-- | src/namestore/namestore.h | 12 | ||||
-rw-r--r-- | src/namestore/namestore_common.c | 21 | ||||
-rw-r--r-- | src/namestore/test_namestore_api_create.c | 164 | ||||
-rw-r--r-- | src/namestore/test_namestore_api_lookup.c | 22 | ||||
-rw-r--r-- | src/namestore/test_namestore_api_put.c | 14 | ||||
-rw-r--r-- | src/namestore/test_namestore_api_remove.c | 24 | ||||
-rw-r--r-- | src/namestore/test_namestore_api_remove_not_existing_record.c | 18 | ||||
-rw-r--r-- | src/namestore/test_namestore_api_sign_verify.c | 12 |
8 files changed, 211 insertions, 76 deletions
diff --git a/src/namestore/namestore.h b/src/namestore/namestore.h index 98a9c5cd1..e079e62ce 100644 --- a/src/namestore/namestore.h +++ b/src/namestore/namestore.h | |||
@@ -47,6 +47,18 @@ | |||
47 | struct GNUNET_CRYPTO_RsaSignature * | 47 | struct GNUNET_CRYPTO_RsaSignature * |
48 | GNUNET_NAMESTORE_create_signature (const struct GNUNET_CRYPTO_RsaPrivateKey *key, const char *name, struct GNUNET_NAMESTORE_RecordData *rd, unsigned int rd_count); | 48 | GNUNET_NAMESTORE_create_signature (const struct GNUNET_CRYPTO_RsaPrivateKey *key, const char *name, struct GNUNET_NAMESTORE_RecordData *rd, unsigned int rd_count); |
49 | 49 | ||
50 | /** | ||
51 | * Compares if two records are equal | ||
52 | * | ||
53 | * @param a record | ||
54 | * @param b record | ||
55 | * | ||
56 | * @return GNUNET_YES or GNUNET_NO | ||
57 | */ | ||
58 | int | ||
59 | GNUNET_NAMESTORE_records_cmp (const struct GNUNET_NAMESTORE_RecordData *a, | ||
60 | const struct GNUNET_NAMESTORE_RecordData *b); | ||
61 | |||
50 | GNUNET_NETWORK_STRUCT_BEGIN | 62 | GNUNET_NETWORK_STRUCT_BEGIN |
51 | /** | 63 | /** |
52 | * A GNS record serialized for network transmission. | 64 | * A GNS record serialized for network transmission. |
diff --git a/src/namestore/namestore_common.c b/src/namestore/namestore_common.c index c65fc76fe..7d1876eec 100644 --- a/src/namestore/namestore_common.c +++ b/src/namestore/namestore_common.c | |||
@@ -131,6 +131,27 @@ GNUNET_NAMESTORE_records_serialize (unsigned int rd_count, | |||
131 | return off; | 131 | return off; |
132 | } | 132 | } |
133 | 133 | ||
134 | /** | ||
135 | * Compares if two records are equal | ||
136 | * | ||
137 | * @param a record | ||
138 | * @param b record | ||
139 | * | ||
140 | * @return GNUNET_YES or GNUNET_NO | ||
141 | */ | ||
142 | int | ||
143 | GNUNET_NAMESTORE_records_cmp (const struct GNUNET_NAMESTORE_RecordData *a, | ||
144 | const struct GNUNET_NAMESTORE_RecordData *b) | ||
145 | { | ||
146 | if ((a->record_type == b->record_type) && | ||
147 | (a->expiration.abs_value == b->expiration.abs_value) && | ||
148 | (a->data_size == b->data_size) && | ||
149 | (0 == memcmp (a->data, b->data, a->data_size))) | ||
150 | return GNUNET_YES; | ||
151 | else | ||
152 | return GNUNET_NO; | ||
153 | } | ||
154 | |||
134 | 155 | ||
135 | /** | 156 | /** |
136 | * Deserialize the given records to the given destination. | 157 | * Deserialize the given records to the given destination. |
diff --git a/src/namestore/test_namestore_api_create.c b/src/namestore/test_namestore_api_create.c index 93c3dba2d..a2e1366c8 100644 --- a/src/namestore/test_namestore_api_create.c +++ b/src/namestore/test_namestore_api_create.c | |||
@@ -50,8 +50,8 @@ static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; | |||
50 | struct GNUNET_CRYPTO_RsaSignature *s_signature; | 50 | struct GNUNET_CRYPTO_RsaSignature *s_signature; |
51 | struct GNUNET_CRYPTO_RsaSignature *s_signature_updated; | 51 | struct GNUNET_CRYPTO_RsaSignature *s_signature_updated; |
52 | static GNUNET_HashCode s_zone; | 52 | static GNUNET_HashCode s_zone; |
53 | struct GNUNET_NAMESTORE_RecordData *s_rd; | 53 | struct GNUNET_NAMESTORE_RecordData *s_first_record; |
54 | struct GNUNET_NAMESTORE_RecordData *s_create_rd; | 54 | struct GNUNET_NAMESTORE_RecordData *s_second_record; |
55 | static char *s_name; | 55 | static char *s_name; |
56 | 56 | ||
57 | 57 | ||
@@ -117,11 +117,9 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
117 | endbadly_task = GNUNET_SCHEDULER_NO_TASK; | 117 | endbadly_task = GNUNET_SCHEDULER_NO_TASK; |
118 | } | 118 | } |
119 | 119 | ||
120 | int c; | 120 | GNUNET_free ((void *) s_first_record->data); |
121 | for (c = 0; c < RECORDS; c++) | 121 | GNUNET_free (s_first_record); |
122 | GNUNET_free_non_null((void *) s_rd[c].data); | 122 | GNUNET_free_non_null (s_second_record); |
123 | GNUNET_free (s_rd); | ||
124 | //GNUNET_free (s_create_rd); | ||
125 | 123 | ||
126 | if (privkey != NULL) | 124 | if (privkey != NULL) |
127 | GNUNET_CRYPTO_rsa_key_free (privkey); | 125 | GNUNET_CRYPTO_rsa_key_free (privkey); |
@@ -135,7 +133,105 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
135 | stop_arm(); | 133 | stop_arm(); |
136 | } | 134 | } |
137 | 135 | ||
138 | void name_lookup_proc (void *cls, | 136 | void name_lookup_second_proc (void *cls, |
137 | const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key, | ||
138 | struct GNUNET_TIME_Absolute expire, | ||
139 | const char *n, | ||
140 | unsigned int rd_count, | ||
141 | const struct GNUNET_NAMESTORE_RecordData *rd, | ||
142 | const struct GNUNET_CRYPTO_RsaSignature *signature) | ||
143 | { | ||
144 | static int found = GNUNET_NO; | ||
145 | int failed = GNUNET_NO; | ||
146 | int c; | ||
147 | |||
148 | if (n != NULL) | ||
149 | { | ||
150 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Checking returned results\n"); | ||
151 | if (0 != memcmp (zone_key, &pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded))) | ||
152 | { | ||
153 | GNUNET_break (0); | ||
154 | failed = GNUNET_YES; | ||
155 | } | ||
156 | |||
157 | if (0 != strcmp(n, s_name)) | ||
158 | { | ||
159 | GNUNET_break (0); | ||
160 | failed = GNUNET_YES; | ||
161 | } | ||
162 | |||
163 | if (2 != rd_count) | ||
164 | { | ||
165 | GNUNET_break (0); | ||
166 | failed = GNUNET_YES; | ||
167 | } | ||
168 | |||
169 | for (c = 0; c < rd_count; c++) | ||
170 | { | ||
171 | if ((GNUNET_NO == GNUNET_NAMESTORE_records_cmp(&rd[c], s_first_record)) && | ||
172 | (GNUNET_NO == GNUNET_NAMESTORE_records_cmp(&rd[c], s_second_record))) | ||
173 | { | ||
174 | GNUNET_break (0); | ||
175 | failed = GNUNET_YES; | ||
176 | } | ||
177 | } | ||
178 | |||
179 | if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, n, rd_count, rd, signature)) | ||
180 | { | ||
181 | GNUNET_break (0); | ||
182 | failed = GNUNET_YES; | ||
183 | } | ||
184 | |||
185 | struct GNUNET_NAMESTORE_RecordData rd_new[2]; | ||
186 | rd_new[0] = *s_first_record; | ||
187 | rd_new[1] = *s_second_record; | ||
188 | s_signature_updated = GNUNET_NAMESTORE_create_signature(privkey, s_name, rd_new, 2); | ||
189 | |||
190 | if (0 != memcmp (s_signature_updated, signature, sizeof (struct GNUNET_CRYPTO_RsaSignature))) | ||
191 | { | ||
192 | GNUNET_break (0); | ||
193 | failed = GNUNET_YES; | ||
194 | } | ||
195 | |||
196 | found = GNUNET_YES; | ||
197 | if (failed == GNUNET_NO) | ||
198 | res = 0; | ||
199 | else | ||
200 | res = 1; | ||
201 | } | ||
202 | else | ||
203 | { | ||
204 | if (found != GNUNET_YES) | ||
205 | { | ||
206 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to lookup records for name `%s'\n", s_name); | ||
207 | res = 1; | ||
208 | } | ||
209 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Lookup done for name %s'\n", s_name); | ||
210 | } | ||
211 | GNUNET_SCHEDULER_add_now(&end, NULL); | ||
212 | } | ||
213 | |||
214 | |||
215 | void | ||
216 | create_second_cont (void *cls, int32_t success, const char *emsg) | ||
217 | { | ||
218 | char *name = cls; | ||
219 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Create second record for `%s': %s\n", name, (success == GNUNET_OK) ? "SUCCESS" : "FAIL"); | ||
220 | if (success == GNUNET_OK) | ||
221 | { | ||
222 | res = 0; | ||
223 | GNUNET_NAMESTORE_lookup_record (nsh, &s_zone, name, 0, &name_lookup_second_proc, name); | ||
224 | } | ||
225 | else | ||
226 | { | ||
227 | res = 1; | ||
228 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to put records for name `%s'\n", name); | ||
229 | GNUNET_SCHEDULER_add_now(&end, NULL); | ||
230 | } | ||
231 | |||
232 | } | ||
233 | |||
234 | void name_lookup_initial_proc (void *cls, | ||
139 | const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key, | 235 | const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key, |
140 | struct GNUNET_TIME_Absolute expire, | 236 | struct GNUNET_TIME_Absolute expire, |
141 | const char *n, | 237 | const char *n, |
@@ -143,6 +239,7 @@ void name_lookup_proc (void *cls, | |||
143 | const struct GNUNET_NAMESTORE_RecordData *rd, | 239 | const struct GNUNET_NAMESTORE_RecordData *rd, |
144 | const struct GNUNET_CRYPTO_RsaSignature *signature) | 240 | const struct GNUNET_CRYPTO_RsaSignature *signature) |
145 | { | 241 | { |
242 | char * name = cls; | ||
146 | static int found = GNUNET_NO; | 243 | static int found = GNUNET_NO; |
147 | int failed = GNUNET_NO; | 244 | int failed = GNUNET_NO; |
148 | int c; | 245 | int c; |
@@ -170,10 +267,11 @@ void name_lookup_proc (void *cls, | |||
170 | 267 | ||
171 | for (c = 0; c < RECORDS; c++) | 268 | for (c = 0; c < RECORDS; c++) |
172 | { | 269 | { |
173 | GNUNET_break (rd[c].expiration.abs_value == s_rd[c].expiration.abs_value); | 270 | if (GNUNET_NO == GNUNET_NAMESTORE_records_cmp(&rd[c], &s_first_record[c])) |
174 | GNUNET_break (rd[c].record_type == TEST_RECORD_TYPE); | 271 | { |
175 | GNUNET_break (rd[c].data_size == TEST_RECORD_DATALEN); | 272 | GNUNET_break (0); |
176 | GNUNET_break (0 == memcmp (rd[c].data, s_rd[c].data, TEST_RECORD_DATALEN)); | 273 | failed = GNUNET_YES; |
274 | } | ||
177 | } | 275 | } |
178 | 276 | ||
179 | if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, n, rd_count, rd, signature)) | 277 | if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, n, rd_count, rd, signature)) |
@@ -193,6 +291,18 @@ void name_lookup_proc (void *cls, | |||
193 | res = 0; | 291 | res = 0; |
194 | else | 292 | else |
195 | res = 1; | 293 | res = 1; |
294 | |||
295 | /* create a second record */ | ||
296 | s_second_record = GNUNET_malloc(sizeof (struct GNUNET_NAMESTORE_RecordData) + TEST_CREATE_RECORD_DATALEN); | ||
297 | s_second_record->expiration = GNUNET_TIME_absolute_get_forever(); | ||
298 | s_second_record->record_type = TEST_CREATE_RECORD_TYPE; | ||
299 | s_second_record->flags = GNUNET_NAMESTORE_RF_AUTHORITY; | ||
300 | s_second_record->data = &s_second_record[1]; | ||
301 | s_second_record->data_size = TEST_CREATE_RECORD_DATALEN; | ||
302 | memset ((char *) s_second_record->data, TEST_CREATE_RECORD_DATA, TEST_CREATE_RECORD_DATALEN); | ||
303 | |||
304 | GNUNET_NAMESTORE_record_create (nsh, privkey, name, s_second_record, &create_second_cont, name); | ||
305 | |||
196 | } | 306 | } |
197 | else | 307 | else |
198 | { | 308 | { |
@@ -202,19 +312,20 @@ void name_lookup_proc (void *cls, | |||
202 | res = 1; | 312 | res = 1; |
203 | } | 313 | } |
204 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Lookup done for name %s'\n", s_name); | 314 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Lookup done for name %s'\n", s_name); |
315 | GNUNET_SCHEDULER_add_now (&end, NULL); | ||
205 | } | 316 | } |
206 | GNUNET_SCHEDULER_add_now(&end, NULL); | ||
207 | } | 317 | } |
208 | 318 | ||
209 | void | 319 | void |
210 | create_cont (void *cls, int32_t success, const char *emsg) | 320 | create_first_cont (void *cls, int32_t success, const char *emsg) |
211 | { | 321 | { |
212 | char *name = cls; | 322 | char *name = cls; |
213 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Create record for `%s': %s\n", name, (success == GNUNET_OK) ? "SUCCESS" : "FAIL"); | 323 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Create record for `%s': %s\n", name, (success == GNUNET_OK) ? "SUCCESS" : "FAIL"); |
214 | if (success == GNUNET_OK) | 324 | if (success == GNUNET_OK) |
215 | { | 325 | { |
216 | res = 0; | 326 | res = 0; |
217 | GNUNET_NAMESTORE_lookup_record (nsh, &s_zone, name, 0, &name_lookup_proc, name); | 327 | /* check if record was created correct */ |
328 | GNUNET_NAMESTORE_lookup_record (nsh, &s_zone, name, 0, &name_lookup_initial_proc, name); | ||
218 | } | 329 | } |
219 | else | 330 | else |
220 | { | 331 | { |
@@ -232,16 +343,7 @@ put_cont (void *cls, int32_t success, const char *emsg) | |||
232 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Name store added record for `%s': %s\n", name, (success == GNUNET_OK) ? "SUCCESS" : "FAIL"); | 343 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Name store added record for `%s': %s\n", name, (success == GNUNET_OK) ? "SUCCESS" : "FAIL"); |
233 | if (success == GNUNET_OK) | 344 | if (success == GNUNET_OK) |
234 | { | 345 | { |
235 | res = 0; | 346 | |
236 | s_create_rd = GNUNET_malloc(sizeof (struct GNUNET_NAMESTORE_RecordData) + TEST_CREATE_RECORD_DATALEN); | ||
237 | s_create_rd->expiration = GNUNET_TIME_absolute_get_forever(); | ||
238 | s_create_rd->record_type = TEST_CREATE_RECORD_TYPE; | ||
239 | s_create_rd->flags = GNUNET_NAMESTORE_RF_AUTHORITY; | ||
240 | s_create_rd->data = &s_create_rd[1]; | ||
241 | s_create_rd->data_size = TEST_CREATE_RECORD_DATALEN; | ||
242 | memset ((char *) s_create_rd->data, TEST_CREATE_RECORD_DATA, TEST_CREATE_RECORD_DATALEN); | ||
243 | |||
244 | GNUNET_NAMESTORE_record_create (nsh, privkey, name, s_create_rd, &create_cont, name); | ||
245 | } | 347 | } |
246 | else | 348 | else |
247 | { | 349 | { |
@@ -305,13 +407,13 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
305 | 407 | ||
306 | /* create record */ | 408 | /* create record */ |
307 | s_name = "dummy.dummy.gnunet"; | 409 | s_name = "dummy.dummy.gnunet"; |
308 | s_rd = create_record (1); | 410 | s_first_record = create_record (1); |
309 | 411 | ||
310 | rd_ser_len = GNUNET_NAMESTORE_records_get_size(1, s_rd); | 412 | rd_ser_len = GNUNET_NAMESTORE_records_get_size(1, s_first_record); |
311 | char rd_ser[rd_ser_len]; | 413 | char rd_ser[rd_ser_len]; |
312 | GNUNET_NAMESTORE_records_serialize(1, s_rd, rd_ser_len, rd_ser); | 414 | GNUNET_NAMESTORE_records_serialize(1, s_first_record, rd_ser_len, rd_ser); |
313 | 415 | ||
314 | s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_rd, 1); | 416 | s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_first_record, 1); |
315 | 417 | ||
316 | /* create random zone hash */ | 418 | /* create random zone hash */ |
317 | GNUNET_CRYPTO_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone); | 419 | GNUNET_CRYPTO_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone); |
@@ -324,11 +426,11 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
324 | nsh = GNUNET_NAMESTORE_connect (cfg); | 426 | nsh = GNUNET_NAMESTORE_connect (cfg); |
325 | GNUNET_break (NULL != nsh); | 427 | GNUNET_break (NULL != nsh); |
326 | 428 | ||
327 | GNUNET_break (s_rd != NULL); | 429 | GNUNET_break (s_first_record != NULL); |
328 | GNUNET_break (s_name != NULL); | 430 | GNUNET_break (s_name != NULL); |
329 | 431 | ||
330 | /* create initial record */ | 432 | /* create initial record */ |
331 | GNUNET_NAMESTORE_record_create (nsh, privkey, s_name, s_rd, &create_cont, s_name); | 433 | GNUNET_NAMESTORE_record_create (nsh, privkey, s_name, s_first_record, &create_first_cont, s_name); |
332 | } | 434 | } |
333 | 435 | ||
334 | static int | 436 | static int |
diff --git a/src/namestore/test_namestore_api_lookup.c b/src/namestore/test_namestore_api_lookup.c index daca07b14..05a3b270c 100644 --- a/src/namestore/test_namestore_api_lookup.c +++ b/src/namestore/test_namestore_api_lookup.c | |||
@@ -45,7 +45,7 @@ static struct GNUNET_CRYPTO_RsaPrivateKey * privkey; | |||
45 | static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; | 45 | static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; |
46 | struct GNUNET_CRYPTO_RsaSignature *s_signature; | 46 | struct GNUNET_CRYPTO_RsaSignature *s_signature; |
47 | static GNUNET_HashCode s_zone; | 47 | static GNUNET_HashCode s_zone; |
48 | struct GNUNET_NAMESTORE_RecordData *s_rd; | 48 | struct GNUNET_NAMESTORE_RecordData *first_record; |
49 | static char *s_name; | 49 | static char *s_name; |
50 | 50 | ||
51 | 51 | ||
@@ -113,8 +113,8 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
113 | 113 | ||
114 | int c; | 114 | int c; |
115 | for (c = 0; c < RECORDS; c++) | 115 | for (c = 0; c < RECORDS; c++) |
116 | GNUNET_free_non_null((void *) s_rd[c].data); | 116 | GNUNET_free_non_null((void *) first_record[c].data); |
117 | GNUNET_free (s_rd); | 117 | GNUNET_free (first_record); |
118 | 118 | ||
119 | if (privkey != NULL) | 119 | if (privkey != NULL) |
120 | GNUNET_CRYPTO_rsa_key_free (privkey); | 120 | GNUNET_CRYPTO_rsa_key_free (privkey); |
@@ -169,10 +169,10 @@ void name_lookup_proc (void *cls, | |||
169 | 169 | ||
170 | for (c = 0; c < RECORDS; c++) | 170 | for (c = 0; c < RECORDS; c++) |
171 | { | 171 | { |
172 | GNUNET_break (rd[c].expiration.abs_value == s_rd[c].expiration.abs_value); | 172 | GNUNET_break (rd[c].expiration.abs_value == first_record[c].expiration.abs_value); |
173 | GNUNET_break (rd[c].record_type == TEST_RECORD_TYPE); | 173 | GNUNET_break (rd[c].record_type == TEST_RECORD_TYPE); |
174 | GNUNET_break (rd[c].data_size == TEST_RECORD_DATALEN); | 174 | GNUNET_break (rd[c].data_size == TEST_RECORD_DATALEN); |
175 | GNUNET_break (0 == memcmp (rd[c].data, s_rd[c].data, TEST_RECORD_DATALEN)); | 175 | GNUNET_break (0 == memcmp (rd[c].data, first_record[c].data, TEST_RECORD_DATALEN)); |
176 | } | 176 | } |
177 | found = GNUNET_YES; | 177 | found = GNUNET_YES; |
178 | res = 0; | 178 | res = 0; |
@@ -262,14 +262,14 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
262 | 262 | ||
263 | /* create record */ | 263 | /* create record */ |
264 | s_name = "dummy.dummy.gnunet"; | 264 | s_name = "dummy.dummy.gnunet"; |
265 | s_rd = create_record (RECORDS); | 265 | first_record = create_record (RECORDS); |
266 | 266 | ||
267 | rd_ser_len = GNUNET_NAMESTORE_records_get_size(RECORDS, s_rd); | 267 | rd_ser_len = GNUNET_NAMESTORE_records_get_size(RECORDS, first_record); |
268 | char rd_ser[rd_ser_len]; | 268 | char rd_ser[rd_ser_len]; |
269 | GNUNET_NAMESTORE_records_serialize(RECORDS, s_rd, rd_ser_len, rd_ser); | 269 | GNUNET_NAMESTORE_records_serialize(RECORDS, first_record, rd_ser_len, rd_ser); |
270 | 270 | ||
271 | /* sign */ | 271 | /* sign */ |
272 | s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_rd, RECORDS); | 272 | s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, first_record, RECORDS); |
273 | 273 | ||
274 | /* create random zone hash */ | 274 | /* create random zone hash */ |
275 | GNUNET_CRYPTO_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone); | 275 | GNUNET_CRYPTO_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone); |
@@ -280,12 +280,12 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
280 | nsh = GNUNET_NAMESTORE_connect (cfg); | 280 | nsh = GNUNET_NAMESTORE_connect (cfg); |
281 | GNUNET_break (NULL != nsh); | 281 | GNUNET_break (NULL != nsh); |
282 | 282 | ||
283 | GNUNET_break (s_rd != NULL); | 283 | GNUNET_break (first_record != NULL); |
284 | GNUNET_break (s_name != NULL); | 284 | GNUNET_break (s_name != NULL); |
285 | 285 | ||
286 | GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name, | 286 | GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name, |
287 | GNUNET_TIME_absolute_get_forever(), | 287 | GNUNET_TIME_absolute_get_forever(), |
288 | RECORDS, s_rd, s_signature, put_cont, s_name); | 288 | RECORDS, first_record, s_signature, put_cont, s_name); |
289 | 289 | ||
290 | 290 | ||
291 | 291 | ||
diff --git a/src/namestore/test_namestore_api_put.c b/src/namestore/test_namestore_api_put.c index f65b533b3..3e8db7445 100644 --- a/src/namestore/test_namestore_api_put.c +++ b/src/namestore/test_namestore_api_put.c | |||
@@ -43,7 +43,7 @@ static struct GNUNET_OS_Process *arm; | |||
43 | static struct GNUNET_CRYPTO_RsaPrivateKey * privkey; | 43 | static struct GNUNET_CRYPTO_RsaPrivateKey * privkey; |
44 | static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; | 44 | static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; |
45 | 45 | ||
46 | struct GNUNET_NAMESTORE_RecordData *s_rd; | 46 | struct GNUNET_NAMESTORE_RecordData *first_record; |
47 | 47 | ||
48 | static int res; | 48 | static int res; |
49 | 49 | ||
@@ -191,23 +191,23 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
191 | 191 | ||
192 | /* create record */ | 192 | /* create record */ |
193 | char * s_name = "dummy.dummy.gnunet"; | 193 | char * s_name = "dummy.dummy.gnunet"; |
194 | s_rd = create_record (RECORDS); | 194 | first_record = create_record (RECORDS); |
195 | 195 | ||
196 | signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_rd, RECORDS); | 196 | signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, first_record, RECORDS); |
197 | 197 | ||
198 | GNUNET_break (s_rd != NULL); | 198 | GNUNET_break (first_record != NULL); |
199 | GNUNET_break (s_name != NULL); | 199 | GNUNET_break (s_name != NULL); |
200 | 200 | ||
201 | GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name, | 201 | GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name, |
202 | GNUNET_TIME_absolute_get_forever(), | 202 | GNUNET_TIME_absolute_get_forever(), |
203 | RECORDS, s_rd, signature, put_cont, s_name); | 203 | RECORDS, first_record, signature, put_cont, s_name); |
204 | 204 | ||
205 | GNUNET_free (signature); | 205 | GNUNET_free (signature); |
206 | 206 | ||
207 | int c; | 207 | int c; |
208 | for (c = 0; c < RECORDS; c++) | 208 | for (c = 0; c < RECORDS; c++) |
209 | GNUNET_free_non_null((void *) s_rd[c].data); | 209 | GNUNET_free_non_null((void *) first_record[c].data); |
210 | GNUNET_free (s_rd); | 210 | GNUNET_free (first_record); |
211 | 211 | ||
212 | } | 212 | } |
213 | 213 | ||
diff --git a/src/namestore/test_namestore_api_remove.c b/src/namestore/test_namestore_api_remove.c index 9bd25b3a2..3dfc2cc5c 100644 --- a/src/namestore/test_namestore_api_remove.c +++ b/src/namestore/test_namestore_api_remove.c | |||
@@ -49,7 +49,7 @@ static struct GNUNET_CRYPTO_RsaPrivateKey * privkey; | |||
49 | static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; | 49 | static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; |
50 | struct GNUNET_CRYPTO_RsaSignature *s_signature; | 50 | struct GNUNET_CRYPTO_RsaSignature *s_signature; |
51 | static GNUNET_HashCode s_zone; | 51 | static GNUNET_HashCode s_zone; |
52 | struct GNUNET_NAMESTORE_RecordData *s_rd; | 52 | struct GNUNET_NAMESTORE_RecordData *first_record; |
53 | static char *s_name; | 53 | static char *s_name; |
54 | 54 | ||
55 | 55 | ||
@@ -117,8 +117,8 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
117 | 117 | ||
118 | int c; | 118 | int c; |
119 | for (c = 0; c < RECORDS; c++) | 119 | for (c = 0; c < RECORDS; c++) |
120 | GNUNET_free_non_null((void *) s_rd[c].data); | 120 | GNUNET_free_non_null((void *) first_record[c].data); |
121 | GNUNET_free (s_rd); | 121 | GNUNET_free (first_record); |
122 | 122 | ||
123 | if (privkey != NULL) | 123 | if (privkey != NULL) |
124 | GNUNET_CRYPTO_rsa_key_free (privkey); | 124 | GNUNET_CRYPTO_rsa_key_free (privkey); |
@@ -168,10 +168,10 @@ void name_lookup_proc (void *cls, | |||
168 | for (c = 0; c < rd_count; c++) | 168 | for (c = 0; c < rd_count; c++) |
169 | { | 169 | { |
170 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Record [%u]: type: %u, size %u\n", c, rd[c].record_type, rd[c].data_size); | 170 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Record [%u]: type: %u, size %u\n", c, rd[c].record_type, rd[c].data_size); |
171 | GNUNET_break (rd[c].expiration.abs_value == s_rd[c+1].expiration.abs_value); | 171 | GNUNET_break (rd[c].expiration.abs_value == first_record[c+1].expiration.abs_value); |
172 | GNUNET_break (rd[c].record_type == TEST_RECORD_TYPE); | 172 | GNUNET_break (rd[c].record_type == TEST_RECORD_TYPE); |
173 | GNUNET_break (rd[c].data_size == TEST_RECORD_DATALEN); | 173 | GNUNET_break (rd[c].data_size == TEST_RECORD_DATALEN); |
174 | GNUNET_break (0 == memcmp (rd[c].data, s_rd[c+1].data, TEST_RECORD_DATALEN)); | 174 | GNUNET_break (0 == memcmp (rd[c].data, first_record[c+1].data, TEST_RECORD_DATALEN)); |
175 | } | 175 | } |
176 | 176 | ||
177 | if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, n, rd_count, rd, signature)) | 177 | if (GNUNET_OK != GNUNET_NAMESTORE_verify_signature(&pubkey, n, rd_count, rd, signature)) |
@@ -226,7 +226,7 @@ put_cont (void *cls, int32_t success, const char *emsg) | |||
226 | res = 0; | 226 | res = 0; |
227 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Removing record for `%s'\n", name); | 227 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Removing record for `%s'\n", name); |
228 | 228 | ||
229 | GNUNET_NAMESTORE_record_remove (nsh, privkey, name, &s_rd[0], &remove_cont, name); | 229 | GNUNET_NAMESTORE_record_remove (nsh, privkey, name, &first_record[0], &remove_cont, name); |
230 | } | 230 | } |
231 | else | 231 | else |
232 | { | 232 | { |
@@ -295,14 +295,14 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
295 | 295 | ||
296 | /* create record */ | 296 | /* create record */ |
297 | s_name = "dummy.dummy.gnunet"; | 297 | s_name = "dummy.dummy.gnunet"; |
298 | s_rd = create_record (RECORDS); | 298 | first_record = create_record (RECORDS); |
299 | 299 | ||
300 | rd_ser_len = GNUNET_NAMESTORE_records_get_size(RECORDS, s_rd); | 300 | rd_ser_len = GNUNET_NAMESTORE_records_get_size(RECORDS, first_record); |
301 | char rd_ser[rd_ser_len]; | 301 | char rd_ser[rd_ser_len]; |
302 | GNUNET_NAMESTORE_records_serialize(RECORDS, s_rd, rd_ser_len, rd_ser); | 302 | GNUNET_NAMESTORE_records_serialize(RECORDS, first_record, rd_ser_len, rd_ser); |
303 | 303 | ||
304 | /* sign */ | 304 | /* sign */ |
305 | s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_rd, RECORDS); | 305 | s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, first_record, RECORDS); |
306 | 306 | ||
307 | /* create random zone hash */ | 307 | /* create random zone hash */ |
308 | GNUNET_CRYPTO_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone); | 308 | GNUNET_CRYPTO_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone); |
@@ -316,12 +316,12 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
316 | nsh = GNUNET_NAMESTORE_connect (cfg); | 316 | nsh = GNUNET_NAMESTORE_connect (cfg); |
317 | GNUNET_break (NULL != nsh); | 317 | GNUNET_break (NULL != nsh); |
318 | 318 | ||
319 | GNUNET_break (s_rd != NULL); | 319 | GNUNET_break (first_record != NULL); |
320 | GNUNET_break (s_name != NULL); | 320 | GNUNET_break (s_name != NULL); |
321 | 321 | ||
322 | GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name, | 322 | GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name, |
323 | GNUNET_TIME_absolute_get_forever(), | 323 | GNUNET_TIME_absolute_get_forever(), |
324 | RECORDS, s_rd, s_signature, put_cont, s_name); | 324 | RECORDS, first_record, s_signature, put_cont, s_name); |
325 | 325 | ||
326 | 326 | ||
327 | 327 | ||
diff --git a/src/namestore/test_namestore_api_remove_not_existing_record.c b/src/namestore/test_namestore_api_remove_not_existing_record.c index 4ee633598..ee6b0e5b2 100644 --- a/src/namestore/test_namestore_api_remove_not_existing_record.c +++ b/src/namestore/test_namestore_api_remove_not_existing_record.c | |||
@@ -49,7 +49,7 @@ static struct GNUNET_CRYPTO_RsaPrivateKey * privkey; | |||
49 | static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; | 49 | static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; |
50 | struct GNUNET_CRYPTO_RsaSignature *s_signature; | 50 | struct GNUNET_CRYPTO_RsaSignature *s_signature; |
51 | static GNUNET_HashCode s_zone; | 51 | static GNUNET_HashCode s_zone; |
52 | struct GNUNET_NAMESTORE_RecordData *s_rd; | 52 | struct GNUNET_NAMESTORE_RecordData *first_record; |
53 | static char *s_name; | 53 | static char *s_name; |
54 | 54 | ||
55 | 55 | ||
@@ -117,8 +117,8 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
117 | 117 | ||
118 | int c; | 118 | int c; |
119 | for (c = 0; c < RECORDS; c++) | 119 | for (c = 0; c < RECORDS; c++) |
120 | GNUNET_free_non_null((void *) s_rd[c].data); | 120 | GNUNET_free_non_null((void *) first_record[c].data); |
121 | GNUNET_free (s_rd); | 121 | GNUNET_free (first_record); |
122 | 122 | ||
123 | if (privkey != NULL) | 123 | if (privkey != NULL) |
124 | GNUNET_CRYPTO_rsa_key_free (privkey); | 124 | GNUNET_CRYPTO_rsa_key_free (privkey); |
@@ -229,14 +229,14 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
229 | 229 | ||
230 | /* create record */ | 230 | /* create record */ |
231 | s_name = "dummy.dummy.gnunet"; | 231 | s_name = "dummy.dummy.gnunet"; |
232 | s_rd = create_record (RECORDS); | 232 | first_record = create_record (RECORDS); |
233 | 233 | ||
234 | rd_ser_len = GNUNET_NAMESTORE_records_get_size(RECORDS, s_rd); | 234 | rd_ser_len = GNUNET_NAMESTORE_records_get_size(RECORDS, first_record); |
235 | char rd_ser[rd_ser_len]; | 235 | char rd_ser[rd_ser_len]; |
236 | GNUNET_NAMESTORE_records_serialize(RECORDS, s_rd, rd_ser_len, rd_ser); | 236 | GNUNET_NAMESTORE_records_serialize(RECORDS, first_record, rd_ser_len, rd_ser); |
237 | 237 | ||
238 | /* sign */ | 238 | /* sign */ |
239 | s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, s_rd, RECORDS); | 239 | s_signature = GNUNET_NAMESTORE_create_signature(privkey, s_name, first_record, RECORDS); |
240 | 240 | ||
241 | /* create random zone hash */ | 241 | /* create random zone hash */ |
242 | GNUNET_CRYPTO_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone); | 242 | GNUNET_CRYPTO_hash (&pubkey, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &s_zone); |
@@ -250,12 +250,12 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
250 | nsh = GNUNET_NAMESTORE_connect (cfg); | 250 | nsh = GNUNET_NAMESTORE_connect (cfg); |
251 | GNUNET_break (NULL != nsh); | 251 | GNUNET_break (NULL != nsh); |
252 | 252 | ||
253 | GNUNET_break (s_rd != NULL); | 253 | GNUNET_break (first_record != NULL); |
254 | GNUNET_break (s_name != NULL); | 254 | GNUNET_break (s_name != NULL); |
255 | 255 | ||
256 | GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name, | 256 | GNUNET_NAMESTORE_record_put (nsh, &pubkey, s_name, |
257 | GNUNET_TIME_absolute_get_forever(), | 257 | GNUNET_TIME_absolute_get_forever(), |
258 | RECORDS, s_rd, s_signature, put_cont, s_name); | 258 | RECORDS, first_record, s_signature, put_cont, s_name); |
259 | 259 | ||
260 | 260 | ||
261 | } | 261 | } |
diff --git a/src/namestore/test_namestore_api_sign_verify.c b/src/namestore/test_namestore_api_sign_verify.c index 084285ede..89e928118 100644 --- a/src/namestore/test_namestore_api_sign_verify.c +++ b/src/namestore/test_namestore_api_sign_verify.c | |||
@@ -41,7 +41,7 @@ | |||
41 | static struct GNUNET_CRYPTO_RsaPrivateKey * privkey; | 41 | static struct GNUNET_CRYPTO_RsaPrivateKey * privkey; |
42 | static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; | 42 | static struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; |
43 | struct GNUNET_CRYPTO_RsaSignature s_signature; | 43 | struct GNUNET_CRYPTO_RsaSignature s_signature; |
44 | struct GNUNET_NAMESTORE_RecordData *s_rd; | 44 | struct GNUNET_NAMESTORE_RecordData *first_record; |
45 | static char *s_name; | 45 | static char *s_name; |
46 | 46 | ||
47 | static int res; | 47 | static int res; |
@@ -84,21 +84,21 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
84 | 84 | ||
85 | /* create record */ | 85 | /* create record */ |
86 | s_name = "dummy.dummy.gnunet"; | 86 | s_name = "dummy.dummy.gnunet"; |
87 | s_rd = create_record (RECORDS); | 87 | first_record = create_record (RECORDS); |
88 | 88 | ||
89 | signature = GNUNET_NAMESTORE_create_signature (privkey, s_name, s_rd, RECORDS); | 89 | signature = GNUNET_NAMESTORE_create_signature (privkey, s_name, first_record, RECORDS); |
90 | GNUNET_assert (signature != NULL); | 90 | GNUNET_assert (signature != NULL); |
91 | 91 | ||
92 | res_c = GNUNET_NAMESTORE_verify_signature(&pubkey, s_name, RECORDS, s_rd, signature); | 92 | res_c = GNUNET_NAMESTORE_verify_signature(&pubkey, s_name, RECORDS, first_record, signature); |
93 | GNUNET_break (res == GNUNET_OK); | 93 | GNUNET_break (res == GNUNET_OK); |
94 | 94 | ||
95 | GNUNET_free (signature); | 95 | GNUNET_free (signature); |
96 | 96 | ||
97 | signature = GNUNET_NAMESTORE_create_signature (privkey, s_name, s_rd, RECORDS); | 97 | signature = GNUNET_NAMESTORE_create_signature (privkey, s_name, first_record, RECORDS); |
98 | GNUNET_break (signature != NULL); | 98 | GNUNET_break (signature != NULL); |
99 | 99 | ||
100 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "FYI: The next warning is intended!\n"); | 100 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "FYI: The next warning is intended!\n"); |
101 | res_w = GNUNET_NAMESTORE_verify_signature(&pubkey, s_name, RECORDS - 1, s_rd, signature); | 101 | res_w = GNUNET_NAMESTORE_verify_signature(&pubkey, s_name, RECORDS - 1, first_record, signature); |
102 | GNUNET_break (res_w == GNUNET_SYSERR); | 102 | GNUNET_break (res_w == GNUNET_SYSERR); |
103 | 103 | ||
104 | GNUNET_free (signature); | 104 | GNUNET_free (signature); |