[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r15313 - gnunet/src/util,
gnunet <=