diff options
author | TheJackiMonster <thejackimonster@gmail.com> | 2021-11-19 20:18:07 +0100 |
---|---|---|
committer | TheJackiMonster <thejackimonster@gmail.com> | 2021-11-19 20:18:07 +0100 |
commit | 020bc56abfb923fa2f4c770be71eb8b26adfbb89 (patch) | |
tree | 7c4f8e8d6bd6fc97041fa4a1de1a0f8d3039e163 /src/messenger/gnunet-service-messenger_handle.c | |
parent | 7e5fdf07515b4a921de564adc67b2808e6ad28e2 (diff) | |
download | gnunet-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.c | 14 |
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 | ||
502 | static const struct GNUNET_MESSENGER_MemberSession* | 502 | static const struct GNUNET_MESSENGER_MemberSession* |
503 | get_handle_member_session (struct GNUNET_MESSENGER_SrvHandle *handle, | 503 | get_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 | ||
525 | void | 525 | void |
526 | notify_handle_message (struct GNUNET_MESSENGER_SrvHandle *handle, | 526 | notify_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) |