diff options
Diffstat (limited to 'src/chat/test_chat.c')
-rw-r--r-- | src/chat/test_chat.c | 331 |
1 files changed, 155 insertions, 176 deletions
diff --git a/src/chat/test_chat.c b/src/chat/test_chat.c index 7a20c0331..0953a895b 100644 --- a/src/chat/test_chat.c +++ b/src/chat/test_chat.c | |||
@@ -119,11 +119,11 @@ setup_peer (struct PeerContext *p, const char *cfgname) | |||
119 | p->cfg = GNUNET_CONFIGURATION_create (); | 119 | p->cfg = GNUNET_CONFIGURATION_create (); |
120 | #if START_ARM | 120 | #if START_ARM |
121 | p->arm_proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", | 121 | p->arm_proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", |
122 | "gnunet-service-arm", | 122 | "gnunet-service-arm", |
123 | #if VERBOSE | 123 | #if VERBOSE |
124 | "-L", "DEBUG", | 124 | "-L", "DEBUG", |
125 | #endif | 125 | #endif |
126 | "-c", cfgname, NULL); | 126 | "-c", cfgname, NULL); |
127 | #endif | 127 | #endif |
128 | GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); | 128 | GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); |
129 | } | 129 | } |
@@ -135,10 +135,11 @@ stop_arm (struct PeerContext *p) | |||
135 | #if START_ARM | 135 | #if START_ARM |
136 | if (0 != GNUNET_OS_process_kill (p->arm_proc, SIGTERM)) | 136 | if (0 != GNUNET_OS_process_kill (p->arm_proc, SIGTERM)) |
137 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); | 137 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); |
138 | if (GNUNET_OS_process_wait(p->arm_proc) != GNUNET_OK) | 138 | if (GNUNET_OS_process_wait (p->arm_proc) != GNUNET_OK) |
139 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); | 139 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); |
140 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 140 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
141 | "ARM process %u stopped\n", GNUNET_OS_process_get_pid (p->arm_proc)); | 141 | "ARM process %u stopped\n", |
142 | GNUNET_OS_process_get_pid (p->arm_proc)); | ||
142 | GNUNET_OS_process_close (p->arm_proc); | 143 | GNUNET_OS_process_close (p->arm_proc); |
143 | p->arm_proc = NULL; | 144 | p->arm_proc = NULL; |
144 | #endif | 145 | #endif |
@@ -147,36 +148,34 @@ stop_arm (struct PeerContext *p) | |||
147 | 148 | ||
148 | 149 | ||
149 | static void | 150 | static void |
150 | abort_test (void *cls, | 151 | abort_test (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
151 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
152 | { | 152 | { |
153 | if (alice_room != NULL) | 153 | if (alice_room != NULL) |
154 | { | 154 | { |
155 | GNUNET_CHAT_leave_room (alice_room); | 155 | GNUNET_CHAT_leave_room (alice_room); |
156 | alice_room = NULL; | 156 | alice_room = NULL; |
157 | } | 157 | } |
158 | if (bob_room != NULL) | 158 | if (bob_room != NULL) |
159 | { | 159 | { |
160 | GNUNET_CHAT_leave_room (bob_room); | 160 | GNUNET_CHAT_leave_room (bob_room); |
161 | bob_room = NULL; | 161 | bob_room = NULL; |
162 | } | 162 | } |
163 | err = 1; | 163 | err = 1; |
164 | } | 164 | } |
165 | 165 | ||
166 | 166 | ||
167 | static void | 167 | static void |
168 | timeout_kill (void *cls, | 168 | timeout_kill (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
169 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
170 | { | 169 | { |
171 | #if VERBOSE | 170 | #if VERBOSE |
172 | printf ("Timed out, stopping the test.\n"); | 171 | printf ("Timed out, stopping the test.\n"); |
173 | #endif | 172 | #endif |
174 | kill_task = GNUNET_SCHEDULER_NO_TASK; | 173 | kill_task = GNUNET_SCHEDULER_NO_TASK; |
175 | if (wait_task != GNUNET_SCHEDULER_NO_TASK) | 174 | if (wait_task != GNUNET_SCHEDULER_NO_TASK) |
176 | { | 175 | { |
177 | GNUNET_SCHEDULER_cancel (wait_task); | 176 | GNUNET_SCHEDULER_cancel (wait_task); |
178 | wait_task = GNUNET_SCHEDULER_NO_TASK; | 177 | wait_task = GNUNET_SCHEDULER_NO_TASK; |
179 | } | 178 | } |
180 | GNUNET_SCHEDULER_add_continuation (&abort_test, NULL, | 179 | GNUNET_SCHEDULER_add_continuation (&abort_test, NULL, |
181 | GNUNET_SCHEDULER_REASON_PREREQ_DONE); | 180 | GNUNET_SCHEDULER_REASON_PREREQ_DONE); |
182 | } | 181 | } |
@@ -207,11 +206,11 @@ member_list_cb (void *cls, | |||
207 | 206 | ||
208 | #if VERBOSE | 207 | #if VERBOSE |
209 | printf ("%s - told that %s has %s\n", | 208 | printf ("%s - told that %s has %s\n", |
210 | want->me, | 209 | want->me, |
211 | member_info == NULL ? NULL | 210 | member_info == NULL ? NULL |
212 | : GNUNET_CONTAINER_meta_data_get_by_type (member_info, | 211 | : GNUNET_CONTAINER_meta_data_get_by_type (member_info, |
213 | EXTRACTOR_METATYPE_TITLE), | 212 | EXTRACTOR_METATYPE_TITLE), |
214 | member_info == NULL ? "left" : "joined"); | 213 | member_info == NULL ? "left" : "joined"); |
215 | #endif | 214 | #endif |
216 | GNUNET_CRYPTO_hash (member_id, | 215 | GNUNET_CRYPTO_hash (member_id, |
217 | sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), | 216 | sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), |
@@ -225,16 +224,16 @@ member_list_cb (void *cls, | |||
225 | (GNUNET_CONTAINER_meta_data_test_equal (member_info, | 224 | (GNUNET_CONTAINER_meta_data_test_equal (member_info, |
226 | want->meta)))) && | 225 | want->meta)))) && |
227 | (options == want->opt)) | 226 | (options == want->opt)) |
228 | { | 227 | { |
229 | if (NULL != want->next_task) | 228 | if (NULL != want->next_task) |
230 | GNUNET_SCHEDULER_add_now (want->next_task, want->next_task_cls); | 229 | GNUNET_SCHEDULER_add_now (want->next_task, want->next_task_cls); |
231 | } | 230 | } |
232 | else | 231 | else |
233 | { | 232 | { |
234 | GNUNET_SCHEDULER_cancel (kill_task); | 233 | GNUNET_SCHEDULER_cancel (kill_task); |
235 | kill_task = GNUNET_SCHEDULER_NO_TASK; | 234 | kill_task = GNUNET_SCHEDULER_NO_TASK; |
236 | GNUNET_SCHEDULER_add_now (&abort_test, NULL); | 235 | GNUNET_SCHEDULER_add_now (&abort_test, NULL); |
237 | } | 236 | } |
238 | return GNUNET_OK; | 237 | return GNUNET_OK; |
239 | } | 238 | } |
240 | 239 | ||
@@ -242,7 +241,7 @@ member_list_cb (void *cls, | |||
242 | static int | 241 | static int |
243 | receive_cb (void *cls, | 242 | receive_cb (void *cls, |
244 | struct GNUNET_CHAT_Room *room, | 243 | struct GNUNET_CHAT_Room *room, |
245 | const GNUNET_HashCode *sender, | 244 | const GNUNET_HashCode * sender, |
246 | const struct GNUNET_CONTAINER_MetaData *meta, | 245 | const struct GNUNET_CONTAINER_MetaData *meta, |
247 | const char *message, | 246 | const char *message, |
248 | struct GNUNET_TIME_Absolute timestamp, | 247 | struct GNUNET_TIME_Absolute timestamp, |
@@ -269,16 +268,16 @@ receive_cb (void *cls, | |||
269 | * slightly greater | 268 | * slightly greater |
270 | */ | 269 | */ |
271 | (timestamp.abs_value >= want->timestamp.abs_value)) | 270 | (timestamp.abs_value >= want->timestamp.abs_value)) |
272 | { | 271 | { |
273 | if (NULL != want->next_task) | 272 | if (NULL != want->next_task) |
274 | GNUNET_SCHEDULER_add_now (want->next_task, want->next_task_cls); | 273 | GNUNET_SCHEDULER_add_now (want->next_task, want->next_task_cls); |
275 | } | 274 | } |
276 | else | 275 | else |
277 | { | 276 | { |
278 | GNUNET_SCHEDULER_cancel (kill_task); | 277 | GNUNET_SCHEDULER_cancel (kill_task); |
279 | kill_task = GNUNET_SCHEDULER_NO_TASK; | 278 | kill_task = GNUNET_SCHEDULER_NO_TASK; |
280 | GNUNET_SCHEDULER_add_now (&abort_test, NULL); | 279 | GNUNET_SCHEDULER_add_now (&abort_test, NULL); |
281 | } | 280 | } |
282 | return GNUNET_OK; | 281 | return GNUNET_OK; |
283 | } | 282 | } |
284 | 283 | ||
@@ -288,7 +287,7 @@ confirmation_cb (void *cls, | |||
288 | struct GNUNET_CHAT_Room *room, | 287 | struct GNUNET_CHAT_Room *room, |
289 | uint32_t orig_seq_number, | 288 | uint32_t orig_seq_number, |
290 | struct GNUNET_TIME_Absolute timestamp, | 289 | struct GNUNET_TIME_Absolute timestamp, |
291 | const GNUNET_HashCode *receiver) | 290 | const GNUNET_HashCode * receiver) |
292 | { | 291 | { |
293 | struct Wanted *want = cls; | 292 | struct Wanted *want = cls; |
294 | 293 | ||
@@ -303,23 +302,22 @@ confirmation_cb (void *cls, | |||
303 | sizeof (GNUNET_HashCode))) && | 302 | sizeof (GNUNET_HashCode))) && |
304 | (orig_seq_number == want->sequence_number) && | 303 | (orig_seq_number == want->sequence_number) && |
305 | (timestamp.abs_value >= want->timestamp.abs_value)) | 304 | (timestamp.abs_value >= want->timestamp.abs_value)) |
306 | { | 305 | { |
307 | if (NULL != want->next_task) | 306 | if (NULL != want->next_task) |
308 | GNUNET_SCHEDULER_add_now (want->next_task, want->next_task_cls); | 307 | GNUNET_SCHEDULER_add_now (want->next_task, want->next_task_cls); |
309 | } | 308 | } |
310 | else | 309 | else |
311 | { | 310 | { |
312 | GNUNET_SCHEDULER_cancel (kill_task); | 311 | GNUNET_SCHEDULER_cancel (kill_task); |
313 | kill_task = GNUNET_SCHEDULER_NO_TASK; | 312 | kill_task = GNUNET_SCHEDULER_NO_TASK; |
314 | GNUNET_SCHEDULER_add_now (&abort_test, NULL); | 313 | GNUNET_SCHEDULER_add_now (&abort_test, NULL); |
315 | } | 314 | } |
316 | return GNUNET_OK; | 315 | return GNUNET_OK; |
317 | } | 316 | } |
318 | 317 | ||
319 | 318 | ||
320 | static void | 319 | static void |
321 | wait_until_ready (void *cls, | 320 | wait_until_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
322 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
323 | { | 321 | { |
324 | GNUNET_SCHEDULER_Task task = cls; | 322 | GNUNET_SCHEDULER_Task task = cls; |
325 | 323 | ||
@@ -327,22 +325,20 @@ wait_until_ready (void *cls, | |||
327 | printf ("Waiting...\n"); | 325 | printf ("Waiting...\n"); |
328 | #endif | 326 | #endif |
329 | if (is_ready) | 327 | if (is_ready) |
330 | { | 328 | { |
331 | wait_task = GNUNET_SCHEDULER_NO_TASK; | 329 | wait_task = GNUNET_SCHEDULER_NO_TASK; |
332 | GNUNET_SCHEDULER_add_now (task, NULL); | 330 | GNUNET_SCHEDULER_add_now (task, NULL); |
333 | } | 331 | } |
334 | else | 332 | else |
335 | wait_task = | 333 | wait_task = |
336 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, | 334 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply |
337 | 50), | 335 | (GNUNET_TIME_UNIT_MILLISECONDS, 50), |
338 | &wait_until_ready, | 336 | &wait_until_ready, task); |
339 | task); | ||
340 | } | 337 | } |
341 | 338 | ||
342 | 339 | ||
343 | static void | 340 | static void |
344 | disconnect_alice (void *cls, | 341 | disconnect_alice (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
345 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
346 | { | 342 | { |
347 | #if VERBOSE | 343 | #if VERBOSE |
348 | printf ("Alice is leaving.\n"); | 344 | printf ("Alice is leaving.\n"); |
@@ -357,8 +353,7 @@ disconnect_alice (void *cls, | |||
357 | 353 | ||
358 | 354 | ||
359 | static void | 355 | static void |
360 | disconnect_bob (void *cls, | 356 | disconnect_bob (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
361 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
362 | { | 357 | { |
363 | #if VERBOSE | 358 | #if VERBOSE |
364 | printf ("Bod is leaving.\n"); | 359 | printf ("Bod is leaving.\n"); |
@@ -375,16 +370,14 @@ disconnect_bob (void *cls, | |||
375 | 370 | ||
376 | 371 | ||
377 | static void | 372 | static void |
378 | set_ready (void *cls, | 373 | set_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
379 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
380 | { | 374 | { |
381 | is_ready = GNUNET_YES; | 375 | is_ready = GNUNET_YES; |
382 | } | 376 | } |
383 | 377 | ||
384 | 378 | ||
385 | static void | 379 | static void |
386 | send_to_alice (void *cls, | 380 | send_to_alice (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
387 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
388 | { | 381 | { |
389 | #if VERBOSE | 382 | #if VERBOSE |
390 | printf ("Bob says 'Hi!'\n"); | 383 | printf ("Bob says 'Hi!'\n"); |
@@ -399,15 +392,12 @@ send_to_alice (void *cls, | |||
399 | alice_wanted.next_task_cls = NULL; | 392 | alice_wanted.next_task_cls = NULL; |
400 | GNUNET_CHAT_send_message (bob_room, | 393 | GNUNET_CHAT_send_message (bob_room, |
401 | "Hi Alice!", | 394 | "Hi Alice!", |
402 | GNUNET_CHAT_MSG_OPTION_NONE, | 395 | GNUNET_CHAT_MSG_OPTION_NONE, NULL, NULL); |
403 | NULL, | ||
404 | NULL); | ||
405 | } | 396 | } |
406 | 397 | ||
407 | 398 | ||
408 | static void | 399 | static void |
409 | send_to_bob (void *cls, | 400 | send_to_bob (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
410 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
411 | { | 401 | { |
412 | enum GNUNET_CHAT_MsgOptions options; | 402 | enum GNUNET_CHAT_MsgOptions options; |
413 | uint32_t *seq = NULL; | 403 | uint32_t *seq = NULL; |
@@ -416,39 +406,39 @@ send_to_bob (void *cls, | |||
416 | printf ("Alice says 'Hi!'\n"); | 406 | printf ("Alice says 'Hi!'\n"); |
417 | #endif | 407 | #endif |
418 | if (is_ackn) | 408 | if (is_ackn) |
419 | { | 409 | { |
420 | options = GNUNET_CHAT_MSG_ACKNOWLEDGED; | 410 | options = GNUNET_CHAT_MSG_ACKNOWLEDGED; |
421 | alice_wanted.meta = bob_meta; | 411 | alice_wanted.meta = bob_meta; |
422 | alice_wanted.sender = &bob; | 412 | alice_wanted.sender = &bob; |
423 | alice_wanted.timestamp = GNUNET_TIME_absolute_get (); | 413 | alice_wanted.timestamp = GNUNET_TIME_absolute_get (); |
424 | alice_wanted.next_task = &disconnect_bob; | 414 | alice_wanted.next_task = &disconnect_bob; |
425 | alice_wanted.next_task_cls = NULL; | 415 | alice_wanted.next_task_cls = NULL; |
426 | bob_wanted.meta = alice_meta; | 416 | bob_wanted.meta = alice_meta; |
427 | bob_wanted.sender = &alice; | 417 | bob_wanted.sender = &alice; |
428 | bob_wanted.next_task = NULL; | 418 | bob_wanted.next_task = NULL; |
429 | seq = &(alice_wanted.sequence_number); | 419 | seq = &(alice_wanted.sequence_number); |
430 | } | 420 | } |
431 | else if (is_anon) | 421 | else if (is_anon) |
432 | { | 422 | { |
433 | options = GNUNET_CHAT_MSG_ANONYMOUS; | 423 | options = GNUNET_CHAT_MSG_ANONYMOUS; |
434 | bob_wanted.meta = NULL; | 424 | bob_wanted.meta = NULL; |
435 | bob_wanted.sender = NULL; | 425 | bob_wanted.sender = NULL; |
436 | bob_wanted.next_task = &disconnect_bob; | 426 | bob_wanted.next_task = &disconnect_bob; |
437 | } | 427 | } |
438 | else if (is_auth) | 428 | else if (is_auth) |
439 | { | 429 | { |
440 | options = GNUNET_CHAT_MSG_AUTHENTICATED; | 430 | options = GNUNET_CHAT_MSG_AUTHENTICATED; |
441 | bob_wanted.meta = alice_meta; | 431 | bob_wanted.meta = alice_meta; |
442 | bob_wanted.sender = &alice; | 432 | bob_wanted.sender = &alice; |
443 | bob_wanted.next_task = &disconnect_bob; | 433 | bob_wanted.next_task = &disconnect_bob; |
444 | } | 434 | } |
445 | else | 435 | else |
446 | { | 436 | { |
447 | options = GNUNET_CHAT_MSG_OPTION_NONE; | 437 | options = GNUNET_CHAT_MSG_OPTION_NONE; |
448 | bob_wanted.meta = alice_meta; | 438 | bob_wanted.meta = alice_meta; |
449 | bob_wanted.sender = &alice; | 439 | bob_wanted.sender = &alice; |
450 | bob_wanted.next_task = &send_to_alice; | 440 | bob_wanted.next_task = &send_to_alice; |
451 | } | 441 | } |
452 | bob_wanted.msg = "Hi Bob!"; | 442 | bob_wanted.msg = "Hi Bob!"; |
453 | bob_wanted.opt = options; | 443 | bob_wanted.opt = options; |
454 | bob_wanted.timestamp = GNUNET_TIME_absolute_get (); | 444 | bob_wanted.timestamp = GNUNET_TIME_absolute_get (); |
@@ -471,8 +461,7 @@ prepare_for_alice_task (void *cls, | |||
471 | 461 | ||
472 | 462 | ||
473 | static void | 463 | static void |
474 | join_bob_task (void *cls, | 464 | join_bob_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
475 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
476 | { | 465 | { |
477 | #if VERBOSE | 466 | #if VERBOSE |
478 | printf ("Bob joining\n"); | 467 | printf ("Bob joining\n"); |
@@ -487,27 +476,25 @@ join_bob_task (void *cls, | |||
487 | bob_wanted.next_task_cls = NULL; | 476 | bob_wanted.next_task_cls = NULL; |
488 | is_ready = GNUNET_NO; | 477 | is_ready = GNUNET_NO; |
489 | bob_room = | 478 | bob_room = |
490 | GNUNET_CHAT_join_room (is_p2p ? p2.cfg : p1.cfg, "bob", bob_meta, | 479 | GNUNET_CHAT_join_room (is_p2p ? p2.cfg : p1.cfg, "bob", bob_meta, |
491 | "test", -1, | 480 | "test", -1, |
492 | &join_cb, &bob_wanted, | 481 | &join_cb, &bob_wanted, |
493 | &receive_cb, &bob_wanted, | 482 | &receive_cb, &bob_wanted, |
494 | &member_list_cb, &bob_wanted, | 483 | &member_list_cb, &bob_wanted, |
495 | &confirmation_cb, &bob_wanted, | 484 | &confirmation_cb, &bob_wanted, &bob); |
496 | &bob); | ||
497 | if (NULL == bob_room) | 485 | if (NULL == bob_room) |
498 | { | 486 | { |
499 | GNUNET_SCHEDULER_cancel (kill_task); | 487 | GNUNET_SCHEDULER_cancel (kill_task); |
500 | kill_task = GNUNET_SCHEDULER_NO_TASK; | 488 | kill_task = GNUNET_SCHEDULER_NO_TASK; |
501 | GNUNET_CHAT_leave_room (alice_room); | 489 | GNUNET_CHAT_leave_room (alice_room); |
502 | alice_room = NULL; | 490 | alice_room = NULL; |
503 | err = 1; | 491 | err = 1; |
504 | } | 492 | } |
505 | } | 493 | } |
506 | 494 | ||
507 | 495 | ||
508 | static void | 496 | static void |
509 | join_alice_task (void *cls, | 497 | join_alice_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
510 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
511 | { | 498 | { |
512 | #if VERBOSE | 499 | #if VERBOSE |
513 | printf ("Alice joining\n"); | 500 | printf ("Alice joining\n"); |
@@ -515,33 +502,31 @@ join_alice_task (void *cls, | |||
515 | alice_wanted.next_task = &join_bob_task; | 502 | alice_wanted.next_task = &join_bob_task; |
516 | alice_wanted.next_task_cls = NULL; | 503 | alice_wanted.next_task_cls = NULL; |
517 | alice_room = | 504 | alice_room = |
518 | GNUNET_CHAT_join_room (p1.cfg, "alice", alice_meta, | 505 | GNUNET_CHAT_join_room (p1.cfg, "alice", alice_meta, |
519 | "test", -1, | 506 | "test", -1, |
520 | &join_cb, &alice_wanted, | 507 | &join_cb, &alice_wanted, |
521 | &receive_cb, &alice_wanted, | 508 | &receive_cb, &alice_wanted, |
522 | &member_list_cb, &alice_wanted, | 509 | &member_list_cb, &alice_wanted, |
523 | &confirmation_cb, &alice_wanted, | 510 | &confirmation_cb, &alice_wanted, &alice); |
524 | &alice); | ||
525 | if (NULL == alice_room) | 511 | if (NULL == alice_room) |
526 | { | 512 | { |
527 | GNUNET_SCHEDULER_cancel (kill_task); | 513 | GNUNET_SCHEDULER_cancel (kill_task); |
528 | kill_task = GNUNET_SCHEDULER_NO_TASK; | 514 | kill_task = GNUNET_SCHEDULER_NO_TASK; |
529 | err = 1; | 515 | err = 1; |
530 | } | 516 | } |
531 | } | 517 | } |
532 | 518 | ||
533 | 519 | ||
534 | static void | 520 | static void |
535 | run (void *cls, | 521 | run (void *cls, |
536 | char *const *args, | 522 | char *const *args, |
537 | const char *cfgfile, | 523 | const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) |
538 | const struct GNUNET_CONFIGURATION_Handle *cfg) | ||
539 | { | 524 | { |
540 | if (is_p2p) | 525 | if (is_p2p) |
541 | { | 526 | { |
542 | setup_peer (&p1, "test_chat_peer1.conf"); | 527 | setup_peer (&p1, "test_chat_peer1.conf"); |
543 | setup_peer (&p2, "test_chat_peer2.conf"); | 528 | setup_peer (&p2, "test_chat_peer2.conf"); |
544 | } | 529 | } |
545 | else | 530 | else |
546 | setup_peer (&p1, "test_chat_data.conf"); | 531 | setup_peer (&p1, "test_chat_data.conf"); |
547 | 532 | ||
@@ -555,19 +540,14 @@ run (void *cls, | |||
555 | EXTRACTOR_METATYPE_TITLE, | 540 | EXTRACTOR_METATYPE_TITLE, |
556 | EXTRACTOR_METAFORMAT_UTF8, | 541 | EXTRACTOR_METAFORMAT_UTF8, |
557 | "text/plain", | 542 | "text/plain", |
558 | "Alice", | 543 | "Alice", strlen ("Alice") + 1); |
559 | strlen("Alice")+1); | ||
560 | bob_meta = GNUNET_CONTAINER_meta_data_create (); | 544 | bob_meta = GNUNET_CONTAINER_meta_data_create (); |
561 | GNUNET_CONTAINER_meta_data_insert (bob_meta, | 545 | GNUNET_CONTAINER_meta_data_insert (bob_meta, |
562 | "<gnunet>", | 546 | "<gnunet>", |
563 | EXTRACTOR_METATYPE_TITLE, | 547 | EXTRACTOR_METATYPE_TITLE, |
564 | EXTRACTOR_METAFORMAT_UTF8, | 548 | EXTRACTOR_METAFORMAT_UTF8, |
565 | "text/plain", | 549 | "text/plain", "Bob", strlen ("Bob") + 1); |
566 | "Bob", | 550 | kill_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &timeout_kill, NULL); |
567 | strlen("Bob")+1); | ||
568 | kill_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, | ||
569 | &timeout_kill, | ||
570 | NULL); | ||
571 | GNUNET_SCHEDULER_add_now (&join_alice_task, NULL); | 551 | GNUNET_SCHEDULER_add_now (&join_alice_task, NULL); |
572 | } | 552 | } |
573 | 553 | ||
@@ -575,7 +555,7 @@ run (void *cls, | |||
575 | int | 555 | int |
576 | main (int argc, char *argv[]) | 556 | main (int argc, char *argv[]) |
577 | { | 557 | { |
578 | char *const argvx[] = { | 558 | char *const argvx[] = { |
579 | "test-chat", | 559 | "test-chat", |
580 | "-c", | 560 | "-c", |
581 | "test_chat_data.conf", | 561 | "test_chat_data.conf", |
@@ -588,40 +568,39 @@ main (int argc, char *argv[]) | |||
588 | GNUNET_GETOPT_OPTION_END | 568 | GNUNET_GETOPT_OPTION_END |
589 | }; | 569 | }; |
590 | 570 | ||
591 | GNUNET_log_setup ("test_chat", | 571 | GNUNET_log_setup ("test_chat", |
592 | #if VERBOSE | 572 | #if VERBOSE |
593 | "DEBUG", | 573 | "DEBUG", |
594 | #else | 574 | #else |
595 | "WARNING", | 575 | "WARNING", |
596 | #endif | 576 | #endif |
597 | NULL); | 577 | NULL); |
598 | if (strstr(argv[0], "p2p") != NULL) | 578 | if (strstr (argv[0], "p2p") != NULL) |
599 | { | 579 | { |
600 | is_p2p = GNUNET_YES; | 580 | is_p2p = GNUNET_YES; |
601 | } | 581 | } |
602 | if (strstr(argv[0], "acknowledgment") != NULL) | 582 | if (strstr (argv[0], "acknowledgment") != NULL) |
603 | { | 583 | { |
604 | is_ackn = GNUNET_YES; | 584 | is_ackn = GNUNET_YES; |
605 | } | 585 | } |
606 | else if (strstr(argv[0], "anonymous") != NULL) | 586 | else if (strstr (argv[0], "anonymous") != NULL) |
607 | { | 587 | { |
608 | is_anon = GNUNET_YES; | 588 | is_anon = GNUNET_YES; |
609 | } | 589 | } |
610 | else if (strstr(argv[0], "authentication") != NULL) | 590 | else if (strstr (argv[0], "authentication") != NULL) |
611 | { | 591 | { |
612 | is_auth = GNUNET_YES; | 592 | is_auth = GNUNET_YES; |
613 | } | 593 | } |
614 | GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, | 594 | GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, |
615 | argvx, "test-chat", | 595 | argvx, "test-chat", "nohelp", options, &run, NULL); |
616 | "nohelp", options, &run, NULL); | ||
617 | stop_arm (&p1); | 596 | stop_arm (&p1); |
618 | GNUNET_CONTAINER_meta_data_destroy (alice_meta); | 597 | GNUNET_CONTAINER_meta_data_destroy (alice_meta); |
619 | GNUNET_CONTAINER_meta_data_destroy (bob_meta); | 598 | GNUNET_CONTAINER_meta_data_destroy (bob_meta); |
620 | if (is_p2p) | 599 | if (is_p2p) |
621 | { | 600 | { |
622 | GNUNET_DISK_directory_remove ("/tmp/gnunet-test-chat-peer-1/"); | 601 | GNUNET_DISK_directory_remove ("/tmp/gnunet-test-chat-peer-1/"); |
623 | GNUNET_DISK_directory_remove ("/tmp/gnunet-test-chat-peer-2/"); | 602 | GNUNET_DISK_directory_remove ("/tmp/gnunet-test-chat-peer-2/"); |
624 | } | 603 | } |
625 | else | 604 | else |
626 | GNUNET_DISK_directory_remove ("/tmp/gnunet-test-chat/"); | 605 | GNUNET_DISK_directory_remove ("/tmp/gnunet-test-chat/"); |
627 | return err; | 606 | return err; |