aboutsummaryrefslogtreecommitdiff
path: root/src/transport/plugin_transport_udp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/plugin_transport_udp.c')
-rw-r--r--src/transport/plugin_transport_udp.c36
1 files changed, 0 insertions, 36 deletions
diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c
index 5d512d9e4..b1da80431 100644
--- a/src/transport/plugin_transport_udp.c
+++ b/src/transport/plugin_transport_udp.c
@@ -601,14 +601,11 @@ disconnect_and_free_it (void *cls, const GNUNET_HashCode * key, void *value)
601 struct UDPMessageWrapper *udpw; 601 struct UDPMessageWrapper *udpw;
602 struct UDPMessageWrapper *next; 602 struct UDPMessageWrapper *next;
603 603
604#if DEBUG_UDP
605 LOG (GNUNET_ERROR_TYPE_DEBUG, 604 LOG (GNUNET_ERROR_TYPE_DEBUG,
606 "Session %p to peer `%s' address ended \n", 605 "Session %p to peer `%s' address ended \n",
607 s, 606 s,
608 GNUNET_i2s (&s->target), 607 GNUNET_i2s (&s->target),
609 GNUNET_a2s (s->sock_addr, s->addrlen)); 608 GNUNET_a2s (s->sock_addr, s->addrlen));
610#endif
611
612 if (s->frag_ctx != NULL) 609 if (s->frag_ctx != NULL)
613 { 610 {
614 GNUNET_FRAGMENT_context_destroy(s->frag_ctx->frag); 611 GNUNET_FRAGMENT_context_destroy(s->frag_ctx->frag);
@@ -677,10 +674,8 @@ udp_disconnect (void *cls, const struct GNUNET_PeerIdentity *target)
677 GNUNET_assert (plugin != NULL); 674 GNUNET_assert (plugin != NULL);
678 675
679 GNUNET_assert (target != NULL); 676 GNUNET_assert (target != NULL);
680#if DEBUG_UDP
681 LOG (GNUNET_ERROR_TYPE_DEBUG, 677 LOG (GNUNET_ERROR_TYPE_DEBUG,
682 "Disconnecting from peer `%s'\n", GNUNET_i2s (target)); 678 "Disconnecting from peer `%s'\n", GNUNET_i2s (target));
683#endif
684 /* Clean up sessions */ 679 /* Clean up sessions */
685 GNUNET_CONTAINER_multihashmap_get_multiple (plugin->sessions, &target->hashPubKey, &disconnect_and_free_it, plugin); 680 GNUNET_CONTAINER_multihashmap_get_multiple (plugin->sessions, &target->hashPubKey, &disconnect_and_free_it, plugin);
686} 681}
@@ -1267,12 +1262,10 @@ process_udp_message (struct Plugin *plugin, const struct UDPMessage *msg,
1267 GNUNET_break (0); 1262 GNUNET_break (0);
1268 return; 1263 return;
1269 } 1264 }
1270#if DEBUG_UDP
1271 LOG (GNUNET_ERROR_TYPE_DEBUG, 1265 LOG (GNUNET_ERROR_TYPE_DEBUG,
1272 "Received message with %u bytes from peer `%s' at `%s'\n", 1266 "Received message with %u bytes from peer `%s' at `%s'\n",
1273 (unsigned int) ntohs (msg->header.size), GNUNET_i2s (&msg->sender), 1267 (unsigned int) ntohs (msg->header.size), GNUNET_i2s (&msg->sender),
1274 GNUNET_a2s (sender_addr, sender_addr_len)); 1268 GNUNET_a2s (sender_addr, sender_addr_len));
1275#endif
1276 1269
1277 struct GNUNET_HELLO_Address * address = GNUNET_HELLO_address_allocate(&msg->sender, "udp", arg, args); 1270 struct GNUNET_HELLO_Address * address = GNUNET_HELLO_address_allocate(&msg->sender, "udp", arg, args);
1278 s = udp_plugin_get_session(plugin, address); 1271 s = udp_plugin_get_session(plugin, address);
@@ -1398,7 +1391,6 @@ ack_proc (void *cls, uint32_t id, const struct GNUNET_MessageHeader *msg)
1398 if (s->flow_delay_for_other_peer.rel_value <= UINT32_MAX) 1391 if (s->flow_delay_for_other_peer.rel_value <= UINT32_MAX)
1399 delay = s->flow_delay_for_other_peer.rel_value; 1392 delay = s->flow_delay_for_other_peer.rel_value;
1400 1393
1401#if DEBUG_UDP
1402 LOG (GNUNET_ERROR_TYPE_DEBUG, 1394 LOG (GNUNET_ERROR_TYPE_DEBUG,
1403 "Sending ACK to `%s' including delay of %u ms\n", 1395 "Sending ACK to `%s' including delay of %u ms\n",
1404 GNUNET_a2s (rc->src_addr, 1396 GNUNET_a2s (rc->src_addr,
@@ -1406,7 +1398,6 @@ ack_proc (void *cls, uint32_t id, const struct GNUNET_MessageHeader *msg)
1406 AF_INET) ? sizeof (struct sockaddr_in) : sizeof (struct 1398 AF_INET) ? sizeof (struct sockaddr_in) : sizeof (struct
1407 sockaddr_in6)), 1399 sockaddr_in6)),
1408 delay); 1400 delay);
1409#endif
1410 udpw = GNUNET_malloc (sizeof (struct UDPMessageWrapper) + msize); 1401 udpw = GNUNET_malloc (sizeof (struct UDPMessageWrapper) + msize);
1411 udpw->cont = NULL; 1402 udpw->cont = NULL;
1412 udpw->cont_cls = NULL; 1403 udpw->cont_cls = NULL;
@@ -1489,21 +1480,17 @@ static void read_process_ack (struct Plugin *plugin,
1489 1480
1490 if (GNUNET_OK != GNUNET_FRAGMENT_process_ack (s->frag_ctx->frag, ack)) 1481 if (GNUNET_OK != GNUNET_FRAGMENT_process_ack (s->frag_ctx->frag, ack))
1491 { 1482 {
1492#if DEBUG_UDP
1493 LOG (GNUNET_ERROR_TYPE_DEBUG, 1483 LOG (GNUNET_ERROR_TYPE_DEBUG,
1494 "UDP processes %u-byte acknowledgement from `%s' at `%s'\n", 1484 "UDP processes %u-byte acknowledgement from `%s' at `%s'\n",
1495 (unsigned int) ntohs (msg->size), GNUNET_i2s (&udp_ack->sender), 1485 (unsigned int) ntohs (msg->size), GNUNET_i2s (&udp_ack->sender),
1496 GNUNET_a2s ((const struct sockaddr *) addr, fromlen)); 1486 GNUNET_a2s ((const struct sockaddr *) addr, fromlen));
1497#endif
1498 return; 1487 return;
1499 } 1488 }
1500 1489
1501#if DEBUG_UDP
1502 LOG (GNUNET_ERROR_TYPE_DEBUG, 1490 LOG (GNUNET_ERROR_TYPE_DEBUG,
1503 "FULL MESSAGE ACKed\n", 1491 "FULL MESSAGE ACKed\n",
1504 (unsigned int) ntohs (msg->size), GNUNET_i2s (&udp_ack->sender), 1492 (unsigned int) ntohs (msg->size), GNUNET_i2s (&udp_ack->sender),
1505 GNUNET_a2s ((const struct sockaddr *) addr, fromlen)); 1493 GNUNET_a2s ((const struct sockaddr *) addr, fromlen));
1506#endif
1507 s->last_expected_delay = GNUNET_FRAGMENT_context_destroy (s->frag_ctx->frag); 1494 s->last_expected_delay = GNUNET_FRAGMENT_context_destroy (s->frag_ctx->frag);
1508 1495
1509 struct UDPMessageWrapper * udpw = NULL; 1496 struct UDPMessageWrapper * udpw = NULL;
@@ -1556,12 +1543,9 @@ static void read_process_fragment (struct Plugin *plugin,
1556 frc.addr = (const struct sockaddr *) addr; 1543 frc.addr = (const struct sockaddr *) addr;
1557 frc.addr_len = fromlen; 1544 frc.addr_len = fromlen;
1558 1545
1559#if DEBUG_UDP
1560 LOG (GNUNET_ERROR_TYPE_DEBUG, "UDP processes %u-byte fragment from `%s'\n", 1546 LOG (GNUNET_ERROR_TYPE_DEBUG, "UDP processes %u-byte fragment from `%s'\n",
1561 (unsigned int) ntohs (msg->size), 1547 (unsigned int) ntohs (msg->size),
1562 GNUNET_a2s ((const struct sockaddr *) addr, fromlen)); 1548 GNUNET_a2s ((const struct sockaddr *) addr, fromlen));
1563#endif
1564
1565 /* Lookup existing receive context for this address */ 1549 /* Lookup existing receive context for this address */
1566 GNUNET_CONTAINER_heap_iterate (plugin->defrag_ctxs, 1550 GNUNET_CONTAINER_heap_iterate (plugin->defrag_ctxs,
1567 &find_receive_context, 1551 &find_receive_context,
@@ -1585,19 +1569,15 @@ static void read_process_fragment (struct Plugin *plugin,
1585 GNUNET_CONTAINER_heap_insert (plugin->defrag_ctxs, d_ctx, 1569 GNUNET_CONTAINER_heap_insert (plugin->defrag_ctxs, d_ctx,
1586 (GNUNET_CONTAINER_HeapCostType) 1570 (GNUNET_CONTAINER_HeapCostType)
1587 now.abs_value); 1571 now.abs_value);
1588#if DEBUG_UDP
1589 LOG (GNUNET_ERROR_TYPE_DEBUG, "Created new defragmentation context for %u-byte fragment from `%s'\n", 1572 LOG (GNUNET_ERROR_TYPE_DEBUG, "Created new defragmentation context for %u-byte fragment from `%s'\n",
1590 (unsigned int) ntohs (msg->size), 1573 (unsigned int) ntohs (msg->size),
1591 GNUNET_a2s ((const struct sockaddr *) addr, fromlen)); 1574 GNUNET_a2s ((const struct sockaddr *) addr, fromlen));
1592#endif
1593 } 1575 }
1594 else 1576 else
1595 { 1577 {
1596#if DEBUG_UDP
1597 LOG (GNUNET_ERROR_TYPE_DEBUG, "Found existing defragmentation context for %u-byte fragment from `%s'\n", 1578 LOG (GNUNET_ERROR_TYPE_DEBUG, "Found existing defragmentation context for %u-byte fragment from `%s'\n",
1598 (unsigned int) ntohs (msg->size), 1579 (unsigned int) ntohs (msg->size),
1599 GNUNET_a2s ((const struct sockaddr *) addr, fromlen)); 1580 GNUNET_a2s ((const struct sockaddr *) addr, fromlen));
1600#endif
1601 } 1581 }
1602 1582
1603 if (GNUNET_OK == GNUNET_DEFRAGMENT_process_fragment (d_ctx->defrag, msg)) 1583 if (GNUNET_OK == GNUNET_DEFRAGMENT_process_fragment (d_ctx->defrag, msg))
@@ -1718,20 +1698,16 @@ udp_select_send (struct Plugin *plugin, struct GNUNET_NETWORK_Handle *sock)
1718 udpw->cont (udpw->cont_cls, &udpw->session->target, GNUNET_SYSERR); 1698 udpw->cont (udpw->cont_cls, &udpw->session->target, GNUNET_SYSERR);
1719 if (udpw->frag_ctx != NULL) 1699 if (udpw->frag_ctx != NULL)
1720 { 1700 {
1721#if DEBUG_UDP
1722 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fragmented message for peer `%s' with size %u timed out\n", 1701 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fragmented message for peer `%s' with size %u timed out\n",
1723 GNUNET_i2s(&udpw->session->target), udpw->frag_ctx->bytes_to_send); 1702 GNUNET_i2s(&udpw->session->target), udpw->frag_ctx->bytes_to_send);
1724#endif
1725 udpw->session->last_expected_delay = GNUNET_FRAGMENT_context_destroy(udpw->frag_ctx->frag); 1703 udpw->session->last_expected_delay = GNUNET_FRAGMENT_context_destroy(udpw->frag_ctx->frag);
1726 GNUNET_free (udpw->frag_ctx); 1704 GNUNET_free (udpw->frag_ctx);
1727 udpw->session->frag_ctx = NULL; 1705 udpw->session->frag_ctx = NULL;
1728 } 1706 }
1729 else 1707 else
1730 { 1708 {
1731#if DEBUG_UDP
1732 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Message for peer `%s' with size %u timed out\n", 1709 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Message for peer `%s' with size %u timed out\n",
1733 GNUNET_i2s(&udpw->session->target), udpw->msg_size); 1710 GNUNET_i2s(&udpw->session->target), udpw->msg_size);
1734#endif
1735 } 1711 }
1736 1712
1737 if (sock == plugin->sockv4) 1713 if (sock == plugin->sockv4)
@@ -1939,20 +1915,16 @@ setup_sockets (struct Plugin *plugin, struct sockaddr_in6 *serverAddrv6, struct
1939 serverAddrv6->sin6_port = htons (plugin->port); 1915 serverAddrv6->sin6_port = htons (plugin->port);
1940 addrlen = sizeof (struct sockaddr_in6); 1916 addrlen = sizeof (struct sockaddr_in6);
1941 serverAddr = (struct sockaddr *) serverAddrv6; 1917 serverAddr = (struct sockaddr *) serverAddrv6;
1942#if DEBUG_UDP
1943 LOG (GNUNET_ERROR_TYPE_DEBUG, "Binding to IPv6 port %d\n", 1918 LOG (GNUNET_ERROR_TYPE_DEBUG, "Binding to IPv6 port %d\n",
1944 ntohs (serverAddrv6->sin6_port)); 1919 ntohs (serverAddrv6->sin6_port));
1945#endif
1946 tries = 0; 1920 tries = 0;
1947 while (GNUNET_NETWORK_socket_bind (plugin->sockv6, serverAddr, addrlen) != 1921 while (GNUNET_NETWORK_socket_bind (plugin->sockv6, serverAddr, addrlen) !=
1948 GNUNET_OK) 1922 GNUNET_OK)
1949 { 1923 {
1950 serverAddrv6->sin6_port = htons (GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_STRONG, 33537) + 32000); /* Find a good, non-root port */ 1924 serverAddrv6->sin6_port = htons (GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_STRONG, 33537) + 32000); /* Find a good, non-root port */
1951#if DEBUG_UDP
1952 LOG (GNUNET_ERROR_TYPE_DEBUG, 1925 LOG (GNUNET_ERROR_TYPE_DEBUG,
1953 "IPv6 Binding failed, trying new port %d\n", 1926 "IPv6 Binding failed, trying new port %d\n",
1954 ntohs (serverAddrv6->sin6_port)); 1927 ntohs (serverAddrv6->sin6_port));
1955#endif
1956 tries++; 1928 tries++;
1957 if (tries > 10) 1929 if (tries > 10)
1958 { 1930 {
@@ -1963,11 +1935,9 @@ setup_sockets (struct Plugin *plugin, struct sockaddr_in6 *serverAddrv6, struct
1963 } 1935 }
1964 if (plugin->sockv6 != NULL) 1936 if (plugin->sockv6 != NULL)
1965 { 1937 {
1966#if DEBUG_UDP
1967 LOG (GNUNET_ERROR_TYPE_DEBUG, 1938 LOG (GNUNET_ERROR_TYPE_DEBUG,
1968 "IPv6 socket created on port %d\n", 1939 "IPv6 socket created on port %d\n",
1969 ntohs (serverAddrv6->sin6_port)); 1940 ntohs (serverAddrv6->sin6_port));
1970#endif
1971 addrs[sockets_created] = (struct sockaddr *) serverAddrv6; 1941 addrs[sockets_created] = (struct sockaddr *) serverAddrv6;
1972 addrlens[sockets_created] = sizeof (struct sockaddr_in6); 1942 addrlens[sockets_created] = sizeof (struct sockaddr_in6);
1973 sockets_created++; 1943 sockets_created++;
@@ -1992,19 +1962,15 @@ setup_sockets (struct Plugin *plugin, struct sockaddr_in6 *serverAddrv6, struct
1992 addrlen = sizeof (struct sockaddr_in); 1962 addrlen = sizeof (struct sockaddr_in);
1993 serverAddr = (struct sockaddr *) serverAddrv4; 1963 serverAddr = (struct sockaddr *) serverAddrv4;
1994 1964
1995#if DEBUG_UDP
1996 LOG (GNUNET_ERROR_TYPE_DEBUG, "Binding to IPv4 port %d\n", 1965 LOG (GNUNET_ERROR_TYPE_DEBUG, "Binding to IPv4 port %d\n",
1997 ntohs (serverAddrv4->sin_port)); 1966 ntohs (serverAddrv4->sin_port));
1998#endif
1999 tries = 0; 1967 tries = 0;
2000 while (GNUNET_NETWORK_socket_bind (plugin->sockv4, serverAddr, addrlen) != 1968 while (GNUNET_NETWORK_socket_bind (plugin->sockv4, serverAddr, addrlen) !=
2001 GNUNET_OK) 1969 GNUNET_OK)
2002 { 1970 {
2003 serverAddrv4->sin_port = htons (GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_STRONG, 33537) + 32000); /* Find a good, non-root port */ 1971 serverAddrv4->sin_port = htons (GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_STRONG, 33537) + 32000); /* Find a good, non-root port */
2004#if DEBUG_UDP
2005 LOG (GNUNET_ERROR_TYPE_DEBUG, "IPv4 Binding failed, trying new port %d\n", 1972 LOG (GNUNET_ERROR_TYPE_DEBUG, "IPv4 Binding failed, trying new port %d\n",
2006 ntohs (serverAddrv4->sin_port)); 1973 ntohs (serverAddrv4->sin_port));
2007#endif
2008 tries++; 1974 tries++;
2009 if (tries > 10) 1975 if (tries > 10)
2010 { 1976 {
@@ -2353,10 +2319,8 @@ libgnunet_plugin_transport_udp_done (void *cls)
2353 } 2319 }
2354 2320
2355 /* Clean up sessions */ 2321 /* Clean up sessions */
2356#if DEBUG_UDP
2357 LOG (GNUNET_ERROR_TYPE_DEBUG, 2322 LOG (GNUNET_ERROR_TYPE_DEBUG,
2358 "Cleaning up sessions\n"); 2323 "Cleaning up sessions\n");
2359#endif
2360 GNUNET_CONTAINER_multihashmap_iterate (plugin->sessions, &disconnect_and_free_it, plugin); 2324 GNUNET_CONTAINER_multihashmap_iterate (plugin->sessions, &disconnect_and_free_it, plugin);
2361 GNUNET_CONTAINER_multihashmap_destroy (plugin->sessions); 2325 GNUNET_CONTAINER_multihashmap_destroy (plugin->sessions);
2362 2326