[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnunet] branch master updated: MESSENGER: Assume local peer identity of service as sender if peer store is empty,
gnunet <=