aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
| * | | crypto: add aes cbc testsCory Fields2016-05-131-0/+135
| | | |
| * | | crypto: add AES 128/256 CBC classesCory Fields2016-05-132-0/+196
| | | | | | | | | | | | | | | | | | | | | | | | The output should always match openssl's, even for failed operations. Even for a decrypt with broken padding, the output is always deterministic (and attemtps to be constant-time).
| * | | Add ctaes-based constant time AES implementationPieter Wuille2016-05-134-1/+198
| | | |
| * | | Merge commit 'a545127fbccef4ee674d18d43732ce00ba97f782' as 'src/crypto/ctaes'Pieter Wuille2016-05-116-0/+939
| |\ \ \
| | * | | Squashed 'src/crypto/ctaes/' content from commit cd3c3acPieter Wuille2016-05-116-0/+939
| | / / | | | | | | | | | | | | | | | | git-subtree-dir: src/crypto/ctaes git-subtree-split: cd3c3ac31fac41cc253bf5780b55ecd8d7368545
* | | | Merge #8082: Defer inserting into maprelay until just before relaying.Pieter Wuille2016-06-013-31/+30
|\ \ \ \ | | | | | | | | | | | | | | | 4d8993b Defer inserting into maprelay until just before relaying. (Gregory Maxwell)
| * | | | Defer inserting into maprelay until just before relaying.Gregory Maxwell2016-05-313-31/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge #8121: [Doc] Update implemented BIPs listPieter Wuille2016-06-011-1/+5
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | e4f73c7 [Doc] Update implemented BIPs list (fanquake)
| * | | | [Doc] Update implemented BIPs listfanquake2016-05-301-1/+5
| | | | |
* | | | | Merge #8080: Do not use mempool for GETDATA for tx accepted after the last ↵Wladimir J. van der Laan2016-05-315-2/+19
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mempool req. 7e908c7 Do not use mempool for GETDATA for tx accepted after the last mempool req. (Gregory Maxwell)
| * | | | | Do not use mempool for GETDATA for tx accepted after the last mempool req.Gregory Maxwell2016-05-255-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | Merge #8090: Adding P2SH(p2pkh) script test caseWladimir J. van der Laan2016-05-312-1/+11
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | b682960 Adding P2SH(p2pkh) script test case (Chris Stewart)
| * | | | | | Adding P2SH(p2pkh) script test caseChris Stewart2016-05-302-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | Merge #8110: [Doc] Add benchmarking notesWladimir J. van der Laan2016-05-312-0/+31
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 1a8c4d5 [Doc] Add benchmarking notes (fanquake)
| * | | | | | | [Doc] Add benchmarking notesfanquake2016-05-292-0/+31
| | | | | | | |
* | | | | | | | Merge #8115: Avoid integer division in the benchmark inner-most loop.Wladimir J. van der Laan2016-05-312-14/+28
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 63ff57d Avoid integer division in the benchmark inner-most loop. (Gregory Maxwell)
| * | | | | | | | Avoid integer division in the benchmark inner-most loop.Gregory Maxwell2016-05-302-14/+28
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | Merge #7891: Always require OS randomness when generating secret keysPieter Wuille2016-05-307-19/+75
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 628cf14 Don't use assert for catching randomness failures (Pieter Wuille) fa2637a Always require OS randomness when generating secret keys (Pieter Wuille)
| * | | | | | | | Don't use assert for catching randomness failuresPieter Wuille2016-05-291-6/+20
| | | | | | | | |
| * | | | | | | | Always require OS randomness when generating secret keysPieter Wuille2016-05-297-17/+59
| |/ / / / / / /
* | | | | | | | Merge #8107: bench: Added base58 encoding/decoding benchmarksWladimir J. van der Laan2016-05-302-1/+58
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | | | | | | | | | 5fac1f3 bench: Added base58 encoding/decoding benchmarks (Yuri Zhykin)
| * | | | | | | bench: Added base58 encoding/decoding benchmarksYuri Zhykin2016-05-272-1/+58
| | |_|_|_|_|/ | |/| | | | |
* | | | | | | Merge #7896: fix typo in help textWladimir J. van der Laan2016-05-301-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | fc95f6e fix typo in help text (Chris Moore)
| * | | | | | | fix typo in help textChris Moore2016-04-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 'in which the transaction is included in'
* | | | | | | | Merge #8111: Benchmark SipHashWladimir J. van der Laan2016-05-301-0/+25
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 619d569 Benchmark SipHash (Pieter Wuille)
| * | | | | | | | Benchmark SipHashPieter Wuille2016-05-281-0/+25
| | |/ / / / / / | |/| | | | | |
* | | | | | | | Merge #8104: Tests: add timeout to sync_blocks() and sync_mempools()MarcoFalke2016-05-291-9/+13
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | | | | | | | | | e871f83 Tests: add timeout to sync_blocks() and sync_mempools() (Suhas Daftuar)
| * | | | | | | Tests: add timeout to sync_blocks() and sync_mempools()Suhas Daftuar2016-05-261-9/+13
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously these functions would infinitely loop if sync failed; now they have a default timeout of 60 seconds, after which an AssertionError is raised. sync_blocks() has also been improved and now compares the tip hash of each node, rather than just using block count.
* | | | | | | Merge #8108: Trivial: Remove unused local variable shadowing upper localMarcoFalke2016-05-271-1/+0
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 13c4558 Remove unused local variable shadowing upper local (Pavel Janík)
| * | | | | | | Remove unused local variable shadowing upper localPavel Janík2016-05-271-1/+0
| | | | | | | |
* | | | | | | | Merge #8098: [qa] test_framework: Append portseed to tmpdirMarcoFalke2016-05-271-0/+2
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | | | | | | | | | fa57b0c [qa] test_framework: Append portseed to tmpdir (MarcoFalke)
| * | | | | | | [qa] test_framework: Append portseed to tmpdirMarcoFalke2016-05-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it possible to specify a tmpdir while running tests in parallel
* | | | | | | | Merge #8102: Bugfix: use global ::fRelayTxes instead of CNode in version sendPieter Wuille2016-05-261-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 52b02ec Use global ::fRelayTxes instead of CNode one (Pieter Wuille)
| * | | | | | | | Use global ::fRelayTxes instead of CNode onePieter Wuille2016-05-261-1/+1
|/ / / / / / / /
* | | | | | | | Merge #8049: Expose information on whether transaction relay is enabled in ↵Pieter Wuille2016-05-265-3/+8
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `getnetwork` 1ab1dc3 rpc: Add `relaytxes` flag to `getnetworkinfo` (Wladimir J. van der Laan) 581ddff net: Add fRelayTxes flag (Wladimir J. van der Laan)
| * | | | | | | | rpc: Add `relaytxes` flag to `getnetworkinfo`Wladimir J. van der Laan2016-05-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-work of PR #7841 by dragongem45. Closes #7771.
| * | | | | | | | net: Add fRelayTxes flagWladimir J. van der Laan2016-05-124-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a fRelayTxes to keep track of the relay transaction flag we send to other peers.