gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r25626 - in gnunet/src: dns gns pt


From: gnunet
Subject: [GNUnet-SVN] r25626 - in gnunet/src: dns gns pt
Date: Fri, 21 Dec 2012 15:42:18 +0100

Author: grothoff
Date: 2012-12-21 15:42:18 +0100 (Fri, 21 Dec 2012)
New Revision: 25626

Modified:
   gnunet/src/dns/gnunet-service-dns.c
   gnunet/src/gns/test_gns_proxy.c
   gnunet/src/pt/test_gns_vpn.c
Log:
-check for helpers in libexec

Modified: gnunet/src/dns/gnunet-service-dns.c
===================================================================
--- gnunet/src/dns/gnunet-service-dns.c 2012-12-21 14:04:13 UTC (rev 25625)
+++ gnunet/src/dns/gnunet-service-dns.c 2012-12-21 14:42:18 UTC (rev 25626)
@@ -1272,18 +1272,21 @@
   struct in_addr dns_exit4;
   struct in6_addr dns_exit6;
   char *dns_exit;
+  char *binary;
 
   cfg = cfg_;
+  binary = GNUNET_OS_get_libexec_binary_path ("gnunet-helper-dns");
   if (GNUNET_YES !=
-      GNUNET_OS_check_helper_binary ("gnunet-helper-dns"))
+      GNUNET_OS_check_helper_binary (binary))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                _("`%s' must be installed SUID, refusing to run\n"),
-               "gnunet-helper-dns");
+               binary);
     global_ret = 1;
+    GNUNET_free (binary);
     return;
   }
-
+  GNUNET_free (binary);
   stats = GNUNET_STATISTICS_create ("dns", cfg);
   nc = GNUNET_SERVER_notification_context_create (server, 1);
   GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &cleanup_task,

Modified: gnunet/src/gns/test_gns_proxy.c
===================================================================
--- gnunet/src/gns/test_gns_proxy.c     2012-12-21 14:04:13 UTC (rev 25625)
+++ gnunet/src/gns/test_gns_proxy.c     2012-12-21 14:42:18 UTC (rev 25626)
@@ -444,18 +444,21 @@
 int
 main (int argc, char *const *argv)
 {
+  char *binary;
 
   if (GNUNET_SYSERR == GNUNET_OS_check_helper_binary ("gnunet-gns-proxy"))
   {
     fprintf (stderr, "Proxy binary not in PATH... skipping!\n");
     return 0;
   }
-
-  if (GNUNET_YES != GNUNET_OS_check_helper_binary ("gnunet-helper-dns"))
+  binary = GNUNET_OS_get_libexec_binary_path ("gnunet-helper-dns");
+  if (GNUNET_YES != GNUNET_OS_check_helper_binary (binary))
   {
     fprintf (stderr, "DNS helper binary has wrong permissions... skipping!\n");
+    GNUNET_free (binary);
     return 0;
   }
+    GNUNET_free (binary);
 
   GNUNET_CRYPTO_rsa_setup_hostkey ("test_gns_proxy.conf");
   

Modified: gnunet/src/pt/test_gns_vpn.c
===================================================================
--- gnunet/src/pt/test_gns_vpn.c        2012-12-21 14:04:13 UTC (rev 25625)
+++ gnunet/src/pt/test_gns_vpn.c        2012-12-21 14:42:18 UTC (rev 25626)
@@ -501,6 +501,9 @@
 main (int argc, char *const *argv)
 {
   char *sbin_iptables;
+  char *bin_vpn;
+  char *bin_exit;
+  char *bin_dns;
   char *const iptables_args[] =
   {
     "iptables", "-t", "mangle", "-L", "-v", NULL
@@ -535,20 +538,29 @@
     return 0;
   }
 
+  bin_vpn = GNUNET_OS_get_libexec_binary_path ("gnunet-helper-vpn");
+  bin_exit = GNUNET_OS_get_libexec_binary_path ("gnunet-helper-exit");
+  bin_dns = GNUNET_OS_get_libexec_binary_path ("gnunet-helper-dns");
   if ( (0 != geteuid ()) &&
        ( (GNUNET_YES !=
-         GNUNET_OS_check_helper_binary ("gnunet-helper-vpn")) ||
+         GNUNET_OS_check_helper_binary (bin_vpn)) ||
         (GNUNET_YES !=
-         GNUNET_OS_check_helper_binary ("gnunet-helper-exit")) ||
+         GNUNET_OS_check_helper_binary (bin_exit)) ||
         (GNUNET_YES !=
-         GNUNET_OS_check_helper_binary ("gnunet-helper-dns"))) )
-  {
+         GNUNET_OS_check_helper_binary (bin_dns))) )
+  {    
     fprintf (stderr,
             "WARNING: gnunet-helper-{exit,vpn,dns} binaries in $PATH are not 
SUID, refusing to run test (as it would have to fail).\n");
     fprintf (stderr,
             "Change $PATH ('.' in $PATH before $GNUNET_PREFIX/bin is 
problematic) or permissions (run 'make install' as root) to fix this!\n");
+    GNUNET_free (bin_vpn);    
+    GNUNET_free (bin_exit);
+    GNUNET_free (bin_dns);
     return 0;
   }
+  GNUNET_free (bin_vpn);    
+  GNUNET_free (bin_exit);
+  GNUNET_free (bin_dns);
   GNUNET_CRYPTO_rsa_setup_hostkey ("test_gns_vpn.conf");
   
   dest_ip = "169.254.86.1";




reply via email to

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