gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r31916 - gnunet/src/transport
Date: Wed, 15 Jan 2014 13:25:45 +0100

Author: wachs
Date: 2014-01-15 13:25:45 +0100 (Wed, 15 Jan 2014)
New Revision: 31916

Modified:
   gnunet/src/transport/plugin_transport_udp_broadcasting.c
Log:
fix mantis bug 0003270: do not broadcast on loopback


Modified: gnunet/src/transport/plugin_transport_udp_broadcasting.c
===================================================================
--- gnunet/src/transport/plugin_transport_udp_broadcasting.c    2014-01-15 
11:02:56 UTC (rev 31915)
+++ gnunet/src/transport/plugin_transport_udp_broadcasting.c    2014-01-15 
12:25:45 UTC (rev 31916)
@@ -473,6 +473,7 @@
 {
   struct Plugin *plugin = cls;
   struct BroadcastAddress *ba;
+  struct GNUNET_ATS_Information network;
 
   if (NULL == addr)
     return GNUNET_OK;
@@ -487,11 +488,19 @@
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "netmask %s for interface %s %p\n ",
               GNUNET_a2s (netmask, addrlen), name, netmask);
 
+  network = plugin->env->get_address_type (plugin->env->cls, broadcast_addr, 
addrlen);
+  if (GNUNET_ATS_NET_LOOPBACK == ntohl(network.value))
+  {
+    /* Broadcasting on loopback does not make sense */
+    return GNUNET_YES;
+  }
+
   ba = GNUNET_new (struct BroadcastAddress);
   ba->plugin = plugin;
   ba->addr = GNUNET_malloc (addrlen);
   memcpy (ba->addr, broadcast_addr, addrlen);
   ba->addrlen = addrlen;
+
   if ( (GNUNET_YES == plugin->enable_ipv4) &&
        (NULL != plugin->sockv4) &&
        (addrlen == sizeof (struct sockaddr_in)) )




reply via email to

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