aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-05-31Defer inserting into maprelay until just before relaying.Gregory Maxwell
This reduces the rate of not founds by better matching the far end expectations, it also improves privacy by removing the ability to use getdata to probe for a node having a txn before it has been relayed.
2016-05-31Merge #8080: Do not use mempool for GETDATA for tx accepted after the last ↵Wladimir J. van der Laan
mempool req. 7e908c7 Do not use mempool for GETDATA for tx accepted after the last mempool req. (Gregory Maxwell)
2016-05-31Merge #8090: Adding P2SH(p2pkh) script test caseWladimir J. van der Laan
b682960 Adding P2SH(p2pkh) script test case (Chris Stewart)
2016-05-31Merge #8115: Avoid integer division in the benchmark inner-most loop.Wladimir J. van der Laan
63ff57d Avoid integer division in the benchmark inner-most loop. (Gregory Maxwell)
2016-05-30Avoid integer division in the benchmark inner-most loop.Gregory Maxwell
Previously the benchmark code used an integer division (%) with a non-constant in the inner-loop. This is quite slow on many processors, especially ones like ARM that lack a hardware divide. Even on fairly recent x86_64 like haswell an integer division can take something like 100 cycles-- making it comparable to the runtime of siphash. This change avoids the division by using bitmasking instead. This was especially easy since the count was only increased by doubling. This change also restarts the timing when the execution time was very low this avoids mintimes of zero in cases where one execution ends up below the timer resolution. It also reduces the impact of the overhead on the final result. The formatting of the prints is changed to not use scientific notation make it more machine readable (in particular, gnuplot croaks on the non-fixedpoint, and it doesn't sort correctly). This also hoists out all the floating point divisions out of the semi-hot path because it was easy to do so. It might be prudent to break out the critical test into a macro just to guarantee that it gets inlined. It might also make sense to just save out the intermediate counts and times and get the floating point completely out of the timing loop (because e.g. on hardware without a fast hardware FPU like some ARM it will still be slow enough to distort the results). I haven't done either of these in this commit.
2016-05-30Merge #7891: Always require OS randomness when generating secret keysPieter Wuille
628cf14 Don't use assert for catching randomness failures (Pieter Wuille) fa2637a Always require OS randomness when generating secret keys (Pieter Wuille)
2016-05-30Adding P2SH(p2pkh) script test caseChris Stewart
Fixing formatting Adding test case into automatically generated test case set Clean up commits removing extra whitespace from eol Removing extra whitespace on macro line
2016-05-30Merge #8107: bench: Added base58 encoding/decoding benchmarksWladimir J. van der Laan
5fac1f3 bench: Added base58 encoding/decoding benchmarks (Yuri Zhykin)
2016-05-30Merge #7896: fix typo in help textWladimir J. van der Laan
fc95f6e fix typo in help text (Chris Moore)
2016-05-30Merge #8111: Benchmark SipHashWladimir J. van der Laan
619d569 Benchmark SipHash (Pieter Wuille)
2016-05-29Don't use assert for catching randomness failuresPieter Wuille
2016-05-29Always require OS randomness when generating secret keysPieter Wuille
2016-05-28Benchmark SipHashPieter Wuille
2016-05-27Merge #8108: Trivial: Remove unused local variable shadowing upper localMarcoFalke
13c4558 Remove unused local variable shadowing upper local (Pavel Janík)
2016-05-27Remove unused local variable shadowing upper localPavel Janík
2016-05-27bench: Added base58 encoding/decoding benchmarksYuri Zhykin
2016-05-26Use global ::fRelayTxes instead of CNode onePieter Wuille
2016-05-26Merge #8049: Expose information on whether transaction relay is enabled in ↵Pieter Wuille
`getnetwork` 1ab1dc3 rpc: Add `relaytxes` flag to `getnetworkinfo` (Wladimir J. van der Laan) 581ddff net: Add fRelayTxes flag (Wladimir J. van der Laan)
2016-05-26Merge #8015: CCoinsViewErrorCatcher raison-d-etreWladimir J. van der Laan
a4d5855 CCoinsViewErrorCatcher raison-d-etre (21E14)
2016-05-26Merge #8073: qt: askpassphrasedialog: Clear pass fields on acceptWladimir J. van der Laan
02ce2a3 qt: askpassphrasedialog: Clear pass fields on accept (Pavel Vasin)
2016-05-25Do not use mempool for GETDATA for tx accepted after the last mempool req.Gregory Maxwell
The ability to GETDATA a transaction which has not (yet) been relayed is a privacy loss vector. The use of the mempool for this was added as part of the mempool p2p message and is only needed to fetch transactions returned by it.
2016-05-25Merge #7795: UpdateTip: log only one line at most per blockPieter Wuille
f20d42e UpdateTip: log only one line at most per block (Wladimir J. van der Laan)
2016-05-25Merge #8061: [Wallet] Improve Wallet encapsulationPieter Wuille
380498a Move BackupWallet to CWallet::BackupWallet (Patrick Strateman) ecb9741 Move GetAccountBalance from rpcwallet.cpp into CWallet::GetAccountBalance (Patrick Strateman)
2016-05-25Merge #8076: VerifyDB: don't check blocks that have been prunedPieter Wuille
bd477f4 VerifyDB: don't check blocks that have been pruned (Suhas Daftuar)
2016-05-25Merge #8063: Acquire lock to check for genesis block.Pieter Wuille
46b0c3b Acquire lock to check for genesis block. (Patrick Strateman)
2016-05-23Merge #8014: Qt: Sort transactions by dateJonas Schnelli
2d5603c Qt: Sort transactions by date (Tyler Hardin)
2016-05-23Merge #8042: [Qt] Don't allow to open the debug window during splashscreen & ↵Jonas Schnelli
verification state 276ce84 [Qt] Disable some menu items during splashscreen/verification state (Jonas Schnelli)
2016-05-22VerifyDB: don't check blocks that have been prunedSuhas Daftuar
2016-05-19qt: askpassphrasedialog: Clear pass fields on acceptPavel Vasin
This is usability improvement in a case if user gets re-asked passphrase. (e.g. made a typo)
2016-05-19Merge #8070: Remove non-determinism which is breaking net_tests #8069Wladimir J. van der Laan
2a8b358 Fix typo adddrman to addrman as requested in #8070 (Ethan Heilman) f4119c6 Remove non-determinism which is breaking net_tests #8069 (EthanHeilman)
2016-05-19Merge #8033: Fix Socks5() connect failures to be less noisy and less ↵Wladimir J. van der Laan
unnecessarily scary bf9266e Use Socks5ErrorString() to decode error responses from socks proxy. (Warren Togami) 94fd1d8 Make Socks5() InterruptibleRecv() timeout/failures informative. (Warren Togami) 0d9af79 SOCKS5 connecting and connected messages with -debug=net. (Warren Togami) 00678bd Make failures to connect via Socks5() more informative and less unnecessarily scary. (Warren Togami)
2016-05-19Use Socks5ErrorString() to decode error responses from socks proxy.Warren Togami
2016-05-18Fix typo adddrman to addrman as requested in #8070Ethan Heilman
2016-05-18Remove non-determinism which is breaking net_tests #8069EthanHeilman
2016-05-18Merge #7917: Optimize reindexWladimir J. van der Laan
b4d24e1 Report reindexing progress in GUI (Pieter Wuille) d3d7547 Add -reindex-chainstate that does not rebuild block index (Pieter Wuille) fb8fad1 Optimize ActivateBestChain for long chains (Pieter Wuille) 316623f Switch reindexing to AcceptBlock in-loop and ActivateBestChain afterwards (Pieter Wuille) d253ec4 Make ProcessNewBlock dbp const and update comment (Pieter Wuille)
2016-05-18Merge #8054: net: Avoid duplicate getheaders requests.Wladimir J. van der Laan
f93c2a1 net: Avoid duplicate getheaders requests. (Daniel Kraft)
2016-05-18Merge #7906: net: prerequisites for p2p encapsulation changesWladimir J. van der Laan
5d5e7a0 net: No need to export ConnectNode (Cory Fields) e9ed620 net: No need to export DumpBanlist (Cory Fields) 8b8f877 net: make Ban/Unban/ClearBan functionality consistent (Cory Fields) cca221f net: Drop CNodeRef for AttemptToEvictConnection (Cory Fields) 563f375 net: use the exposed GetNodeSignals() rather than g_signals directly (Cory Fields) 9faa490 net: remove unused set (Cory Fields) 52cbce2 net: don't import std namespace (Cory Fields)
2016-05-18Merge #7932: CAddrMan::Deserialize handle corrupt serializations better.Wladimir J. van der Laan
fb26bf0 CAddrMan::Deserialize handle corrupt serializations better. (Patrick Strateman)
2016-05-18Merge #8020: Use SipHash-2-4 for various non-cryptographic hashesWladimir J. van der Laan
a68ec21 Use SipHash-2-4 for address relay selection (Pieter Wuille) 8cc9cfe Switch CTxMempool::mapTx to use a hash index for txids (Pieter Wuille) 382c871 Use SipHash-2-4 for CCoinsCache index (Pieter Wuille) 0b1295b Add SipHash-2-4 primitives to hash (Pieter Wuille)
2016-05-17Use SipHash-2-4 for address relay selectionPieter Wuille
2016-05-17Switch CTxMempool::mapTx to use a hash index for txidsPieter Wuille
2016-05-17Use SipHash-2-4 for CCoinsCache indexPieter Wuille
This is ~1.7x slower than the Lookup3-of-Xor-with-salt construct we were using before, but it is a primitive designed for exactly this.
2016-05-17Add SipHash-2-4 primitives to hashPieter Wuille
2016-05-17Merge #7696: Fix de-serialization bug where AddrMan is left corruptedPieter Wuille
1475ecf Fix de-serialization bug where AddrMan is corrupted after exception * CAddrDB modified so that when de-serialization code throws an exception Addrman is reset to a clean state * CAddrDB modified to make unit tests possible * Regression test created to ensure bug is fixed * StartNode modifed to clear adrman if CAddrDB::Read returns an error code. (EthanHeilman)
2016-05-17Make Socks5() InterruptibleRecv() timeout/failures informative.Warren Togami
Before: 2016-05-16 06:10:45 ERROR: Error reading proxy response After: 2016-05-16 06:10:45 Socks5() connect to k7s5d6jqig4ej4v4.onion:18333 failed: InterruptibleRecv() timeout or other failure
2016-05-17Merge #8038: [qa, doc] Various minor fixesMarcoFalke
fa83a5d [qa] wallet: Temporarily disable salvagewallet test (MarcoFalke) fadd048 [doc] Link to clang-format in the developer notes (MarcoFalke) fa72f7d [doc] Remove outdated line from listunspent RPC help, fix typo (MarcoFalke) ac40ed7 Increase timeout waiting for pruned blk00000.dat (error10)
2016-05-16Acquire lock to check for genesis block.Patrick Strateman
2016-05-16Move BackupWallet to CWallet::BackupWalletPatrick Strateman
2016-05-16Move GetAccountBalance from rpcwallet.cpp into CWallet::GetAccountBalancePatrick Strateman
2016-05-17Merge #7994: Add op csv tests to script_tests.jsonPieter Wuille
10e83d7 Adding basic tests for OP_CSV inside of script_tests.json (Chris Stewart)