aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-05-12Preparations for 0.10.2 releaseWladimir J. van der Laan
2015-05-10don't imbue boost::filesystem::path with locale "C" on windowsJonas Schnelli
fixes https://github.com/bitcoin/bitcoin/issues/6078 Github-Pull: #6093 Rebased-From: b3ffcdf91608d4435acfb9b0a6266a4073ffaf7f 3da78490073b04f52f0136e17b07246cc37bedf1
2015-05-06wallet: fix boost::get usage with boost 1.58Cory Fields
Backport from master
2015-05-04qt: translation update for next 0.10 point releaseWladimir J. van der Laan
2015-04-20Cap nAttempts penalty at 8 and switch to pow instead of a division loop.Gregory Maxwell
On hosts that had spent some time with a failed internet connection their nAttempts penalty was going through the roof (e.g. thousands for all peers) and as a result the connect search was pegging the CPU and failing to get more than a 4 connections after days of running (because it was taking so long per try). Rebased-From: a784f90c9892f06b9fea4e7579f5eca3585482c3 Github-Pull: #6029
2015-04-20Set nSequenceId when a block is fully linkedSuhas Daftuar
Also adds a test to CheckBlockIndex Conflicts: src/main.cpp Rebased-From: c1ecee8f723c2635fbd51100fa09acdb0cbec8a0 Github-Pull: #6010
2015-04-18Initialization: setup environment before starting QT testsdexX7
The environment is prepared by the main thread to guard against invalid locale settings.
2015-04-18Initialization: setup environment before starting testsdexX7
The environment is prepared by the main thread to guard against invalid locale settings and to prevent deinitialization issues of Boost path, which can result in app crashes.
2015-04-18Initialization: set fallback locale as environment variabledexX7
The scope of `std::locale::global` appears to be smaller than `setenv("LC_ALL", ...)` and insufficient to fix messed up locale settings for the whole application.
2015-04-16Fix CheckBlockIndex for reindex.mrbandrews
Some tests in CheckBlockIndex require chainActive.Tip(), but when reindexing, chainActive has not been set on the first call to CheckBlockIndex. reindex.py starts a node, mines 3 blocks, stops, and reindexes with CheckBlockIndex enabled. Rebased-From: 0421c18f3a261f04e83a03f59884e5798af74fd9 Github-Pull: #6012
2015-04-14Fix missing lock in submitblockMatt Corallo
Rebased-From: eb63bf86cf6dc99f150574463df6ffb013a34493 Github-Pull: #6007
2015-04-06Keep mempool consistent during block-reorgsGavin Andresen
This fixes a subtle bug involving block re-orgs and non-standard transactions. Start with a block containing a non-standard transaction, and one or more transactions spending it in the memory pool. Then re-org away from that block to another chain that does not contain the non-standard transaction. Result before this fix: the dependent transactions get stuck in the mempool without their parent, putting the mempool in an inconsistent state. Tested with a new unit test (adapted for 0.10). Rebased-From: ad9e86dca11dce023d827d342e966f3806c39d27 Github-Pull: #5945
2015-04-01Merge pull request #5953Wladimir J. van der Laan
a1f425b Add a consistency check for the block chain data structures (Pieter Wuille) This is a port of #5900 to 0.10. Github-Pull: #5900
2015-04-01Scale up addrmanPieter Wuille
This change was suggested as Countermeasure 6 in Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman, Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report 2015/263. March 2015. Rebased-From: 1d21ba2f5ecbf03086d0b65c4c4c80a39a94c2ee Github-Pull: #5941
2015-04-01Always use a 50% chance to choose between tried and new entriesPieter Wuille
This change was suggested as Countermeasure 2 in Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman, Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report 2015/263. March 2015. Rebased-From: c6a63ceeb4956933588995bcf01dc3095aaeb1fc Github-Pull: #5941
2015-04-01Do not bias outgoing connections towards fresh addressesPieter Wuille
This change was suggested as Countermeasure 2 in Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman, Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report 2015/263. March 2015. Rebased-From: 68ba3f67bd500a64fb8932c6b41924ddc31d76f Github-Pull: #5941
2015-04-01Simplify hashing codePieter Wuille
Conflicts: src/addrman.cpp Rebased-From: a8ff7c62edc63c7c94bc91c30b80995539ed7477 Github-Pull: #5941
2015-04-01Make addrman's bucket placement deterministic.Pieter Wuille
Give each address a single fixed location in the new and tried tables, which become simple fixed-size arrays instead of sets and vectors. This prevents attackers from having an advantages by inserting an address multiple times. This change was suggested as Countermeasure 1 in Eclipse Attacks on Bitcoin’s Peer-to-Peer Network, Ethan Heilman, Alison Kendler, Aviv Zohar, Sharon Goldberg. ePrint Archive Report 2015/263. March 2015. It is also more efficient. Conflicts: src/addrman.cpp src/addrman.h Rebased-From: e6b343d880f50d52390c5af8623afa15fcbc65a2 Github-Pull: #5941
2015-04-01Switch addrman key from vector to uint256Pieter Wuille
Conflicts: src/addrman.cpp Rebased-From: b23add5521e4207085d41a0266617e94435fc22e Github-Pull: #5941
2015-03-27Add a consistency check for the block chain data structuresPieter Wuille
This adds a -checkblockindex (defaulting to true for regtest), which occasionally does a full consistency check for mapBlockIndex, setBlockIndexCandidates, chainActive, and mapBlocksUnlinked.
2015-03-26Translations update from transifexWladimir J. van der Laan
2015-03-26don't trickle for whitelisted nodesRuben de Vries
Rebased-From: fc720207e0e513e531b1f266b966a2ffa57b936a Github-Pull: #5942
2015-03-24Fix InvalidateBlock to add chainActive.Tip to setBlockIndexCandidatesAlex Morcos
Rebased-From: cd3d67cf3b0d573d2c387c2ec35e8b52129863d9 Github-Pull: #5890
2015-03-24Initialization: set Boost path locale in main threaddexX7
The path locale is lazy initialized and to avoid deinitialization errors in multithreading environments, it is set explicitly by the main thread. Conflicts: src/util.cpp Rebased-From: 317e66c741aef0fd272e50aa2e82ff192ca5f7e5 Github-Pull: #5877
2015-03-190.10 fix for crashes on OSX 10.6Cory Fields
strnlen is available at build-time but not at runtime, causing a crash. 0.11 drops support for 10.6, so this is not needed in master.
2015-03-18bump version to 0.10.1 in preparation of RC1Wladimir J. van der Laan
2015-03-17Reduce fingerprinting through timestamps in 'addr' messages.Pieter Wuille
Suggested by Jonas Nick. Rebased-From: 9c2737901b5203f267d21d728019d64b46f1d9f3 Github-Pull: #5860
2015-03-16[QT] some mac specifiy cleanup (memory handling, unnecessary code)Jonas Schnelli
Rebased-From: 8b60808c1eaddb402a699ba53d865932e08109ec Github-Pull: #5880
2015-03-16[QT] fix OSX dock icon window reopeningJonas Schnelli
fixes #5878 Rebased-From: 89e70e931d3d320d2dae4c296601aab113b2e508 Github-Pull: #5880
2015-03-12fix InvalidateBlock to repopulate setBlockIndexCandidatesAlex Morcos
Rebased-From: a9af415887f03cb2565895bc55be72748549e527 Github-Pull: #5879
2015-03-11fix possible block db breakage during re-indexCory Fields
When re-indexing, there are a few cases where garbage data may be skipped in the block files. In these cases, the indices are correctly written to the index db, however the pointer to the next position for writing in the current block file is calculated by adding the sizes of the valid blocks found. As a result, when the re-index is finished, the index db is correct for all existing blocks, but the next block will be written to an incorrect offset, likely overwriting existing blocks. Rather than using the sum of all valid blocks to determine the next write position, use the end of the last block written to the file. Don't assume that the current block is the last one in the file, since they may be read out-of-order. Rebased-From: bb6acff07982dda68b5c2ac81c99dbd7255bb9cc Github-Pull: #5864
2015-03-09Ignore getaddr messages on Outbound connections.Ivan Pustogarov
The only time when a client sends a "getaddr" message is when he esatblishes an Outbound connection (see ProcessMessage() in src/main.cpp). Another bitcoin client is expected to receive a "getaddr" message only on Inbound connection. Ignoring "gettaddr" requests on Outbound connections can resolve potential privacy issues (and as was said such request normally do not happen anyway). Rebased-From: dca799e1db6e319fdd47e0bfdb038eab0efabb85 Github-Pull: #5442
2015-03-09Limit message sizes before transferPieter Wuille
This introduces a fixed limit for the size of p2p messages, and enforces it before download. Rebased-From: ba04c4a7801e7d68a5e84035b919e5c3626eb7a7 Github-Pull: #5843
2015-03-09[Qt] fix a issue where "command line options"-action overwrite ↵Jonas Schnelli
"Preference"-action (on OSX) - fixes #5800 Conflicts: src/qt/bitcoingui.cpp Rebased-From: 9bbb880be44dbc378bdd3210eed42eaa77efb774 Github-Pull: #5858
2015-02-26Better fingerprinting protection for non-main-chain getdatas.Pieter Wuille
With headers-first we can compare against the best header timestamp, rather than using checkpoints which require code updates to maintain. Rebased-From: 85da07a5a001a563488382435202b74a3e3e964a Github-Pull: #5820
2015-02-24Sanitize command strings before logging them.Gregory Maxwell
Normally bitcoin core does not display any network originated strings without sanitizing or hex encoding. This wasn't done for strcommand in many places. This could be used to play havoc with a terminal displaying the logs, especially with printtoconsole in use. Thanks to Evil-Knievel for reporting this issue. Conflicts: src/main.cpp
2015-02-23Acquire CCheckQueue's lock to avoid race conditionSuhas Daftuar
This fixes a potential race condition in the CCheckQueueControl constructor, which was looking directly at data in CCheckQueue without acquiring its lock. Remove the now-unnecessary friendship for CCheckQueueControl Rebased-From: cf008ac8c3c5d582562d88ad89020daef3e64dcb Github-Pull: #5721
2015-02-20fix crash: createmultisig and addmultisigaddressfsb4000
Rebased-From: e5d9d77df2de715d24638e3bab78750b7ad3e1fd Github-Pull: #5706
2015-02-03Increase block download timeout base from 10 to 20 minutes.Gregory Maxwell
This harmonizes the block fetch timeout with the existing ping timeout and eliminates a guaranteed eventual failure from congestion collapse for a network operating right at its limit. It's unlikely that we wouldn't suffer other failures if we were really anywhere near the network's limit, and a complete avoidance of congestion collapse risk requires (I think) an exponential back-off. So this isn't a major concern, but I think it's also useful for reducing the complexity of understanding out timeouts. Github-Pull: #5647 Rebased-From: 3ff735c99ae75c21397079f49859b81e89a2f5f8
2015-02-03Merge pull request #5714Wladimir J. van der Laan
3916a81 Increase coverage of DERSIG edge cases (Pieter Wuille) 6da2028 Add RPC test for DERSIG BIP switchover logic (Pieter Wuille) 773c30d BIP66 changeover logic (Pieter Wuille) 18695f0 Example unit tests from BIP66 (Pieter Wuille) abfbeaf Change IsDERSignature to BIP66 implementation (Pieter Wuille)
2015-02-03Fix priority calculation in CreateTransactionAlex Morcos
Make this projection of priority in 1 block match the calculation in the low priority reject code. Rebased-From: 2d9b0b7f03a268e557c6dce1dfa29401b5c9178b Github-Pull: #5675
2015-02-03Avoid storing a reference passed to SignatureChecker constructorsPieter Wuille
Rebased-From: 9fddceda44fb5592be179d783f0e5ac616c51c0d Github-Pull: #5719
2015-02-03Use separate SignatureChecker for CMutableTransactionPieter Wuille
Conflicts: src/main.cpp src/script/bitcoinconsensus.cpp Rebased-From: 858809a33e4f690c4ad213f44a6c4465fc2ef025 Github-Pull: #5719
2015-02-01Increase coverage of DERSIG edge casesPieter Wuille
2015-02-01BIP66 changeover logicPieter Wuille
2015-02-01Example unit tests from BIP66Pieter Wuille
2015-02-01Change IsDERSignature to BIP66 implementationPieter Wuille
2015-01-30[Qt] don't allow amount changes when AmountSpinBox is read-onlyPhilip Kaufmann
- before it was possible to use the steps to change e.g. amouns of authenticated or unauthenticated payment requests (AmountSpinBox is already set to read-only here) - this is now fixed - also move the reimplemented stepEnabled() function to the protected section of our class, where it belongs (see Qt doc) Github-Pull: #5637 Rebased-From: 0fd9e2bf43d217d9a76003476661c8ab53606548
2015-01-29Change Coin Control first column labelfsb4000
Github-Pull: #5720 Rebased-From: 55eade9d46ebfa4b32b79893595d91d529fa30bb
2015-01-26sleep-wait on genesis block during init with -reindexMatt Corallo
Rebased-From: ff09e31a51dcee404c9c037c7c5f50c522e67ea8 Github-Pull: #5243