gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnunet] branch master updated: -bugfixes and FIXMEs for t3ss


From: gnunet
Subject: [gnunet] branch master updated: -bugfixes and FIXMEs for t3ss
Date: Fri, 24 Sep 2021 09:52:00 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new 8d5876b0e -bugfixes and FIXMEs for t3ss
8d5876b0e is described below

commit 8d5876b0e1726a04bdd150571dd4075664f4f287
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Fri Sep 24 09:51:50 2021 +0200

    -bugfixes and FIXMEs for t3ss
---
 src/testing/testing_api_cmd_netjail_start_v2.c | 86 ++++++++++++++++----------
 1 file changed, 53 insertions(+), 33 deletions(-)

diff --git a/src/testing/testing_api_cmd_netjail_start_v2.c 
b/src/testing/testing_api_cmd_netjail_start_v2.c
index 36fbb0e10..9123148a7 100644
--- a/src/testing/testing_api_cmd_netjail_start_v2.c
+++ b/src/testing/testing_api_cmd_netjail_start_v2.c
@@ -49,7 +49,8 @@ struct NetJailState
   struct GNUNET_OS_Process *start_proc;
 
   // Flag indication if the script finished.
-  unsigned int finished;
+  // FIXME: document 3 values
+  enum GNUNET_GenericReturnValue finished;
 };
 
 
@@ -116,6 +117,7 @@ child_completed_callback (void *cls,
   }
   else
   {
+    // FIXME: log status code
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                 "Child completed with an error!\n");
     ns->finished = GNUNET_SYSERR;
@@ -139,15 +141,13 @@ netjail_start_run (void *cls,
                    struct GNUNET_TESTING_Interpreter *is)
 {
   struct NetJailState *ns = cls;
-  char *pid;
-  GNUNET_asprintf (&pid,
-                   "%u",
-                   getpid ());
-  char *const script_argv[] = {NETJAIL_START_SCRIPT,
-                               ns->topology_config,
-                               pid,
-                               NULL};
-  unsigned int helper_check = GNUNET_OS_check_helper_binary (
+  char pid[15];
+  enum GNUNET_GenericReturnValue helper_check;
+
+  // FIXME: NETJAIL_START_SCRIPT like this is bad,
+  // use location from share/gnunet/ of installed
+  // binary in case libgnunettesting is used as a lib!
+  helper_check = GNUNET_OS_check_helper_binary (
     NETJAIL_START_SCRIPT,
     GNUNET_YES,
     NULL);
@@ -158,22 +158,37 @@ netjail_start_run (void *cls,
                 "No SUID for %s!\n",
                 NETJAIL_START_SCRIPT);
     GNUNET_TESTING_interpreter_fail ();
+    return;
   }
-  else if (GNUNET_NO == helper_check)
+  if (GNUNET_SYSERR == helper_check)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                 "%s not found!\n",
                 NETJAIL_START_SCRIPT);
     GNUNET_TESTING_interpreter_fail ();
+    return;
   }
 
-  ns->start_proc = GNUNET_OS_start_process_vap (GNUNET_OS_INHERIT_STD_ERR,
-                                                NULL,
-                                                NULL,
-                                                NULL,
-                                                NETJAIL_START_SCRIPT,
-                                                script_argv);
-
+  GNUNET_snprintf (pid,
+                   sizeof (pid),
+                   "%u",
+                   getpid ());
+  {
+    char *const script_argv[] = {
+      NETJAIL_START_SCRIPT,
+      ns->topology_config,
+      pid,
+      NULL
+    };
+    
+    ns->start_proc
+      = GNUNET_OS_start_process_vap (GNUNET_OS_INHERIT_STD_ERR,
+                                     NULL,
+                                     NULL,
+                                     NULL,
+                                     NETJAIL_START_SCRIPT,
+                                     script_argv);
+  }
   ns->cwh = GNUNET_wait_child (ns->start_proc,
                                &child_completed_callback,
                                ns);
@@ -182,23 +197,28 @@ netjail_start_run (void *cls,
 
 
 /**
- * This function checks the flag NetJailState#finished, if this cmd finished.
+ * This function checks the flag NetJailState
+ * 
+ * FIXME: fix comment!
+ * #finished, if this cmd finished.
  *
  */
-static int
+static enum GNUNET_GenericReturnValue
 netjail_start_finish (void *cls,
                       GNUNET_SCHEDULER_TaskCallback cont,
                       void *cont_cls)
 {
   struct NetJailState *ns = cls;
 
-  if (ns->finished)
+  if (GNUNET_NO != ns->finished)
   {
     cont (cont_cls);
   }
+  // FIXME: cont should be called later in the else case!
   return ns->finished;
 }
 
+
 /**
  * Create command.
  *
@@ -213,17 +233,17 @@ GNUNET_TESTING_cmd_netjail_start_v2 (const char *label,
   struct NetJailState *ns;
 
   ns = GNUNET_new (struct NetJailState);
-  ns->finished = GNUNET_NO;
   ns->topology_config = topology_config;
-
-  struct GNUNET_TESTING_Command cmd = {
-    .cls = ns,
-    .label = label,
-    .run = &netjail_start_run,
-    .finish = &netjail_start_finish,
-    .cleanup = &netjail_start_cleanup,
-    .traits = &netjail_start_traits
-  };
-
-  return cmd;
+  {
+    struct GNUNET_TESTING_Command cmd = {
+      .cls = ns,
+      .label = label,
+      .run = &netjail_start_run,
+      .finish = &netjail_start_finish,
+      .cleanup = &netjail_start_cleanup,
+      .traits = &netjail_start_traits
+    };
+
+    return cmd;
+  }
 }

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]