X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ftransport%2Fgnunet-transport.c;h=c3c1afc38b7f0630e87c169b1526e17c0a1b5c98;hb=609e4becfe496ed62c2007db18d04fbc8d523476;hp=c0442950d7a93bdebd6b55439f326dc905069dfa;hpb=5b085881ab278a85c3ef3a1d91c58a5724a4e430;p=oweals%2Fgnunet.git diff --git a/src/transport/gnunet-transport.c b/src/transport/gnunet-transport.c index c0442950d..c3c1afc38 100644 --- a/src/transport/gnunet-transport.c +++ b/src/transport/gnunet-transport.c @@ -2,20 +2,20 @@ This file is part of GNUnet. Copyright (C) 2011-2014, 2016, 2017 GNUnet e.V. - GNUnet is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 3, or (at your - option) any later version. + GNUnet is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Affero General Public License for more details. - You should have received a copy of the GNU General Public License - along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + SPDX-License-Identifier: AGPL3.0-or-later */ /** @@ -166,11 +166,6 @@ struct PeerResolutionContext */ #define BLOCKSIZE 4 -/** - * Which peer should we connect to? - */ -static char *cpid; - /** * Handle to transport service. */ @@ -283,7 +278,7 @@ static struct GNUNET_TRANSPORT_PluginMonitor *pm; /** * Identity of the peer we transmit to / connect to. - * (equivalent to 'cpid' string). + * ('-p' command-line option). */ static struct GNUNET_PeerIdentity pid; @@ -485,7 +480,7 @@ operation_timeout (void *cls) _("Failed to resolve address for peer `%s'\n"), GNUNET_i2s (&cur->addrcp->peer)); - GNUNET_CONTAINER_DLL_remove(rc_head, + GNUNET_CONTAINER_DLL_remove(rc_head, rc_tail, cur); GNUNET_TRANSPORT_address_to_string_cancel (cur->asc); @@ -496,7 +491,7 @@ operation_timeout (void *cls) } FPRINTF (stdout, "%s", - _("Failed to list connections, timeout occured\n")); + _("Failed to list connections, timeout occurred\n")); GNUNET_SCHEDULER_shutdown (); ret = 1; return; @@ -729,7 +724,7 @@ print_info (const struct GNUNET_PeerIdentity *id, GNUNET_STRINGS_absolute_time_to_string (state_timeout)); } else if ( (GNUNET_YES == iterate_connections) && - (GNUNET_TRANSPORT_is_connected(state)) ) + (GNUNET_TRANSPORT_is_connected(state)) ) { /* Only connected peers, skip state */ FPRINTF (stdout, @@ -1089,10 +1084,9 @@ plugin_monitoring_cb (void *cls, } return; /* shutdown */ } - if ( (NULL != cpid) && - (0 != memcmp (&info->address->peer, - cpid, - sizeof (struct GNUNET_PeerIdentity))) ) + if (0 != memcmp (&info->address->peer, + &pid, + sizeof (struct GNUNET_PeerIdentity))) return; /* filtered */ if (NULL == addr) { @@ -1241,21 +1235,11 @@ run (void *cls, const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *mycfg) { + static struct GNUNET_PeerIdentity zero_pid; int counter = 0; ret = 1; cfg = (struct GNUNET_CONFIGURATION_Handle *) mycfg; - if ( (NULL != cpid) && - (GNUNET_OK != - GNUNET_CRYPTO_eddsa_public_key_from_string (cpid, - strlen (cpid), - &pid.public_key))) - { - FPRINTF (stderr, - _("Failed to parse peer identity `%s'\n"), - cpid); - return; - } counter = benchmark_send + benchmark_receive + iterate_connections + monitor_connections + monitor_connects + do_disconnect + @@ -1290,7 +1274,9 @@ run (void *cls, if (do_disconnect) /* -D: Disconnect from peer */ { - if (NULL == cpid) + if (0 == memcmp (&zero_pid, + &pid, + sizeof (pid))) { FPRINTF (stderr, _("Option `%s' makes no sense without option `%s'.\n"), @@ -1315,7 +1301,9 @@ run (void *cls, } else if (benchmark_send) /* -s: Benchmark sending */ { - if (NULL == cpid) + if (0 == memcmp (&zero_pid, + &pid, + sizeof (pid))) { FPRINTF (stderr, _("Option `%s' makes no sense without option `%s'.\n"), @@ -1352,7 +1340,7 @@ run (void *cls, NULL), GNUNET_MQ_handler_end () }; - + handle = GNUNET_TRANSPORT_core_connect (cfg, NULL, handlers, @@ -1378,7 +1366,7 @@ run (void *cls, else if (iterate_connections) /* -i: List information about peers once */ { pic = GNUNET_TRANSPORT_monitor_peers (cfg, - (NULL == cpid) ? NULL : &pid, + &pid, GNUNET_YES, &process_peer_iteration_cb, (void *) cfg); @@ -1391,7 +1379,7 @@ run (void *cls, monitored_peers = GNUNET_CONTAINER_multipeermap_create (10, GNUNET_NO); pic = GNUNET_TRANSPORT_monitor_peers (cfg, - (NULL == cpid) ? NULL : &pid, + &pid, GNUNET_NO, &process_peer_monitoring_cb, NULL); @@ -1440,49 +1428,49 @@ main (int argc, { int res; struct GNUNET_GETOPT_CommandLineOption options[] = { - GNUNET_GETOPT_OPTION_SET_ONE ('a', + GNUNET_GETOPT_option_flag ('a', "all", gettext_noop ("print information for all peers (instead of only connected peers)"), &iterate_all), - GNUNET_GETOPT_OPTION_SET_ONE ('b', + GNUNET_GETOPT_option_flag ('b', "benchmark", gettext_noop ("measure how fast we are receiving data from all peers (until CTRL-C)"), &benchmark_receive), - GNUNET_GETOPT_OPTION_SET_ONE ('D', + GNUNET_GETOPT_option_flag ('D', "disconnect", gettext_noop ("disconnect from a peer"), - &do_disconnect), - GNUNET_GETOPT_OPTION_SET_ONE ('i', + &do_disconnect), + GNUNET_GETOPT_option_flag ('i', "information", gettext_noop ("provide information about all current connections (once)"), &iterate_connections), - GNUNET_GETOPT_OPTION_SET_ONE ('m', + GNUNET_GETOPT_option_flag ('m', "monitor", gettext_noop ("provide information about all current connections (continuously)"), &monitor_connections), - GNUNET_GETOPT_OPTION_SET_ONE ('e', + GNUNET_GETOPT_option_flag ('e', "events", gettext_noop ("provide information about all connects and disconnect events (continuously)"), &monitor_connects), - GNUNET_GETOPT_OPTION_SET_ONE ('n', + GNUNET_GETOPT_option_flag ('n', "numeric", gettext_noop ("do not resolve hostnames"), &numeric), - GNUNET_GETOPT_OPTION_STRING ('p', - "peer", - "PEER", - gettext_noop ("peer identity"), - &cpid), - GNUNET_GETOPT_OPTION_SET_ONE ('P', + GNUNET_GETOPT_option_base32_auto ('p', + "peer", + "PEER", + gettext_noop ("peer identity"), + &pid), + GNUNET_GETOPT_option_flag ('P', "plugins", gettext_noop ("monitor plugin sessions"), &monitor_plugins), - GNUNET_GETOPT_OPTION_SET_ONE ('s', + GNUNET_GETOPT_option_flag ('s', "send", gettext_noop ("send data for benchmarking to the other peer (until CTRL-C)"), &benchmark_send), - GNUNET_GETOPT_OPTION_VERBOSE (&verbosity), + GNUNET_GETOPT_option_verbose (&verbosity), GNUNET_GETOPT_OPTION_END };