aboutsummaryrefslogtreecommitdiff
path: root/src/transport/plugin_transport_tcp.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2014-04-01 09:19:24 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2014-04-01 09:19:24 +0000
commitbfdb0abc074a99a7d24ca408f38cfda128d4132b (patch)
tree4307779a653e03a3f08fe7aa48992f214dca4805 /src/transport/plugin_transport_tcp.c
parent491a5db01a9cd46b8f6edae09c9d232c0945cd79 (diff)
downloadgnunet-bfdb0abc074a99a7d24ca408f38cfda128d4132b.tar.gz
gnunet-bfdb0abc074a99a7d24ca408f38cfda128d4132b.zip
minor changes for address conversion
Diffstat (limited to 'src/transport/plugin_transport_tcp.c')
-rw-r--r--src/transport/plugin_transport_tcp.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/transport/plugin_transport_tcp.c b/src/transport/plugin_transport_tcp.c
index fadec5f4d..7664fd931 100644
--- a/src/transport/plugin_transport_tcp.c
+++ b/src/transport/plugin_transport_tcp.c
@@ -483,7 +483,7 @@ tcp_nat_port_map_callback (void *cls, int add_remove,
483 t4.ipv4_addr = ((struct sockaddr_in *) addr)->sin_addr.s_addr; 483 t4.ipv4_addr = ((struct sockaddr_in *) addr)->sin_addr.s_addr;
484 t4.t4_port = ((struct sockaddr_in *) addr)->sin_port; 484 t4.t4_port = ((struct sockaddr_in *) addr)->sin_port;
485 arg = &t4; 485 arg = &t4;
486 args = sizeof(t4); 486 args = sizeof (t4);
487 break; 487 break;
488 case AF_INET6: 488 case AF_INET6:
489 GNUNET_assert(addrlen == sizeof(struct sockaddr_in6)); 489 GNUNET_assert(addrlen == sizeof(struct sockaddr_in6));
@@ -493,13 +493,15 @@ tcp_nat_port_map_callback (void *cls, int add_remove,
493 t6.options = htonl (myoptions); 493 t6.options = htonl (myoptions);
494 t6.t6_port = ((struct sockaddr_in6 *) addr)->sin6_port; 494 t6.t6_port = ((struct sockaddr_in6 *) addr)->sin6_port;
495 arg = &t6; 495 arg = &t6;
496 args = sizeof(t6); 496 args = sizeof (t6);
497 break; 497 break;
498 default: 498 default:
499 GNUNET_break(0); 499 GNUNET_break(0);
500 return; 500 return;
501 } 501 }
502 /* modify our published address list */ 502 /* modify our published address list */
503 GNUNET_assert ((args == sizeof (struct IPv4TcpAddress)) ||
504 (args == sizeof (struct IPv6TcpAddress)));
503 address = GNUNET_HELLO_address_allocate (plugin->env->my_identity, 505 address = GNUNET_HELLO_address_allocate (plugin->env->my_identity,
504 PLUGIN_NAME, arg, args, GNUNET_HELLO_ADDRESS_INFO_NONE); 506 PLUGIN_NAME, arg, args, GNUNET_HELLO_ADDRESS_INFO_NONE);
505 plugin->env->notify_address (plugin->env->cls, add_remove, address); 507 plugin->env->notify_address (plugin->env->cls, add_remove, address);
@@ -549,12 +551,6 @@ tcp_address_to_string (void *cls, const void *addr, size_t addrlen)
549 memcpy (&a4, &t4->ipv4_addr, sizeof(a4)); 551 memcpy (&a4, &t4->ipv4_addr, sizeof(a4));
550 sb = &a4; 552 sb = &a4;
551 break; 553 break;
552 case 0:
553 {
554 GNUNET_snprintf (rbuf, sizeof(rbuf), "%s",
555 TRANSPORT_SESSION_INBOUND_STRING);
556 return rbuf;
557 }
558 default: 554 default:
559 LOG(GNUNET_ERROR_TYPE_WARNING, _("Unexpected address length: %u bytes\n"), 555 LOG(GNUNET_ERROR_TYPE_WARNING, _("Unexpected address length: %u bytes\n"),
560 (unsigned int ) addrlen); 556 (unsigned int ) addrlen);
@@ -1774,12 +1770,6 @@ tcp_plugin_address_pretty_printer (void *cls, const char *type,
1774 sb = &a4; 1770 sb = &a4;
1775 sbs = sizeof(a4); 1771 sbs = sizeof(a4);
1776 } 1772 }
1777 else if (0 == addrlen)
1778 {
1779 asc (asc_cls, TRANSPORT_SESSION_INBOUND_STRING);
1780 asc (asc_cls, NULL );
1781 return;
1782 }
1783 else 1773 else
1784 { 1774 {
1785 /* invalid address */ 1775 /* invalid address */
@@ -1980,22 +1970,24 @@ handle_tcp_nat_probe (void *cls, struct GNUNET_SERVER_Client *client,
1980 case AF_INET: 1970 case AF_INET:
1981 s4 = vaddr; 1971 s4 = vaddr;
1982 t4 = GNUNET_new (struct IPv4TcpAddress); 1972 t4 = GNUNET_new (struct IPv4TcpAddress);
1983 t4->options = 0; 1973 t4->options = htonl(0);
1984 t4->t4_port = s4->sin_port; 1974 t4->t4_port = s4->sin_port;
1985 t4->ipv4_addr = s4->sin_addr.s_addr; 1975 t4->ipv4_addr = s4->sin_addr.s_addr;
1986 session->address = GNUNET_HELLO_address_allocate ( 1976 session->address = GNUNET_HELLO_address_allocate (
1987 &tcp_nat_probe->clientIdentity, PLUGIN_NAME, &t4, 1977 &tcp_nat_probe->clientIdentity, PLUGIN_NAME, &t4,
1988 sizeof(struct IPv4TcpAddress), GNUNET_HELLO_ADDRESS_INFO_NONE); 1978 sizeof(struct IPv4TcpAddress),
1979 GNUNET_HELLO_ADDRESS_INFO_NONE);
1989 break; 1980 break;
1990 case AF_INET6: 1981 case AF_INET6:
1991 s6 = vaddr; 1982 s6 = vaddr;
1992 t6 = GNUNET_new (struct IPv6TcpAddress); 1983 t6 = GNUNET_new (struct IPv6TcpAddress);
1993 t6->options = 0; 1984 t6->options = htonl(0);
1994 t6->t6_port = s6->sin6_port; 1985 t6->t6_port = s6->sin6_port;
1995 memcpy (&t6->ipv6_addr, &s6->sin6_addr, sizeof(struct in6_addr)); 1986 memcpy (&t6->ipv6_addr, &s6->sin6_addr, sizeof(struct in6_addr));
1996 session->address = GNUNET_HELLO_address_allocate ( 1987 session->address = GNUNET_HELLO_address_allocate (
1997 &tcp_nat_probe->clientIdentity, PLUGIN_NAME, &t6, 1988 &tcp_nat_probe->clientIdentity,
1998 sizeof(struct IPv6TcpAddress), GNUNET_HELLO_ADDRESS_INFO_NONE); 1989 PLUGIN_NAME, &t6, sizeof(struct IPv6TcpAddress),
1990 GNUNET_HELLO_ADDRESS_INFO_NONE);
1999 break; 1991 break;
2000 default: 1992 default:
2001 GNUNET_break_op(0); 1993 GNUNET_break_op(0);