gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r33525 - gnunet/src/nat


From: gnunet
Subject: [GNUnet-SVN] r33525 - gnunet/src/nat
Date: Wed, 4 Jun 2014 19:31:39 +0200

Author: cfuchs
Date: 2014-06-04 19:31:39 +0200 (Wed, 04 Jun 2014)
New Revision: 33525

Modified:
   gnunet/src/nat/nat_auto.c
   gnunet/src/nat/nat_test.c
Log:
- disentangled test_icmp_client and test_icmp_server's logics
- integrated more error-reporting changes for nat_test.c

Modified: gnunet/src/nat/nat_auto.c
===================================================================
--- gnunet/src/nat/nat_auto.c   2014-06-04 16:57:26 UTC (rev 33524)
+++ gnunet/src/nat/nat_auto.c   2014-06-04 17:31:39 UTC (rev 33525)
@@ -506,26 +506,46 @@
 static void
 test_icmp_client (struct GNUNET_NAT_AutoHandle *ah)
 {
-  int hnc;
+  int ext_ip;
+  int nated;
+  int binary;
   char *tmp;
-  char *binary;
+  char *helper;
+  
+  ext_ip = GNUNET_NO;
+  nated = GNUNET_NO;
+  binary = GNUNET_NO;
 
   tmp = NULL;
-  binary = GNUNET_OS_get_libexec_binary_path ("gnunet-helper-nat-client");
-  hnc =
-      ((GNUNET_OK ==
+  helper = GNUNET_OS_get_libexec_binary_path ("gnunet-helper-nat-client");
+  if ((GNUNET_OK ==
         GNUNET_CONFIGURATION_get_value_string (ah->cfg, "nat", 
"INTERNAL_ADDRESS",
-                                               &tmp)) && (0 < strlen (tmp)) &&
-       (GNUNET_YES !=
-        GNUNET_CONFIGURATION_get_value_yesno (ah->cfg, "nat", "BEHIND_NAT")) &&
-       (GNUNET_YES ==
-        GNUNET_OS_check_helper_binary (binary, GNUNET_YES, "-d 127.0.0.1 
127.0.0.2 42"))); // none of these parameters are actually used in privilege 
testing mode
+                                               &tmp)) && (0 < strlen (tmp)))
+  {
+    ext_ip = GNUNET_OK;
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("test_icmp_client not possible, as 
we have no internal IPv4 address\n"));
+  }
+  else
+    goto err;
+  
+  if (GNUNET_YES !=
+      GNUNET_CONFIGURATION_get_value_yesno (ah->cfg, "nat", "BEHIND_NAT")){
+        nated = GNUNET_YES;
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("test_icmp_server not possible, as 
we are not behind NAT\n"));
+  }
+  else
+    goto err;
+  
+  if (GNUNET_YES ==
+      GNUNET_OS_check_helper_binary (helper, GNUNET_YES, "-d 127.0.0.1 
127.0.0.2 42")){
+          // none of these parameters are actually used in privilege testing 
mode
+    binary = GNUNET_OK;
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("No working gnunet-helper-nat-server 
found\n"));
+  }
+err:
   GNUNET_free_non_null (tmp);
-  GNUNET_free (binary);
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-             (hnc)
-             ? _("gnunet-helper-nat-client found, enabling it\n")
-             : _("gnunet-helper-nat-client not found or behind NAT, disabling 
it\n"));
+  GNUNET_free (helper);
+
   next_phase (ah);
 }
 
@@ -570,7 +590,7 @@
                                          ah->cfg);
     ah->fin_cb (ah->fin_cb_cls,
                diff,
-                GNUNET_NAT_ERROR_SUCCESS);
+                ah->ret);
     GNUNET_CONFIGURATION_destroy (diff);
     GNUNET_NAT_autoconfig_cancel (ah);
     return;

Modified: gnunet/src/nat/nat_test.c
===================================================================
--- gnunet/src/nat/nat_test.c   2014-06-04 16:57:26 UTC (rev 33524)
+++ gnunet/src/nat/nat_test.c   2014-06-04 17:31:39 UTC (rev 33525)
@@ -382,7 +382,7 @@
                        GNUNET_NAT_TestCallback report,
                        void *report_cls)
 {
-  struct GNUNET_NAT_Test *ret;
+  struct GNUNET_NAT_Test *nh;
   struct sockaddr_in sa;
   const struct sockaddr *addrs[] = { (const struct sockaddr *) &sa };
   const socklen_t addrlens[] = { sizeof (sa) };
@@ -394,72 +394,72 @@
   sa.sin_len = sizeof (sa);
 #endif
 
-  ret = GNUNET_new (struct GNUNET_NAT_Test);
-  ret->cfg = cfg;
-  ret->is_tcp = is_tcp;
-  ret->data = bnd_port;
-  ret->adv_port = adv_port;
-  ret->report = report;
-  ret->report_cls = report_cls;
+  nh = GNUNET_new (struct GNUNET_NAT_Test);
+  nh->cfg = cfg;
+  nh->is_tcp = is_tcp;
+  nh->data = bnd_port;
+  nh->adv_port = adv_port;
+  nh->report = report;
+  nh->report_cls = report_cls;
   if (0 == bnd_port)
   {
-    ret->nat =
+    nh->nat =
         GNUNET_NAT_register (cfg, is_tcp, 0, 0, NULL, NULL, &addr_cb,
-                             &reversal_cb, ret);
+                             &reversal_cb, nh);
   }
   else
   {
-    ret->lsock =
+    nh->lsock =
         GNUNET_NETWORK_socket_create (AF_INET,
                                       (is_tcp ==
                                        GNUNET_YES) ? SOCK_STREAM : SOCK_DGRAM,
                                       0);
-    if ((ret->lsock == NULL) ||
+    if ((nh->lsock == NULL) ||
         (GNUNET_OK !=
-         GNUNET_NETWORK_socket_bind (ret->lsock, (const struct sockaddr *) &sa,
+         GNUNET_NETWORK_socket_bind (nh->lsock, (const struct sockaddr *) &sa,
                                      sizeof (sa))))
     {
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                   _("Failed to create listen socket bound to `%s' for NAT 
test: %s\n"),
                   GNUNET_a2s ((const struct sockaddr *) &sa, sizeof (sa)),
                   STRERROR (errno));
-      if (NULL != ret->lsock)
-        GNUNET_NETWORK_socket_close (ret->lsock);
-      GNUNET_free (ret);
+      if (NULL != nh->lsock)
+        GNUNET_NETWORK_socket_close (nh->lsock);
+      GNUNET_free (nh);
       return NULL;
     }
     if (GNUNET_YES == is_tcp)
     {
-      GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_listen (ret->lsock, 5));
-      ret->ltask =
+      GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_listen (nh->lsock, 5));
+      nh->ltask =
           GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL,
-                                         ret->lsock, &do_accept, ret);
+                                         nh->lsock, &do_accept, nh);
     }
     else
     {
-      ret->ltask =
+      nh->ltask =
           GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL,
-                                         ret->lsock, &do_udp_read, ret);
+                                         nh->lsock, &do_udp_read, nh);
     }
     LOG (GNUNET_ERROR_TYPE_DEBUG,
         "NAT test listens on port %u (%s)\n",
         bnd_port,
         (GNUNET_YES == is_tcp) ? "tcp" : "udp");
-    ret->nat = GNUNET_NAT_register (cfg, is_tcp, adv_port, 1, addrs, addrlens,
-                             &addr_cb, NULL, ret);
-    if (NULL == ret->nat)
+    nh->nat = GNUNET_NAT_register (cfg, is_tcp, adv_port, 1, addrs, addrlens,
+                             &addr_cb, NULL, nh);
+    if (NULL == nh->nat)
     {
       LOG (GNUNET_ERROR_TYPE_ERROR,
           _("NAT test failed to start NAT library\n"));
-      if (GNUNET_SCHEDULER_NO_TASK != ret->ltask)
-        GNUNET_SCHEDULER_cancel (ret->ltask);
-      if (NULL != ret->lsock)
-        GNUNET_NETWORK_socket_close (ret->lsock);
-      GNUNET_free (ret);
+      if (GNUNET_SCHEDULER_NO_TASK != nh->ltask)
+        GNUNET_SCHEDULER_cancel (nh->ltask);
+      if (NULL != nh->lsock)
+        GNUNET_NETWORK_socket_close (nh->lsock);
+      GNUNET_free (nh);
       return NULL;
     }
   }
-  return ret;
+  return nh;
 }
 
 




reply via email to

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