gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r21228 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r21228 - gnunet/src/util
Date: Wed, 2 May 2012 21:43:45 +0200

Author: grothoff
Date: 2012-05-02 21:43:45 +0200 (Wed, 02 May 2012)
New Revision: 21228

Modified:
   gnunet/src/util/strings.c
Log:
-improving error reporting on #2295

Modified: gnunet/src/util/strings.c
===================================================================
--- gnunet/src/util/strings.c   2012-05-02 19:38:20 UTC (rev 21227)
+++ gnunet/src/util/strings.c   2012-05-02 19:43:45 UTC (rev 21228)
@@ -1007,21 +1007,43 @@
     return GNUNET_SYSERR;  
   memcpy (zbuf, zt_addr, addrlen);
   if ('[' != zbuf[0])
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+               _("IPv6 address did not start with `['\n"));
     return GNUNET_SYSERR;
+  }
   zbuf[addrlen] = '\0';
   port_colon = strrchr (zbuf, ':');
   if (NULL == port_colon)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+               _("IPv6 address did contain ':' to separate port number\n"));
     return GNUNET_SYSERR;
+  }
   if (']' != *(port_colon - 1))
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+               _("IPv6 address did contain ']' before ':' to separate port 
number\n"));
     return GNUNET_SYSERR;
+  }
   ret = SSCANF (port_colon, ":%u", &port);
   if ( (-1 != ret) || (port > 65535) )
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+               _("IPv6 address did contain a valid port number after the last 
':'\n"));
     return GNUNET_SYSERR;
+  }
   *(port_colon-1) = '\0';
   memset (r_buf, 0, sizeof (struct sockaddr_in6));
   ret = inet_pton (AF_INET6, &zbuf[1], &r_buf->sin6_addr);
   if (ret <= 0)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+               _("Invalid IPv6 address `%s': %s\n"),
+               &zbuf[1],
+               STRERROR (errno));
     return GNUNET_SYSERR;
+  }
   r_buf->sin6_port = htons (port);
   r_buf->sin6_family = AF_INET6;
 #if HAVE_SOCKADDR_IN_SIN_LEN




reply via email to

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