gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r30890 - gnunet/src/mesh
Date: Wed, 27 Nov 2013 05:28:33 +0100

Author: bartpolot
Date: 2013-11-27 05:28:33 +0100 (Wed, 27 Nov 2013)
New Revision: 30890

Modified:
   gnunet/src/mesh/gnunet-service-mesh_tunnel.c
Log:
- fix case of reconnection during valid handshake


Modified: gnunet/src/mesh/gnunet-service-mesh_tunnel.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh_tunnel.c        2013-11-27 04:19:13 UTC 
(rev 30889)
+++ gnunet/src/mesh/gnunet-service-mesh_tunnel.c        2013-11-27 04:28:33 UTC 
(rev 30890)
@@ -1528,11 +1528,19 @@
               GMP_2s (t->peer), cstate2s (state));
   if (myid != GMP_get_short_id (t->peer) &&
       MESH_TUNNEL3_READY != t->cstate &&
-      MESH_TUNNEL3_READY == state &&
-      MESH_TUNNEL3_KEY_UNINITIALIZED == t->estate)
+      MESH_TUNNEL3_READY == state)
   {
-    LOG (GNUNET_ERROR_TYPE_DEBUG, "  triggered rekey\n");
-    rekey_tunnel (t, NULL);
+    t->cstate = state;
+    if (MESH_TUNNEL3_KEY_OK == t->estate)
+    {
+      LOG (GNUNET_ERROR_TYPE_DEBUG, "  triggered send queued data\n");
+      send_queued_data (t);
+    }
+    else if (MESH_TUNNEL3_KEY_UNINITIALIZED == t->estate)
+    {
+      LOG (GNUNET_ERROR_TYPE_DEBUG, "  triggered rekey\n");
+      rekey_tunnel (t, NULL);
+    }
   }
   t->cstate = state;
 
@@ -1710,6 +1718,7 @@
     GMC_send_destroy (iter->c);
   }
 
+  t->cstate = MESH_TUNNEL3_NEW;
   t->destroy = GNUNET_YES;
 }
 




reply via email to

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