dash/src
Wladimir J. van der Laan ca0ed8dcfb
Merge #12561: Check for block corruption in ConnectBlock()
0e7c52d Shut down if trying to connect a corrupted block (Suhas Daftuar)

Pull request description:

  (Updated OP after reworking the approach)

  Shut down if a corrupted block is found in ConnectBlock().  This prevents an infinite loop trying to connect such a block, and alerts the node operator that there may be potential hardware failure.

Tree-SHA512: f20d56aa9d36d6eeff4c3d13c0fbd14f06a57701bd13c2416d36f0cc4235f81f752139e336a073617e8e803782c5096c960108af122b19a51227de512e9095ee
2020-11-01 01:55:15 -04:00
..
bench Merge #12048: Use best-fit strategy in Arena, now O(log(n)) instead O(n) 2020-10-22 11:36:39 -04:00
bls remove additional FLATDATA 2020-10-27 13:24:34 -04:00
compat
config
consensus Implement dynamic activation thresholds (#3692) 2020-09-12 17:33:12 +03:00
crypto scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
evo Handle situations when we have evodb records but no blocks anymore (#3722) 2020-09-25 19:19:58 +03:00
governance Harden spork6 logic then remove spork6 (#3662) 2020-08-30 17:22:21 +03:00
immer scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
interfaces Add mempool lock for Create/CommitTransaction in wallet interface 2020-10-14 12:53:11 +01:00
leveldb
llmq Call EraseObjectRequest as soon as an object is read from the stream (#3783) 2020-10-28 22:02:05 +03:00
masternode Fix mempool sync (#3725) 2020-09-24 13:59:09 +03:00
obj
obj-test
policy Merge pull request #3618 from PastaPastaPasta/backports-0.17-pr16 2020-07-20 18:03:11 +03:00
primitives Merge #12731: Support serialization as another type without casting 2020-06-11 23:20:48 -05:00
privatesend interface/qt: Remove direct src/privatesend calls 2020-10-14 12:09:45 +01:00
qt Merge #12795: do not truncate .dat extension for wallets in gui 2020-11-01 01:10:56 -04:00
rpc Merge #12778: RPC: Add username and ip logging for RPC method requests 2020-11-01 01:23:08 -04:00
script Merge #12714: Introduce interface for signing providers 2020-10-14 13:27:32 -04:00
secp256k1
support Merge #16161: util: Fix compilation errors in support/lockedpool.cpp 2020-10-26 20:35:28 -04:00
test Merge #12780: Reduce variable scopes 2020-10-26 20:35:28 -04:00
univalue Merge #12193: RPC: Consistently use UniValue.pushKV instead of push_back(Pair()) (karel-3d) (#3532) 2020-06-18 12:17:23 +03:00
wallet Merge #13775: doc: Remove newlines from error message 2020-10-14 13:27:31 -04:00
zmq Merge #13570: RPC: Add new "getzmqnotifications" method 2020-07-17 15:42:49 -05:00
.clang-format Merge #12982: Fix inconsistent namespace formatting guidelines 2020-06-27 10:43:32 -05:00
addrdb.cpp Merge #12740: Add native support for serializing char arrays without FLATDATA 2020-10-22 11:36:39 -04:00
addrdb.h
addressindex.h
addrman.cpp scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
addrman.h scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
amount.h
arith_uint256.cpp
arith_uint256.h Merge #12564: [arith_uint256] Avoid unnecessary this-copy using prefix operator 2020-06-13 14:50:11 -05:00
base58.cpp remove duplicate includes so that ./contrib/devtools/lint-includes.sh is clean 2020-07-01 20:12:03 -05:00
base58.h
batchedlogger.cpp
batchedlogger.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
bip39_english.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
bip39.cpp
bip39.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
blockencodings.cpp
blockencodings.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
blockfilter.cpp Merge #14073: blockfilter: Avoid out-of-bounds script access. 2020-06-13 14:08:18 -05:00
blockfilter.h Rename BlockFilterType::BASIC to BASIC_FILTER 2020-06-13 14:08:18 -05:00
bloom.cpp scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
bloom.h scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
cachemap.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
cachemultimap.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
chain.cpp
chain.h Merge #13234: Break circular dependency: chain -> pow -> chain 2020-07-01 14:08:47 -05:00
chainparams.cpp Bump few things and update man pages for v0.16 (#3737) 2020-09-28 19:53:41 +03:00
chainparams.h Implement dynamic activation thresholds (#3692) 2020-09-12 17:33:12 +03:00
chainparamsbase.cpp docs: Properly alphabetize output of CLI --help option (backport 12331) (#3681) 2020-09-24 13:58:29 +03:00
chainparamsbase.h Merge #12878: [refactor] Config handling refactoring in preparation for network-specific sections 2020-05-09 17:35:59 -05:00
chainparamsseeds.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
checkpoints.cpp
checkpoints.h
checkqueue.h scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
clientversion.cpp scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
clientversion.h
coins.cpp
coins.h scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
compat.h Merge pull request #3445 from codablock/pr_epoll 2020-04-22 17:10:33 +02:00
compressor.cpp
compressor.h
core_io.h Merge #13422: Drop ParseHashUV in favor of calling ParseHashStr 2020-07-07 11:39:35 -05:00
core_memusage.h
core_read.cpp Merge #13656: Remove the boost/algorithm/string/predicate.hpp dependency 2020-07-17 15:42:20 -05:00
core_write.cpp Merge #12193: RPC: Consistently use UniValue.pushKV instead of push_back(Pair()) (karel-3d) (#3532) 2020-06-18 12:17:23 +03:00
ctpl.h scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
cuckoocache.h Merge #12716: Fix typos and cleanup in various files 2020-06-11 23:20:48 -05:00
cxxtimer.hpp
dash-cli-res.rc
dash-cli.cpp docs: Properly alphabetize output of CLI --help option (backport 12331) (#3681) 2020-09-24 13:58:29 +03:00
dash-tx-res.rc
dash-tx.cpp docs: Properly alphabetize output of CLI --help option (backport 12331) (#3681) 2020-09-24 13:58:29 +03:00
dashd-res.rc
dashd.cpp Merge #13740: trivial: remove unneeded include 2020-07-28 20:14:46 -05:00
dbwrapper.cpp Merge #12784: Fix bug in memory usage calculation (unintended integer division) 2020-10-14 13:27:33 -04:00
dbwrapper.h Merge #12604: Add DynamicMemoryUsage() to CDBWrapper to estimate LevelDB memory use 2020-06-14 11:41:07 -05:00
dsnotificationinterface.cpp Create one PS manager per wallet 2020-07-20 10:10:43 -05:00
dsnotificationinterface.h
flat-database.h remove additional FLATDATA 2020-10-27 13:24:34 -04:00
fs.cpp
fs.h
hash.cpp
hash.h
hdchain.cpp
hdchain.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
httprpc.cpp Merge #12778: RPC: Add username and ip logging for RPC method requests 2020-11-01 01:23:08 -04:00
httprpc.h
httpserver.cpp Merge pull request #3518 from PastaPastaPasta/backports-0.17-pr1 2020-06-11 20:51:58 +03:00
httpserver.h
indirectmap.h
init.cpp Merge #12630: Provide useful error message if datadir is not writable. 2020-10-22 11:36:39 -04:00
init.h scripted-diff: Convert 11 enums into scoped enums (C++11) (merge #10742) 2020-06-11 23:20:48 -05:00
keepass.cpp Merge #12193: RPC: Consistently use UniValue.pushKV instead of push_back(Pair()) (karel-3d) (#3532) 2020-06-18 12:17:23 +03:00
keepass.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
key.cpp Merge #9598: Improve readability by removing redundant casts to same type (on all platforms) 2020-06-18 11:41:53 -05:00
key.h
keystore.cpp Merge #12762: Make CKeyStore an interface 2020-10-26 20:35:28 -04:00
keystore.h Merge #12762: Make CKeyStore an interface 2020-10-26 20:35:28 -04:00
limitedmap.h
logging.cpp Fix 13021 2020-07-19 10:34:16 -05:00
logging.h Merge #13021: MOVEONLY: Move logging code from util.{h,cpp} to new files. 2020-07-18 03:08:13 -05:00
Makefile.am Merge #12692: Add configure options for various -fsanitize flags 2020-10-14 13:27:34 -04:00
Makefile.bench.include Merge #13312: docs: Add a note about the source code filename naming convention 2020-07-07 11:17:45 -05:00
Makefile.leveldb.include
Makefile.qt.include Remove direct bitcoin calls from qt/splashscreen.cpp 2020-10-03 21:36:31 +02:00
Makefile.qttest.include Remove direct bitcoin calls from qt/splashscreen.cpp 2020-10-03 21:36:31 +02:00
Makefile.test.include test: Implement unit tests for CTransactionBuilder (#3677) 2020-09-05 00:25:16 +03:00
memusage.h
merkleblock.cpp
merkleblock.h
messagesigner.cpp
messagesigner.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
miner.cpp Merge #13480: Avoid copies in range-for loops and add a warning to detect them 2020-07-08 18:32:04 -05:00
miner.h Merge #11689: mempool: Fix missing locking in CTxMemPool::check(…) and CTxMemPool::setSanityCheck(…) 2020-07-01 14:08:47 -05:00
net_processing.cpp Call EraseObjectRequest as soon as an object is read from the stream (#3783) 2020-10-28 22:02:05 +03:00
net_processing.h Remove direct bitcoin calls from qt/peertablemodel.cpp 2020-10-05 02:01:17 +02:00
net.cpp masternode|net|rpc: Improve masternode sync process (#3690) 2020-09-11 15:07:34 +03:00
net.h Merge #13679: Initialize m_next_send_inv_to_incoming 2020-07-26 19:39:13 -05:00
netaddress.cpp Merge pull request #3518 from PastaPastaPasta/backports-0.17-pr1 2020-06-11 20:51:58 +03:00
netaddress.h Merge #12740: Add native support for serializing char arrays without FLATDATA 2020-10-22 11:36:39 -04:00
netbase.cpp Merge #13656: Remove the boost/algorithm/string/predicate.hpp dependency 2020-07-17 15:42:20 -05:00
netbase.h
netfulfilledman.cpp
netfulfilledman.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
netmessagemaker.h
noui.cpp
noui.h
pow.cpp
pow.h
prevector.h
protocol.cpp Merge bitcoin#10387: Eventually connect to NODE_NETWORK_LIMITED peers (#3417) 2020-04-19 16:21:47 +03:00
protocol.h Merge #12740: Add native support for serializing char arrays without FLATDATA 2020-10-22 11:36:39 -04:00
pubkey.cpp Merge #13722: trivial: Replace CPubKey::operator[] with CPubKey::vch where possible 2020-07-28 20:08:40 -05:00
pubkey.h Merge #12460: Assert CPubKey::ValidLength to the pubkey's header-relevant size 2020-07-26 19:39:13 -05:00
random.cpp Merge #13236: break circular dependency: random/sync -> util -> random/sync 2020-07-18 03:08:13 -05:00
random.h Merge #12742: Make FastRandomContext support standard C++11 RNG interface 2020-10-22 11:36:39 -04:00
rest.cpp Merge #12717: [REST] Handle UTXO retrieval when ignoring the mempool 2020-10-14 13:27:31 -04:00
reverse_iterator.h scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
reverselock.h
saltedhasher.cpp
saltedhasher.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
scheduler.cpp
scheduler.h Merge #13835: [trivial,doc] Fix memory consistency model in comment 2020-07-17 15:45:43 -05:00
serialize.h Merge #12740: Add native support for serializing char arrays without FLATDATA 2020-10-22 11:36:39 -04:00
spentindex.h
spork.cpp Harden spork6 logic then remove spork6 (#3662) 2020-08-30 17:22:21 +03:00
spork.h Harden spork6 logic then remove spork6 (#3662) 2020-08-30 17:22:21 +03:00
stacktraces.cpp Update src/stacktraces.cpp 2020-08-11 12:07:56 +03:00
stacktraces.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
streams.h scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
sync.cpp Merge #13236: break circular dependency: random/sync -> util -> random/sync 2020-07-18 03:08:13 -05:00
sync.h Merge #13423: [net] Thread safety annotations in net_processing 2020-06-08 20:27:14 -05:00
threadinterrupt.cpp
threadinterrupt.h
threadsafety.h Merge #13423: [net] Thread safety annotations in net_processing 2020-06-08 20:27:14 -05:00
timedata.cpp Merge #13153: Add missing newlines to debug logging 2020-07-29 10:55:33 -05:00
timedata.h scripted-diff: Merge #13753: Remove trailing whitespaces 2020-07-28 20:23:12 -05:00
tinyformat.h Merge #12716: Fix typos and cleanup in various files 2020-06-11 23:20:48 -05:00
torcontrol.cpp Merge #13291: test: Don't include torcontrol.cpp into the test file 2020-07-01 14:08:47 -05:00
torcontrol.h Backport 12381 (#3528) 2020-06-13 21:21:30 +03:00
txdb.cpp Merge #12653: Allow to optional specify the directory for the blocks storage 2020-10-14 13:26:32 -04:00
txdb.h Merge #12731: Support serialization as another type without casting 2020-06-11 23:20:48 -05:00
txmempool.cpp Merge #12717: [REST] Handle UTXO retrieval when ignoring the mempool 2020-10-14 13:27:31 -04:00
txmempool.h Merge #12717: [REST] Handle UTXO retrieval when ignoring the mempool 2020-10-14 13:27:31 -04:00
ui_interface.cpp
ui_interface.h
uint256.cpp
uint256.h
undo.h Merge #12254: BIP 158: Compact Block Filters for Light Clients 2020-06-13 14:08:18 -05:00
unordered_lru_cache.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
util.cpp Merge #12630: Provide useful error message if datadir is not writable. 2020-10-22 11:36:39 -04:00
util.h Merge #12630: Provide useful error message if datadir is not writable. 2020-10-22 11:36:39 -04:00
utilmemory.h Merge #13690: [moveonly] Extract MakeUnique into utilmemory.h 2020-07-26 19:39:13 -05:00
utilmoneystr.cpp
utilmoneystr.h
utilstrencodings.cpp Merge #13656: Remove the boost/algorithm/string/predicate.hpp dependency 2020-07-17 15:42:20 -05:00
utilstrencodings.h Merge #13656: Remove the boost/algorithm/string/predicate.hpp dependency 2020-07-17 15:42:20 -05:00
utiltime.cpp remove duplicate includes so that ./contrib/devtools/lint-includes.sh is clean 2020-07-01 20:12:03 -05:00
utiltime.h
validation.cpp Merge #12561: Check for block corruption in ConnectBlock() 2020-11-01 01:55:15 -04:00
validation.h Merge #12172: Bugfix: RPC: savemempool: Don't save until LoadMempool() is finished 2020-10-22 11:36:39 -04:00
validationinterface.cpp Merge #13622: Remove mapRequest tracking that just effects Qt display. (#3694) 2020-09-12 17:33:54 +03:00
validationinterface.h Merge #13622: Remove mapRequest tracking that just effects Qt display. (#3694) 2020-09-12 17:33:54 +03:00
version.h p2p: remove some old protocol version checks/dead code (#3647) 2020-08-14 14:42:15 +03:00
versionbits.cpp Implement dynamic activation thresholds (#3692) 2020-09-12 17:33:12 +03:00
versionbits.h Implement dynamic activation thresholds (#3692) 2020-09-12 17:33:12 +03:00
walletinitinterface.h Merge #12757: Clarify include guard naming convention 2020-07-19 00:42:54 -05:00
warnings.cpp Merge #13116: Add Clang thread safety annotations for variables guarded by cs_{rpcWarmup,nTimeOffset,warnings} 2020-06-28 19:28:57 -05:00
warnings.h Merge #13895: Docs: fix GetWarnings docs to reflect behavior 2020-07-17 15:45:43 -05:00