summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-01-07 13:05:27 +0100
committerChristian Grothoff <christian@grothoff.org>2017-01-07 13:05:27 +0100
commitfe7e93cbcc20631e611c1a5505a03d00e73e0cc2 (patch)
tree661a57b75982f22041bd15d300a439bcce097a37
parent76b387ae68024934ccd92daa34659ada17dc3955 (diff)
fixing uninit sin_addr; now successfully tested external hole punching support in new NAT code; documenting options to be used in the future
-rw-r--r--src/nat/gnunet-service-nat.c2
-rw-r--r--src/transport/transport.conf.in40
2 files changed, 39 insertions, 3 deletions
diff --git a/src/nat/gnunet-service-nat.c b/src/nat/gnunet-service-nat.c
index a8a824b48..b3e81127b 100644
--- a/src/nat/gnunet-service-nat.c
+++ b/src/nat/gnunet-service-nat.c
@@ -28,7 +28,6 @@
* knowledge about the local network topology.
*
* TODO:
- * - test manual hole punching support
* - adapt existing transports to use new NAT logic
* - abandon legacy NAT code
*
@@ -863,6 +862,7 @@ notify_client_external_ipv4_change (void *cls,
s4 = (struct sockaddr_in *) &lal.addr;
s4->sin_family = AF_INET;
s4->sin_port = htons (ch->ext_dns_port);
+ s4->sin_addr = *v4;
lal.af = AF_INET;
lal.ac = GNUNET_NAT_AC_GLOBAL | GNUNET_NAT_AC_MANUAL;
check_notify_client (&lal,
diff --git a/src/transport/transport.conf.in b/src/transport/transport.conf.in
index 4e9f17f77..7b5413bbe 100644
--- a/src/transport/transport.conf.in
+++ b/src/transport/transport.conf.in
@@ -38,7 +38,17 @@ TESTING_IGNORE_KEYS = ACCEPT_FROM;
[transport-tcp]
# Use 0 to ONLY advertise as a peer behind NAT (no port binding)
PORT = 2086
+
+# Obsolete option, to be replaced by HOLE_EXTERNAL (soon)
ADVERTISED_PORT = 2086
+
+# If we have a manually punched NAT, what is the external IP and port?
+# Can use DNS names for DynDNS-based detection of external IP.
+# Can use IPv6 addresses ([fefc::]:PORT).
+# Use "AUTO" for the hostname to automatically detect external IP.
+# Do not set if NAT is not manually punched.
+# HOLE_EXTERNAL = AUTO:2086
+
TESTING_IGNORE_KEYS = ACCEPT_FROM;
# Maximum number of open TCP connections allowed
@@ -72,8 +82,13 @@ BROADCAST_INTERVAL = 30 s
MAX_BPS = 1000000
TESTING_IGNORE_KEYS = ACCEPT_FROM;
-# Configuration for manually punched holes in NAT.
-# HOLE_EXTERNAL = auto:2086
+# If we have a manually punched NAT, what is the external IP and port?
+# Can use DNS names for DynDNS-based detection of external IP.
+# Can use IPv6 addresses ([fefc::]:PORT).
+# Use "AUTO" for the hostname to automatically detect external IP.
+# Do not set if NAT is not manually punched.
+# HOLE_EXTERNAL = AUTO:2086
+
[transport-http_client]
MAX_CONNECTIONS = 128
@@ -98,7 +113,18 @@ TESTING_IGNORE_KEYS = ACCEPT_FROM;
[transport-http_server]
#EXTERNAL_HOSTNAME = <your hostname/path>
PORT = 1080
+
+# Obsolete option, to be replaced by HOLE_EXTERNAL (soon)
ADVERTISED_PORT = 1080
+
+# If we have a manually punched NAT, what is the external IP and port?
+# Can use DNS names for DynDNS-based detection of external IP.
+# Can use IPv6 addresses ([fefc::]:PORT).
+# Use "AUTO" for the hostname to automatically detect external IP.
+# Do not set if NAT is not manually punched.
+# HOLE_EXTERNAL = AUTO:2086
+
+
MAX_CONNECTIONS = 128
TESTING_IGNORE_KEYS = ACCEPT_FROM;
@@ -139,7 +165,17 @@ TESTING_IGNORE_KEYS = ACCEPT_FROM;
# Does the external hostname use the same port?
# EXTERNAL_HOSTNAME_USE_PORT = YES
PORT = 4433
+
+# Obsolete option, to be replaced by HOLE_EXTERNAL (soon)
ADVERTISED_PORT = 4433
+
+# If we have a manually punched NAT, what is the external IP and port?
+# Can use DNS names for DynDNS-based detection of external IP.
+# Can use IPv6 addresses ([fefc::]:PORT).
+# Use "AUTO" for the hostname to automatically detect external IP.
+# Do not set if NAT is not manually punched.
+# HOLE_EXTERNAL = AUTO:2086
+
CRYPTO_INIT = NORMAL
KEY_FILE = $GNUNET_DATA_HOME/transport/https.key
CERT_FILE = $GNUNET_DATA_HOME/transport/https.cert