Daemon should now exit on conflicting checkpoints

If the "enforce DNS checkpoints" flag is not enabled, it should not exit
if DNS checkpoints conflict with the others, but should still print a
warning to the user.
release-v0.4.0.1
Thomas Winget 10 years ago
parent f0b4138f1f
commit c0bdd511c3

@ -41,6 +41,7 @@ using namespace epee;
#include "cryptonote_config.h" #include "cryptonote_config.h"
#include "cryptonote_format_utils.h" #include "cryptonote_format_utils.h"
#include "misc_language.h" #include "misc_language.h"
#include <csignal>
DISABLE_VS_WARNINGS(4355) DISABLE_VS_WARNINGS(4355)
@ -98,6 +99,12 @@ namespace cryptonote
res = m_blockchain_storage.update_checkpoints(m_checkpoints_path, false); res = m_blockchain_storage.update_checkpoints(m_checkpoints_path, false);
m_last_json_checkpoints_update = time(NULL); m_last_json_checkpoints_update = time(NULL);
} }
// if anything fishy happened getting new checkpoints, bring down the house
if (!res)
{
graceful_exit();
}
return res; return res;
} }
//----------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------
@ -583,4 +590,9 @@ namespace cryptonote
uint64_t core::get_target_blockchain_height() const { uint64_t core::get_target_blockchain_height() const {
return m_target_blockchain_height; return m_target_blockchain_height;
} }
//-----------------------------------------------------------------------------------------------
void core::graceful_exit()
{
raise(SIGTERM);
}
} }

@ -145,6 +145,7 @@ namespace cryptonote
bool handle_command_line(const boost::program_options::variables_map& vm, bool testnet); bool handle_command_line(const boost::program_options::variables_map& vm, bool testnet);
bool on_update_blocktemplate_interval(); bool on_update_blocktemplate_interval();
bool check_tx_inputs_keyimages_diff(const transaction& tx); bool check_tx_inputs_keyimages_diff(const transaction& tx);
void graceful_exit();
tx_memory_pool m_mempool; tx_memory_pool m_mempool;

Loading…
Cancel
Save