dash/src
Wladimir J. van der Laan 9344dee8aa Merge #11580: Do not send (potentially) invalid headers in response to getheaders
725b79a [test] Verify node doesn't send headers that haven't been fully validated (Russell Yanofsky)
3788a84 Do not send (potentially) invalid headers in response to getheaders (Matt Corallo)

Pull request description:

  Nowhere else in the protocol do we send headers which are for
  blocks we have not fully validated except in response to getheaders
  messages with a null locator. On my public node I have not seen any
  such request (whether for an invalid block or not) in at least two
  years of debug.log output, indicating that this should have minimal
  impact.

Tree-SHA512: c1f6e0cdcdfb78ea577d555f9b3ceb1b4b60eff4f6cf313bfd8b576c9562d797bea73abc23f7011f249ae36dd539c715f3d20487ac03ace60e84e1b77c0c1e1a
2019-03-12 10:43:47 +01:00
..
bench Merge #9505: Prevector Quick Destruct 2019-02-26 16:41:13 -06:00
bls Implement CBLSLazySignature for lazy serialization/deserialization 2019-02-15 15:44:02 +01:00
compat Move to in-docker CI builds and add Jenkins support (#2178) 2018-07-12 16:28:59 +03:00
config
consensus Implement CInstantSendManager and related P2P messages 2019-03-07 21:14:31 +01:00
crypto Move bls stuff from crypto/ to bls/ 2018-10-12 19:39:26 +02:00
evo Implement 2-stage commit for CEvoDB to avoid inconsistencies after crashes (#2744) 2019-03-06 22:45:39 +03:00
immer Update immer to c89819df92191d6969a6a22c88c72943b8e25016 (#2626) 2019-01-14 11:52:19 +03:00
leveldb Merge #8613: LevelDB 1.19 2018-01-17 17:31:11 +01:00
llmq Remove size check in CDKGSessionManager::GetVerifiedContributions 2019-03-12 07:02:52 +01:00
obj
obj-test
policy Merge #9548: Remove min reasonable fee 2019-02-05 13:40:31 -06:00
primitives Serialize the block header in CBlockHeader::GetHash() (#2531) 2018-12-10 05:40:08 +01:00
qt Merge pull request #2727 from PastaPastaPasta/backports-0.15-pr7 2019-03-11 11:15:51 +03:00
rpc Merge pull request #2727 from PastaPastaPasta/backports-0.15-pr7 2019-03-11 11:15:51 +03:00
script Merge #8808: Do not shadow variables (gcc set) 2019-02-01 00:41:12 -06:00
secp256k1 Merge #9334: Update to latest libsecp256k1 2018-01-17 17:31:12 +01:00
support Merge #8808: Do not shadow variables (gcc set) 2019-02-01 00:41:12 -06:00
test Merge #9916: Fix msvc compiler error C4146 (minus operator applied to unsigned type) 2019-02-26 15:24:31 -06:00
univalue
wallet Merge pull request #2727 from PastaPastaPasta/backports-0.15-pr7 2019-03-11 11:15:51 +03:00
zmq [ZMQ] Notify when an IS double spend is attempted (#2262) 2018-09-12 14:12:44 +03:00
.clang-format Update .clang-format to more accurately show the actual style (#2299) 2018-09-20 15:40:00 +03:00
activemasternode.cpp Fix confusion between dip3 activation and enforcement (#2651) 2019-01-29 15:54:38 +01:00
activemasternode.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
addrdb.cpp Merge #9216: Doc: Fix copypasted comment 2018-01-17 17:25:36 +01:00
addrdb.h
addressindex.h
addrman.cpp A few devnet related fixes (#2168) 2018-07-08 00:19:33 +03:00
addrman.h A few devnet related fixes (#2168) 2018-07-08 00:19:33 +03:00
alert.cpp Remove remaining using namespace std 2018-02-21 22:32:13 +03:00
alert.h Drop BOOST_FOREACH and use references in loops (const ref where applicable, Dash code only) (#1899) 2018-02-06 14:09:33 +03:00
amount.cpp
amount.h
arith_uint256.cpp Merge #8808: Do not shadow variables (gcc set) 2019-02-01 00:41:12 -06:00
arith_uint256.h
base58.cpp
base58.h Merge #9510: [trivial] Fix typos in comments 2018-01-21 12:48:34 +01:00
batchedlogger.cpp Add batched logger 2019-01-09 12:16:11 +01:00
batchedlogger.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
bip39_english.h
bip39.cpp
bip39.h
blockencodings.cpp Backport compact blocks functionality from bitcoin (#1966) 2018-04-11 14:06:01 +03:00
blockencodings.h Backport compact blocks functionality from bitcoin (#1966) 2018-04-11 14:06:01 +03:00
bloom.cpp Merge #9916: Fix msvc compiler error C4146 (minus operator applied to unsigned type) 2019-02-26 15:24:31 -06:00
bloom.h
cachemap.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
cachemultimap.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
chain.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
chain.h Merge #8808: Do not shadow variables (gcc set) 2019-02-01 00:41:12 -06:00
chainparams.cpp Set llmqForInstantSend for mainnet and testnet 2019-03-07 21:15:09 +01:00
chainparams.h Allow to override llmqChainLocks with "-llmqchainlocks" on devnet (#2683) 2019-02-05 15:46:05 +01:00
chainparamsbase.cpp Clear devNetParams and mimic behavior of other param types (#2367) 2018-10-25 09:17:37 +02:00
chainparamsbase.h
chainparamsseeds.h Update testnet seeds to point to MNs that are on the new chain (#2558) 2018-12-14 16:34:11 +01:00
checkpoints.cpp Merge #9472: Disentangle progress estimation from checkpoints and update it 2018-01-21 12:48:32 +01:00
checkpoints.h Merge #9472: Disentangle progress estimation from checkpoints and update it 2018-01-21 12:48:32 +01:00
checkqueue.h Merge #9497: CCheckQueue Unit Tests 2018-01-26 12:59:29 +01:00
clientversion.cpp [GUI] Create QR-code for Masternode private key (#1970) 2018-03-08 15:17:34 +03:00
clientversion.h Revert "Set CLIENT_VERSION_IS_RELEASE to true (#2591)" 2019-01-14 20:36:57 +03:00
coins.cpp Few (mostly trivial) cleanups and fixes (#1940) 2018-02-21 19:32:08 +03:00
coins.h Few (mostly trivial) cleanups and fixes (#1940) 2018-02-21 19:32:08 +03:00
compat.h Merge #9224: Prevent FD_SETSIZE error building on OpenBSD 2018-01-17 17:27:24 +01:00
compressor.cpp
compressor.h
core_io.h Merge #9282: CMutableTransaction is defined as struct 2018-01-17 17:31:12 +01:00
core_memusage.h Merge #9125: Make CBlock a vector of shared_ptr of CTransactions 2018-01-15 06:14:16 +01:00
core_read.cpp Merge #9650: Better handle invalid parameters to signrawtransaction 2018-02-07 13:11:08 +01:00
core_write.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
ctpl.h Add ctpl header only library 2018-10-04 16:46:48 +02:00
cuckoocache.h Merge #9510: [trivial] Fix typos in comments 2018-01-21 12:48:34 +01:00
cxxtimer.hpp Add cxxtimer header only libraries 2019-01-09 12:16:11 +01:00
dash-cli-res.rc
dash-cli.cpp Implement optional pretty printed stacktraces (#2420) 2019-02-21 21:37:15 +03:00
dash-tx-res.rc
dash-tx.cpp Implement optional pretty printed stacktraces (#2420) 2019-02-21 21:37:15 +03:00
dashd-res.rc
dashd.cpp Implement optional pretty printed stacktraces (#2420) 2019-02-21 21:37:15 +03:00
dbwrapper.cpp
dbwrapper.h Implement 2-stage commit for CEvoDB to avoid inconsistencies after crashes (#2744) 2019-03-06 22:45:39 +03:00
dsnotificationinterface.cpp Track txids of new blocks and first-seen time of TXs in CChainLocksHandler 2019-03-07 21:15:09 +01:00
dsnotificationinterface.h Add override keywork to CDSNotificationInterface::NotifyChainLock 2019-03-07 21:15:09 +01:00
flat-database.h
governance-classes.cpp Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
governance-classes.h Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
governance-exceptions.h Gov cleanup + copyright bump (#2324) 2018-09-28 10:56:17 +03:00
governance-object.cpp Whenever we check for locked TXs, also check for the new system having a lock 2019-03-07 21:15:09 +01:00
governance-object.h Drop no longer used code and bump min protos (#2697) 2019-02-12 22:51:21 +03:00
governance-validators.cpp Disallow new proposals using legacy serialization (#2722) 2019-02-26 13:44:43 +03:00
governance-validators.h Disallow new proposals using legacy serialization (#2722) 2019-02-26 13:44:43 +03:00
governance-vote.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
governance-vote.h Use BLS keys for the DIP3 operator key (#2352) 2018-10-21 22:45:16 +03:00
governance-votedb.cpp Drop no longer used code and bump min protos (#2697) 2019-02-12 22:51:21 +03:00
governance-votedb.h Drop no longer used code and bump min protos (#2697) 2019-02-12 22:51:21 +03:00
governance.cpp Disallow new proposals using legacy serialization (#2722) 2019-02-26 13:44:43 +03:00
governance.h Do not send excessive messages in governance sync (#2124) 2019-02-04 12:51:37 +03:00
hash.cpp Merge #9556: Remove redundant semicolons 2018-01-23 09:24:27 +01:00
hash.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
hdchain.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
hdchain.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
httprpc.cpp Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
httprpc.h
httpserver.cpp Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
httpserver.h
indirectmap.h
init.cpp Make -masternodeblsprivkey mandatory when -masternode is given (#2745) 2019-03-06 22:45:53 +03:00
init.h Refactor and fix restart (#1999) 2018-03-19 16:09:47 +03:00
instantx.cpp Disable old IX code when the new system is active 2019-03-07 21:14:31 +01:00
instantx.h update autoix-mempool.py to test both "old" and "new" InstantSend (and fix CheckCanLock to respect mempool limits) 2019-03-07 21:15:09 +01:00
keepass.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
keepass.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
key.cpp
key.h
keystore.cpp
keystore.h Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
limitedmap.h
Makefile.am Implement unordered_lru_cache 2019-03-11 06:33:46 +01:00
Makefile.bench.include Merge #9505: Prevector Quick Destruct 2019-02-26 16:41:13 -06:00
Makefile.leveldb.include
Makefile.qt.include Implement optional pretty printed stacktraces (#2420) 2019-02-21 21:37:15 +03:00
Makefile.qttest.include Implement optional pretty printed stacktraces (#2420) 2019-02-21 21:37:15 +03:00
Makefile.test.include Implement optional pretty printed stacktraces (#2420) 2019-02-21 21:37:15 +03:00
masternode-meta.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
masternode-meta.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
masternode-payments.cpp Fix confusion between dip3 activation and enforcement (#2651) 2019-01-29 15:54:38 +01:00
masternode-payments.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
masternode-sync.cpp Update misspelled Synchronizing in GetSyncStatus (#2680) 2019-02-04 12:52:49 +03:00
masternode-sync.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
masternode-utils.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
masternode-utils.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
memusage.h
merkleblock.cpp Only include selected TX types into CMerkleBlock (#2737) 2019-03-04 07:52:14 +01:00
merkleblock.h Merge #10258: Fixed typo in documentation for merkleblock.h 2018-01-26 12:59:29 +01:00
messagesigner.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
messagesigner.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
miner.cpp Move safe TX checks into TestForBlock and TestPackageTransactions 2019-03-07 21:15:09 +01:00
miner.h manual fixes on #9868 2019-01-22 22:57:04 -06:00
net_processing.cpp Merge #11580: Do not send (potentially) invalid headers in response to getheaders 2019-03-12 10:43:47 +01:00
net_processing.h Implement IsBanned to allow checking for banned nodes outside of net_processing.cpp 2019-01-17 18:51:48 +01:00
net.cpp Downgrade TXLOCKREQUEST to TX when new IX system is active 2019-03-07 21:14:31 +01:00
net.h Implement WakeupSelect() to allow preliminary wakeup after message push 2019-02-15 15:19:59 +01:00
netaddress.cpp
netaddress.h Merge #9510: [trivial] Fix typos in comments 2018-01-21 12:48:34 +01:00
netbase.cpp Backports 0.15 pr1 (#2590) 2019-01-03 12:18:47 +03:00
netbase.h
netfulfilledman.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
netfulfilledman.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
netmessagemaker.h Optimize DKG debug message processing for performance and lower bandwidth (#2672) 2019-02-01 10:49:01 +03:00
noui.cpp
noui.h
pow.cpp Merge #8665: Assert all the things! 2019-02-26 16:41:11 -06:00
pow.h
prevector.h Merge #9505: Prevector Quick Destruct 2019-02-26 16:41:13 -06:00
privatesend-client.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
privatesend-client.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
privatesend-server.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
privatesend-server.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
privatesend-util.cpp bump PS copyright (#2417) 2018-11-05 12:29:33 +03:00
privatesend-util.h bump PS copyright (#2417) 2018-11-05 12:29:33 +03:00
privatesend.cpp update copyright (#2648) 2019-01-29 15:53:14 +01:00
privatesend.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
protocol.cpp Rename IXLOCK to ISLOCK and InstantX to InstantSend 2019-03-07 21:15:09 +01:00
protocol.h Rename IXLOCK to ISLOCK and InstantX to InstantSend 2019-03-07 21:15:09 +01:00
pubkey.cpp
pubkey.h
random.cpp Merge #9821: util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD 2019-01-22 22:57:09 -06:00
random.h Merge #9821: util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD 2019-01-22 22:57:09 -06:00
rest.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
reverselock.h
saltedhasher.cpp Implement std::unordered_map/set compatible hasher classes for salted hashes 2019-02-27 14:40:52 +01:00
saltedhasher.h Implement std::unordered_map/set compatible hasher classes for salted hashes 2019-02-27 14:40:52 +01:00
scheduler.cpp Merge #9605: Use CScheduler for wallet flushing, remove ThreadFlushWalletDB 2019-02-04 19:58:19 -06:00
scheduler.h Merge #9605: Use CScheduler for wallet flushing, remove ThreadFlushWalletDB 2019-02-04 19:58:19 -06:00
sendalert.cpp Merge #9243: Clean up mapArgs and mapMultiArgs Usage 2018-01-18 07:31:23 +01:00
serialize.h Implement CFixedVarIntsBitSet and CAutoBitSet 2019-01-17 18:51:48 +01:00
spentindex.h
spork.cpp Introduce spork SPORK_20_INSTANTSEND_LLMQ_BASED to switch between new/old system 2019-03-07 21:15:09 +01:00
spork.h Introduce spork SPORK_20_INSTANTSEND_LLMQ_BASED to switch between new/old system 2019-03-07 21:15:09 +01:00
stacktraces.cpp Fix stacktraces compilation issues (#2721) 2019-02-26 07:01:56 +01:00
stacktraces.h Implement optional pretty printed stacktraces (#2420) 2019-02-21 21:37:15 +03:00
streams.h Merge #8808: Do not shadow variables (gcc set) 2019-02-01 00:41:12 -06:00
sync.cpp Remove onlyMaybeDeadlock condition around printing of deadlock info 2018-01-23 12:27:28 +01:00
sync.h Merge #9319: Break addnode out from the outbound connection limits. 2018-01-18 07:38:22 +01:00
threadinterrupt.cpp
threadinterrupt.h
threadsafety.h
timedata.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
timedata.h Merge #8808: Do not shadow variables (gcc set) 2019-02-01 00:41:12 -06:00
tinyformat.h Don't use short version of 'tinyformat/fmt' namespace in util.h (#1975) 2018-03-08 15:18:51 +03:00
torcontrol.cpp Merge #9510: [trivial] Fix typos in comments 2018-01-21 12:48:34 +01:00
torcontrol.h
txdb.cpp Merge #9644: [refactor] Remove using namespace <xxx> from src/ 2018-01-23 09:24:03 +01:00
txdb.h Use override keyword for overriden class member functions (#1644) 2018-02-15 10:29:15 +03:00
txmempool.cpp Whenever we check for locked TXs, also check for the new system having a lock 2019-03-07 21:15:09 +01:00
txmempool.h backports-0.15-pr6 code review 2019-02-16 15:09:51 -06:00
ui_interface.cpp
ui_interface.h A small overhaul of the way MN list/stats UI and data are tied together (#2696) 2019-02-12 22:51:03 +03:00
uint256.cpp Merge #9867: Replace remaining sprintf with snprintf 2019-01-22 22:55:48 -06:00
uint256.h update copyright (#2648) 2019-01-29 15:53:14 +01:00
undo.h
unordered_lru_cache.h Replace BITCOIN_UNORDERED_LRU_CACHE_H with DASH_UNORDERED_LRU_CACHE_H 2019-03-11 15:18:25 +01:00
util.cpp Merge #9538: [util] Remove redundant call to get() on smart pointer (thread_specific_ptr) 2019-02-26 15:25:32 -06:00
util.h Implement optional pretty printed stacktraces (#2420) 2019-02-21 21:37:15 +03:00
utilmoneystr.cpp Merge #9643: [refactor] Remove using namespace <xxx> from wallet/ & util* 2018-02-21 22:32:13 +03:00
utilmoneystr.h
utilstrencodings.cpp Merge #8775: RPC refactoring: Access wallet using new GetWalletForJSONRPCRequest 2019-01-24 22:28:13 -06:00
utilstrencodings.h Merge #8775: RPC refactoring: Access wallet using new GetWalletForJSONRPCRequest 2019-01-24 22:28:13 -06:00
utiltime.cpp Add real timestamp to log output when mock time is enabled (#2604) 2019-01-03 12:21:19 +03:00
utiltime.h Add real timestamp to log output when mock time is enabled (#2604) 2019-01-03 12:21:19 +03:00
validation.cpp Merge pull request #2727 from PastaPastaPasta/backports-0.15-pr7 2019-03-11 11:15:51 +03:00
validation.h Merge pull request #2643 from codablock/pr_llmq_chainlocks 2019-01-29 15:59:05 +01:00
validationinterface.cpp Introduce NotifyChainLock signal and invoke it when CLSIGs get processed 2019-03-07 21:14:31 +01:00
validationinterface.h Introduce NotifyChainLock signal and invoke it when CLSIGs get processed 2019-03-07 21:14:31 +01:00
version.h Drop no longer used code and bump min protos (#2697) 2019-02-12 22:51:21 +03:00
versionbits.cpp Stop checking MN protocol version before signalling DIP3 (#2684) 2019-02-05 15:45:54 +01:00
versionbits.h Show BIP9 progress in getblockchaininfo (#2435) 2018-11-12 18:08:58 +03:00
warnings.cpp Drop BOOST_FOREACH and use references in loops (const ref where applicable, Dash code only) (#1899) 2018-02-06 14:09:33 +03:00
warnings.h Merge #9236: Fix races for strMiscWarning and fLargeWork*Found, make QT runawayException use GetWarnings 2018-01-18 07:31:22 +01:00