diff options
author | TheJackiMonster <thejackimonster@gmail.com> | 2021-03-20 13:53:23 +0100 |
---|---|---|
committer | TheJackiMonster <thejackimonster@gmail.com> | 2021-04-04 17:58:11 +0200 |
commit | ac3aa3cc3a617bc54ed8beb2b5a30c0b95483525 (patch) | |
tree | 6e0444e568722f18501746665a07dfa3434c7ad6 /src/messenger/gnunet-service-messenger_message_handle.c | |
parent | 2413977f917534aa24ef562a28da193a2cdaa343 (diff) | |
download | gnunet-ac3aa3cc3a617bc54ed8beb2b5a30c0b95483525.tar.gz gnunet-ac3aa3cc3a617bc54ed8beb2b5a30c0b95483525.zip |
-multiple fixes and correction regarding messenger service
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-added message states to tunnels
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fixed requests for deleted messages returning previous ones
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-added automatic solving of member id collissions
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-added light timestamp verification
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-fixed decoding asserts and member session forwarding
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-added permission check for member sessions during local join
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
Diffstat (limited to 'src/messenger/gnunet-service-messenger_message_handle.c')
-rw-r--r-- | src/messenger/gnunet-service-messenger_message_handle.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/messenger/gnunet-service-messenger_message_handle.c b/src/messenger/gnunet-service-messenger_message_handle.c index c22e51fbf..1d489310c 100644 --- a/src/messenger/gnunet-service-messenger_message_handle.c +++ b/src/messenger/gnunet-service-messenger_message_handle.c | |||
@@ -44,6 +44,13 @@ handle_message_join (struct GNUNET_MESSENGER_SrvRoom *room, struct GNUNET_MESSEN | |||
44 | 44 | ||
45 | if (GNUNET_OK != reset_member_session(session, hash)) | 45 | if (GNUNET_OK != reset_member_session(session, hash)) |
46 | GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Resetting member session failed!\n"); | 46 | GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Resetting member session failed!\n"); |
47 | |||
48 | solve_room_member_collisions ( | ||
49 | room, | ||
50 | &(message->body.join.key), | ||
51 | &(message->header.sender_id), | ||
52 | GNUNET_TIME_absolute_ntoh(message->header.timestamp) | ||
53 | ); | ||
47 | } | 54 | } |
48 | 55 | ||
49 | void | 56 | void |
@@ -91,6 +98,13 @@ handle_message_id (struct GNUNET_MESSENGER_SrvRoom *room, struct GNUNET_MESSENGE | |||
91 | const struct GNUNET_MESSENGER_Message *message, const struct GNUNET_HashCode *hash) | 98 | const struct GNUNET_MESSENGER_Message *message, const struct GNUNET_HashCode *hash) |
92 | { | 99 | { |
93 | handle_session_switch (session, message, hash); | 100 | handle_session_switch (session, message, hash); |
101 | |||
102 | solve_room_member_collisions ( | ||
103 | room, | ||
104 | get_member_session_public_key(session), | ||
105 | &(message->body.id.id), | ||
106 | GNUNET_TIME_absolute_ntoh(message->header.timestamp) | ||
107 | ); | ||
94 | } | 108 | } |
95 | 109 | ||
96 | void | 110 | void |