Merge pull request #7267

c2295f5 protocol: handle receiving a block hash we've not added yet (moneromooo-monero)
This commit is contained in:
luigi1111 2021-01-06 21:09:36 -05:00
commit 83fa752a84
No known key found for this signature in database
GPG key ID: F4ACA0183641E010

View file

@ -2593,12 +2593,17 @@ skip:
}
int where;
const bool have_block = m_core.have_block_unlocked(arg.m_block_ids[i], &where);
if (first && !have_block)
if (first)
{
if (!have_block && !m_block_queue.requested(arg.m_block_ids[i]) && !m_block_queue.have(arg.m_block_ids[i]))
{
LOG_ERROR_CCONTEXT("First block hash is unknown, dropping connection");
drop_connection_with_score(context, 5, false);
return 1;
}
if (!have_block)
expect_unknown = true;
}
if (!first)
{
// after the first, blocks may be known or unknown, but if they are known,