aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-03-23Make 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.
2015-03-23Switch addrman key from vector to uint256Pieter Wuille
2015-03-20refactor: move bdb (bitdb) interaction from init.cpp to wallet.cppJonas Schnelli
this will remove db.h from init.cpp
2015-03-20Merge pull request #5745Wladimir J. van der Laan
50c72f2 [Move Only] Move wallet related things to src/wallet/ (Jonas Schnelli)
2015-03-20allocators: split allocators and pagelockerCory Fields
Pagelocker is only needed for secure (usually wallet) operations, so don't make the zero-after-free allocator depend on it.
2015-03-17Merge pull request #5860Wladimir J. van der Laan
9c27379 Reduce fingerprinting through timestamps in 'addr' messages. (Pieter Wuille)
2015-03-17Reduce fingerprinting through timestamps in 'addr' messages.Pieter Wuille
Suggested by Jonas Nick.
2015-03-16Merge pull request #5880Wladimir J. van der Laan
8b60808 [QT] some mac specifiy cleanup (memory handling, unnecessary code) (Jonas Schnelli) 89e70e9 [QT] fix OSX dock icon window reopening (Jonas Schnelli)
2015-03-16Merge pull request #5831Wladimir J. van der Laan
1d9b378 qa/rpc-tests/wallet: Tests for sendmany (Luke Dashjr) 40a7573 rpcwallet/sendmany: Just take an array of addresses to subtract fees from, rather than an Object with all values being identical (Luke Dashjr) 292623a Subtract fee from amount (Cozz Lovan) 90a43c1 [Qt] Code-movement-only: Format confirmation message in sendcoinsdialog (Cozz Lovan)
2015-03-13[QT] some mac specifiy cleanup (memory handling, unnecessary code)Jonas Schnelli
2015-03-13rpcwallet/sendmany: Just take an array of addresses to subtract fees from, ↵Luke Dashjr
rather than an Object with all values being identical
2015-03-13Subtract fee from amountCozz Lovan
Fixes #2724 and #1570. Adds the automatically-subtract-the-fee-from-the-amount-and-send-whats-left feature to the GUI and RPC (sendtoaddress,sendmany).
2015-03-12Merge pull request #5884Wladimir J. van der Laan
e96c518 BUGFIX: Stack around the variable 'rv' was corrupted (fsb4000)
2015-03-12BUGFIX: Stack around the variable 'rv' was corruptedfsb4000
2015-03-12fix InvalidateBlock to repopulate setBlockIndexCandidatesAlex Morcos
2015-03-12[Move Only] Move wallet related things to src/wallet/Jonas Schnelli
could once be renamed from /src/wallet to /src/legacywallet.
2015-03-12Merge pull request #5859Wladimir J. van der Laan
9519a9a Add correct bool combiner for net signals (Pieter Wuille)
2015-03-12tests: add a BasicTestingSetup and apply to all testsWladimir J. van der Laan
Make sure that chainparams and logging is properly initialized. Doing this for every test may be overkill, but this initialization is so simple that that does not matter. This should fix the travis issues.
2015-03-12[QT] fix OSX dock icon window reopeningJonas Schnelli
fixes #5878
2015-03-11Merge pull request #5871Wladimir J. van der Laan
3aa0130 test: remove fSkipProofOfWork (Wladimir J. van der Laan) 59bd89f test: Remove UNITTEST params (Wladimir J. van der Laan)
2015-03-11Merge pull request #5749Wladimir J. van der Laan
f754707 Fix - bitcoin-qt usage message (Luca Venturini) 1fdb9fa Help messages correctly formatted (79 chars) (Luca Venturini)
2015-03-11Merge pull request #5864Wladimir J. van der Laan
bb6acff fix possible block db breakage during re-index (Cory Fields)
2015-03-10Fix - bitcoin-qt usage messageLuca Venturini
. Closes the bug from commit e179eb3d9bfec7e67908242c71c87b716a41c97c ("bitcoin-qt -help" did not show any message) . Move all the options in init.cpp (there were already some options related to bitcoin-qt)
2015-03-10Help messages correctly formatted (79 chars)Luca Venturini
Help messages are formatted programmatically with FormatParagraph in order not to break existing strings in Transifex. The new format works even if the translation of the strings modifies the lenght of the message. Sqashed 6 commits in a single one. Help messages correctly formatted for SVGA text mode (132 chars) Help messages are formatted programmatically with FormatParagraph in order not to break existing strings in Transifex. The new format should work even if the translation of the strings modifies the lenght of the message. Fix - syntax error Correct formatting for 79 chars Correctly based on C++ functions Removed spare spaces from option strings Fix - syntax error
2015-03-10fix 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.
2015-03-09test: remove fSkipProofOfWorkWladimir J. van der Laan
Not used, and REGTEST already allows creating blocks at the lowerst possible difficulty.
2015-03-09test: Remove UNITTEST paramsWladimir J. van der Laan
UNITTEST parameter are not used by any current tests, and the model (modifyable parameters) is inconvenient when unit-testing. As they are stored in a global structure eevery test would have to (re)set up its own parameters. For consistency it is also better to test with MAIN parameters.
2015-03-09tests: change main and wallet tests to BOOST_FIXTURE_TEST_SUITEWladimir J. van der Laan
Avoid this travis error: test_bitcoin: chainparams.cpp:330: const CChainParams& Params(): Assertion `pCurrentParams' failed. unknown location(0): fatal error in "subsidy_limit_test": signal: SIGABRT (application abort requested) test/allocator_tests.cpp(116): last checkpoint
2015-03-09Merge pull request #5852Wladimir J. van der Laan
51598b2 Reinitialize state in between individual unit tests. (Pieter Wuille)
2015-03-09Merge pull request #5442Wladimir J. van der Laan
dca799e Ignore getaddr messages on Outbound connections. (Ivan Pustogarov)
2015-03-09[Qt] rework setNumBlocks to have blockDate as parameterPhilip Kaufmann
- reduces some functional overhead and simplifies the code
2015-03-09Merge pull request #5858Wladimir J. van der Laan
9bbb880 [Qt] fix a issue where "command line options"-action overwrite "Preference"-action (on OSX) (Jonas Schnelli)
2015-03-09Merge pull request #5793Wladimir J. van der Laan
6cb4a52 [Qt, Linux] honor current network when creating autostart link (Philip Kaufmann) 9673c35 [Qt, Win] honor current network when creating autostart link (Philip Kaufmann)
2015-03-07Merge pull request #5151Pieter Wuille
eec3713 make CMessageHeader a dumb storage class (Cory Fields)
2015-03-06Replace CBlockHeader::GetHash with call to SerializeHashWladimir J. van der Laan
Removes variability between LE and BE. As suggested by @sipa.
2015-03-06Add serialize float/double testsWladimir J. van der Laan
2015-03-06src/txmempool.cpp: make numEntries a uint32_tWladimir J. van der Laan
Don't ever serialize a size_t or long, their sizes are platform dependent.
2015-03-06src/arith_256.cpp: bigendian compatibilityWladimir J. van der Laan
2015-03-06src/netbase.h: Fix endian in CNetAddr serializationWladimir J. van der Laan
We've chosen to htons/ntohs explicitly on reading and writing (I do not know why). But as READWRITE already does an endian swap on big endian, this means the port number gets switched around, which was what we were trying to avoid in the first place. So to make this compatible, serialize it as FLATDATA.
2015-03-06src/serialize.h: base serialization level endianness neutralityWladimir J. van der Laan
Serialization type-safety and endianness compatibility.
2015-03-06src/script/script.h: endian compatibility for PUSHDATA sizesWladimir J. van der Laan
2015-03-06src/primitives/transaction.h: endian compatibility in serializationWladimir J. van der Laan
2015-03-06src/primitives/block.cpp: endian compatibility in GetHashWladimir J. van der Laan
2015-03-06src/net.cpp: endian compatibility in EndMessageWladimir J. van der Laan
2015-03-06src/main.cpp: endian compatibility in packet checksum checkWladimir J. van der Laan
2015-03-06src/hash.cpp: endian compatibilityWladimir J. van der Laan
2015-03-06build: Endian compatibilityWladimir J. van der Laan
- Detect endian instead of stopping configure on big-endian - Add `byteswap.h` and `endian.h` header for compatibility with Windows and other operating systems that don't come with them - Update `crypto/common.h` functions to use compat endian header
2015-03-06Merge pull request #5843Wladimir J. van der Laan
ba04c4a Limit message sizes before transfer (Pieter Wuille)
2015-03-06Merge pull request #5813Wladimir J. van der Laan
34e5015 Add unit tests for next difficulty calculations (Ross Nicoll)
2015-03-06Limit message sizes before transferPieter Wuille
This introduces a fixed limit for the size of p2p messages, and enforces it before download.