--- a/trb 6a90402592006d8fe36baaf750aef85fecedd1d795704850e0460d3b08813e6fe9c89a0f09b17d1c4d0b8aa051f4de44102b8c0fc830f66c30b104ce1253c9a3 +++ b/trb 96390862f77248384ec2b55fb116390e11ba7c6a2b7fd82fc783940419f0be95ec27907aad20fcd7c7cdb0819ed067c6f557ec608908efe74088e138253374f6 @@ -9482,7 +9482,7 @@ #endif ############################################################################## -97770 @ ./bitcoin/src/main.cpp +97786 @ ./bitcoin/src/main.cpp ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers @@ -10318,7 +10318,7 @@ // Skip ECDSA signature verification when connecting blocks (fBlock=true) // before the last blockchain checkpoint. This is safe because block merkle hashes are // still computed and checked, and any change will be caught at the next checkpoint. - if (!(fBlock && (nBestHeight < Checkpoints::GetTotalBlocksEstimate()))) + if (fVerifyAll || (!(fBlock && (nBestHeight < Checkpoints::GetTotalBlocksEstimate())))) // Verify signature if (!VerifySignature(txPrev, *this, i)) return DoS(100,error("ConnectInputs() : %s VerifySignature failed", GetHash().ToString().substr(0,10).c_str())); @@ -19489,7 +19489,7 @@ } ############################################################################## -17627 @ ./bitcoin/src/util.h +17651 @ ./bitcoin/src/util.h ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers @@ -19604,6 +19604,7 @@ extern bool fPrintToConsole; extern bool fPrintToDebugger; extern bool fCanEat; +extern bool fVerifyAll; extern char pszSetDataDir[MAX_PATH]; extern bool fRequestShutdown; extern bool fShutdown; @@ -20360,7 +20361,7 @@ } ############################################################################## -15408 @ ./bitcoin/src/init.cpp +15568 @ ./bitcoin/src/init.cpp ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers @@ -20538,6 +20539,7 @@ " -daemon \t\t " + _("Run in the background as a daemon and accept commands\n") + " -debug \t\t " + _("Output extra debugging information\n") + " -caneat \t\t " + _("Permit the use of 'eatblock'\n") + + " -verifyall \t\t " + _("Forbid the skipping of ECDSA signature verification between checkpoints.\n") + " -logtimestamps \t " + _("Prepend debug output with timestamp\n") + " -printtoconsole \t " + _("Send trace/debug info to console instead of debug.log file\n") + " -rpcuser= \t " + _("Username for JSON-RPC connections\n") + @@ -20560,6 +20562,7 @@ fDebug = GetBoolArg("-debug"); fDaemon = GetBoolArg("-daemon"); fCanEat = GetBoolArg("-caneat"); + fVerifyAll = GetBoolArg("-verifyall"); if (fDaemon) fServer = true; @@ -23346,7 +23349,7 @@ #endif ############################################################################## -27601 @ ./bitcoin/src/util.cpp +27626 @ ./bitcoin/src/util.cpp ############################################################################## // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers @@ -23371,6 +23374,7 @@ bool fPrintToConsole = false; bool fPrintToDebugger = false; bool fCanEat = false; +bool fVerifyAll = false; char pszSetDataDir[MAX_PATH] = ""; bool fRequestShutdown = false; bool fShutdown = false;