aboutsummaryrefslogtreecommitdiff
path: root/src/transport/gnunet-service-transport-new.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/gnunet-service-transport-new.c')
-rw-r--r--src/transport/gnunet-service-transport-new.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/transport/gnunet-service-transport-new.c b/src/transport/gnunet-service-transport-new.c
index 95f181835..54af9cade 100644
--- a/src/transport/gnunet-service-transport-new.c
+++ b/src/transport/gnunet-service-transport-new.c
@@ -156,7 +156,8 @@ static struct GNUNET_TIME_Relative
156plugin_env_receive_callback (void *cls, const struct GNUNET_PeerIdentity *peer, 156plugin_env_receive_callback (void *cls, const struct GNUNET_PeerIdentity *peer,
157 const struct GNUNET_MessageHeader *message, 157 const struct GNUNET_MessageHeader *message,
158 const struct GNUNET_TRANSPORT_ATS_Information *ats, 158 const struct GNUNET_TRANSPORT_ATS_Information *ats,
159 uint32_t ats_count, struct Session *session, 159 uint32_t ats_count,
160 struct Session *session,
160 const char *sender_address, 161 const char *sender_address,
161 uint16_t sender_address_len) 162 uint16_t sender_address_len)
162{ 163{
@@ -222,7 +223,23 @@ plugin_env_receive_callback (void *cls, const struct GNUNET_PeerIdentity *peer,
222 ntohs (message->size), 223 ntohs (message->size),
223 &do_forward); 224 &do_forward);
224 if (do_forward == GNUNET_YES) 225 if (do_forward == GNUNET_YES)
225 GST_clients_broadcast (message, GNUNET_YES); 226 {
227 struct InboundMessage * im;
228 size_t size =
229 sizeof (struct InboundMessage) +
230 ntohs (message->size);
231
232 im = GNUNET_malloc (size);
233 im->header.size = htons (size);
234 im->header.type = htons (GNUNET_MESSAGE_TYPE_TRANSPORT_RECV);
235 im->ats_count = htonl (0);
236 memcpy (&(im->peer), peer, sizeof(struct GNUNET_PeerIdentity));
237 memcpy (&im[1], message, ntohs (message->size));
238
239 GST_clients_broadcast ((const struct GNUNET_MessageHeader *) im, GNUNET_YES);
240
241 GNUNET_free(im);
242 }
226 break; 243 break;
227 } 244 }
228 } 245 }