aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2016-07-30Use a signal to continue init after genesis activationPieter Wuille
2016-07-29net: Ignore `notfound` P2P messagesWladimir J. van der Laan
2016-07-29Merge #8274: util: Update tinyformatWladimir J. van der Laan
a5072a7 util: Remove zero-argument versions of LogPrint and error (Wladimir J. van der Laan) 695041e util: Update tinyformat (Wladimir J. van der Laan)
2016-07-29Merge #8408: Prevent fingerprinting, disk-DoS with compact blocksWladimir J. van der Laan
1d06e49 Ignore CMPCTBLOCK messages for pruned blocks (Suhas Daftuar) 1de2a46 Ignore GETBLOCKTXN requests for unknown blocks (Suhas Daftuar)
2016-07-28Merge #8348: Trivial: Segwit: Don't call IsWitnessEnabled from ↵Wladimir J. van der Laan
ContextualCheckBlock 38c4c8b Trivial: Segwit: Don't call IsWitnessEnabled from ContextualCheckBlock (Jorge Timón)
2016-07-27Trivial: pass Consensus::Params& instead of CChainParams& in ↵Jorge Timón
ContextualCheckBlock
2016-07-26Ignore CMPCTBLOCK messages for pruned blocksSuhas Daftuar
Also ignores CMPCTBLOCK announcements that have too little work. This is to prevent disk-exhaustion DoS.
2016-07-26Ignore GETBLOCKTXN requests for unknown blocksSuhas Daftuar
Don't disconnect peers, or else we leak information that could be used for fingerprinting.
2016-07-26Merge #8381: Make witness v0 outputs non-standardWladimir J. van der Laan
c59c434 qa: Add test for standardness of segwit v0 outputs (Suhas Daftuar) 1ffaff2 Make witness v0 outputs non-standard before segwit activation (Johnson Lau)
2016-07-26Merge #8365: Treat high-sigop transactions as larger rather than rejecting themWladimir J. van der Laan
ab942c1 Treat high-sigop transactions as larger rather than rejecting them (Pieter Wuille)
2016-07-23Consensus: Remove ISMNicolasDorier
2016-07-22Make witness v0 outputs non-standard before segwit activationJohnson Lau
2016-07-21Merge #8347: Trivial: Make CBlockIndex param const in ↵Wladimir J. van der Laan
ContextualCheckBlockHeader and ContextualCheckBlock 6f3d616 Trivial: Make CBlockIndex param const in ContextualCheckBlockHeader and ContextualCheckBlock (Jorge Timón)
2016-07-21Consensus: Remove calls to error() from ContextualCheckBlockNicolasDorier
2016-07-21Merge #8342: Consensus: Trivial transform BOOST_FOREACH into for loopWladimir J. van der Laan
a3e1984 Consensus: Trivial transform BOOST_FOREACH into for loop (NicolasDorier)
2016-07-20[Qt] show network/chain errors in the GUIJonas Schnelli
2016-07-19Treat high-sigop transactions as larger rather than rejecting themPieter Wuille
2016-07-18Rename "block cost" to "block weight"Suhas Daftuar
2016-07-18Merge #8305: Improve handling of unconnecting headersWladimir J. van der Laan
e91cf4b Add test for handling of unconnecting headers (Suhas Daftuar) 96fa953 Improve handling of unconnecting headers (Suhas Daftuar)
2016-07-17Trivial: Segwit: Don't call IsWitnessEnabled from ContextualCheckBlockJorge Timón
2016-07-17Trivial: Make CBlockIndex param const in ContextualCheckBlockHeader and ↵Jorge Timón
ContextualCheckBlock
2016-07-16Consensus: Trivial transform BOOST_FOREACH into for loopNicolasDorier
2016-07-14Merge #8312: Fix mempool DoS vulnerability from malleated transactionsWladimir J. van der Laan
46c9620 Test that unnecessary witnesses can't be used for mempool DoS (Suhas Daftuar) bb66a11 Fix DoS vulnerability in mempool acceptance (Suhas Daftuar)
2016-07-14Merge #8271: [bugfix] Do not send witnesses in cmpctblockWladimir J. van der Laan
252675e Do not send witnesses in cmpctblock (Pieter Wuille)
2016-07-12Improve handling of unconnecting headersSuhas Daftuar
When processing a headers message that looks like a block announcement, send peer a getheaders if the headers message won't connect. Apply DoS points after too many consecutive unconnecting headers messages.
2016-07-07Fix DoS vulnerability in mempool acceptanceSuhas Daftuar
Moves the IsStandard check to happen after the premature-witness check, so that adding a witness to a transaction can't prevent mempool acceptance. Note that this doesn't address the broader category of potential mempool DoS issues that affect transactions after segwit activation.
2016-07-06Merge #8275: Remove bad chain alert partition checkWladimir J. van der Laan
ab8be98 Remove bad chain alert partition check (BtcDrak)
2016-07-05Revert "net: Avoid duplicate getheaders requests." PR #8054Gregory Maxwell
This reverts commit f93c2a1b7ee912f0651ebb4c8a5eca220e434f4a. This can cause synchronization to get stuck.
2016-06-27util: Remove zero-argument versions of LogPrint and errorWladimir J. van der Laan
Changes in tinyformat, recently imported from upstream have made the zero-argument versions of formatting functions unnecessary. Remove them. This is a slight semantic change: `%` characters in the zero-argument call are now regarded and need to be escaped. As for as I know, the only use of this is in `main.cpp`.
2016-06-26Do not send witnesses in cmpctblockPieter Wuille
2016-06-22[qa] Add rpc test for segwitAlex Morcos
Amended by Pieter Wuille to use multisig 1-of-1 for P2WSH tests, and BIP9 based switchover logic. Fixes and py3 conversion by Marco Falke.
2016-06-22Do not use compact blocks when segwit is enabledPieter Wuille
2016-06-22Add rewind logic to deal with post-fork software updatesPieter Wuille
Includes logic for dealing with pruning by Suhas Daftuar.
2016-06-22BIP141: Other consensus critical limits, and BIP145Pieter Wuille
Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
2016-06-22Refactor script validation to observe amountsPieter Wuille
This is a preparation for BIP143 support.
2016-06-22BIP144: Handshake and relay (receiver side)Pieter Wuille
Service bit logic by Nicolas Dorier. Only download blocks from witness peers after fork.
2016-06-22BIP141: Commitment structure and deploymentPieter Wuille
Includes a fix by Suhas Daftuar and LongShao007
2016-06-22BIP141: Witness programPieter Wuille
2016-06-22BIP144: Serialization, hashes, relay (sender side)Pieter Wuille
Contains refactorings by Eric Lombrozo. Contains fixup by Nicolas Dorier. Contains cleanup of CInv::GetCommand by Alex Morcos
2016-06-22Merge #8068: Compact BlocksWladimir J. van der Laan
48efec8 Fix some minor compact block issues that came up in review (Matt Corallo) ccd06b9 Elaborate bucket size math (Pieter Wuille) 0d4cb48 Use vTxHashes to optimize InitData significantly (Matt Corallo) 8119026 Provide a flat list of txid/terators to txn in CTxMemPool (Matt Corallo) 678ee97 Add BIP 152 to implemented BIPs list (Matt Corallo) 56ba516 Add reconstruction debug logging (Matt Corallo) 2f34a2e Get our "best three" peers to announce blocks using cmpctblocks (Matt Corallo) 927f8ee Add ability to fetch CNode by NodeId (Matt Corallo) d25cd3e Add receiver-side protocol implementation for CMPCTBLOCK stuff (Matt Corallo) 9c837d5 Add sender-side protocol implementation for CMPCTBLOCK stuff (Matt Corallo) 00c4078 Add protocol messages for short-ids blocks (Matt Corallo) e3b2222 Add some blockencodings tests (Matt Corallo) f4f8f14 Add TestMemPoolEntryHelper::FromTx version for CTransaction (Matt Corallo) 85ad31e Add partial-block block encodings API (Matt Corallo) 5249dac Add COMPACTSIZE wrapper similar to VARINT for serialization (Matt Corallo) cbda71c Move context-required checks from CheckBlockHeader to Contextual... (Matt Corallo) 7c29ec9 If AcceptBlockHeader returns true, pindex will be set. (Matt Corallo) 96806c3 Stop trimming when mapTx is empty (Pieter Wuille)
2016-06-21Fix some minor compact block issues that came up in reviewMatt Corallo
2016-06-20Merge #8179: Evict orphans which are included or precluded by accepted blocks.Wladimir J. van der Laan
54326a6 Increase maximum orphan size to 100,000 bytes. (Gregory Maxwell) 8c99d1b Treat orphans as implicit inv for parents, discard when parents rejected. (Gregory Maxwell) 11cc143 Adds an expiration time for orphan tx. (Gregory Maxwell) db0ffe8 This eliminates the primary leak that causes the orphan map to always grow to its maximum size. (Gregory Maxwell) 1b0bcc5 Track orphan by prev COutPoint rather than prev hash (Pieter Wuille)
2016-06-19Get our "best three" peers to announce blocks using cmpctblocksMatt Corallo
2016-06-19Add receiver-side protocol implementation for CMPCTBLOCK stuffMatt Corallo
2016-06-19Add sender-side protocol implementation for CMPCTBLOCK stuffMatt Corallo
2016-06-19Move context-required checks from CheckBlockHeader to Contextual...Matt Corallo
2016-06-19If AcceptBlockHeader returns true, pindex will be set.Matt Corallo
Assert this instead of checking (and then dref'ing later anyway) to make sure no one thinks they can change that postcondition of AcceptBlockHeader..
2016-06-16Merge #8084: Add recently accepted blocks and txn to AttemptToEvictConnection.Wladimir J. van der Laan
6ee7f05 Allow disconnecting a netgroup with only one member in eviction. (Gregory Maxwell) 5d0ca81 Add recently accepted blocks and txn to AttemptToEvictConnection. (Gregory Maxwell)
2016-06-15Add recently accepted blocks and txn to AttemptToEvictConnection.Gregory Maxwell
This protects any not-already-protected peers who were the most recent four to relay transactions and most recent four to send blocks to us.
2016-06-15Increase maximum orphan size to 100,000 bytes.Gregory Maxwell
Although this increases node memory usage in the worst case by perhaps 30MB, the current behavior causes severe issues with dependent tx relay.