gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r37047 - gnunet/src/exit


From: gnunet
Subject: [GNUnet-SVN] r37047 - gnunet/src/exit
Date: Mon, 18 Apr 2016 14:08:41 +0200

Author: daniel
Date: 2016-04-18 14:08:41 +0200 (Mon, 18 Apr 2016)
New Revision: 37047

Modified:
   gnunet/src/exit/gnunet-helper-exit.c
Log:
exit: fully skip routing setup if no interface is specified

Modified: gnunet/src/exit/gnunet-helper-exit.c
===================================================================
--- gnunet/src/exit/gnunet-helper-exit.c        2016-04-18 12:08:38 UTC (rev 
37046)
+++ gnunet/src/exit/gnunet-helper-exit.c        2016-04-18 12:08:41 UTC (rev 
37047)
@@ -667,28 +667,31 @@
     fprintf (stderr, "Fatal: disabling both IPv4 and IPv6 makes no sense.\n");
     return 1;
   }
-  if (0 == access ("/sbin/iptables", X_OK))
-    sbin_iptables = "/sbin/iptables";
-  else if (0 == access ("/usr/sbin/iptables", X_OK))
-    sbin_iptables = "/usr/sbin/iptables";
-  else
+  if (0 != strcmp (argv[2], "-"))
   {
-    fprintf (stderr,
-            "Fatal: executable iptables not found in approved directories: 
%s\n",
-            strerror (errno));
-    return 1;
+    if (0 == access ("/sbin/iptables", X_OK))
+      sbin_iptables = "/sbin/iptables";
+    else if (0 == access ("/usr/sbin/iptables", X_OK))
+      sbin_iptables = "/usr/sbin/iptables";
+    else
+    {
+      fprintf (stderr,
+              "Fatal: executable iptables not found in approved directories: 
%s\n",
+              strerror (errno));
+      return 1;
+    }
+    if (0 == access ("/sbin/sysctl", X_OK))
+      sbin_sysctl = "/sbin/sysctl";
+    else if (0 == access ("/usr/sbin/sysctl", X_OK))
+      sbin_sysctl = "/usr/sbin/sysctl";
+    else
+    {
+      fprintf (stderr,
+              "Fatal: executable sysctl not found in approved directories: 
%s\n",
+              strerror (errno));
+      return 1;
+    }
   }
-  if (0 == access ("/sbin/sysctl", X_OK))
-    sbin_sysctl = "/sbin/sysctl";
-  else if (0 == access ("/usr/sbin/sysctl", X_OK))
-    sbin_sysctl = "/usr/sbin/sysctl";
-  else
-  {
-    fprintf (stderr,
-            "Fatal: executable sysctl not found in approved directories: %s\n",
-            strerror (errno));
-    return 1;
-  }
 
   strncpy (dev, argv[1], IFNAMSIZ);
   dev[IFNAMSIZ - 1] = '\0';
@@ -718,6 +721,7 @@
       }
       set_address6 (dev, address, prefix_len);
     }
+    if (0 != strcmp (argv[2], "-"))
     {
       char *const sysctl_args[] =
        {
@@ -740,29 +744,31 @@
 
       set_address4 (dev, address, mask);
     }
+    if (0 != strcmp (argv[2], "-"))
     {
-      char *const sysctl_args[] =
-       {
-         "sysctl", "-w", "net.ipv4.ip_forward=1", NULL
-       };
-      if (0 != fork_and_exec (sbin_sysctl,
-                             sysctl_args))
       {
-       fprintf (stderr,
-                "Failed to enable IPv4 forwarding.  Will continue anyway.\n");
+        char *const sysctl_args[] =
+         {
+           "sysctl", "-w", "net.ipv4.ip_forward=1", NULL
+         };
+        if (0 != fork_and_exec (sbin_sysctl,
+                               sysctl_args))
+        {
+         fprintf (stderr,
+                  "Failed to enable IPv4 forwarding.  Will continue 
anyway.\n");
+        }
       }
-    }
-    if (0 != strcmp (argv[2], "-"))
-    {
-      char *const iptables_args[] =
-       {
-         "iptables", "-t", "nat", "-A", "POSTROUTING", "-o", argv[2], "-j", 
"MASQUERADE", NULL
-       };
-      if (0 != fork_and_exec (sbin_iptables,
-                             iptables_args))
       {
-       fprintf (stderr,
-                "Failed to enable IPv4 masquerading (NAT).  Will continue 
anyway.\n");
+        char *const iptables_args[] =
+         {
+           "iptables", "-t", "nat", "-A", "POSTROUTING", "-o", argv[2], "-j", 
"MASQUERADE", NULL
+         };
+        if (0 != fork_and_exec (sbin_iptables,
+                               iptables_args))
+        {
+         fprintf (stderr,
+                  "Failed to enable IPv4 masquerading (NAT).  Will continue 
anyway.\n");
+        }
       }
     }
   }




reply via email to

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