cryptonote_core: skip dns checkpoints on startup if not enforced

This commit is contained in:
xiphon 2020-04-20 18:42:10 +00:00
parent ecb8cc9df4
commit a813c46a1b
2 changed files with 5 additions and 4 deletions

View File

@ -263,14 +263,14 @@ namespace cryptonote
m_blockchain_storage.set_enforce_dns_checkpoints(enforce_dns); m_blockchain_storage.set_enforce_dns_checkpoints(enforce_dns);
} }
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
bool core::update_checkpoints() bool core::update_checkpoints(const bool skip_dns /* = false */)
{ {
if (m_nettype != MAINNET || m_disable_dns_checkpoints) return true; if (m_nettype != MAINNET || m_disable_dns_checkpoints) return true;
if (m_checkpoints_updating.test_and_set()) return true; if (m_checkpoints_updating.test_and_set()) return true;
bool res = true; bool res = true;
if (time(NULL) - m_last_dns_checkpoints_update >= 3600) if (!skip_dns && time(NULL) - m_last_dns_checkpoints_update >= 3600)
{ {
res = m_blockchain_storage.update_checkpoints(m_checkpoints_path, true); res = m_blockchain_storage.update_checkpoints(m_checkpoints_path, true);
m_last_dns_checkpoints_update = time(NULL); m_last_dns_checkpoints_update = time(NULL);
@ -669,7 +669,8 @@ namespace cryptonote
// load json & DNS checkpoints, and verify them // load json & DNS checkpoints, and verify them
// with respect to what blocks we already have // with respect to what blocks we already have
CHECK_AND_ASSERT_MES(update_checkpoints(), false, "One or more checkpoints loaded from json or dns conflicted with existing checkpoints."); const bool skip_dns_checkpoints = !command_line::get_arg(vm, arg_dns_checkpoints);
CHECK_AND_ASSERT_MES(update_checkpoints(skip_dns_checkpoints), false, "One or more checkpoints loaded from json or dns conflicted with existing checkpoints.");
// DNS versions checking // DNS versions checking
if (check_updates_string == "disabled") if (check_updates_string == "disabled")

View File

@ -697,7 +697,7 @@ namespace cryptonote
* *
* @note see Blockchain::update_checkpoints() * @note see Blockchain::update_checkpoints()
*/ */
bool update_checkpoints(); bool update_checkpoints(const bool skip_dns = false);
/** /**
* @brief tells the daemon to wind down operations and stop running * @brief tells the daemon to wind down operations and stop running