From: Bart Polot Date: Fri, 20 Dec 2013 04:17:08 +0000 (+0000) Subject: - debug X-Git-Tag: initial-import-from-subversion-38251~5276 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=97a2356a481cfb3a07bbb6bc7504132b14371437;p=oweals%2Fgnunet.git - debug --- diff --git a/src/mesh/gnunet-mesh.c b/src/mesh/gnunet-mesh.c index f27e27428..314039bfd 100644 --- a/src/mesh/gnunet-mesh.c +++ b/src/mesh/gnunet-mesh.c @@ -179,6 +179,12 @@ read_stdio (void *cls, data_size = read (0, buf, 60000); GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "stdio read %u bytes\n", data_size); + { + struct GNUNET_HashCode hash; + GNUNET_CRYPTO_hash (buf, data_size, &hash); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " hash SEND %s (%u)\n", + GNUNET_h2s_full (&hash), data_size); + } if (data_size < 1) { GNUNET_SCHEDULER_shutdown(); @@ -334,7 +340,17 @@ data_callback (void *cls, len = ntohs (message->size) - sizeof (*message); GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Got %u bytes\n", len); - write (1, (char *) &message[1], len); + GNUNET_BIO_write (1, (char *) &message[1], len); + { + struct GNUNET_HashCode hash; + + GNUNET_CRYPTO_hash (message, ntohs (message->size), &hash); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " api hash RECV %s (%u)\n", + GNUNET_h2s_full (&hash), ntohs (message->size)); + GNUNET_CRYPTO_hash (&message[1], len, &hash); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " hash RECV %s (%u)\n", + GNUNET_h2s_full (&hash), len); + } return GNUNET_OK; } diff --git a/src/mesh/gnunet-service-mesh_connection.c b/src/mesh/gnunet-service-mesh_connection.c index c31ee2aab..26182cbe5 100644 --- a/src/mesh/gnunet-service-mesh_connection.c +++ b/src/mesh/gnunet-service-mesh_connection.c @@ -1652,6 +1652,7 @@ GMC_handle_broken (void* cls, fwd = is_fwd (c, id); if (GMC_is_terminal (c, fwd)) { + path_invalidate (c->path); if (0 < c->pending_messages) c->destroy = GNUNET_YES; else diff --git a/src/mesh/mesh_api.c b/src/mesh/mesh_api.c index 87bca0be5..7890c7d7f 100644 --- a/src/mesh/mesh_api.c +++ b/src/mesh/mesh_api.c @@ -832,6 +832,8 @@ process_incoming_data (struct GNUNET_MESH_Handle *h, const struct GNUNET_MESH_MessageHandler *handler; struct GNUNET_MESH_LocalData *dmsg; struct GNUNET_MESH_Channel *ch; + struct GNUNET_HashCode hash; + size_t size; unsigned int i; uint16_t type; @@ -842,7 +844,10 @@ process_incoming_data (struct GNUNET_MESH_Handle *h, LOG (GNUNET_ERROR_TYPE_DEBUG, " %s data on channel %s [%X]\n", GM_f2s (ch->chid >= GNUNET_MESH_LOCAL_CHANNEL_ID_SERV), GNUNET_i2s (GNUNET_PEER_resolve2 (ch->peer)), ntohl (dmsg->id)); - LOG (GNUNET_ERROR_TYPE_DEBUG, " %u bytes\n", ntohs (message->size)); + + size = ntohs (message->size); + LOG (GNUNET_ERROR_TYPE_DEBUG, " %u bytes\n", size); + if (NULL == ch) { /* Channel was ignored/destroyed, probably service didn't get it yet */ @@ -850,6 +855,7 @@ process_incoming_data (struct GNUNET_MESH_Handle *h, return; } type = ntohs (payload->type); + size = ntohs (payload->size); LOG (GNUNET_ERROR_TYPE_DEBUG, " payload type %u\n", type); for (i = 0; i < h->n_handlers; i++) { @@ -859,6 +865,9 @@ process_incoming_data (struct GNUNET_MESH_Handle *h, handler->type); if (handler->type == type) { + GNUNET_CRYPTO_hash (payload, size, &hash); + LOG (GNUNET_ERROR_TYPE_DEBUG, " hash recv %s (%u)\n", + GNUNET_h2s_full (&hash), size); if (GNUNET_OK != handler->callback (h->cls, ch, &ch->ctx, payload)) { @@ -1124,6 +1133,12 @@ send_callback (void *cls, size_t size, void *buf) psize = th->notify (th->notify_cls, size - sizeof (struct GNUNET_MESH_LocalData), mh); + { + struct GNUNET_HashCode hash; + GNUNET_CRYPTO_hash (mh, psize, &hash); + LOG (GNUNET_ERROR_TYPE_DEBUG, "# hash send %s (%u)\n", + GNUNET_h2s_full (&hash), psize); + } if (psize > 0) { psize += sizeof (struct GNUNET_MESH_LocalData);