gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r11648 - gnunet/src/transport
Date: Wed, 9 Jun 2010 13:18:12 +0200

Author: nevans
Date: 2010-06-09 13:18:12 +0200 (Wed, 09 Jun 2010)
New Revision: 11648

Modified:
   gnunet/src/transport/plugin_transport_udp.c
Log:
malformed address handling

Modified: gnunet/src/transport/plugin_transport_udp.c
===================================================================
--- gnunet/src/transport/plugin_transport_udp.c 2010-06-09 11:12:48 UTC (rev 
11647)
+++ gnunet/src/transport/plugin_transport_udp.c 2010-06-09 11:18:12 UTC (rev 
11648)
@@ -903,6 +903,7 @@
   struct UDP_NAT_Probes *temp_probe;
   int port;
   char *port_start;
+  struct sockaddr_in in_addr;
 
   if (tc->reason == GNUNET_SCHEDULER_REASON_SHUTDOWN)
     return;
@@ -951,6 +952,19 @@
   /** We have received an ICMP response, ostensibly from a non-NAT'd peer
    *  that wants to connect to us! Send a message to establish a connection.
    */
+  if (inet_pton(AF_INET, &mybuf[0], &in_addr.sin_addr) != 1)
+    {
+
+      GNUNET_log_from (GNUNET_ERROR_TYPE_WARNING, "udp",
+                  _("nat-server-read malformed address\n"), &mybuf, port);
+
+      plugin->server_read_task =
+          GNUNET_SCHEDULER_add_read_file (plugin->env->sched,
+                                          GNUNET_TIME_UNIT_FOREVER_REL,
+                                          plugin->server_stdout_handle, 
&udp_plugin_server_read, plugin);
+      return;
+    }
+
   temp_probe = find_probe(plugin, &mybuf[0]);
 
   if (temp_probe == NULL)




reply via email to

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