gnunet-svn
[Top][All Lists]
Advanced

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

[gnunet] 01/04: Transport: Fixed bug while setting up key material for b


From: gnunet
Subject: [gnunet] 01/04: Transport: Fixed bug while setting up key material for backchannel.
Date: Thu, 02 Nov 2023 16:41:23 +0100

This is an automated email from the git hooks/post-receive script.

t3sserakt pushed a commit to branch master
in repository gnunet.

commit 53ad5e48f0e403760954233e8d60b4f5f6c1326c
Author: t3sserakt <t3ss@posteo.de>
AuthorDate: Thu Nov 2 16:36:15 2023 +0100

    Transport: Fixed bug while setting up key material for backchannel.
---
 src/service/transport/gnunet-service-transport.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/service/transport/gnunet-service-transport.c 
b/src/service/transport/gnunet-service-transport.c
index ff5c99bb5..dbd071c85 100644
--- a/src/service/transport/gnunet-service-transport.c
+++ b/src/service/transport/gnunet-service-transport.c
@@ -1776,7 +1776,7 @@ struct DistanceVector
   /**
    * Master secret for the setup of the Key material for the backchannel. 
    */
-  struct GNUNET_HashCode km;
+  struct GNUNET_HashCode *km;
 };
 
 
@@ -3417,6 +3417,7 @@ free_dv_route (struct DistanceVector *dv)
       GNUNET_SCHEDULER_cancel (dv->timeout_task);
       dv->timeout_task = NULL;
     }
+    GNUNET_free (dv->km);
     GNUNET_free (dv);
   }
 }
@@ -4839,6 +4840,7 @@ encapsulate_for_dv (struct DistanceVector *dv,
   char enc[sizeof(struct TransportDVBoxPayloadP) + enc_body_size] GNUNET_ALIGN;
   struct DVKeyState *key;
   struct GNUNET_TIME_Relative rtt;
+  struct GNUNET_HashCode km;
 
   key = GNUNET_new (struct DVKeyState);
   /* Encrypt payload */
@@ -4851,7 +4853,9 @@ encapsulate_for_dv (struct DistanceVector *dv,
   {
     GNUNET_CRYPTO_eddsa_kem_encaps (&dv->target.public_key,
                                     &dv->ephemeral_key,
-                                    &dv->km);
+                                    &km);
+    dv->km = GNUNET_new (struct GNUNET_HashCode);
+    GNUNET_memcpy (dv->km, &km, sizeof(struct GNUNET_HashCode));
     sign_ephemeral (dv);
   }
   box_hdr.ephemeral_key = dv->ephemeral_key;
@@ -4863,7 +4867,7 @@ encapsulate_for_dv (struct DistanceVector *dv,
   // We are creating this key, so this must work.
   // FIXME: Possibly also add return values here. We are processing
   // Input from other peers...
-  dv_setup_key_state_from_km (&dv->km, &box_hdr.iv, key);
+  dv_setup_key_state_from_km (dv->km, &box_hdr.iv, key);
   payload_hdr.sender = GST_my_identity;
   payload_hdr.monotonic_time = GNUNET_TIME_absolute_hton (dv->monotime);
   dv_encrypt (key, &payload_hdr, enc, sizeof(payload_hdr));

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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