gnunet-svn
[Top][All Lists]
Advanced

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

[gnunet] branch master updated: -fix messenger renaming


From: gnunet
Subject: [gnunet] branch master updated: -fix messenger renaming
Date: Tue, 05 Apr 2022 22:46:49 +0200

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

thejackimonster pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new d887cda50 -fix messenger renaming
d887cda50 is described below

commit d887cda509e0001adcdeb74feca80a71416827b7
Author: TheJackiMonster <thejackimonster@gmail.com>
AuthorDate: Tue Apr 5 22:46:38 2022 +0200

    -fix messenger renaming
    
    Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
---
 src/messenger/gnunet-service-messenger_ego_store.c | 72 ++++++++++++++--------
 1 file changed, 47 insertions(+), 25 deletions(-)

diff --git a/src/messenger/gnunet-service-messenger_ego_store.c 
b/src/messenger/gnunet-service-messenger_ego_store.c
index bcc301e95..8f40a924b 100644
--- a/src/messenger/gnunet-service-messenger_ego_store.c
+++ b/src/messenger/gnunet-service-messenger_ego_store.c
@@ -181,8 +181,14 @@ create_store_ego (struct GNUNET_MESSENGER_EgoStore *store,
 
   element->identifier = GNUNET_strdup (identifier);
 
-  element->operation = GNUNET_IDENTITY_create (store->identity, identifier, 
NULL,
-                                               GNUNET_IDENTITY_TYPE_ECDSA, 
callback_ego_create, element);
+  element->operation = GNUNET_IDENTITY_create (
+      store->identity,
+      identifier,
+      NULL,
+      GNUNET_IDENTITY_TYPE_ECDSA,
+      callback_ego_create,
+      element
+  );
 
   GNUNET_CONTAINER_DLL_insert (store->op_start, store->op_end, element);
 }
@@ -228,14 +234,28 @@ callback_ego_lookup (void *cls,
 
   GNUNET_assert (element->identifier);
 
-  struct GNUNET_MESSENGER_Ego *msg_ego;
+  struct GNUNET_MESSENGER_Ego *msg_ego = NULL;
 
   if (ego)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "New ego looked up: '%s'\n", 
element->identifier);
     msg_ego = update_store_ego (
-        store, element->identifier, GNUNET_IDENTITY_ego_get_private_key(ego)
+        store,
+        element->identifier,
+        GNUNET_IDENTITY_ego_get_private_key(ego)
     );
+  }
   else
-    msg_ego = NULL;
+  {
+    struct GNUNET_HashCode hash;
+    GNUNET_CRYPTO_hash (element->identifier, strlen (element->identifier), 
&hash);
+
+    if (GNUNET_CONTAINER_multihashmap_get (store->egos, &hash))
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Looked up ego got deleted: 
'%s'\n", element->identifier);
+      delete_store_ego(store, element->identifier);
+    }
+  }
 
   if (element->cb)
     element->cb(element->cls, element->identifier, msg_ego);
@@ -261,28 +281,18 @@ lookup_store_ego(struct GNUNET_MESSENGER_EgoStore *store,
     return;
   }
 
-  struct GNUNET_HashCode hash;
-  GNUNET_CRYPTO_hash (identifier, strlen (identifier), &hash);
-
-  struct GNUNET_MESSENGER_Ego *ego = GNUNET_CONTAINER_multihashmap_get 
(store->egos, &hash);
+  struct GNUNET_MESSENGER_EgoLookup *element = GNUNET_new (struct 
GNUNET_MESSENGER_EgoLookup);
 
-  if (ego)
-    lookup(cls, identifier, ego);
-  else
-  {
-    struct GNUNET_MESSENGER_EgoLookup *element = GNUNET_new (struct 
GNUNET_MESSENGER_EgoLookup);
-
-    element->store = store;
+  element->store = store;
 
-    element->cb = lookup;
-    element->cls = cls;
+  element->cb = lookup;
+  element->cls = cls;
 
-    element->identifier = GNUNET_strdup (identifier);
+  element->identifier = GNUNET_strdup (identifier);
 
-    element->lookup = GNUNET_IDENTITY_ego_lookup(store->cfg, identifier, 
callback_ego_lookup, element);
+  element->lookup = GNUNET_IDENTITY_ego_lookup(store->cfg, identifier, 
callback_ego_lookup, element);
 
-    GNUNET_CONTAINER_DLL_insert (store->lu_start, store->lu_end, element);
-  }
+  GNUNET_CONTAINER_DLL_insert (store->lu_start, store->lu_end, element);
 }
 
 struct GNUNET_MESSENGER_Ego*
@@ -334,6 +344,8 @@ delete_store_ego (struct GNUNET_MESSENGER_EgoStore *store,
 
   GNUNET_CONTAINER_multihashmap_remove (store->egos, &hash, ego);
   GNUNET_free(ego);
+
+
 }
 
 static void
@@ -391,12 +403,17 @@ rename_store_ego (struct GNUNET_MESSENGER_EgoStore *store,
 
   element->identifier = GNUNET_strdup (old_identifier);
 
-  element->operation = GNUNET_IDENTITY_rename (store->identity, 
old_identifier, new_identifier, callback_ego_rename, element);
+  element->operation = GNUNET_IDENTITY_rename (
+      store->identity,
+      old_identifier,
+      new_identifier,
+      callback_ego_rename,
+      element
+  );
 
   GNUNET_CONTAINER_DLL_insert (store->op_start, store->op_end, element);
 }
 
-
 static void
 callback_ego_delete (void *cls,
                      const char *emsg)
@@ -431,7 +448,12 @@ renew_store_ego (struct GNUNET_MESSENGER_EgoStore *store,
 
   element->identifier = GNUNET_strdup (identifier);
 
-  element->operation = GNUNET_IDENTITY_delete(store->identity, identifier, 
callback_ego_delete, element);
+  element->operation = GNUNET_IDENTITY_delete(
+      store->identity,
+      identifier,
+      callback_ego_delete,
+      element
+  );
 
   GNUNET_CONTAINER_DLL_insert (store->op_start, store->op_end, element);
 }

-- 
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]