gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r19436 - gnunet/src/mesh
Date: Thu, 26 Jan 2012 15:01:56 +0100

Author: bartpolot
Date: 2012-01-26 15:01:56 +0100 (Thu, 26 Jan 2012)
New Revision: 19436

Modified:
   gnunet/src/mesh/gnunet-service-mesh.c
Log:
Workaround for #2104, initialize local tid when local type destination connects 
after tunnel connect request by origin

Modified: gnunet/src/mesh/gnunet-service-mesh.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh.c       2012-01-26 13:23:49 UTC (rev 
19435)
+++ gnunet/src/mesh/gnunet-service-mesh.c       2012-01-26 14:01:56 UTC (rev 
19436)
@@ -1453,14 +1453,27 @@
       return;
     }
 
+    // FIXME always send create path to self
     if (p->length > 1)
     {
       send_create_path (peer, p, t);
     }
     else
     {
+      GNUNET_HashCode hash;
+
       path_destroy (p);
       send_client_peer_connected (t, myid);
+      t->local_tid_dest = next_local_tid++;
+      GNUNET_CRYPTO_hash (&t->local_tid_dest, sizeof (MESH_TunnelNumber),
+                          &hash);
+      if (GNUNET_OK !=
+          GNUNET_CONTAINER_multihashmap_put (incoming_tunnels, &hash, t,
+                                             
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST))
+      {
+        GNUNET_break (0);
+        return;
+      }
     }
   }
   else if (NULL == peer->dhtget)
@@ -3544,6 +3557,9 @@
   struct MeshPeerInfo *peer_info;
   struct MeshPeerPath *p;
 
+#if MESH_DEBUG
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "MESH: got type DHT result!\n");
+#endif
   if (size != sizeof (struct GNUNET_PeerIdentity))
   {
     GNUNET_break_op (0);




reply via email to

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