[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r16612 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r16612 - gnunet/src/transport |
Date: |
Thu, 25 Aug 2011 16:17:53 +0200 |
Author: wachs
Date: 2011-08-25 16:17:53 +0200 (Thu, 25 Aug 2011)
New Revision: 16612
Modified:
gnunet/src/transport/gnunet-service-transport-new.c
Log:
transport service sends wrong message type to transport_api
transport api requests GNUNET_MESSAGE_TYPE_TRANSPORT_RECV for payload messages
Modified: gnunet/src/transport/gnunet-service-transport-new.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport-new.c 2011-08-25 13:25:57 UTC
(rev 16611)
+++ gnunet/src/transport/gnunet-service-transport-new.c 2011-08-25 14:17:53 UTC
(rev 16612)
@@ -156,7 +156,8 @@
plugin_env_receive_callback (void *cls, const struct GNUNET_PeerIdentity *peer,
const struct GNUNET_MessageHeader *message,
const struct GNUNET_TRANSPORT_ATS_Information
*ats,
- uint32_t ats_count, struct Session *session,
+ uint32_t ats_count,
+ struct Session *session,
const char *sender_address,
uint16_t sender_address_len)
{
@@ -222,7 +223,23 @@
ntohs (message->size),
&do_forward);
if (do_forward == GNUNET_YES)
- GST_clients_broadcast (message, GNUNET_YES);
+ {
+ struct InboundMessage * im;
+ size_t size =
+ sizeof (struct InboundMessage) +
+ ntohs (message->size);
+
+ im = GNUNET_malloc (size);
+ im->header.size = htons (size);
+ im->header.type = htons (GNUNET_MESSAGE_TYPE_TRANSPORT_RECV);
+ im->ats_count = htonl (0);
+ memcpy (&(im->peer), peer, sizeof(struct GNUNET_PeerIdentity));
+ memcpy (&im[1], message, ntohs (message->size));
+
+ GST_clients_broadcast ((const struct GNUNET_MessageHeader *) im,
GNUNET_YES);
+
+ GNUNET_free(im);
+ }
break;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r16612 - gnunet/src/transport,
gnunet <=