This file is part of GNUnet.
Copyright (C) 2010-2015 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 <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
/**
* Which network type does our address belong to?
*/
- enum GNUNET_ATS_Network_Type network;
+ enum GNUNET_NetworkType network;
};
ping.challenge = htonl (ve->challenge);
ping.target = *pid;
- if (tsize >= GNUNET_SERVER_MAX_MESSAGE_SIZE)
+ if (tsize >= GNUNET_MAX_MESSAGE_SIZE)
{
GNUNET_break (0);
hsize = 0;
ve->address->transport_name);
ve->network = papi->get_network (papi->cls,
session);
- GNUNET_break (GNUNET_ATS_NET_UNSPECIFIED != ve->network);
+ GNUNET_break (GNUNET_NT_UNSPECIFIED != ve->network);
GST_neighbours_notify_data_sent (ve->address,
session,
tsize);
GNUNET_STATISTICS_update (GST_stats,
gettext_noop ("# address revalidations started"), 1,
GNUNET_NO);
+ if (NULL != ve->bc)
+ {
+ GST_blacklist_test_cancel (ve->bc);
+ ve->bc = NULL;
+ }
bc = GST_blacklist_test_allowed (&ve->address->peer,
- ve->address->transport_name,
+ ve->address->transport_name,
&transmit_ping_if_allowed,
- ve,
- NULL,
- NULL);
+ ve,
+ NULL,
+ NULL);
if (NULL != bc)
- ve->bc = bc; /* only set 'bc' if 'transmit_ping_if_allowed' was not already
- * called... */
+ {
+ /* If transmit_ping_if_allowed was already called it may have freed ve,
+ * so only set ve->bc if it has not been called.
+ */
+ ve->bc = bc;
+ }
}
ve = find_validation_entry (address);
ve->network = papi->get_network_for_address (papi->cls,
address);
- GNUNET_break (GNUNET_ATS_NET_UNSPECIFIED != ve->network);
+ GNUNET_break (GNUNET_NT_UNSPECIFIED != ve->network);
ve->valid_until = GNUNET_TIME_absolute_max (ve->valid_until,
expiration);
if (NULL == ve->revalidation_task)
}
ping = (const struct TransportPingMessage *) hdr;
if (0 !=
- memcmp (&ping->target, &GST_my_identity,
+ memcmp (&ping->target,
+ &GST_my_identity,
sizeof (struct GNUNET_PeerIdentity)))
{
GNUNET_STATISTICS_update (GST_stats,
if (NULL == papi)
{
/* This plugin is currently unvailable ... ignore */
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "No plugin available for %s\n",
+ address->transport_name);
return;
}
ve = find_validation_entry (address);
GNUNET_i2s (&ve->address->peer));
ve->revalidation_task = GNUNET_SCHEDULER_add_now (&revalidate_address, ve);
}
+ else
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Validation already running for address `%s' of %s\n",
+ GST_plugins_a2s (ve->address),
+ GNUNET_i2s (&ve->address->peer));
+ }
}
struct GNUNET_ATS_Properties prop;
memset (&prop, 0, sizeof (prop));
- GNUNET_break (GNUNET_ATS_NET_UNSPECIFIED != ve->network);
+ GNUNET_break (GNUNET_NT_UNSPECIFIED != ve->network);
prop.scope = ve->network;
prop.delay = GNUNET_TIME_relative_divide (ve->latency, 2);
GNUNET_assert (GNUNET_NO ==
GNUNET_TRANSPORT_VS_UPDATE);
/* build HELLO to store in PEERINFO */
+ GNUNET_STATISTICS_update (GST_stats,
+ gettext_noop ("# HELLOs given to peerinfo"),
+ 1,
+ GNUNET_NO);
ve->copied = GNUNET_NO;
hello = GNUNET_HELLO_create (&ve->address->peer.public_key,
&add_valid_peer_address,
ve,
GNUNET_NO);
- GNUNET_PEERINFO_add_peer (GST_peerinfo,
- hello,
- NULL,
- NULL);
+ GNUNET_break (NULL !=
+ GNUNET_PEERINFO_add_peer (GST_peerinfo,
+ hello,
+ NULL,
+ NULL));
GNUNET_free (hello);
return GNUNET_OK;
}
sizeof (struct GNUNET_PeerIdentity)))
{
/* got our own HELLO, how boring */
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Validation received our own HELLO (%s), ignoring\n",
+ GNUNET_i2s (&pid));
return GNUNET_OK;
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,