aboutsummaryrefslogtreecommitdiff
path: root/src/messenger/gnunet-service-messenger_message_kind.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/messenger/gnunet-service-messenger_message_kind.c')
-rw-r--r--src/messenger/gnunet-service-messenger_message_kind.c151
1 files changed, 4 insertions, 147 deletions
diff --git a/src/messenger/gnunet-service-messenger_message_kind.c b/src/messenger/gnunet-service-messenger_message_kind.c
index 828e84d4f..688dd2fd9 100644
--- a/src/messenger/gnunet-service-messenger_message_kind.c
+++ b/src/messenger/gnunet-service-messenger_message_kind.c
@@ -1,6 +1,6 @@
1/* 1/*
2 This file is part of GNUnet. 2 This file is part of GNUnet.
3 Copyright (C) 2020--2021 GNUnet e.V. 3 Copyright (C) 2020--2023 GNUnet e.V.
4 4
5 GNUnet is free software: you can redistribute it and/or modify it 5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published 6 under the terms of the GNU Affero General Public License as published
@@ -29,9 +29,9 @@
29#include "messenger_api_util.h" 29#include "messenger_api_util.h"
30 30
31struct GNUNET_MESSENGER_Message* 31struct GNUNET_MESSENGER_Message*
32create_message_info (const struct GNUNET_MESSENGER_Ego *ego) 32create_message_info (struct GNUNET_MESSENGER_Service *service)
33{ 33{
34 if (!ego) 34 if (!service)
35 return NULL; 35 return NULL;
36 36
37 struct GNUNET_MESSENGER_Message *message = create_message (GNUNET_MESSENGER_KIND_INFO); 37 struct GNUNET_MESSENGER_Message *message = create_message (GNUNET_MESSENGER_KIND_INFO);
@@ -39,67 +39,13 @@ create_message_info (const struct GNUNET_MESSENGER_Ego *ego)
39 if (!message) 39 if (!message)
40 return NULL; 40 return NULL;
41 41
42 GNUNET_memcpy(&(message->body.info.host_key), &(ego->pub), sizeof(ego->pub));
43
44 message->body.info.messenger_version = GNUNET_MESSENGER_VERSION; 42 message->body.info.messenger_version = GNUNET_MESSENGER_VERSION;
45 43
46 return message; 44 return message;
47} 45}
48 46
49struct GNUNET_MESSENGER_Message* 47struct GNUNET_MESSENGER_Message*
50create_message_join (const struct GNUNET_MESSENGER_Ego *ego) 48create_message_peer (struct GNUNET_MESSENGER_Service *service)
51{
52 if (!ego)
53 return NULL;
54
55 struct GNUNET_MESSENGER_Message *message = create_message (GNUNET_MESSENGER_KIND_JOIN);
56
57 if (!message)
58 return NULL;
59
60 GNUNET_memcpy(&(message->body.join.key), &(ego->pub), sizeof(ego->pub));
61
62 return message;
63}
64
65struct GNUNET_MESSENGER_Message*
66create_message_leave ()
67{
68 return create_message (GNUNET_MESSENGER_KIND_LEAVE);
69}
70
71struct GNUNET_MESSENGER_Message*
72create_message_name (const char *name)
73{
74 if (!name)
75 return NULL;
76
77 struct GNUNET_MESSENGER_Message *message = create_message (GNUNET_MESSENGER_KIND_NAME);
78
79 if (!message)
80 return NULL;
81
82 message->body.name.name = GNUNET_strdup(name);
83 return message;
84}
85
86struct GNUNET_MESSENGER_Message*
87create_message_key (const struct GNUNET_IDENTITY_PrivateKey *key)
88{
89 if (!key)
90 return NULL;
91
92 struct GNUNET_MESSENGER_Message *message = create_message (GNUNET_MESSENGER_KIND_KEY);
93
94 if (!message)
95 return NULL;
96
97 GNUNET_IDENTITY_key_get_public (key, &(message->body.key.key));
98 return message;
99}
100
101struct GNUNET_MESSENGER_Message*
102create_message_peer (const struct GNUNET_MESSENGER_Service *service)
103{ 49{
104 if (!service) 50 if (!service)
105 return NULL; 51 return NULL;
@@ -119,22 +65,6 @@ create_message_peer (const struct GNUNET_MESSENGER_Service *service)
119} 65}
120 66
121struct GNUNET_MESSENGER_Message* 67struct GNUNET_MESSENGER_Message*
122create_message_id (const struct GNUNET_ShortHashCode *unique_id)
123{
124 if (!unique_id)
125 return NULL;
126
127 struct GNUNET_MESSENGER_Message *message = create_message (GNUNET_MESSENGER_KIND_ID);
128
129 if (!message)
130 return NULL;
131
132 GNUNET_memcpy(&(message->body.id.id), unique_id, sizeof(struct GNUNET_ShortHashCode));
133
134 return message;
135}
136
137struct GNUNET_MESSENGER_Message*
138create_message_miss (const struct GNUNET_PeerIdentity *peer) 68create_message_miss (const struct GNUNET_PeerIdentity *peer)
139{ 69{
140 if (!peer) 70 if (!peer)
@@ -167,76 +97,3 @@ create_message_merge (const struct GNUNET_HashCode *previous)
167 97
168 return message; 98 return message;
169} 99}
170
171struct GNUNET_MESSENGER_Message*
172create_message_request (const struct GNUNET_HashCode *hash)
173{
174 if (!hash)
175 return NULL;
176
177 struct GNUNET_HashCode zero;
178 memset (&zero, 0, sizeof(zero));
179
180 if (0 == GNUNET_CRYPTO_hash_cmp (hash, &zero))
181 return NULL;
182
183 struct GNUNET_MESSENGER_Message *message = create_message (GNUNET_MESSENGER_KIND_REQUEST);
184
185 if (!message)
186 return NULL;
187
188 GNUNET_memcpy(&(message->body.request.hash), hash, sizeof(struct GNUNET_HashCode));
189
190 return message;
191}
192
193struct GNUNET_MESSENGER_Message*
194create_message_invite (const struct GNUNET_PeerIdentity *door,
195 const struct GNUNET_HashCode *key)
196{
197 if ((!door) || (!key))
198 return NULL;
199
200 struct GNUNET_MESSENGER_Message *message = create_message (GNUNET_MESSENGER_KIND_INVITE);
201
202 if (!message)
203 return NULL;
204
205 GNUNET_memcpy(&(message->body.invite.door), door, sizeof(struct GNUNET_PeerIdentity));
206 GNUNET_memcpy(&(message->body.invite.key), key, sizeof(struct GNUNET_HashCode));
207
208 return message;
209}
210
211struct GNUNET_MESSENGER_Message*
212create_message_text (const char *text)
213{
214 if (!text)
215 return NULL;
216
217 struct GNUNET_MESSENGER_Message *message = create_message (GNUNET_MESSENGER_KIND_TEXT);
218
219 if (!message)
220 return NULL;
221
222 message->body.text.text = GNUNET_strdup(text);
223 return message;
224}
225
226struct GNUNET_MESSENGER_Message*
227create_message_delete (const struct GNUNET_HashCode *hash,
228 const struct GNUNET_TIME_Relative delay)
229{
230 if (!hash)
231 return NULL;
232
233 struct GNUNET_MESSENGER_Message *message = create_message (GNUNET_MESSENGER_KIND_DELETE);
234
235 if (!message)
236 return NULL;
237
238 GNUNET_memcpy(&(message->body.deletion.hash), hash, sizeof(struct GNUNET_HashCode));
239 message->body.deletion.delay = GNUNET_TIME_relative_hton (delay);
240
241 return message;
242}