core: new API to disable DNS checkpoint lookups

This commit is contained in:
moneromooo-monero 2017-07-26 10:18:44 +01:00
parent c63e9633b5
commit 38756d00ff
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
2 changed files with 10 additions and 1 deletions

View file

@ -77,6 +77,7 @@ namespace cryptonote
m_checkpoints_path(""), m_checkpoints_path(""),
m_last_dns_checkpoints_update(0), m_last_dns_checkpoints_update(0),
m_last_json_checkpoints_update(0), m_last_json_checkpoints_update(0),
m_disable_dns_checkpoints(false),
m_threadpool(tools::thread_group::optimal()), m_threadpool(tools::thread_group::optimal()),
m_update_download(0) m_update_download(0)
{ {
@ -108,7 +109,7 @@ namespace cryptonote
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
bool core::update_checkpoints() bool core::update_checkpoints()
{ {
if (m_testnet || m_fakechain) return true; if (m_testnet || m_fakechain || m_disable_dns_checkpoints) return true;
if (m_checkpoints_updating.test_and_set()) return true; if (m_checkpoints_updating.test_and_set()) return true;

View file

@ -406,6 +406,13 @@ namespace cryptonote
*/ */
void set_enforce_dns_checkpoints(bool enforce_dns); void set_enforce_dns_checkpoints(bool enforce_dns);
/**
* @brief set whether or not to enable or disable DNS checkpoints
*
* @param disble whether to disable DNS checkpoints
*/
void disable_dns_checkpoints(bool disable = true) { m_disable_dns_checkpoints = disable; }
/** /**
* @copydoc tx_memory_pool::have_tx * @copydoc tx_memory_pool::have_tx
* *
@ -882,6 +889,7 @@ namespace cryptonote
time_t m_last_json_checkpoints_update; //!< time when json checkpoints were last updated time_t m_last_json_checkpoints_update; //!< time when json checkpoints were last updated
std::atomic_flag m_checkpoints_updating; //!< set if checkpoints are currently updating to avoid multiple threads attempting to update at once std::atomic_flag m_checkpoints_updating; //!< set if checkpoints are currently updating to avoid multiple threads attempting to update at once
bool m_disable_dns_checkpoints;
size_t block_sync_size; size_t block_sync_size;