diff options
Diffstat (limited to 'src/testbed/testbed_api_cmd_netjail_start_testbed.c')
-rw-r--r-- | src/testbed/testbed_api_cmd_netjail_start_testbed.c | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/src/testbed/testbed_api_cmd_netjail_start_testbed.c b/src/testbed/testbed_api_cmd_netjail_start_testbed.c index 2b81c05d1..db9cf7508 100644 --- a/src/testbed/testbed_api_cmd_netjail_start_testbed.c +++ b/src/testbed/testbed_api_cmd_netjail_start_testbed.c | |||
@@ -54,6 +54,8 @@ struct HelperMessage | |||
54 | struct NetJailState | 54 | struct NetJailState |
55 | { | 55 | { |
56 | 56 | ||
57 | unsigned int *rv; | ||
58 | |||
57 | struct HelperMessage *hp_messages_head; | 59 | struct HelperMessage *hp_messages_head; |
58 | 60 | ||
59 | struct HelperMessage *hp_messages_tail; | 61 | struct HelperMessage *hp_messages_tail; |
@@ -285,8 +287,9 @@ helper_mst (void *cls, const struct GNUNET_MessageHeader *message) | |||
285 | static void | 287 | static void |
286 | exp_cb (void *cls) | 288 | exp_cb (void *cls) |
287 | { | 289 | { |
290 | struct NetJailState *ns = cls; | ||
288 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Called exp_cb.\n"); | 291 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Called exp_cb.\n"); |
289 | GNUNET_TESTING_interpreter_fail (); | 292 | *ns->rv = 1; |
290 | } | 293 | } |
291 | 294 | ||
292 | 295 | ||
@@ -334,6 +337,9 @@ start_testbed (struct NetJailState *ns, struct | |||
334 | NULL}; | 337 | NULL}; |
335 | unsigned int m = atoi (m_char); | 338 | unsigned int m = atoi (m_char); |
336 | unsigned int n = atoi (n_char); | 339 | unsigned int n = atoi (n_char); |
340 | unsigned int helper_check = GNUNET_OS_check_helper_binary (NETJAIL_EXEC_SCRIPT, | ||
341 | GNUNET_YES, | ||
342 | NULL); | ||
337 | 343 | ||
338 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 344 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
339 | "m: %d n: %d\n", | 345 | "m: %d n: %d\n", |
@@ -364,6 +370,23 @@ start_testbed (struct NetJailState *ns, struct | |||
364 | "test_testbed_api.conf"); | 370 | "test_testbed_api.conf"); |
365 | }*/ | 371 | }*/ |
366 | 372 | ||
373 | |||
374 | |||
375 | if (GNUNET_NO == helper_check) | ||
376 | { | ||
377 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
378 | "No SUID for %s!\n", | ||
379 | NETJAIL_EXEC_SCRIPT); | ||
380 | *ns->rv = 1; | ||
381 | } | ||
382 | else if (GNUNET_NO == helper_check) | ||
383 | { | ||
384 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
385 | "%s not found!\n", | ||
386 | NETJAIL_EXEC_SCRIPT); | ||
387 | *ns->rv = 1; | ||
388 | } | ||
389 | |||
367 | GNUNET_array_append (ns->helper, ns->n_helper, GNUNET_HELPER_start ( | 390 | GNUNET_array_append (ns->helper, ns->n_helper, GNUNET_HELPER_start ( |
368 | GNUNET_YES, | 391 | GNUNET_YES, |
369 | NETJAIL_EXEC_SCRIPT, | 392 | NETJAIL_EXEC_SCRIPT, |
@@ -405,7 +428,7 @@ start_testbed (struct NetJailState *ns, struct | |||
405 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 428 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
406 | "Send handle is NULL!\n"); | 429 | "Send handle is NULL!\n"); |
407 | GNUNET_free (msg); | 430 | GNUNET_free (msg); |
408 | GNUNET_TESTING_interpreter_fail (); | 431 | *ns->rv = 1; |
409 | } | 432 | } |
410 | } | 433 | } |
411 | 434 | ||
@@ -524,7 +547,8 @@ struct GNUNET_TESTING_Command | |||
524 | GNUNET_TESTBED_cmd_netjail_start_testbed (const char *label, | 547 | GNUNET_TESTBED_cmd_netjail_start_testbed (const char *label, |
525 | char *local_m, | 548 | char *local_m, |
526 | char *global_n, | 549 | char *global_n, |
527 | char *plugin_name) | 550 | char *plugin_name, |
551 | unsigned int *rv) | ||
528 | { | 552 | { |
529 | struct NetJailState *ns; | 553 | struct NetJailState *ns; |
530 | 554 | ||
@@ -532,6 +556,7 @@ GNUNET_TESTBED_cmd_netjail_start_testbed (const char *label, | |||
532 | ns->local_m = local_m; | 556 | ns->local_m = local_m; |
533 | ns->global_n = global_n; | 557 | ns->global_n = global_n; |
534 | ns->plugin_name = plugin_name; | 558 | ns->plugin_name = plugin_name; |
559 | ns->rv = rv; | ||
535 | 560 | ||
536 | struct GNUNET_TESTING_Command cmd = { | 561 | struct GNUNET_TESTING_Command cmd = { |
537 | .cls = ns, | 562 | .cls = ns, |