blockchain: one off warning when seeing a block with unknown version

This commit is contained in:
moneromooo-monero 2017-07-24 15:25:46 +01:00
parent ab594cfee9
commit 53af9768ce
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3
1 changed files with 14 additions and 0 deletions

View File

@ -3097,6 +3097,8 @@ bool Blockchain::handle_block_to_main_chain(const block& bl, const crypto::hash&
CRITICAL_REGION_LOCAL(m_blockchain_lock); CRITICAL_REGION_LOCAL(m_blockchain_lock);
TIME_MEASURE_START(t1); TIME_MEASURE_START(t1);
static bool seen_future_version = false;
m_db->block_txn_start(true); m_db->block_txn_start(true);
if(bl.prev_id != get_tail_id()) if(bl.prev_id != get_tail_id())
{ {
@ -3106,6 +3108,18 @@ leave:
return false; return false;
} }
// warn users if they're running an old version
if (!seen_future_version && bl.major_version > m_hardfork->get_ideal_version())
{
seen_future_version = true;
const el::Level level = el::Level::Warning;
MCLOG_RED(level, "global", "**********************************************************************");
MCLOG_RED(level, "global", "A block was seen on the network with a version higher than the last");
MCLOG_RED(level, "global", "known one. This may be an old version of the daemon, and a software");
MCLOG_RED(level, "global", "update may be required to sync further. Try running: update check");
MCLOG_RED(level, "global", "**********************************************************************");
}
// this is a cheap test // this is a cheap test
if (!m_hardfork->check(bl)) if (!m_hardfork->check(bl))
{ {