Move common sanity check code to init/common

This commit is contained in:
Russell Yanofsky
2021-04-18 18:58:43 -04:00
parent a67b54855b
commit 387c4cf588
3 changed files with 31 additions and 26 deletions

View File

@@ -672,30 +672,6 @@ static void StartupNotify(const ArgsManager& args)
}
#endif
/** Sanity checks
* Ensure that Bitcoin is running in a usable environment with all
* necessary library support.
*/
static bool InitSanityCheck()
{
if (!ECC_InitSanityCheck()) {
return InitError(Untranslated("Elliptic curve cryptography sanity check failure. Aborting."));
}
if (!glibcxx_sanity_test())
return false;
if (!Random_SanityCheck()) {
return InitError(Untranslated("OS cryptographic RNG sanity check failure. Aborting."));
}
if (!ChronoSanityCheck()) {
return InitError(Untranslated("Clock epoch mismatch. Aborting."));
}
return true;
}
static bool AppInitServers(NodeContext& node)
{
const ArgsManager& args = *Assert(node.args);
@@ -1147,9 +1123,9 @@ bool AppInitSanityChecks()
init::SetGlobals();
// Sanity check
if (!InitSanityCheck())
if (!init::SanityChecks()) {
return InitError(strprintf(_("Initialization sanity check failed. %s is shutting down."), PACKAGE_NAME));
}
// Probe the data directory lock to give an early error message, if possible
// We cannot hold the data directory lock here, as the forking for daemon() hasn't yet happened,