aboutsummaryrefslogtreecommitdiff
path: root/src/identity/gnunet-service-identity.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/identity/gnunet-service-identity.c')
-rw-r--r--src/identity/gnunet-service-identity.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/identity/gnunet-service-identity.c b/src/identity/gnunet-service-identity.c
index f1156e0b6..07296a882 100644
--- a/src/identity/gnunet-service-identity.c
+++ b/src/identity/gnunet-service-identity.c
@@ -244,6 +244,7 @@ create_update_message (struct Ego *ego)
244 GNUNET_MESSAGE_TYPE_IDENTITY_UPDATE); 244 GNUNET_MESSAGE_TYPE_IDENTITY_UPDATE);
245 um->name_len = htons (name_len); 245 um->name_len = htons (name_len);
246 um->end_of_list = htons (GNUNET_NO); 246 um->end_of_list = htons (GNUNET_NO);
247 um->key_len = htons (key_len);
247 GNUNET_memcpy (&um[1], ego->identifier, name_len); 248 GNUNET_memcpy (&um[1], ego->identifier, name_len);
248 GNUNET_IDENTITY_write_private_key_to_buffer (&ego->pk, 249 GNUNET_IDENTITY_write_private_key_to_buffer (&ego->pk,
249 ((char*) &um[1]) + name_len, 250 ((char*) &um[1]) + name_len,
@@ -287,6 +288,7 @@ handle_start_message (void *cls,
287 GNUNET_MESSAGE_TYPE_IDENTITY_UPDATE); 288 GNUNET_MESSAGE_TYPE_IDENTITY_UPDATE);
288 ume->end_of_list = htons (GNUNET_YES); 289 ume->end_of_list = htons (GNUNET_YES);
289 ume->name_len = htons (0); 290 ume->name_len = htons (0);
291 ume->key_len = htons (0);
290 GNUNET_MQ_send (GNUNET_SERVICE_client_get_mq (client), 292 GNUNET_MQ_send (GNUNET_SERVICE_client_get_mq (client),
291 env); 293 env);
292 } 294 }
@@ -426,6 +428,7 @@ notify_listeners (struct Ego *ego)
426 um->header.size = htons (sizeof(struct UpdateMessage) + name_len + key_len); 428 um->header.size = htons (sizeof(struct UpdateMessage) + name_len + key_len);
427 um->name_len = htons (name_len); 429 um->name_len = htons (name_len);
428 um->end_of_list = htons (GNUNET_NO); 430 um->end_of_list = htons (GNUNET_NO);
431 um->key_len = htons (key_len);
429 GNUNET_memcpy (&um[1], ego->identifier, name_len); 432 GNUNET_memcpy (&um[1], ego->identifier, name_len);
430 GNUNET_IDENTITY_write_private_key_to_buffer (&ego->pk, 433 GNUNET_IDENTITY_write_private_key_to_buffer (&ego->pk,
431 ((char*) &um[1]) + name_len, 434 ((char*) &um[1]) + name_len,
@@ -458,8 +461,7 @@ check_create_message (void *cls,
458 return GNUNET_SYSERR; 461 return GNUNET_SYSERR;
459 } 462 }
460 name_len = ntohs (msg->name_len); 463 name_len = ntohs (msg->name_len);
461 key_len = ntohl (msg->key_len); 464 key_len = ntohs (msg->key_len);
462 GNUNET_break (0 == ntohs (msg->reserved));
463 if (name_len + key_len + sizeof(struct CreateRequestMessage) != size) 465 if (name_len + key_len + sizeof(struct CreateRequestMessage) != size)
464 { 466 {
465 GNUNET_break (0); 467 GNUNET_break (0);
@@ -494,7 +496,7 @@ handle_create_message (void *cls,
494 size_t kb_read; 496 size_t kb_read;
495 497
496 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received CREATE message from client\n"); 498 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received CREATE message from client\n");
497 key_len = ntohl (crm->key_len); 499 key_len = ntohs (crm->key_len);
498 if ((GNUNET_SYSERR == 500 if ((GNUNET_SYSERR ==
499 GNUNET_IDENTITY_read_private_key_from_buffer (&crm[1], 501 GNUNET_IDENTITY_read_private_key_from_buffer (&crm[1],
500 key_len, 502 key_len,