gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r15313 - gnunet/src/util
Date: Wed, 25 May 2011 23:41:52 +0200

Author: grothoff
Date: 2011-05-25 23:41:52 +0200 (Wed, 25 May 2011)
New Revision: 15313

Modified:
   gnunet/src/util/connection.c
   gnunet/src/util/gnunet-service-resolver.c
   gnunet/src/util/os_network.c
   gnunet/src/util/service.c
   gnunet/src/util/test_resolver_api.c
   gnunet/src/util/test_server_with_client_unix.c
Log:
set sxn_len on FreeBSD where required

Modified: gnunet/src/util/connection.c
===================================================================
--- gnunet/src/util/connection.c        2011-05-25 21:40:07 UTC (rev 15312)
+++ gnunet/src/util/connection.c        2011-05-25 21:41:52 UTC (rev 15313)
@@ -376,6 +376,9 @@
       v4 = GNUNET_malloc (sizeof (struct sockaddr_in));
       memset (v4, 0, sizeof (struct sockaddr_in));
       v4->sin_family = AF_INET;
+#if HAVE_SOCKADDR_IN_SIN_LEN
+      v4->sin_len = (u_char) sizeof (struct sockaddr_in);
+#endif
       memcpy (&v4->sin_addr,
               &((char *) &v6->sin6_addr)[sizeof (struct in6_addr) -
                                          sizeof (struct in_addr)],
@@ -936,10 +939,12 @@
          unixpath,
          slen);
   un->sun_path[slen] = '\0';
-  slen += sizeof (sa_family_t);
+  slen = SUN_LEN (un);
+#if HAVE_SOCKADDR_IN_SIN_LEN
+  un->sun_len = (u_char) slen;
+#endif
 #if LINUX
   un->sun_path[0] = '\0';
-  slen = sizeof (struct sockaddr_un);
 #endif
   ret = GNUNET_malloc (sizeof (struct GNUNET_CONNECTION_Handle));
   ret->cfg = cfg;

Modified: gnunet/src/util/gnunet-service-resolver.c
===================================================================
--- gnunet/src/util/gnunet-service-resolver.c   2011-05-25 21:40:07 UTC (rev 
15312)
+++ gnunet/src/util/gnunet-service-resolver.c   2011-05-25 21:41:52 UTC (rev 
15313)
@@ -327,6 +327,9 @@
       GNUNET_assert (hp->h_length == sizeof (struct in_addr));
       memset (&a4, 0, sizeof (a4));
       a4.sin_family = AF_INET;
+#if HAVE_SOCKADDR_IN_SIN_LEN
+      a4.sin_len = (u_char) sizeof (struct sockaddr_in);
+#endif
       memcpy (&a4.sin_addr, hp->h_addr_list[0], hp->h_length);
       GNUNET_SERVER_transmit_context_append_data (tc,
                                                  &a4,
@@ -338,6 +341,9 @@
       GNUNET_assert (hp->h_length == sizeof (struct in6_addr));
       memset (&a6, 0, sizeof (a6));
       a6.sin6_family = AF_INET6;
+#if HAVE_SOCKADDR_IN_SIN_LEN
+      a6.sin6_len = (u_char) sizeof (struct sockaddr_in6);
+#endif
       memcpy (&a6.sin6_addr, hp->h_addr_list[0], hp->h_length);
       GNUNET_SERVER_transmit_context_append_data (tc,
                                                  &a6,
@@ -372,6 +378,9 @@
   GNUNET_assert (hp->h_length == sizeof (struct in_addr));
   memset (&addr, 0, sizeof (addr));
   addr.sin_family = AF_INET;
+#if HAVE_SOCKADDR_IN_SIN_LEN
+  addr.sin_len = (u_char) sizeof (struct sockaddr_in);
+#endif
   memcpy (&addr.sin_addr, hp->h_addr_list[0], hp->h_length);
   GNUNET_SERVER_transmit_context_append_data (tc,
                                              &addr,

Modified: gnunet/src/util/os_network.c
===================================================================
--- gnunet/src/util/os_network.c        2011-05-25 21:40:07 UTC (rev 15312)
+++ gnunet/src/util/os_network.c        2011-05-25 21:41:52 UTC (rev 15313)
@@ -148,6 +148,9 @@
                 free (pszIfName);
 
               sa.sin_family = AF_INET;
+#if HAVE_SOCKADDR_IN_SIN_LEN
+             sa.sin_len = (u_char) sizeof (struct sockaddr_in);
+#endif
               sa.sin_addr.S_un.S_addr = dwIP;
 
               if (GNUNET_OK !=
@@ -256,6 +259,9 @@
             {
               memset (&a4, 0, sizeof (a4));
               a4.sin_family = AF_INET;
+#if HAVE_SOCKADDR_IN_SIN_LEN
+             a4.sin_len = (u_char) sizeof (struct sockaddr_in);
+#endif
               a4.sin_addr = v4;
               if (GNUNET_OK !=
                   proc (proc_cls,
@@ -270,8 +276,10 @@
             {
               memset (&a6, 0, sizeof (a6));
               a6.sin6_family = AF_INET6;
+#if HAVE_SOCKADDR_IN_SIN_LEN
+             a6.sin6_len = (u_char) sizeof (struct sockaddr_in6);
+#endif
               a6.sin6_addr = v6;
-              fprintf (stderr, "procing %s\n", addrstr);
               if (GNUNET_OK !=
                   proc (proc_cls,
                         ifc,

Modified: gnunet/src/util/service.c
===================================================================
--- gnunet/src/util/service.c   2011-05-25 21:40:07 UTC (rev 15312)
+++ gnunet/src/util/service.c   2011-05-25 21:41:52 UTC (rev 15313)
@@ -766,15 +766,13 @@
          unixpath,
          slen);
   un->sun_path[slen] = '\0';
+  slen = SUN_LEN (un);
 #if LINUX
   un->sun_path[0] = '\0';
-  slen = sizeof (struct sockaddr_un);
-#elif FREEBSD
-  slen += sizeof (sa_family_t) + 1 ;
-#else
-  slen += sizeof (sa_family_t) ;
 #endif
-
+#if HAVE_SOCKADDR_IN_SIN_LEN
+  un->sun_len = (u_char) slen;
+#endif
   *saddrs = (struct sockaddr*) un;
   *saddrlens = slen;
 #else
@@ -909,6 +907,7 @@
     {
       /* probe UNIX support */
       struct sockaddr_un s_un;
+
       if (strlen(unixpath) >= sizeof(s_un.sun_path))
        {
          GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
@@ -923,8 +922,8 @@
       desc = GNUNET_NETWORK_socket_create (AF_UNIX, SOCK_STREAM, 0);
       if (NULL == desc)
         {
-          if ((errno == ENOBUFS) ||
-              (errno == ENOMEM) || (errno == ENFILE) || (errno == EACCES))
+          if ( (errno == ENOBUFS) ||
+              (errno == ENOMEM) || (errno == ENFILE) || (errno == EACCES))
             {
               GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "socket");
              GNUNET_free_non_null (hostname);

Modified: gnunet/src/util/test_resolver_api.c
===================================================================
--- gnunet/src/util/test_resolver_api.c 2011-05-25 21:40:07 UTC (rev 15312)
+++ gnunet/src/util/test_resolver_api.c 2011-05-25 21:41:52 UTC (rev 15313)
@@ -229,6 +229,9 @@
 
   memset(&sa, 0, sizeof(sa));
   sa.sin_family = AF_INET;
+#if HAVE_SOCKADDR_IN_SIN_LEN
+  sa.sin_len = (u_char) sizeof (sa);
+#endif
   sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
   GNUNET_RESOLVER_ip_get(cfg, "localhost", AF_INET, timeout, &check_127,
       cls);
@@ -343,6 +346,9 @@
 
   memset(&sa, 0, sizeof(sa));
   sa.sin_family = AF_INET;
+#if HAVE_SOCKADDR_IN_SIN_LEN
+  sa.sin_len = (u_char) sizeof (sa);
+#endif
 #ifndef MINGW
   inet_aton(ROOTSERVER_IP, &sa.sin_addr);
 #else

Modified: gnunet/src/util/test_server_with_client_unix.c
===================================================================
--- gnunet/src/util/test_server_with_client_unix.c      2011-05-25 21:40:07 UTC 
(rev 15312)
+++ gnunet/src/util/test_server_with_client_unix.c      2011-05-25 21:41:52 UTC 
(rev 15313)
@@ -142,6 +142,9 @@
   un.sun_family = AF_UNIX;
   memcpy (un.sun_path, unixpath, slen);
   un.sun_path[slen] = '\0';
+#if HAVE_SOCKADDR_IN_SIN_LEN
+  un.sun_len = (u_char) SUN_LEN (&un);
+#endif
 #if LINUX
   un.sun_path[0] = '\0';
 #endif




reply via email to

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