gnunet-svn
[Top][All Lists]
Advanced

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

[gnunet] branch master updated: MESSENGER: Assume local peer identity of


From: gnunet
Subject: [gnunet] branch master updated: MESSENGER: Assume local peer identity of service as sender if peer store is empty
Date: Sun, 18 Feb 2024 03:37:12 +0100

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 4edf66146 MESSENGER: Assume local peer identity of service as sender 
if peer store is empty
4edf66146 is described below

commit 4edf6614689330db79765bf55e4918c8645e4038
Author: TheJackiMonster <thejackimonster@gmail.com>
AuthorDate: Sun Feb 18 03:37:02 2024 +0100

    MESSENGER: Assume local peer identity of service as sender if peer store is 
empty
    
    Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
---
 .../gnunet-service-messenger_peer_store.c          | 26 +++++++++++++++++++---
 .../gnunet-service-messenger_peer_store.h          |  6 ++++-
 .../messenger/gnunet-service-messenger_room.c      |  2 +-
 3 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/src/service/messenger/gnunet-service-messenger_peer_store.c 
b/src/service/messenger/gnunet-service-messenger_peer_store.c
index 7e46c62d1..9597fae94 100644
--- a/src/service/messenger/gnunet-service-messenger_peer_store.c
+++ b/src/service/messenger/gnunet-service-messenger_peer_store.c
@@ -25,6 +25,7 @@
 
 #include "gnunet-service-messenger_peer_store.h"
 
+#include "gnunet-service-messenger_service.h"
 #include "gnunet_common.h"
 #include "messenger_api_message.h"
 #include "messenger_api_util.h"
@@ -36,10 +37,12 @@ struct GNUNET_MESSENGER_PeerStoreEntry
 };
 
 void
-init_peer_store (struct GNUNET_MESSENGER_PeerStore *store)
+init_peer_store (struct GNUNET_MESSENGER_PeerStore *store,
+                 struct GNUNET_MESSENGER_Service *service)
 {
-  GNUNET_assert (store);
+  GNUNET_assert ((store) && (service));
 
+  store->service = service;
   store->peers = GNUNET_CONTAINER_multishortmap_create (4, GNUNET_NO);
 }
 
@@ -230,6 +233,18 @@ add_peer_store_entry (struct GNUNET_MESSENGER_PeerStore 
*store,
 }
 
 
+static const struct GNUNET_PeerIdentity*
+get_store_service_peer_identity (struct GNUNET_MESSENGER_PeerStore *store)
+{
+  static struct GNUNET_PeerIdentity peer;
+  
+  if (GNUNET_OK != get_service_peer_identity(store->service, &peer))
+    return NULL;
+  
+  return &peer;
+}
+
+
 struct GNUNET_PeerIdentity*
 get_store_peer_of (struct GNUNET_MESSENGER_PeerStore *store,
                    const struct GNUNET_MESSENGER_Message *message,
@@ -269,7 +284,12 @@ get_store_peer_of (struct GNUNET_MESSENGER_PeerStore 
*store,
   {
     GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
                 "Peer message does not contain a peer identity\n");
-    return NULL;
+
+    peer = get_store_service_peer_identity(store);
+    active = GNUNET_NO;
+    
+    if (!peer)
+      return NULL;
   }
 
   struct GNUNET_ShortHashCode peer_id;
diff --git a/src/service/messenger/gnunet-service-messenger_peer_store.h 
b/src/service/messenger/gnunet-service-messenger_peer_store.h
index 599966fd1..7badfad2c 100644
--- a/src/service/messenger/gnunet-service-messenger_peer_store.h
+++ b/src/service/messenger/gnunet-service-messenger_peer_store.h
@@ -29,9 +29,11 @@
 #include "gnunet_util_lib.h"
 
 struct GNUNET_MESSENGER_Message;
+struct GNUNET_MESSENGER_Service;
 
 struct GNUNET_MESSENGER_PeerStore
 {
+  struct GNUNET_MESSENGER_Service *service;
   struct GNUNET_CONTAINER_MultiShortmap *peers;
 };
 
@@ -39,9 +41,11 @@ struct GNUNET_MESSENGER_PeerStore
  * Initializes a peer store as fully empty.
  *
  * @param[out] store Peer store
+ * @param[in,out] service Messenger service
  */
 void
-init_peer_store (struct GNUNET_MESSENGER_PeerStore *store);
+init_peer_store (struct GNUNET_MESSENGER_PeerStore *store,
+                 struct GNUNET_MESSENGER_Service *service);
 
 /**
  * Clears a peer store, wipes its content and deallocates its memory.
diff --git a/src/service/messenger/gnunet-service-messenger_room.c 
b/src/service/messenger/gnunet-service-messenger_room.c
index e2f998266..78081d586 100644
--- a/src/service/messenger/gnunet-service-messenger_room.c
+++ b/src/service/messenger/gnunet-service-messenger_room.c
@@ -59,7 +59,7 @@ create_srv_room (struct GNUNET_MESSENGER_SrvHandle *handle,
 
   room->tunnels = GNUNET_CONTAINER_multipeermap_create (8, GNUNET_NO);
 
-  init_peer_store (get_srv_room_peer_store (room));
+  init_peer_store (get_srv_room_peer_store (room), room->service);
   init_member_store (get_srv_room_member_store (room), room);
   init_message_store (get_srv_room_message_store (room));
   init_operation_store (get_srv_room_operation_store (room), room);

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