aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-21travis: switch to TrustyCory Fields
2016-04-21depends: mac deploy Py3 compatibilityWladimir J. van der Laan
This fixes the gitian MacOSX build, it was broken in #7723. The patch to `native_mac_alias` should probably make it upstream.
2016-04-21Merge #7912: Tests: Fix deserialization of reject messagesMarcoFalke
807fa47 Tests: Fix deserialization of reject messages (Suhas Daftuar)
2016-04-21Merge #7921: [contrib] verify-commits: Add MarcoFalke fingerprintWladimir J. van der Laan
fa24329 [contrib] verify-commits: Add MarcoFalke fingerprint (MarcoFalke)
2016-04-21[contrib] verify-commits: Add MarcoFalke fingerprintMarcoFalke
2016-04-21Merge #7916: Explicitly pass CChainParams& to DisconnectTip()Wladimir J. van der Laan
176869f Explicitly pass CChainParams to ConnectBlock (face) d0a6353 Pass CChainParams to DisconnectTip() (face) 764d237 Globals: Explicitly pass const CChainParams& to UpdateTip() (Jorge Timón)
2016-04-21Merge #7913: Fix for incorrect locking in GetPubKey() (keystore.cpp)Pieter Wuille
220f950 Fix for incorrect locking in GetPubKey() (keystore.cpp) (Yuri Zhykin)
2016-04-21Merge #7868: net: Split DNS resolving functionality out of net structuresPieter Wuille
d39f5b4 net: disable resolving from storage structures (Cory Fields) 3675699 net: resolve outside of storage structures (Cory Fields) a98cd1f net: manually resolve dns seed sources (Cory Fields) e9fc71e net: require lookup functions to specify all arguments (Cory Fields)
2016-04-21Move bloom and feerate filtering to just prior to tx sending.Gregory Maxwell
This will avoid sending more pointless INVs around updates, and prevents using filter updates to timetag transactions. Also adds locking for fRelayTxes.
2016-04-21Return mempool queries in dependency orderPieter Wuille
2016-04-21Handle mempool requests in send loop, subject to tricklePieter Wuille
By eliminating queued entries from the mempool response and responding only at trickle time, this makes the mempool no longer leak transaction arrival order information (as the mempool itself is also sorted)-- at least no more than relay itself leaks it.
2016-04-21Split up and optimize transaction and block inv queuesPieter Wuille
2016-04-20Fix headers announcements edge caseSuhas Daftuar
Previously we would assert that if every block in vBlockHashesToAnnounce is in chainActive, then the blocks to be announced must connect. However, there are edge cases where this assumption could be violated (eg using invalidateblock / reconsiderblock), so just check for this case and revert to inv-announcement instead.
2016-04-20net: disable resolving from storage structuresCory Fields
CNetAddr/CService/CSubnet can no longer resolve DNS.
2016-04-20net: resolve outside of storage structuresCory Fields
Rather than allowing CNetAddr/CService/CSubNet to launch DNS queries, require that addresses are already resolved. This greatly simplifies async resolve logic, and makes it harder to accidentally leak DNS queries.
2016-04-20net: manually resolve dns seed sourcesCory Fields
Note: Some seeds aren't actually returning an IP for their name entries, so they're being added to addrman with a source of [::]. This commit shouldn't change that behavior, for better or worse.
2016-04-20Explicitly pass CChainParams to ConnectBlockface
2016-04-20Tests: Fix deserialization of reject messagesSuhas Daftuar
Assume that reject messages for blocks or transactions due to reason REJECT_MALFORMED will not include the hash of the block or tx being rejected.
2016-04-20Fix for incorrect locking in GetPubKey() (keystore.cpp)Yuri Zhykin
2016-04-20Eliminate TX trickle bypass, sort TX invs for privacy and priority.Gregory Maxwell
Previously Bitcoin would send 1/4 of transactions out to all peers instantly. This causes high overhead because it makes >80% of INVs size 1. Doing so harms privacy, because it limits the amount of source obscurity a transaction can receive. These randomized broadcasts also disobeyed transaction dependencies and required use of the orphan pool. Because the orphan pool is so small this leads to poor propagation for dependent transactions. When the bypass wasn't in effect, transactions were sent in the order they were received. This avoided creating orphans but undermines privacy fairly significantly. This commit: Eliminates the bypass. The bypass is replaced by halving the average delay for outbound peers. Sorts candidate transactions for INV by their topological depth then by their feerate (then hash); removing the information leakage and providing priority service to higher fee transactions. Limits the amount of transactions sent in a single INV to 7tx/sec (and twice that for outbound); this limits the harm of low fee transaction floods, gives faster relay service to higher fee transactions. The 7 sounds lower than it really is because received advertisements need not be sent, and because the aggregate rate is multipled by the number of peers.
2016-04-19Unit test for CScript::FindAndDeleteGavin Andresen
2016-04-19Replace c-style cast with c++ style static_cast.Patrick Strateman
2016-04-19Replace memcmp with std::equal in CScript::FindAndDeletePatrick Strateman
Function is stl; std::equal just makes more sense.
2016-04-19leveldb: integrate leveldb into our buildsystemCory Fields
leveldb's buildsystem causes us a few problems: - breaks out-of-tree builds - forces flags used for some tools - limits cross builds Rather than continuing to add wrappers around it, simply integrate it into our build.
2016-04-19Pass CChainParams to DisconnectTip()face
2016-04-19Globals: Explicitly pass const CChainParams& to UpdateTip()Jorge Timón
2016-04-19Merge #7787: [Moveonly] Create ui_interface.cppWladimir J. van der Laan
fa10ce6 Move ui_interface.cpp to libbitcoin_server_a_SOURCES (MarcoFalke) fabbf80 [ui] Move InitError, InitWarning, AmountErrMsg (MarcoFalke)
2016-04-19Move ui_interface.cpp to libbitcoin_server_a_SOURCESMarcoFalke
It is only needed by bitcoind and bitcoin-qt
2016-04-19Merge #7762: [ZMQ] append a message sequence number to every ZMQ notificationWladimir J. van der Laan
0b25a9f [ZMQ] append a message sequence number to every ZMQ notification (Jonas Schnelli) de821d5 [ZMQ] refactor message string (Jonas Schnelli)
2016-04-19[ZMQ] append a message sequence number to every ZMQ notificationJonas Schnelli
2016-04-19Merge #7822: Add listunspent() test for spendable/unspendable UTXOWladimir J. van der Laan
5d217de Add test to check spendable and unspendable UTXO on RPC listunspent (Joao Fonseca) fa942c7 Move method to check matches within arrays on util.py (Joao Fonseca)
2016-04-19Add test to check spendable and unspendable UTXO on RPC listunspentJoao Fonseca
2016-04-19Move method to check matches within arrays on util.pyJoao Fonseca
2016-04-19Merge #7905: test: move accounting_tests and rpc_wallet_tests to wallet/testWladimir J. van der Laan
b30fb42 test: Rename wallet.dat to wallet_test.dat (Wladimir J. van der Laan) a25a4f5 wallet_ismine.h → script/ismine.h (Wladimir J. van der Laan) f4eae2d test: Create test fixture for wallet (Wladimir J. van der Laan) de39c95 test: move accounting_tests and rpc_wallet_tests to wallet/test (Wladimir J. van der Laan)
2016-04-19Merge #7827: Speed up getchaintips.Wladimir J. van der Laan
87049e8 Speed up getchaintips. (mrbandrews)
2016-04-19Merge #7851: [qa] pull-tester: Don't mute zmq ImportErrorWladimir J. van der Laan
fae1f4e [qa] rpc-tests: Fix link in comment and label error msg (MarcoFalke) faa4f22 [qa] pull-tester: Exit early when no tests are run (MarcoFalke) fa05e22 [qa] pull-tester: Don't mute zmq ImportError (MarcoFalke)
2016-04-19Merge #7904: txdb: Fix assert crash in new UTXO set cursorWladimir J. van der Laan
a3310b4 txdb: Fix assert crash in new UTXO set cursor (Wladimir J. van der Laan)
2016-04-18Speed up getchaintips.mrbandrews
2016-04-18test: Rename wallet.dat to wallet_test.datWladimir J. van der Laan
Indicate that the file name is not hardcoded, and a little bit of safety so that it never nukes the main wallet. Suggestion by Marco Falke.
2016-04-18wallet_ismine.h → script/ismine.hWladimir J. van der Laan
Removes conditional dependency of `src/test` on wallet. Makes multisig and P2SH tests complete without wallet built-in.
2016-04-18test: Create test fixture for walletWladimir J. van der Laan
Removes all the `#ifdef ENABLE_WALLET` from `test_bitcoin` by making the wallet tests use their own fixture.
2016-04-18[qa] rpc-tests: Fix link in comment and label error msgMarcoFalke
2016-04-18Merge #7900: fix spelling mistakeWladimir J. van der Laan
3107c47 fix spelling mistake (Chris Moore)
2016-04-18Merge #7897: add missing newlineWladimir J. van der Laan
dc0693f add missing newline (Chris Moore)
2016-04-18test: move accounting_tests and rpc_wallet_tests to wallet/testWladimir J. van der Laan
Move the two other wallet tests to where they belong.
2016-04-18Merge #7848: Divergence between 32- and 64-bit when hashing >4GB affects ↵Wladimir J. van der Laan
`gettxoutsetinfo` 28b400f doc: update release-notes for `gettxoutsetinfo` change (Wladimir J. van der Laan) 76212bb rpc: make sure `gettxoutsetinfo` hash has txids (Wladimir J. van der Laan) 9ad1a51 crypto: bytes counts are 64 bit (Wladimir J. van der Laan)
2016-04-18Merge #7833: tests: Check Content-Type header returned from RPC serverWladimir J. van der Laan
5078ca4 tests: Check Content-Type header returned from RPC server (Wladimir J. van der Laan)
2016-04-18Merge #7888: prevector: fix 2 bugs in currently unreached code pathsWladimir J. van der Laan
a7af72a prevector::swap: fix (unreached) data corruption (Kaz Wesley) 4ed41a2 test prevector::swap (Kaz Wesley) 1e2c29f prevector: destroy elements only via erase() (Kaz Wesley)
2016-04-18txdb: Fix assert crash in new UTXO set cursorWladimir J. van der Laan
Remove the mistaken assumption that GetKey returning false signifies an internal database issue. It will return false when the key cannot be deserialized into the (char,uint256) stanza, which indicates that the cursor has reached a different kind of key. Fixes bug #7890 introduced in #7756.
2016-04-17net: require lookup functions to specify all argumentsCory Fields
To make it clear where DNS resolves are happening