diff options
Diffstat (limited to 'src/transport/plugin_transport_tcp.c')
-rw-r--r-- | src/transport/plugin_transport_tcp.c | 55 |
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); |