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.c39
1 files changed, 6 insertions, 33 deletions
diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c
index f36f587ad..10bbf2972 100644
--- a/src/transport/plugin_transport_udp.c
+++ b/src/transport/plugin_transport_udp.c
@@ -1296,15 +1296,14 @@ udp_transport_server_start (void *cls)
1296 socklen_t addrlen; 1296 socklen_t addrlen;
1297 int sockets_created; 1297 int sockets_created;
1298 1298
1299 /* Pipe to read from started processes stdout (on read end) */
1300 plugin->server_stdout = GNUNET_DISK_pipe(GNUNET_YES);
1301
1302 sockets_created = 0; 1299 sockets_created = 0;
1303 if (plugin->server_stdout == NULL)
1304 return sockets_created;
1305 1300
1306 if (plugin->behind_nat == GNUNET_YES) 1301 if (plugin->behind_nat == GNUNET_YES)
1307 { 1302 {
1303 /* Pipe to read from started processes stdout (on read end) */
1304 plugin->server_stdout = GNUNET_DISK_pipe(GNUNET_YES);
1305 if (plugin->server_stdout == NULL)
1306 return sockets_created;
1308#if DEBUG_UDP_NAT 1307#if DEBUG_UDP_NAT
1309 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, 1308 GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
1310 "udp", 1309 "udp",
@@ -1410,32 +1409,6 @@ udp_transport_server_start (void *cls)
1410 1409
1411 1410
1412/** 1411/**
1413 * Check if the given port is plausible (must be either
1414 * our listen port or our advertised port). If it is
1415 * neither, we return one of these two ports at random.
1416 *
1417 * @return either in_port or a more plausible port
1418 */
1419static uint16_t
1420check_port (struct Plugin *plugin, uint16_t in_port)
1421{
1422
1423 /* FIXME: remember what ports we are using to better respond to this */
1424 return in_port;
1425 /*
1426 for (i = plugin->starting_port; i < plugin->num_ports + plugin->starting_port; i++)
1427 {
1428 if (in_port == i)
1429 return in_port;
1430 }
1431
1432 return GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
1433 plugin->num_ports) + plugin->starting_port;
1434 */
1435}
1436
1437
1438/**
1439 * Another peer has suggested an address for this peer and transport 1412 * Another peer has suggested an address for this peer and transport
1440 * plugin. Check that this could be a valid address. This function 1413 * plugin. Check that this could be a valid address. This function
1441 * is not expected to 'validate' the address in the sense of trying to 1414 * is not expected to 'validate' the address in the sense of trying to
@@ -1468,12 +1441,12 @@ udp_check_address (void *cls, void *addr, size_t addrlen)
1468 if (addrlen == sizeof (struct sockaddr_in)) 1441 if (addrlen == sizeof (struct sockaddr_in))
1469 { 1442 {
1470 v4 = (struct sockaddr_in *) buf; 1443 v4 = (struct sockaddr_in *) buf;
1471 v4->sin_port = htons (check_port (plugin, ntohs (v4->sin_port))); 1444 v4->sin_port = htons (plugin->port);
1472 } 1445 }
1473 else 1446 else
1474 { 1447 {
1475 v6 = (struct sockaddr_in6 *) buf; 1448 v6 = (struct sockaddr_in6 *) buf;
1476 v6->sin6_port = htons (check_port (plugin, ntohs (v6->sin6_port))); 1449 v6->sin6_port = htons (plugin->port);
1477 } 1450 }
1478 1451
1479#if DEBUG_UDP_NAT 1452#if DEBUG_UDP_NAT