aboutsummaryrefslogtreecommitdiff
path: root/src/messenger/gnunet-service-messenger_room.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/messenger/gnunet-service-messenger_room.c')
-rw-r--r--src/messenger/gnunet-service-messenger_room.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/messenger/gnunet-service-messenger_room.c b/src/messenger/gnunet-service-messenger_room.c
index 920abb10e..77657591e 100644
--- a/src/messenger/gnunet-service-messenger_room.c
+++ b/src/messenger/gnunet-service-messenger_room.c
@@ -212,7 +212,9 @@ join_room (struct GNUNET_MESSENGER_SrvRoom *room,
212 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Joining room: %s (%s)\n", GNUNET_h2s (get_room_key (room)), 212 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Joining room: %s (%s)\n", GNUNET_h2s (get_room_key (room)),
213 GNUNET_sh2s (get_member_id(member))); 213 GNUNET_sh2s (get_member_id(member)));
214 214
215 if (GNUNET_OK != change_handle_member_id (handle, get_room_key(room), get_member_id(member))) 215 const struct GNUNET_ShortHashCode *member_id = get_member_id(member);
216
217 if (GNUNET_OK != change_handle_member_id (handle, get_room_key(room), member_id))
216 return GNUNET_NO; 218 return GNUNET_NO;
217 219
218 struct GNUNET_MESSENGER_Message *message = create_message_join (get_handle_ego (handle)); 220 struct GNUNET_MESSENGER_Message *message = create_message_join (get_handle_ego (handle));
@@ -224,6 +226,7 @@ join_room (struct GNUNET_MESSENGER_SrvRoom *room,
224 return GNUNET_NO; 226 return GNUNET_NO;
225 } 227 }
226 228
229 GNUNET_memcpy(&(message->header.sender_id), member_id, sizeof(*member_id));
227 return send_room_message (room, handle, message); 230 return send_room_message (room, handle, message);
228} 231}
229 232
@@ -262,7 +265,7 @@ notify_about_members (struct GNUNET_MESSENGER_MemberNotify *notify,
262 const struct GNUNET_MESSENGER_Message *message = get_store_message(message_store, &(element->hash)); 265 const struct GNUNET_MESSENGER_Message *message = get_store_message(message_store, &(element->hash));
263 266
264 if (message) 267 if (message)
265 notify_handle_message (notify->handle, get_room_key(notify->room), session, message, &(element->hash)); 268 notify_handle_message (notify->handle, notify->room, session, message, &(element->hash));
266 } 269 }
267} 270}
268 271
@@ -377,7 +380,9 @@ open_room (struct GNUNET_MESSENGER_SrvRoom *room,
377 } 380 }
378 381
379exit_open_room: 382exit_open_room:
380 return (room->port ? send_room_message (room, handle, create_message_peer (room->service)) : GNUNET_NO); 383 struct GNUNET_MESSENGER_Message *peer_msg = create_message_peer (room->service);
384 GNUNET_memcpy(&(peer_msg->header.sender_id), member_id, sizeof(*member_id));
385 return (room->port ? send_room_message (room, handle, peer_msg) : GNUNET_NO);
381} 386}
382 387
383int 388int