aboutsummaryrefslogtreecommitdiff
path: root/src/messenger/gnunet-service-messenger_handle.c
diff options
context:
space:
mode:
authorTheJackiMonster <thejackimonster@gmail.com>2021-11-19 20:18:07 +0100
committerTheJackiMonster <thejackimonster@gmail.com>2021-11-19 20:18:07 +0100
commit020bc56abfb923fa2f4c770be71eb8b26adfbb89 (patch)
tree7c4f8e8d6bd6fc97041fa4a1de1a0f8d3039e163 /src/messenger/gnunet-service-messenger_handle.c
parent7e5fdf07515b4a921de564adc67b2808e6ad28e2 (diff)
downloadgnunet-020bc56abfb923fa2f4c770be71eb8b26adfbb89.tar.gz
gnunet-020bc56abfb923fa2f4c770be71eb8b26adfbb89.zip
-fix missing own member session during room opening
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
Diffstat (limited to 'src/messenger/gnunet-service-messenger_handle.c')
-rw-r--r--src/messenger/gnunet-service-messenger_handle.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/messenger/gnunet-service-messenger_handle.c b/src/messenger/gnunet-service-messenger_handle.c
index 2095f8b29..fa6830697 100644
--- a/src/messenger/gnunet-service-messenger_handle.c
+++ b/src/messenger/gnunet-service-messenger_handle.c
@@ -501,14 +501,14 @@ get_next_member_session_contect(const struct GNUNET_MESSENGER_MemberSession *ses
501 501
502static const struct GNUNET_MESSENGER_MemberSession* 502static const struct GNUNET_MESSENGER_MemberSession*
503get_handle_member_session (struct GNUNET_MESSENGER_SrvHandle *handle, 503get_handle_member_session (struct GNUNET_MESSENGER_SrvHandle *handle,
504 struct GNUNET_MESSENGER_SrvRoom *room,
504 const struct GNUNET_HashCode *key) 505 const struct GNUNET_HashCode *key)
505{ 506{
506 GNUNET_assert((handle) && (key) && (handle->service)); 507 GNUNET_assert((handle) && (room) && (key) && (handle->service));
507 508
508 const struct GNUNET_ShortHashCode *id = get_handle_member_id(handle, key); 509 const struct GNUNET_ShortHashCode *id = get_handle_member_id(handle, key);
509 struct GNUNET_MESSENGER_SrvRoom *room = get_service_room(handle->service, key);
510 510
511 if ((!id) || (!room)) 511 if (!id)
512 return NULL; 512 return NULL;
513 513
514 struct GNUNET_MESSENGER_MemberStore *store = get_room_member_store(room); 514 struct GNUNET_MESSENGER_MemberStore *store = get_room_member_store(room);
@@ -524,12 +524,14 @@ get_handle_member_session (struct GNUNET_MESSENGER_SrvHandle *handle,
524 524
525void 525void
526notify_handle_message (struct GNUNET_MESSENGER_SrvHandle *handle, 526notify_handle_message (struct GNUNET_MESSENGER_SrvHandle *handle,
527 const struct GNUNET_HashCode *key, 527 struct GNUNET_MESSENGER_SrvRoom *room,
528 const struct GNUNET_MESSENGER_MemberSession *session, 528 const struct GNUNET_MESSENGER_MemberSession *session,
529 const struct GNUNET_MESSENGER_Message *message, 529 const struct GNUNET_MESSENGER_Message *message,
530 const struct GNUNET_HashCode *hash) 530 const struct GNUNET_HashCode *hash)
531{ 531{
532 GNUNET_assert((handle) && (key) && (session) && (message) && (hash)); 532 GNUNET_assert((handle) && (room) && (session) && (message) && (hash));
533
534 const struct GNUNET_HashCode *key = get_room_key(room);
533 535
534 if ((!handle->mq) || (!get_handle_member_id (handle, key))) 536 if ((!handle->mq) || (!get_handle_member_id (handle, key)))
535 { 537 {
@@ -575,7 +577,7 @@ notify_handle_message (struct GNUNET_MESSENGER_SrvHandle *handle,
575 577
576 msg->flags = (uint32_t) GNUNET_MESSENGER_FLAG_NONE; 578 msg->flags = (uint32_t) GNUNET_MESSENGER_FLAG_NONE;
577 579
578 if (get_handle_member_session(handle, key) == session) 580 if (get_handle_member_session(handle, room, key) == session)
579 msg->flags |= (uint32_t) GNUNET_MESSENGER_FLAG_SENT; 581 msg->flags |= (uint32_t) GNUNET_MESSENGER_FLAG_SENT;
580 582
581 if (private_message) 583 if (private_message)