aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/testbed_api_cmd_netjail_start_testbed.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/testbed/testbed_api_cmd_netjail_start_testbed.c')
-rw-r--r--src/testbed/testbed_api_cmd_netjail_start_testbed.c31
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
54struct NetJailState 54struct 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)
285static void 287static void
286exp_cb (void *cls) 288exp_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
524GNUNET_TESTBED_cmd_netjail_start_testbed (const char *label, 547GNUNET_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,