From de24f62f6916dcc6fd3b5464dc9fb2a72ca80bae Mon Sep 17 00:00:00 2001 From: "Nathan S. Evans" Date: Fri, 11 Jun 2010 11:42:58 +0000 Subject: [PATCH] always add user provided external addresses (duh) --- src/transport/plugin_transport_tcp.c | 7 +++++++ src/transport/plugin_transport_udp.c | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/src/transport/plugin_transport_tcp.c b/src/transport/plugin_transport_tcp.c index 459057219..fca1b1f15 100644 --- a/src/transport/plugin_transport_tcp.c +++ b/src/transport/plugin_transport_tcp.c @@ -2358,6 +2358,13 @@ libgnunet_plugin_transport_tcp_init (void *cls) "tcp", &t4, sizeof(t4), GNUNET_TIME_UNIT_FOREVER_REL); } + else if ((plugin->external_address != NULL) && (inet_pton(AF_INET, plugin->external_address, &t4.ipv4_addr) == 1)) + { + t4.t_port = htons(plugin->adv_port); + plugin->env->notify_address (plugin->env->cls, + "tcp", + &t4, sizeof(t4), GNUNET_TIME_UNIT_FOREVER_REL); + } return api; } diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c index 8caabd0d5..82ccaa8cb 100644 --- a/src/transport/plugin_transport_udp.c +++ b/src/transport/plugin_transport_udp.c @@ -1830,6 +1830,14 @@ libgnunet_plugin_transport_udp_init (void *cls) "udp", &in_addr, sizeof(in_addr), GNUNET_TIME_UNIT_FOREVER_REL); } + else if ((plugin->external_address != NULL) && (inet_pton(AF_INET, plugin->external_address, &in_addr.sin_addr) == 1)) + { + in_addr.sin_port = htons(plugin->port); + in_addr.sin_family = AF_INET; + plugin->env->notify_address (plugin->env->cls, + "udp", + &in_addr, sizeof(in_addr), GNUNET_TIME_UNIT_FOREVER_REL); + } sockets_created = udp_transport_server_start (plugin); -- 2.25.1