struct GNUNET_TIME_Relative canonical_delay;
struct GNUNET_TIME_Relative delay;
struct GNUNET_TIME_Relative blocked_for;
+ struct GST_BlacklistCheck *bc;
uint32_t rdelay;
ve->revalidation_task = NULL;
GST_blacklist_test_cancel (ve->bc);
ve->bc = NULL;
}
- ve->bc = GST_blacklist_test_allowed (&ve->address->peer,
- ve->address->transport_name,
- &transmit_ping_if_allowed,
- ve,
- NULL,
- NULL);
+ bc = GST_blacklist_test_allowed (&ve->address->peer,
+ ve->address->transport_name,
+ &transmit_ping_if_allowed,
+ ve,
+ NULL,
+ NULL);
+ if (NULL != bc)
+ {
+ /* 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;
+ }
}
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));
+ }
}
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,