gnunet

Main GNUnet Logic
Log | Files | Refs | Submodules | README | LICENSE

commit ef374afbbc5a305ad6e64d7658126d254fbdcb2d
parent aa35fc15e22f972072d9e091b01e3a3c70e598f0
Author: Bart Polot <bart@net.in.tum.de>
Date:   Mon, 16 Dec 2013 16:15:47 +0000

- stop kx on empty tunnels


Diffstat:
Msrc/mesh/gnunet-service-mesh_tunnel.c | 9++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/mesh/gnunet-service-mesh_tunnel.c b/src/mesh/gnunet-service-mesh_tunnel.c @@ -884,6 +884,7 @@ send_kx (struct MeshTunnel3 *t, if (NULL == c) { GNUNET_break (GNUNET_YES == t->destroy || MESH_TUNNEL3_READY != t->cstate); + GMT_debug (t); return; } type = ntohs (message->type); @@ -985,7 +986,7 @@ rekey_tunnel (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) t->rekey_task = GNUNET_SCHEDULER_NO_TASK; - LOG (GNUNET_ERROR_TYPE_DEBUG, "Re-key Tunnel\n"); + LOG (GNUNET_ERROR_TYPE_DEBUG, "Re-key Tunnel %s\n", GMT_2s (t)); if (NULL != tc && 0 != (GNUNET_SCHEDULER_REASON_SHUTDOWN & tc->reason)) return; @@ -1924,6 +1925,12 @@ GMT_destroy_empty (struct MeshTunnel3 *t) GMC_send_destroy (iter->c); } + if (GNUNET_SCHEDULER_NO_TASK != t->rekey_task) + { + t->estate = MESH_TUNNEL3_KEY_UNINITIALIZED; + GNUNET_SCHEDULER_cancel (t->rekey_task); + t->rekey_task = GNUNET_SCHEDULER_NO_TASK; + } t->cstate = MESH_TUNNEL3_NEW; t->destroy = GNUNET_YES; }