struct TransportClient *tc;
GNUNET_assert (lookup_client (client) == NULL);
-
tc = GNUNET_malloc (sizeof (struct TransportClient));
tc->client = client;
struct SendTransmitContinuationContext *stcc;
uint16_t size;
uint16_t msize;
+ struct TransportClient *tc;
+
+ tc = lookup_client (client);
+ if (NULL == tc)
+ {
+ /* client asked for transmission before 'START' */
+ GNUNET_break (0);
+ GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
+ return;
+ }
size = ntohs (message->size);
if (size <
GNUNET_SERVER_receive_done (client, GNUNET_OK);
stcc = GNUNET_malloc (sizeof (struct SendTransmitContinuationContext));
stcc->target = obm->peer;
- stcc->client = client;
+ stcc->client = client; // !!!!
GNUNET_SERVER_client_keep (client);
GST_neighbours_send (&obm->peer, obmm, msize,
GNUNET_TIME_relative_ntoh (obm->timeout),
tc = lookup_client (client);
if (NULL == tc)
- tc = setup_client (client);
+ {
+ GNUNET_break (0);
+ return;
+ }
unicast (tc, msg, may_drop);
}