diff options
author | Adnan H <acednan@gmail.com> | 2016-12-06 10:51:58 +0100 |
---|---|---|
committer | Adnan H <acednan@gmail.com> | 2016-12-06 10:51:58 +0100 |
commit | c0ccc8d723c94c6f9dbde6ed1e0ee6579989750c (patch) | |
tree | b490556919ef7a0082b7ff3f45161726d8bce65b /src/credential/gnunet-service-credential.c | |
parent | 38153c76241311666e9aa26f2cec534f62900c72 (diff) | |
download | gnunet-c0ccc8d723c94c6f9dbde6ed1e0ee6579989750c.tar.gz gnunet-c0ccc8d723c94c6f9dbde6ed1e0ee6579989750c.zip |
- minor fixes
Diffstat (limited to 'src/credential/gnunet-service-credential.c')
-rw-r--r-- | src/credential/gnunet-service-credential.c | 72 |
1 files changed, 38 insertions, 34 deletions
diff --git a/src/credential/gnunet-service-credential.c b/src/credential/gnunet-service-credential.c index 792d8741e..a4686e635 100644 --- a/src/credential/gnunet-service-credential.c +++ b/src/credential/gnunet-service-credential.c | |||
@@ -265,45 +265,46 @@ start_backward_resolution (void* cls, | |||
265 | struct CredentialRecordEntry *cred_pointer; | 265 | struct CredentialRecordEntry *cred_pointer; |
266 | const char *attribute; | 266 | const char *attribute; |
267 | const char *cred_attribute; | 267 | const char *cred_attribute; |
268 | char *issuer_key; | ||
269 | char *cred_issuer_key; | ||
270 | const struct GNUNET_CRYPTO_EcdsaPublicKey *issuer_key_ecdsa; | ||
271 | const struct GNUNET_CRYPTO_EcdsaPublicKey *cred_issuer_key_ecdsa; | ||
272 | 268 | ||
273 | for(cred_pointer = vrh->cred_chain_head; cred_pointer != NULL; | 269 | for(cred_pointer = vrh->cred_chain_head; cred_pointer != NULL; |
274 | cred_pointer = cred_pointer->next){ | 270 | cred_pointer = cred_pointer->next){ |
275 | cred = &cred_pointer->record_data; | 271 | cred = &cred_pointer->record_data; |
276 | issuer_key_ecdsa = &vrh->attr_pointer->record_data.subject_key; | ||
277 | cred_issuer_key_ecdsa = &cred_pointer->record_data.issuer_key; | ||
278 | 272 | ||
279 | issuer_key = GNUNET_CRYPTO_ecdsa_public_key_to_string(issuer_key_ecdsa); | 273 | if(0 == memcmp (&vrh->attr_pointer->record_data.subject_key, |
280 | cred_issuer_key = GNUNET_CRYPTO_ecdsa_public_key_to_string(cred_issuer_key_ecdsa); | 274 | &cred_pointer->record_data.issuer_key, |
281 | if(0 == strcmp(issuer_key,cred_issuer_key)) | 275 | sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey))){ |
282 | { | 276 | |
283 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 277 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
284 | "Found issuer\n"); | 278 | "Found issuer\n"); |
285 | } | 279 | |
280 | } | ||
281 | |||
282 | |||
283 | |||
286 | 284 | ||
287 | } | 285 | } |
288 | |||
289 | 286 | ||
290 | 287 | ||
288 | |||
291 | //Start from next to head | 289 | //Start from next to head |
292 | for(vrh->attr_pointer = vrh->attr_queue_head->next ; vrh->attr_pointer->next != NULL ; | 290 | vrh->attr_pointer = vrh->attr_pointer->next; |
293 | vrh->attr_pointer = vrh->attr_pointer->next ){ | 291 | |
294 | 292 | ||
293 | |||
294 | if(vrh->attr_pointer->next != NULL){ | ||
295 | //Start with backward resolution | 295 | //Start with backward resolution |
296 | GNUNET_GNS_lookup (gns, | 296 | vrh->lookup_request = GNUNET_GNS_lookup (gns, |
297 | vrh->issuer_attribute, | 297 | vrh->issuer_attribute, |
298 | &vrh->issuer_key, //issuer_key, | 298 | &vrh->issuer_key, //issuer_key, |
299 | GNUNET_GNSRECORD_TYPE_ATTRIBUTE, | 299 | GNUNET_GNSRECORD_TYPE_ATTRIBUTE, |
300 | GNUNET_GNS_LO_DEFAULT, | 300 | GNUNET_GNS_LO_DEFAULT, |
301 | NULL, //shorten_key, always NULL | 301 | NULL, //shorten_key, always NULL |
302 | &start_backward_resolution, | 302 | &start_backward_resolution, |
303 | vrh); | 303 | vrh); |
304 | } | 304 | } |
305 | 305 | ||
306 | 306 | ||
307 | |||
307 | } | 308 | } |
308 | 309 | ||
309 | /** | 310 | /** |
@@ -327,13 +328,14 @@ send_lookup_response (void* cls, | |||
327 | const struct GNUNET_CREDENTIAL_CredentialRecordData *crd; | 328 | const struct GNUNET_CREDENTIAL_CredentialRecordData *crd; |
328 | struct GNUNET_CRYPTO_EccSignaturePurpose *purp; | 329 | struct GNUNET_CRYPTO_EccSignaturePurpose *purp; |
329 | struct CredentialRecordEntry *cr_entry; | 330 | struct CredentialRecordEntry *cr_entry; |
331 | uint32_t cred_verified; | ||
330 | 332 | ||
331 | cred_record_count = 0; | 333 | cred_record_count = 0; |
332 | struct AttributeRecordEntry *attr_entry; | 334 | struct AttributeRecordEntry *attr_entry; |
333 | 335 | ||
334 | struct GNUNET_CREDENTIAL_AttributeRecordData *ard = | 336 | struct GNUNET_CREDENTIAL_AttributeRecordData *ard = |
335 | GNUNET_new(struct GNUNET_CREDENTIAL_AttributeRecordData); | 337 | GNUNET_new(struct GNUNET_CREDENTIAL_AttributeRecordData); |
336 | 338 | ||
337 | attr_entry->record_data = *ard; | 339 | attr_entry->record_data = *ard; |
338 | ard->subject_key = vrh->issuer_key; | 340 | ard->subject_key = vrh->issuer_key; |
339 | GNUNET_CONTAINER_DLL_insert_tail (vrh->attr_queue_head, | 341 | GNUNET_CONTAINER_DLL_insert_tail (vrh->attr_queue_head, |
@@ -386,17 +388,19 @@ send_lookup_response (void* cls, | |||
386 | if(cred_verified != GNUNET_YES){ | 388 | if(cred_verified != GNUNET_YES){ |
387 | 389 | ||
388 | 390 | ||
389 | vrh->attr_pointer = vrh->attr_queue_head; | 391 | vrh->attr_pointer = vrh->attr_pointer->next; |
392 | if(vrh->attr_pointer != NULL){ | ||
390 | 393 | ||
391 | //Start with backward resolution | 394 | //Start with backward resolution |
392 | GNUNET_GNS_lookup (gns, | 395 | GNUNET_GNS_lookup (gns, |
393 | vrh->issuer_attribute, | 396 | vrh->issuer_attribute, |
394 | &vrh->issuer_key, //issuer_key, | 397 | &vrh->issuer_key, //issuer_key, |
395 | GNUNET_GNSRECORD_TYPE_ATTRIBUTE, | 398 | GNUNET_GNSRECORD_TYPE_ATTRIBUTE, |
396 | GNUNET_GNS_LO_DEFAULT, | 399 | GNUNET_GNS_LO_DEFAULT, |
397 | NULL, //shorten_key, always NULL | 400 | NULL, //shorten_key, always NULL |
398 | &start_backward_resolution, | 401 | &start_backward_resolution, |
399 | vrh); | 402 | vrh); |
403 | } | ||
400 | } | 404 | } |
401 | 405 | ||
402 | 406 | ||