aboutsummaryrefslogtreecommitdiff
path: root/src/transport/plugin_transport_tcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/plugin_transport_tcp.c')
-rw-r--r--src/transport/plugin_transport_tcp.c55
1 files changed, 21 insertions, 34 deletions
diff --git a/src/transport/plugin_transport_tcp.c b/src/transport/plugin_transport_tcp.c
index 6ebb257a1..4ab555ad6 100644
--- a/src/transport/plugin_transport_tcp.c
+++ b/src/transport/plugin_transport_tcp.c
@@ -38,7 +38,7 @@
38#include "plugin_transport.h" 38#include "plugin_transport.h"
39#include "transport.h" 39#include "transport.h"
40 40
41#define DEBUG_TCP GNUNET_NO 41#define DEBUG_TCP GNUNET_YES
42 42
43/** 43/**
44 * After how long do we expire an address that we 44 * After how long do we expire an address that we
@@ -440,8 +440,6 @@ connect_and_create_session (struct Plugin *plugin,
440 struct GNUNET_NETWORK_SocketHandle *conn; 440 struct GNUNET_NETWORK_SocketHandle *conn;
441 struct Session *session; 441 struct Session *session;
442 int af; 442 int af;
443 char buf[INET6_ADDRSTRLEN];
444 uint16_t port;
445 443
446 session = plugin->sessions; 444 session = plugin->sessions;
447 while (session != NULL) 445 while (session != NULL)
@@ -456,20 +454,9 @@ connect_and_create_session (struct Plugin *plugin,
456 } 454 }
457 455
458 if (addrlen == sizeof (struct sockaddr_in)) 456 if (addrlen == sizeof (struct sockaddr_in))
459 { 457 af = AF_INET;
460 af = AF_INET;
461 inet_ntop (af,
462 &((struct sockaddr_in *) addr)->sin_addr, buf, sizeof (buf));
463 port = ntohs (((struct sockaddr_in *) addr)->sin_port);
464 }
465 else if (addrlen == sizeof (struct sockaddr_in6)) 458 else if (addrlen == sizeof (struct sockaddr_in6))
466 { 459 af = AF_INET6;
467 af = AF_INET6;
468 inet_ntop (af,
469 &((struct sockaddr_in6 *) addr)->sin6_addr,
470 buf, sizeof (buf));
471 port = ntohs (((struct sockaddr_in6 *) addr)->sin6_port);
472 }
473 else 460 else
474 { 461 {
475 GNUNET_break_op (0); 462 GNUNET_break_op (0);
@@ -485,8 +472,8 @@ connect_and_create_session (struct Plugin *plugin,
485#if DEBUG_TCP 472#if DEBUG_TCP
486 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, 473 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
487 "tcp", 474 "tcp",
488 "Failed to create connection to peer at `%s:%u'.\n", 475 "Failed to create connection to peer at `%s'.\n",
489 buf, port); 476 GNUNET_a2s(addr, addrlen));
490#endif 477#endif
491 return NULL; 478 return NULL;
492 } 479 }
@@ -499,8 +486,10 @@ connect_and_create_session (struct Plugin *plugin,
499#if DEBUG_TCP 486#if DEBUG_TCP
500 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, 487 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
501 "tcp", 488 "tcp",
502 "Creating new session %p with `%s:%u' based on `%s' request.\n", 489 "Creating new session %p with `%s' based on `%s' request.\n",
503 session, buf, port, "send_to"); 490 session,
491 GNUNET_a2s(addr, addrlen),
492 "send_to");
504#endif 493#endif
505 return session; 494 return session;
506} 495}
@@ -541,7 +530,9 @@ do_transmit (void *cls, size_t size, void *buf)
541 { 530 {
542#if DEBUG_TCP 531#if DEBUG_TCP
543 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, 532 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
544 "tcp", "Timeout trying to transmit\n"); 533 "tcp",
534 "Timeout trying to transmit to peer `%4s', discarding message queue.\n",
535 GNUNET_i2s(&session->target));
545#endif 536#endif
546 /* timeout */ 537 /* timeout */
547 while (NULL != (pm = session->pending_messages)) 538 while (NULL != (pm = session->pending_messages))
@@ -1095,7 +1086,11 @@ tcp_plugin_cancel (void *cls,
1095 struct PendingMessage *pm; 1086 struct PendingMessage *pm;
1096 struct Session *session; 1087 struct Session *session;
1097 struct Session *next; 1088 struct Session *next;
1098 1089
1090 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
1091 "tcp",
1092 "Asked to close session with `%4s'\n",
1093 GNUNET_i2s(target));
1099 session = plugin->sessions; 1094 session = plugin->sessions;
1100 while (session != NULL) 1095 while (session != NULL)
1101 { 1096 {
@@ -1315,8 +1310,6 @@ tcp_plugin_address_suggested (void *cls, const void *addr, size_t addrlen)
1315 char buf[sizeof (struct sockaddr_in6)]; 1310 char buf[sizeof (struct sockaddr_in6)];
1316 struct sockaddr_in *v4; 1311 struct sockaddr_in *v4;
1317 struct sockaddr_in6 *v6; 1312 struct sockaddr_in6 *v6;
1318 char dst[INET6_ADDRSTRLEN];
1319 uint16_t port;
1320 1313
1321 if ((addrlen != sizeof (struct sockaddr_in)) && 1314 if ((addrlen != sizeof (struct sockaddr_in)) &&
1322 (addrlen != sizeof (struct sockaddr_in6))) 1315 (addrlen != sizeof (struct sockaddr_in6)))
@@ -1329,21 +1322,17 @@ tcp_plugin_address_suggested (void *cls, const void *addr, size_t addrlen)
1329 { 1322 {
1330 v4 = (struct sockaddr_in *) buf; 1323 v4 = (struct sockaddr_in *) buf;
1331 v4->sin_port = htons (check_port (plugin, ntohs (v4->sin_port))); 1324 v4->sin_port = htons (check_port (plugin, ntohs (v4->sin_port)));
1332 inet_ntop (AF_INET, &v4->sin_addr, dst, sizeof (dst));
1333 port = ntohs (v4->sin_port);
1334 } 1325 }
1335 else 1326 else
1336 { 1327 {
1337 v6 = (struct sockaddr_in6 *) buf; 1328 v6 = (struct sockaddr_in6 *) buf;
1338 v6->sin6_port = htons (check_port (plugin, ntohs (v6->sin6_port))); 1329 v6->sin6_port = htons (check_port (plugin, ntohs (v6->sin6_port)));
1339 inet_ntop (AF_INET6, &v6->sin6_addr, dst, sizeof (dst));
1340 port = ntohs (v6->sin6_port);
1341 } 1330 }
1342#if DEBUG_TCP 1331#if DEBUG_TCP
1343 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, 1332 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
1344 "tcp", 1333 "tcp",
1345 "Informing transport service about my address `%s:%u'.\n", 1334 "Informing transport service about my address `%s'.\n",
1346 dst, port); 1335 GNUNET_a2s(addr, addrlen));
1347#endif 1336#endif
1348 plugin->env->notify_address (plugin->env->cls, 1337 plugin->env->notify_address (plugin->env->cls,
1349 "tcp", 1338 "tcp",
@@ -1627,7 +1616,6 @@ process_interfaces (void *cls,
1627 const struct sockaddr *addr, socklen_t addrlen) 1616 const struct sockaddr *addr, socklen_t addrlen)
1628{ 1617{
1629 struct Plugin *plugin = cls; 1618 struct Plugin *plugin = cls;
1630 char dst[INET6_ADDRSTRLEN];
1631 int af; 1619 int af;
1632 struct sockaddr_in *v4; 1620 struct sockaddr_in *v4;
1633 struct sockaddr_in6 *v6; 1621 struct sockaddr_in6 *v6;
@@ -1636,19 +1624,18 @@ process_interfaces (void *cls,
1636 if (af == AF_INET) 1624 if (af == AF_INET)
1637 { 1625 {
1638 v4 = (struct sockaddr_in *) addr; 1626 v4 = (struct sockaddr_in *) addr;
1639 inet_ntop (AF_INET, &v4->sin_addr, dst, sizeof (dst));
1640 v4->sin_port = htons (plugin->adv_port); 1627 v4->sin_port = htons (plugin->adv_port);
1641 } 1628 }
1642 else 1629 else
1643 { 1630 {
1644 GNUNET_assert (af == AF_INET6); 1631 GNUNET_assert (af == AF_INET6);
1645 v6 = (struct sockaddr_in6 *) addr; 1632 v6 = (struct sockaddr_in6 *) addr;
1646 inet_ntop (AF_INET6, &v6->sin6_addr, dst, sizeof (dst));
1647 v6->sin6_port = htons (plugin->adv_port); 1633 v6->sin6_port = htons (plugin->adv_port);
1648 } 1634 }
1649 GNUNET_log_from (GNUNET_ERROR_TYPE_INFO | 1635 GNUNET_log_from (GNUNET_ERROR_TYPE_INFO |
1650 GNUNET_ERROR_TYPE_BULK, 1636 GNUNET_ERROR_TYPE_BULK,
1651 "tcp", _("Found address `%s' (%s)\n"), dst, name); 1637 "tcp", _("Found address `%s' (%s)\n"),
1638 GNUNET_a2s(addr, addrlen), name);
1652 plugin->env->notify_address (plugin->env->cls, 1639 plugin->env->notify_address (plugin->env->cls,
1653 "tcp", 1640 "tcp",
1654 addr, addrlen, GNUNET_TIME_UNIT_FOREVER_REL); 1641 addr, addrlen, GNUNET_TIME_UNIT_FOREVER_REL);