diff options
Diffstat (limited to 'src/messenger/gnunet-service-messenger_message_kind.c')
-rw-r--r-- | src/messenger/gnunet-service-messenger_message_kind.c | 151 |
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 | ||
31 | struct GNUNET_MESSENGER_Message* | 31 | struct GNUNET_MESSENGER_Message* |
32 | create_message_info (const struct GNUNET_MESSENGER_Ego *ego) | 32 | create_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 | ||
49 | struct GNUNET_MESSENGER_Message* | 47 | struct GNUNET_MESSENGER_Message* |
50 | create_message_join (const struct GNUNET_MESSENGER_Ego *ego) | 48 | create_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 | |||
65 | struct GNUNET_MESSENGER_Message* | ||
66 | create_message_leave () | ||
67 | { | ||
68 | return create_message (GNUNET_MESSENGER_KIND_LEAVE); | ||
69 | } | ||
70 | |||
71 | struct GNUNET_MESSENGER_Message* | ||
72 | create_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 | |||
86 | struct GNUNET_MESSENGER_Message* | ||
87 | create_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 | |||
101 | struct GNUNET_MESSENGER_Message* | ||
102 | create_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 | ||
121 | struct GNUNET_MESSENGER_Message* | 67 | struct GNUNET_MESSENGER_Message* |
122 | create_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 | |||
137 | struct GNUNET_MESSENGER_Message* | ||
138 | create_message_miss (const struct GNUNET_PeerIdentity *peer) | 68 | create_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 | |||
171 | struct GNUNET_MESSENGER_Message* | ||
172 | create_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 | |||
193 | struct GNUNET_MESSENGER_Message* | ||
194 | create_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 | |||
211 | struct GNUNET_MESSENGER_Message* | ||
212 | create_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 | |||
226 | struct GNUNET_MESSENGER_Message* | ||
227 | create_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 | } | ||