gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r34572 - gnunet/src/cadet


From: gnunet
Subject: [GNUnet-SVN] r34572 - gnunet/src/cadet
Date: Mon, 15 Dec 2014 08:17:30 +0100

Author: bartpolot
Date: 2014-12-15 08:17:30 +0100 (Mon, 15 Dec 2014)
New Revision: 34572

Modified:
   gnunet/src/cadet/gnunet-service-cadet_tunnel.c
Log:
Fixed key context manipulation in case of duplicate EPHM messages

Modified: gnunet/src/cadet/gnunet-service-cadet_tunnel.c
===================================================================
--- gnunet/src/cadet/gnunet-service-cadet_tunnel.c      2014-12-15 07:17:29 UTC 
(rev 34571)
+++ gnunet/src/cadet/gnunet-service-cadet_tunnel.c      2014-12-15 07:17:30 UTC 
(rev 34572)
@@ -1869,8 +1869,6 @@
     return;
   }
 
-  create_kx_ctx (t);
-
   /**
    * If the key is different from what we know, derive the new E/D keys.
    * Else destroy the rekey ctx (duplicate EPHM after successful KX).
@@ -1879,24 +1877,21 @@
                    sizeof (msg->ephemeral_key)))
   {
     t->peers_ephemeral_key = msg->ephemeral_key;
+    create_kx_ctx (t);
     create_keys (t);
     if (CADET_TUNNEL_KEY_OK == t->estate)
     {
-      t->estate = CADET_TUNNEL_KEY_REKEY;
+      GCT_change_estate (t, CADET_TUNNEL_KEY_REKEY);
     }
     if (GNUNET_SCHEDULER_NO_TASK != t->rekey_task)
       GNUNET_SCHEDULER_cancel (t->rekey_task);
     t->rekey_task = GNUNET_SCHEDULER_add_now (rekey_tunnel, t);
   }
-  else if (CADET_TUNNEL_KEY_OK == t->estate)
-  {
-    destroy_kx_ctx (t);
-  }
   if (CADET_TUNNEL_KEY_SENT == t->estate)
   {
     LOG (GNUNET_ERROR_TYPE_DEBUG, "  our key was sent, sending ping\n");
     send_ping (t);
-    t->estate = CADET_TUNNEL_KEY_PING;
+    GCT_change_estate (t, CADET_TUNNEL_KEY_PING);
   }
 }
 




reply via email to

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