[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;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r33525 - gnunet/src/nat,
gnunet <=