aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* test: Add more test vectors for siphashWladimir J. van der Laan2016-06-081-0/+48
| | | | | | Add full test vectors from spec, test per byte and per 8 bytes. Builds on #8086.
* Use C++11 thread-safe static initializersPieter Wuille2016-06-074-17/+6
|
* Use 64-bit SipHash of netgroups in evictionPieter Wuille2016-06-072-32/+29
|
* Support SipHash with arbitrary byte writesPieter Wuille2016-06-073-8/+69
|
* Avoid recalculating vchKeyedNetGroup in eviction logic.Patrick Strateman2016-06-072-34/+29
| | | | Lazy calculate vchKeyedNetGroup in CNode::GetKeyedNetGroup.
* Merge #8136: Log/report in 10% steps during VerifyDBWladimir J. van der Laan2016-06-071-1/+10
|\ | | | | | | 8b78486 Log/report in 10% steps during VerifyDB (Jonas Schnelli)
| * Log/report in 10% steps during VerifyDBJonas Schnelli2016-06-071-1/+10
| |
* | Merge #8118: Reduce unnecessary hashing in signrawtransactionWladimir J. van der Laan2016-06-071-2/+5
|\ \ | | | | | | | | | bd0f413 Reduce unnecessary hashing in signrawtransaction (Jonas Nick)
| * | Reduce unnecessary hashing in signrawtransactionJonas Nick2016-05-301-2/+5
| | |
* | | [init] Make feefilter option debug optionMarcoFalke2016-06-071-1/+2
| | |
* | | Merge #8142: Improve CWallet API with new GetAccountPubkey function.Wladimir J. van der Laan2016-06-063-30/+43
|\ \ \ | | | | | | | | | | | | 152ab23 Improve CWallet API with new GetAccountPubkey function. (Patrick Strateman)
| * | | Improve CWallet API with new GetAccountPubkey function.Patrick Strateman2016-06-063-30/+43
| | | | | | | | | | | | | | | | Remove one more caller that is passing CWalletDB.
* | | | Merge #8007: Minor locking improvementsWladimir J. van der Laan2016-06-061-4/+11
|\ \ \ \ | |/ / / |/| | | | | | | f0fdda0 IsInitialBlockDownload: usually avoid locking (Kaz Wesley)
| * | | IsInitialBlockDownload: usually avoid lockingKaz Wesley2016-06-041-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | Optimistically test the latch bool before taking the lock. For all IsInitialBlockDownload calls after the first to return false, this avoids the need to lock cs_main.
* | | | Merge #8137: Improve CWallet API with new AccountMove function.Wladimir J. van der Laan2016-06-063-27/+36
|\ \ \ \ | | | | | | | | | | | | | | | 9dfaa1c Improve CWallet API with new AccountMove function. (Patrick Strateman)
| * | | | Improve CWallet API with new AccountMove function.Patrick Strateman2016-06-023-27/+36
| | | | |
* | | | | qt: translation strings updateWladimir J. van der Laan2016-06-062-506/+606
| | | | |
* | | | | comment nit: miners don't voteinstagibbs2016-06-031-2/+2
| | | | |
* | | | | Merge #7967: [RPC] add feerate option to fundrawtransactionWladimir J. van der Laan2016-06-034-6/+26
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 04eaa90 Add more clear interface for CoinControl.h regarding individual feerate (Jonas Schnelli) 3b35e48 [RPC] add feerate option to fundrawtransaction (Jonas Schnelli)
| * | | | | Add more clear interface for CoinControl.h regarding individual feerateJonas Schnelli2016-05-064-5/+13
| | | | | |
| * | | | | [RPC] add feerate option to fundrawtransactionJonas Schnelli2016-04-284-6/+18
| | | | | |
* | | | | | Merge #7942: locking for Misbehave() and other cs_main locking fixesWladimir J. van der Laan2016-06-031-3/+22
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 719de56 lock cs_main for chainActive (Kaz Wesley) efb54ba lock cs_main for State/Misbehaving (Kaz Wesley)
| * | | | | | lock cs_main for chainActiveKaz Wesley2016-04-251-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ActivateBestChain uses chainActive after releasing the lock; reorder operations to move all access to synchronized object into existing LOCK(cs_main) block.
| * | | | | | lock cs_main for State/MisbehavingKaz Wesley2016-04-251-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ProcessMessage calls State(...) and Misbehaving(...) without holding the required lock; add LOCK(cs_main) blocks.
* | | | | | | Merge #7997: replace mapNextTx with slimmer setSpendsPieter Wuille2016-06-036-41/+96
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 9805f4a mapNextTx: use pointer as key, simplify value (Kaz Wesley)
| * | | | | | | mapNextTx: use pointer as key, simplify valueKaz Wesley2016-06-026-41/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Saves about 10% of application memory usage once the mempool warms up. Since the mempool is DynamicUsage-regulated, this will translate to a larger mempool in the same amount of space. Map value type: eliminate the vin index; no users of the map need to know which input of the transaction is spending the prevout. Map key type: replace the COutPoint with a pointer to a COutPoint. A COutPoint is 36 bytes, but each COutPoint is accessible from the same map entry's value. A trivial DereferencingComparator functor allows indirect map keys, but the resulting syntax is misleading: `map.find(&outpoint)`. Implement an indirectmap that acts as a wrapper to a map that uses a DereferencingComparator, supporting a syntax that accurately reflect the container's semantics: inserts and iterators use pointers since they store pointers and need them to remain constant and dereferenceable, but lookup functions take const references.
* | | | | | | | Merge #7825: Prevent multiple calls to ExtractDestinationPieter Wuille2016-06-031-22/+19
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 0bf6f30 Prevent multiple calls to ExtractDestination (Pedro Branco)
| * | | | | | | | Prevent multiple calls to ExtractDestinationPedro Branco2016-05-061-22/+19
| | | | | | | | |
* | | | | | | | | Merge #7992: Extend #7956 with one more test.Pieter Wuille2016-06-022-1/+122
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 269a440 Add test for dbwrapper iterators with same-prefix keys. (Matt Corallo) 6030625 test: Add more thorough test for dbwrapper iterators (Wladimir J. van der Laan) 84c13e7 chain: Add assertion in case of missing records in index db (Wladimir J. van der Laan)
| * | | | | | | | Add test for dbwrapper iterators with same-prefix keys.Matt Corallo2016-05-171-0/+86
| | | | | | | | |
| * | | | | | | | test: Add more thorough test for dbwrapper iteratorsWladimir J. van der Laan2016-04-271-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I made a silly mistake in a database wrapper where keys were sorted by char instead of uint8_t. As x86 char is signed the sorting for the block index database was messed up, resulting in a segfault due to missing records. Add a test to catch: - Wrong sorting - Seeking errors - Iteration result not complete
| * | | | | | | | chain: Add assertion in case of missing records in index dbWladimir J. van der Laan2016-04-271-0/+1
| | | | | | | | |
* | | | | | | | | Merge #8129: Fix RPC console auto completerJonas Schnelli2016-06-021-3/+9
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | 16698cb PR #7772 is not enough to fix the issue with QCompleter, use event filter instead of `connect` (UdjinM6)
| * | | | | | | | PR #7772 is not enough to fix the issue with QCompleter, use event filter ↵UdjinM62016-05-311-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of `connect`
* | | | | | | | | Merge #8077: Consensus: Decouple from chainparams.o and timedata.oPieter Wuille2016-06-012-17/+16
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ee9f4a5 Consensus: Decouple from chainparams.o and timedata.o (Jorge Timón)
| * | | | | | | | | Consensus: Decouple from chainparams.o and timedata.oJorge Timón2016-05-202-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do it for the consensus-critical functions: - CheckBlockHeader - CheckBlock - ContextualCheckBlockHeader
* | | | | | | | | | Use std::atomic for fRequestShutdown and fReopenDebugLogPieter Wuille2016-06-013-7/+4
| | | | | | | | | |
* | | | | | | | | | Revert "Include signal.h for sig_atomic_t in WIN32"Pieter Wuille2016-06-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 88f14b999cb70f6c556633f2889e698a05305158.
* | | | | | | | | | Merge #8112: Include signal.h for sig_atomic_t in WIN32Pieter Wuille2016-06-011-2/+0
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 88f14b9 Include signal.h for sig_atomic_t in WIN32 (Pieter Wuille)
| * | | | | | | | | | Include signal.h for sig_atomic_t in WIN32Pieter Wuille2016-05-271-2/+0
| | | | | | | | | | |
* | | | | | | | | | | Merge #7960: Only use AddInventoryKnown for transactionsPieter Wuille2016-06-011-9/+4
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 383fc10 Only use AddInventoryKnown for transactions (Suhas Daftuar)
| * | | | | | | | | | | Only use AddInventoryKnown for transactionsSuhas Daftuar2016-04-271-9/+4
| | |_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filterInventoryKnown is only used when relaying transactions, so stop adding block hashes to the filter.
* | | | | | | | | | | Merge #7689: Replace OpenSSL AES with ctaes-based versionPieter Wuille2016-06-0114-78/+1790
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 723779c build: Enumerate ctaes rather than globbing (Cory Fields) 34ed64a crypter: add tests for crypter (Cory Fields) 0a36b9a crypter: shuffle Makefile so that crypto can be used by the wallet (Cory Fields) 976f9ec crypter: add a BytesToKey clone to replace the use of openssl (Cory Fields) 9049cde crypter: hook up the new aes cbc classes (Cory Fields) fb96831 crypter: constify encrypt/decrypt (Cory Fields) 1c391a5 crypter: fix the stored initialization vector size (Cory Fields) daa3841 crypto: add aes cbc tests (Cory Fields) 27a212d crypto: add AES 128/256 CBC classes (Cory Fields) 6bec172 Add ctaes-based constant time AES implementation (Pieter Wuille) a545127 Squashed 'src/crypto/ctaes/' content from commit cd3c3ac (Pieter Wuille)
| * | | | | | | | | | | build: Enumerate ctaes rather than globbingCory Fields2016-05-271-1/+7
| | | | | | | | | | | |
| * | | | | | | | | | | crypter: add tests for crypterCory Fields2016-05-133-0/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Verify that results correct (match known values), consistent (encrypt->decrypt matches the original), and compatible with the previous openssl implementation. Also check that failed encrypts/decrypts fail the exact same way as openssl.
| * | | | | | | | | | | crypter: shuffle Makefile so that crypto can be used by the walletCory Fields2016-05-131-32/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wallet must come before crypto, otherwise linking fails on some platforms. Includes a tangentially-related general cleanup rather than making the Makefile sloppier.
| * | | | | | | | | | | crypter: add a BytesToKey clone to replace the use of opensslCory Fields2016-05-132-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BytesToKeySHA512AES should be functionally identical to EVP_BytesToKey, but drops the dependency on openssl.
| * | | | | | | | | | | crypter: hook up the new aes cbc classesCory Fields2016-05-131-31/+14
| | | | | | | | | | | |
| * | | | | | | | | | | crypter: constify encrypt/decryptCory Fields2016-05-132-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes CCrypter easier to pass aroundf for tests
| * | | | | | | | | | | crypter: fix the stored initialization vector sizeCory Fields2016-05-132-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AES IV's are 16bytes, not 32. This was harmless but confusing. Add WALLET_CRYPTO_IV_SIZE to make its usage explicit.