diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2014-04-01 09:19:24 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2014-04-01 09:19:24 +0000 |
commit | bfdb0abc074a99a7d24ca408f38cfda128d4132b (patch) | |
tree | 4307779a653e03a3f08fe7aa48992f214dca4805 /src/transport/plugin_transport_tcp.c | |
parent | 491a5db01a9cd46b8f6edae09c9d232c0945cd79 (diff) | |
download | gnunet-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.c | 30 |
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); |