-makefile for new test_stream_local (commented)
[oweals/gnunet.git] / src / transport / gnunet-transport-certificate-creation.c
index c8fa62cc79a5024104e354acb5923e641757c1b5..2ec8d36a6154b0316b66508ab2dd4e88632dba33 100644 (file)
 #include "gnunet_os_lib.h"
 
 
-static void 
-removecerts (const char *file1, 
-            const char *file2)
+static void
+removecerts (const char *file1, const char *file2)
 {
   if (GNUNET_DISK_file_test (file1) == GNUNET_YES)
-    {
-      CHMOD (file1, 0777);
-      REMOVE (file1);
-    }
+  {
+    CHMOD (file1, S_IWUSR | S_IRUSR);
+    REMOVE (file1);
+  }
   if (GNUNET_DISK_file_test (file2) == GNUNET_YES)
-    {
-      CHMOD (file2, 0777);
-      REMOVE (file2);
-    }
+  {
+    CHMOD (file2, S_IWUSR | S_IRUSR);
+    REMOVE (file2);
+  }
 }
 
 
@@ -50,73 +49,33 @@ int
 main (int argc, char **argv)
 {
   struct GNUNET_OS_Process *openssl;
-  enum GNUNET_OS_ProcessStatusType status_type;
-  unsigned long code;
 
   if (argc != 3)
     return 1;
-
   removecerts (argv[1], argv[2]);
+  close (2);                    /* eliminate stderr */
   /* Create RSA Private Key */
   /* openssl genrsa -out $1 1024 2> /dev/null */
-  openssl = GNUNET_OS_start_process (NULL, NULL,
-                                    "openssl", 
-                                    "openssl",
-                                    "genrsa", "-out", argv[1], "1024",
-                                    NULL);
+  openssl =
+      GNUNET_OS_start_process (GNUNET_NO, NULL, NULL, "openssl", "openssl", "genrsa",
+                               "-out", argv[1], "1024", NULL);
   if (openssl == NULL)
     return 2;
-  if (GNUNET_OS_process_wait (openssl) != GNUNET_OK)
-    {
-      GNUNET_OS_process_kill (openssl, SIGTERM);
-      removecerts (argv[1], argv[2]);
-      return 3;
-    }
-  if (GNUNET_OS_process_status (openssl, &status_type, &code) != GNUNET_OK)
-    {
-      GNUNET_OS_process_kill (openssl, SIGTERM);
-      removecerts (argv[1], argv[2]);
-      return 4;
-    }
-  if (status_type != GNUNET_OS_PROCESS_EXITED || code != 0)
-    {
-      GNUNET_OS_process_kill (openssl, SIGTERM);
-      removecerts (argv[1], argv[2]);
-      return 5;
-    }
+  GNUNET_assert (GNUNET_OS_process_wait (openssl) == GNUNET_OK);
   GNUNET_OS_process_close (openssl);
-  
-  /* Create a self-signed certificate in batch mode using rsa key*/
+
+  /* Create a self-signed certificate in batch mode using rsa key */
   /* openssl req -batch -days 365 -out $2 -new -x509 -key $1 2> /dev/null */
-  openssl = GNUNET_OS_start_process (NULL, NULL, 
-                                    "openssl", 
-                                    "openssl", 
-                                    "req", "-batch", "-days", "365", 
-                                    "-out", argv[2], "-new", "-x509", "-key", argv[1], 
-                                    NULL);
+  openssl =
+      GNUNET_OS_start_process (GNUNET_NO, NULL, NULL, "openssl", "openssl", "req",
+                               "-batch", "-days", "365", "-out", argv[2],
+                               "-new", "-x509", "-key", argv[1], NULL);
   if (openssl == NULL)
-    return 6;
-  if (GNUNET_OS_process_wait (openssl) != GNUNET_OK)
-    {
-      GNUNET_OS_process_kill (openssl, SIGTERM);
-      removecerts (argv[1], argv[2]);
-      return 7;
-    }
-  if (GNUNET_OS_process_status (openssl, &status_type, &code) != GNUNET_OK)
-    {
-      GNUNET_OS_process_kill (openssl, SIGTERM);
-      removecerts (argv[1], argv[2]);
-      return 8;
-    }
-  if (status_type != GNUNET_OS_PROCESS_EXITED || code != 0)
-    {
-      GNUNET_OS_process_kill (openssl, SIGTERM);
-      removecerts (argv[1], argv[2]);
-      return 9;
-    }
+    return 3;
+  GNUNET_assert (GNUNET_OS_process_wait (openssl) == GNUNET_OK);
   GNUNET_OS_process_close (openssl);
-  CHMOD (argv[1], 0400);
-  CHMOD (argv[2], 0400);
+  CHMOD (argv[1], S_IRUSR);
+  CHMOD (argv[2], S_IRUSR);
   return 0;
 }