[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r11479 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r11479 - gnunet/src/transport |
Date: |
Fri, 21 May 2010 12:35:50 +0200 |
Author: grothoff
Date: 2010-05-21 12:35:50 +0200 (Fri, 21 May 2010)
New Revision: 11479
Modified:
gnunet/src/transport/plugin_transport_tcp.c
gnunet/src/transport/plugin_transport_udp.c
Log:
more FBSD fixes
Modified: gnunet/src/transport/plugin_transport_tcp.c
===================================================================
--- gnunet/src/transport/plugin_transport_tcp.c 2010-05-21 10:25:32 UTC (rev
11478)
+++ gnunet/src/transport/plugin_transport_tcp.c 2010-05-21 10:35:50 UTC (rev
11479)
@@ -856,9 +856,9 @@
#endif
a6.sin6_family = AF_INET6;
a6.sin6_port = t6->t6_port;
- memcpy (a6.sin6_addr.s6_addr,
+ memcpy (&a6.sin6_addr,
&t6->ipv6_addr,
- 16);
+ sizeof (struct in6_addr));
sb = &a6;
sbs = sizeof (a6);
}
@@ -1085,9 +1085,9 @@
memset (&a6, 0, sizeof (a6));
a6.sin6_family = AF_INET6;
a6.sin6_port = t6->t6_port;
- memcpy (a6.sin6_addr.s6_addr,
+ memcpy (&a6.sin6_addr,
&t6->ipv6_addr,
- 16);
+ sizeof (struct in6_addr));
port = ntohs (t6->t6_port);
sb = &a6;
sbs = sizeof (a6);
@@ -1254,8 +1254,8 @@
t6 = GNUNET_malloc (sizeof (struct IPv6TcpAddress));
t6->t6_port = s6->sin6_port;
memcpy (&t6->ipv6_addr,
- s6->sin6_addr.s6_addr,
- 16);
+ &s6->sin6_addr,
+ sizeof (struct in6_addr));
session->connect_addr = t6;
session->connect_alen = sizeof (struct IPv6TcpAddress);
}
@@ -1451,14 +1451,14 @@
}
else if (af == AF_INET6)
{
- if (IN6_IS_ADDR_LINKLOCAL (((struct sockaddr_in6 *)
addr)->sin6_addr.s6_addr))
+ if (IN6_IS_ADDR_LINKLOCAL (&((struct sockaddr_in6 *) addr)->sin6_addr))
{
/* skip link local addresses */
return GNUNET_OK;
}
memcpy (&t6.ipv6_addr,
- ((struct sockaddr_in6 *) addr)->sin6_addr.s6_addr,
- 16);
+ &((struct sockaddr_in6 *) addr)->sin6_addr,
+ sizeof (struct in6_addr));
t6.t6_port = htons (plugin->adv_port);
arg = &t6;
args = sizeof (t6);
Modified: gnunet/src/transport/plugin_transport_udp.c
===================================================================
--- gnunet/src/transport/plugin_transport_udp.c 2010-05-21 10:25:32 UTC (rev
11478)
+++ gnunet/src/transport/plugin_transport_udp.c 2010-05-21 10:35:50 UTC (rev
11479)
@@ -295,9 +295,9 @@
#endif
a6.sin6_family = AF_INET6;
a6.sin6_port = t6->u6_port;
- memcpy (a6.sin6_addr.s6_addr,
+ memcpy (&a6.sin6_addr,
&t6->ipv6_addr,
- 16);
+ sizeof (struct in6_addr));
sb = &a6;
sbs = sizeof (a6);
}
@@ -380,9 +380,14 @@
}
else if (af == AF_INET6)
{
+ if (IN6_IS_ADDR_LINKLOCAL (&((struct sockaddr_in6 *) addr)->sin6_addr))
+ {
+ /* skip link local addresses */
+ return GNUNET_OK;
+ }
memcpy (&t6.ipv6_addr,
- ((struct sockaddr_in6 *) addr)->sin6_addr.s6_addr,
- 16);
+ &((struct sockaddr_in6 *) addr)->sin6_addr,
+ sizeof (struct in6_addr));
t6.u6_port = htons (plugin->adv_port);
arg = &t6;
args = sizeof (t6);
@@ -541,8 +546,8 @@
s6 = (const struct sockaddr_in6*) &addr;
t6.u6_port = s6->sin6_port;
memcpy (&t6.ipv6_addr,
- s6->sin6_addr.s6_addr,
- 16);
+ &s6->sin6_addr,
+ sizeof (struct in6_addr));
ca = &t6;
calen = sizeof (struct IPv6UdpAddress);
}
@@ -714,6 +719,11 @@
else
{
v6 = (struct IPv6UdpAddress *) addr;
+ if (IN6_IS_ADDR_LINKLOCAL (&v6->ipv6_addr))
+ {
+ GNUNET_break_op (0);
+ return GNUNET_SYSERR;
+ }
v6->u6_port = htons (check_port (plugin, ntohs (v6->u6_port)));
}
return GNUNET_OK;
@@ -782,9 +792,9 @@
a6.sin6_family = AF_INET6;
a6.sin6_port = t6->u6_port;
port = ntohs (t6->u6_port);
- memcpy (a6.sin6_addr.s6_addr,
+ memcpy (&a6.sin6_addr,
&t6->ipv6_addr,
- 16);
+ sizeof (struct in6_addr));
sb = &a6;
sbs = sizeof (a6);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r11479 - gnunet/src/transport,
gnunet <=