gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r27604 - gnunet/src/mesh


From: gnunet
Subject: [GNUnet-SVN] r27604 - gnunet/src/mesh
Date: Wed, 26 Jun 2013 02:42:44 +0200

Author: bartpolot
Date: 2013-06-26 02:42:44 +0200 (Wed, 26 Jun 2013)
New Revision: 27604

Modified:
   gnunet/src/mesh/gnunet-service-mesh-new.c
Log:
- avoid double adding of tunnel to peer_info for local tunnels

Modified: gnunet/src/mesh/gnunet-service-mesh-new.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh-new.c   2013-06-26 00:41:08 UTC (rev 
27603)
+++ gnunet/src/mesh/gnunet-service-mesh-new.c   2013-06-26 00:42:44 UTC (rev 
27604)
@@ -1512,6 +1512,11 @@
 static void
 peer_info_add_tunnel (struct MeshPeerInfo *p, struct MeshTunnel *t)
 {
+  if (0 != t->dest)
+  {
+    GNUNET_break (t->dest == p->id);
+    return;
+  }
   t->dest = p->id;
   GNUNET_PEER_change_rc (t->dest, 1);
   GNUNET_array_append (p->tunnels, p->ntunnels, t);
@@ -4121,7 +4126,7 @@
   }
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "  by client %u\n", c->id);
 
-  /* Message sanity check */
+  /* Message size sanity check */
   if (sizeof (struct GNUNET_MESH_TunnelMessage) != ntohs (message->size))
   {
     GNUNET_break (0);
@@ -4148,6 +4153,7 @@
     return;
   }
 
+  /* Create tunnel */
   while (NULL != tunnel_get_by_pi (myid, next_tid))
     next_tid = (next_tid + 1) & ~GNUNET_MESH_LOCAL_TUNNEL_ID_CLI;
   t = tunnel_new (myid, next_tid, c, tid);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]