diff options
author | Christian Grothoff <christian@grothoff.org> | 2017-03-13 18:32:03 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2017-03-13 18:32:03 +0100 |
commit | e7739331e20a0ec26febd6d4268323d3b0638341 (patch) | |
tree | 6c3e3455ae9b73e22a1fce5766b3e494f64c6cbf /src/multicast | |
parent | fedee536d5e414b6d8a7bb8a7587d9d747dd5394 (diff) | |
download | gnunet-e7739331e20a0ec26febd6d4268323d3b0638341.tar.gz gnunet-e7739331e20a0ec26febd6d4268323d3b0638341.zip |
fix leaks, note that APIs are deprecated (NTR instead of MQ style)
Diffstat (limited to 'src/multicast')
-rw-r--r-- | src/multicast/test_multicast_2peers.c | 70 |
1 files changed, 40 insertions, 30 deletions
diff --git a/src/multicast/test_multicast_2peers.c b/src/multicast/test_multicast_2peers.c index 02e60a905..058533e50 100644 --- a/src/multicast/test_multicast_2peers.c +++ b/src/multicast/test_multicast_2peers.c | |||
@@ -20,7 +20,7 @@ | |||
20 | 20 | ||
21 | /** | 21 | /** |
22 | * @file multicast/test_multicast_2peers.c | 22 | * @file multicast/test_multicast_2peers.c |
23 | * @brief Tests for the Multicast API with two peers doing the ping | 23 | * @brief Tests for the Multicast API with two peers doing the ping |
24 | * pong test. | 24 | * pong test. |
25 | * @author xrs | 25 | * @author xrs |
26 | */ | 26 | */ |
@@ -117,16 +117,18 @@ member_join_request (void *cls, | |||
117 | 117 | ||
118 | } | 118 | } |
119 | 119 | ||
120 | int notify (void *cls, | 120 | |
121 | size_t *data_size, | 121 | static int |
122 | void *data) | 122 | notify (void *cls, |
123 | size_t *data_size, | ||
124 | void *data) | ||
123 | { | 125 | { |
124 | 126 | ||
125 | char text[] = "ping"; | 127 | char text[] = "ping"; |
126 | *data_size = strlen(text)+1; | 128 | *data_size = strlen(text)+1; |
127 | GNUNET_memcpy(data, text, *data_size); | 129 | GNUNET_memcpy(data, text, *data_size); |
128 | 130 | ||
129 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 131 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
130 | "Member sents message to origin: %s\n", text); | 132 | "Member sents message to origin: %s\n", text); |
131 | 133 | ||
132 | return GNUNET_YES; | 134 | return GNUNET_YES; |
@@ -141,25 +143,30 @@ member_join_decision (void *cls, | |||
141 | const struct GNUNET_PeerIdentity *relays, | 143 | const struct GNUNET_PeerIdentity *relays, |
142 | const struct GNUNET_MessageHeader *join_msg) | 144 | const struct GNUNET_MessageHeader *join_msg) |
143 | { | 145 | { |
144 | struct GNUNET_MULTICAST_MemberTransmitHandle *req; | 146 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
145 | 147 | "Member received a decision from origin: %s\n", | |
146 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 148 | (GNUNET_YES == is_admitted) |
147 | "Member received a decision from origin: %s\n", (GNUNET_YES == is_admitted)?"accepted":"rejected"); | 149 | ? "accepted" |
148 | 150 | : "rejected"); | |
151 | |||
149 | if (GNUNET_YES == is_admitted) | 152 | if (GNUNET_YES == is_admitted) |
150 | { | 153 | { |
154 | struct GNUNET_MULTICAST_MemberTransmitHandle *req; | ||
155 | |||
156 | // FIXME: move to MQ-style API! | ||
151 | req = GNUNET_MULTICAST_member_to_origin (member, | 157 | req = GNUNET_MULTICAST_member_to_origin (member, |
152 | 0, | 158 | 0, |
153 | notify, | 159 | ¬ify, |
154 | NULL); | 160 | NULL); |
155 | } | 161 | } |
156 | } | 162 | } |
157 | 163 | ||
164 | |||
158 | static void | 165 | static void |
159 | member_message (void *cls, | 166 | member_message (void *cls, |
160 | const struct GNUNET_MULTICAST_MessageHeader *msg) | 167 | const struct GNUNET_MULTICAST_MessageHeader *msg) |
161 | { | 168 | { |
162 | if (0 != strncmp ("pong", (char *)&msg[1], 4)) | 169 | if (0 != strncmp ("pong", (char *)&msg[1], 4)) |
163 | { | 170 | { |
164 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "member did not receive pong\n"); | 171 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "member did not receive pong\n"); |
165 | result = GNUNET_SYSERR; | 172 | result = GNUNET_SYSERR; |
@@ -184,19 +191,19 @@ origin_join_request (void *cls, | |||
184 | 191 | ||
185 | uint8_t data_size = ntohs (join_msg->size); | 192 | uint8_t data_size = ntohs (join_msg->size); |
186 | 193 | ||
187 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 194 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
188 | "origin got a join request...\n"); | 195 | "origin got a join request...\n"); |
189 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 196 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
190 | "origin receives: '%s'\n", (char *)&join_msg[1]); | 197 | "origin receives: '%s'\n", (char *)&join_msg[1]); |
191 | 198 | ||
192 | char data[] = "Come in!"; | 199 | const char data[] = "Come in!"; |
193 | data_size = strlen (data) + 1; | 200 | data_size = strlen (data) + 1; |
194 | join_resp = GNUNET_malloc (sizeof (join_resp) + data_size); | 201 | join_resp = GNUNET_malloc (sizeof (join_resp) + data_size); |
195 | join_resp->size = htons (sizeof (join_resp) + data_size); | 202 | join_resp->size = htons (sizeof (join_resp) + data_size); |
196 | join_resp->type = htons (123); | 203 | join_resp->type = htons (123); |
197 | GNUNET_memcpy (&join_resp[1], data, data_size); | 204 | GNUNET_memcpy (&join_resp[1], data, data_size); |
198 | 205 | ||
199 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 206 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
200 | "origin sends: '%s'\n", data); | 207 | "origin sends: '%s'\n", data); |
201 | 208 | ||
202 | GNUNET_MULTICAST_join_decision (jh, | 209 | GNUNET_MULTICAST_join_decision (jh, |
@@ -204,22 +211,22 @@ origin_join_request (void *cls, | |||
204 | 0, | 211 | 0, |
205 | NULL, | 212 | NULL, |
206 | join_resp); | 213 | join_resp); |
207 | 214 | GNUNET_free (join_resp); | |
208 | result = GNUNET_OK; | 215 | result = GNUNET_OK; |
209 | } | 216 | } |
210 | 217 | ||
211 | int | 218 | int |
212 | origin_notify (void *cls, | 219 | origin_notify (void *cls, |
213 | size_t *data_size, | 220 | size_t *data_size, |
214 | void *data) | 221 | void *data) |
215 | { | 222 | { |
216 | char text[] = "pong"; | 223 | char text[] = "pong"; |
217 | *data_size = strlen(text)+1; | 224 | *data_size = strlen(text)+1; |
218 | memcpy(data, text, *data_size); | 225 | memcpy(data, text, *data_size); |
219 | 226 | ||
220 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin sends (to all): %s\n", text); | 227 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin sends (to all): %s\n", text); |
221 | 228 | ||
222 | return GNUNET_YES; | 229 | return GNUNET_YES; |
223 | } | 230 | } |
224 | 231 | ||
225 | 232 | ||
@@ -228,8 +235,8 @@ origin_request (void *cls, | |||
228 | const struct GNUNET_MULTICAST_RequestHeader *req) | 235 | const struct GNUNET_MULTICAST_RequestHeader *req) |
229 | { | 236 | { |
230 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin receives: %s\n", (char *)&req[1]); | 237 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin receives: %s\n", (char *)&req[1]); |
231 | 238 | ||
232 | if (0 != strncmp ("ping", (char *)&req[1], 4)) | 239 | if (0 != strncmp ("ping", (char *)&req[1], 4)) |
233 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "origin didn't reveice a correct request"); | 240 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "origin didn't reveice a correct request"); |
234 | 241 | ||
235 | GNUNET_MULTICAST_origin_to_all (origin, | 242 | GNUNET_MULTICAST_origin_to_all (origin, |
@@ -241,7 +248,7 @@ origin_request (void *cls, | |||
241 | 248 | ||
242 | static void | 249 | static void |
243 | origin_message (void *cls, | 250 | origin_message (void *cls, |
244 | const struct GNUNET_MULTICAST_MessageHeader *msg) | 251 | const struct GNUNET_MULTICAST_MessageHeader *msg) |
245 | { | 252 | { |
246 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin message msg\n"); | 253 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin message msg\n"); |
247 | } | 254 | } |
@@ -255,7 +262,7 @@ service_connect1 (void *cls, | |||
255 | { | 262 | { |
256 | member = ca_result; | 263 | member = ca_result; |
257 | 264 | ||
258 | if (NULL != member) | 265 | if (NULL != member) |
259 | { | 266 | { |
260 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Connected to multicast service of member\n"); | 267 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Connected to multicast service of member\n"); |
261 | } | 268 | } |
@@ -282,11 +289,12 @@ multicast_ca1 (void *cls, | |||
282 | const struct GNUNET_CONFIGURATION_Handle *cfg) | 289 | const struct GNUNET_CONFIGURATION_Handle *cfg) |
283 | { | 290 | { |
284 | struct GNUNET_MessageHeader *join_msg; | 291 | struct GNUNET_MessageHeader *join_msg; |
292 | void *ret; | ||
285 | 293 | ||
286 | // Get members keys | 294 | // Get members keys |
287 | member_key = GNUNET_CRYPTO_ecdsa_key_create (); | 295 | member_key = GNUNET_CRYPTO_ecdsa_key_create (); |
288 | GNUNET_CRYPTO_ecdsa_key_get_public (member_key, &member_pub_key); | 296 | GNUNET_CRYPTO_ecdsa_key_get_public (member_key, &member_pub_key); |
289 | 297 | ||
290 | char data[] = "Hi, can I enter?"; | 298 | char data[] = "Hi, can I enter?"; |
291 | uint8_t data_size = strlen (data) + 1; | 299 | uint8_t data_size = strlen (data) + 1; |
292 | join_msg = GNUNET_malloc (sizeof (join_msg) + data_size); | 300 | join_msg = GNUNET_malloc (sizeof (join_msg) + data_size); |
@@ -297,7 +305,7 @@ multicast_ca1 (void *cls, | |||
297 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 305 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
298 | "Members tries to join multicast group\n"); | 306 | "Members tries to join multicast group\n"); |
299 | 307 | ||
300 | return GNUNET_MULTICAST_member_join (cfg, | 308 | ret = GNUNET_MULTICAST_member_join (cfg, |
301 | &group_pub_key, | 309 | &group_pub_key, |
302 | member_key, | 310 | member_key, |
303 | peer_id[0], | 311 | peer_id[0], |
@@ -310,6 +318,8 @@ multicast_ca1 (void *cls, | |||
310 | NULL, /* no test for member_replay_msg */ | 318 | NULL, /* no test for member_replay_msg */ |
311 | member_message, | 319 | member_message, |
312 | NULL); | 320 | NULL); |
321 | GNUNET_free (join_msg); | ||
322 | return ret; | ||
313 | } | 323 | } |
314 | 324 | ||
315 | 325 | ||
@@ -321,7 +331,7 @@ peer_information_cb (void *cls, | |||
321 | { | 331 | { |
322 | int i = (int) (long) cls; | 332 | int i = (int) (long) cls; |
323 | 333 | ||
324 | if (NULL == pinfo) | 334 | if (NULL == pinfo) |
325 | { | 335 | { |
326 | result = GNUNET_SYSERR; | 336 | result = GNUNET_SYSERR; |
327 | GNUNET_SCHEDULER_shutdown (); | 337 | GNUNET_SCHEDULER_shutdown (); |
@@ -335,7 +345,7 @@ peer_information_cb (void *cls, | |||
335 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 345 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
336 | "Create member peer\n"); | 346 | "Create member peer\n"); |
337 | 347 | ||
338 | if (0 == i) | 348 | if (0 == i) |
339 | { | 349 | { |
340 | /* connect to multicast service of member */ | 350 | /* connect to multicast service of member */ |
341 | op1 = GNUNET_TESTBED_service_connect (NULL, /* Closure for operation */ | 351 | op1 = GNUNET_TESTBED_service_connect (NULL, /* Closure for operation */ |