gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r15239 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r15239 - gnunet/src/transport
Date: Mon, 16 May 2011 15:51:05 +0200

Author: wachs
Date: 2011-05-16 15:51:05 +0200 (Mon, 16 May 2011)
New Revision: 15239

Modified:
   gnunet/src/transport/plugin_transport_tcp.c
Log:
Another fix for specific bind addresses


Modified: gnunet/src/transport/plugin_transport_tcp.c
===================================================================
--- gnunet/src/transport/plugin_transport_tcp.c 2011-05-16 13:35:17 UTC (rev 
15238)
+++ gnunet/src/transport/plugin_transport_tcp.c 2011-05-16 13:51:05 UTC (rev 
15239)
@@ -2663,8 +2663,8 @@
   struct Plugin *plugin = cls;
   const struct sockaddr_in *s;
   struct IPv4TcpAddress t4;
+  char buf[INET_ADDRSTRLEN];
 
-
   plugin->ext_dns = NULL;
   if (addr == NULL)
     return;
@@ -2690,9 +2690,29 @@
                       plugin->external_address, 
                       (int) plugin->adv_port);
     }
+
+  if ((plugin->bind_address != NULL) && (plugin->behind_nat == GNUNET_NO))
+  {
+      GNUNET_assert (NULL != inet_ntop(AF_INET,
+                                      &t4.ipv4_addr,
+                                      buf,
+                                      sizeof (buf)));
+      if (0 != strcmp (plugin->bind_address, buf))
+      {
+      GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR,
+                      "tcp",
+                      "NAT is not enabled and specific bind address `%s' 
differs from external address `%s'! Not notifying about external address 
`%s'\n",
+                      plugin->bind_address,
+                      plugin->external_address,
+                      plugin->external_address);
+      return;
+      }
+  }
+
   add_to_address_list (plugin, 
                       &t4.ipv4_addr, 
                       sizeof (struct in_addr));
+
   plugin->env->notify_address (plugin->env->cls,
                               "tcp",
                               &t4, sizeof(t4),




reply via email to

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