aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-16doc: correct function name in ReportHardwareRand()fanquake
2019-10-16Merge #16659: refactoring: Remove unused includesMarcoFalke
084e17cebd424b8e8ced674bc810eef4e6ee5d3b Remove unused includes (practicalswift) Pull request description: As requested by MarcoFalke in https://github.com/bitcoin/bitcoin/pull/16273#issuecomment-521332089: This PR removes unused includes. Please note that in contrast to #16273 I'm limiting the scope to the trivial cases of pure removals (i.e. no includes added) to make reviewing easier. I'm seeking "Concept ACK":s for this obviously non-urgent minor cleanup. Rationale: * Avoids unnecessary re-compiles in case of header changes. * Makes reasoning about code dependencies easier. * Reduces compile-time memory usage. * Reduces compilation time. * Warm fuzzy feeling of being lean :-) ACKs for top commit: ryanofsky: Code review ACK 084e17cebd424b8e8ced674bc810eef4e6ee5d3b. PR only removes include lines and it still compiles. In the worst case someone might have to explicitly add an include later for something now included implicitly. But maybe some effort was taken to avoid this, and it wouldn't be a tragedy anyway. Tree-SHA512: 89de56edc6ceea4696e9579bccff10c80080821685b9fb4e8c5ef593b6e43cf662f358788701bb09f84867693f66b2e4db035b92b522a0a775f50b7ecffd6a6d
2019-10-16Merge #17095: util: Filter control characters out of log messagesWladimir J. van der Laan
d7820a1250070f3640246ae497e049bee0b3516f util: Filter control characters out of log messages (Wladimir J. van der Laan) Pull request description: Belts and suspenders: make sure outgoing log messages don't contain potentially suspicious characters, such as terminal control codes. This escapes control characters except newline ('\n') in C syntax. It escapes instead of removes them to still allow for troubleshooting issues where they accidentally end up in strings (it is a debug log, after all). (more checks could be added such as UTF-8 validity and unicode code-point range checking—this is substantially more involved and would need to keep track of state between characters and even `LogPrint` calls as they could end up split up—but escape codes seem to be the most common attack vector for terminals.) ACKs for top commit: practicalswift: ACK d7820a1250070f3640246ae497e049bee0b3516f - tested and works as expected :) Tree-SHA512: 0806265addebdcec1062a6def3e903555e62ba5e93967ce9ee6943d16462a222b3f41135a5bff0a76966ae9e7ed75f211d7785bceda788ae0b0654bf3fd891bf
2019-10-16Merge #17131: rpc: fix -rpcclienttimeout 0 optionWladimir J. van der Laan
b3b26e149c34fee9c7ae8548c6e547ec6254b441 rpc: fix -rpcclienttimeout 0 option (Fabian Jahr) Pull request description: fixes #17117 I understood the bug as the help string being wrong, rather than that this feature is missing and should be added. Let me know if it should be the other way around. It is notable that if 0 is given as an argument, the fallback that is being used is the libevent default of 50 seconds, rather than `DEFAULT_HTTP_CLIENT_TIMEOUT` (900 seconds). This is not intuitive for the user. I could handle this in this PR but I am unsure which would be the better solution then: Actually adding the feature as described in the help string or falling back to `DEFAULT_HTTP_CLIENT_TIMEOUT`? Happy to hear opinions. ACKs for top commit: MarcoFalke: unsigned ACK b3b26e149c34fee9c7ae8548c6e547ec6254b441 Tree-SHA512: 65e526a652c0adcdb4f895e8d78d60c7caa5904c9915b165a3ae95725c87d13af1f916359f80302452a2fcac1a80f4c58cd805ec8c28720fa4b91b3c8baa4155
2019-10-16Merge #17113: tests: Add fuzzing harness for descriptor Span-parsing helpersMarcoFalke
58d67f1cc068c3779e309dc8a82ce33158c3e5b2 tests: Add fuzzing harness for descriptor Span-parsing helpers (practicalswift) Pull request description: Add fuzzing harness for descriptor Span-parsing helpers (`spanparsing`). As suggested by a fuzz testing enthusiast in https://github.com/bitcoin/bitcoin/pull/16887#issuecomment-540655816. **Testing this PR** Run: ``` $ CC=clang CXX=clang++ ./configure --enable-fuzz \ --with-sanitizers=address,fuzzer,undefined $ make $ src/test/fuzz/spanparsing ``` ACKs for top commit: MarcoFalke: re-ACK 58d67f1cc068c3779e309dc8a82ce33158c3e5b2 Tree-SHA512: 5eaca9fcda2856e0dcfeb4a98a2dc97051ae6251f7642b92fdae3ff96bb95ccb0377ee4e6c6b531e59061983b8d9485a5282467f2ab1d614861f60202a893b1c
2019-10-16Merge #17118: build: depends macOS: point --sysroot to SDKWladimir J. van der Laan
a0daea459cf4812fbdda9a7ead131a73f5856c09 [build] depends macOS: point --sysroot to SDK (Sjors Provoost) Pull request description: Fixes errors like `fatal error: 'unistd.h' file not found` when building depends on macOS. Replaces #14352 (which doesn't work on Catalina). ACKs for top commit: jonasschnelli: utACK a0daea459cf4812fbdda9a7ead131a73f5856c09 Tree-SHA512: 995b1e1e84e635b32d1d4038bc63730c94a7c318b7240f6d62825977e5c97fe52c5aa5a0f39070beb0df8271dd294b36d6b5cf7f09ad07494fb15d5bd4d77f68
2019-10-15Remove unused includespracticalswift
2019-10-15tests: Add fuzzing harness for descriptor Span-parsing helperspracticalswift
2019-10-15Merge #17105: gui: Make RPCConsole::TabTypes an enum classfanquake
8019b6b150ff7444195a238470414c9deec5bf74 gui: Make RPCConsole::TabTypes an enum class (João Barbosa) Pull request description: This change makes the compiler emit a warning/error if a missing enum value is not handled. See also #17134. ACKs for top commit: MarcoFalke: unsigned ACK 8019b6b150ff7444195a238470414c9deec5bf74 hebasto: re-ACK 8019b6b150ff7444195a238470414c9deec5bf74 fanquake: ACK 8019b6b150ff7444195a238470414c9deec5bf74 Tree-SHA512: 329161097f4d079f48d5fb33bf3a07e314fbb2ac325cafb08bafa9e76229ecff0f9010fe3c1c15ccd02d4539b5c93839c846b42bfeaffa897a917cea599bf811
2019-10-15Merge #17138: Remove wallet access to some node argumentsMarcoFalke
b96ed0396294fc4fa89d83ceab6bc169dd09f002 [wallet] Remove pruning check for -rescan option (John Newbery) eea462de9c652dca556ad241d2126b10790f67f8 [wallet] Remove package limit config access from wallet (John Newbery) Pull request description: Removes wallet access to `-limitancestorcount`, `-limitdescendantcount` and `-prune`: - `-limitancestorcount` and `-limitdescendantcount` are now accessed with a method `getPackageLimits` in the `Chain` interface. - `-prune` is not required. It was only used in wallet component initiation to prevent running `-rescan` when pruning was enabled. This check is not required. Partially addresses #17137. ACKs for top commit: MarcoFalke: Tested ACK b96ed0396294fc4fa89d83ceab6bc169dd09f002 ryanofsky: Code review ACK b96ed0396294fc4fa89d83ceab6bc169dd09f002 promag: Code review ACK b96ed0396294fc4fa89d83ceab6bc169dd09f002. ariard: ACK b96ed03, check there isn't left anymore wallet access to node arguments. Tree-SHA512: 90c8e3e083acbd37724f1bccf63dab642cf9ae95cc5e684872a67443ae048b4fdbf57b52ea47c5a1da6489fd277278fe2d9bbe95e17f3d4965a1a0fbdeb815bf
2019-10-15Merge #17098: refactor: Feebumper EstimateFeeRate follow-upMarcoFalke
66b29848c71c4b3b4dc36ca6d94de829bd533797 change wallet pointers to references in feebumper (Adam Jonas) 9be6666a4e648782b49a6fdc458372ea521b444d typo and unneccessary parentheses (Adam Jonas) Pull request description: Picking up some of the suggestions in the comments of #16727 including: https://github.com/bitcoin/bitcoin/pull/16727#discussion_r330547321 https://github.com/bitcoin/bitcoin/pull/16727#discussion_r330549766 https://github.com/bitcoin/bitcoin/pull/16727#discussion_r333209674 ACKs for top commit: promag: Code review ACK 66b29848c71c4b3b4dc36ca6d94de829bd533797. MarcoFalke: ACK 66b29848c71c4b3b4dc36ca6d94de829bd533797 (looked at the diff on GitHub) fjahr: ACK 66b2984 reviewed code Tree-SHA512: d118f7689970fe39d9f5318dc818f13283cce9194370b3ce4758f298172e4681ae119ddc809f5c0b7602677137ac0d38147b915422ff616531a76a570b766fa2
2019-10-15Merge #17125: gui: Add toolTip and placeholderText to sign message fieldsfanquake
610d9384de7f4de861d94c9b1af4fddc8aa57ad9 gui: Added label & tooltip for Verify Message labels (dannmat) Pull request description: When using the Verify Message functionality, I found the input boxes to be rather confusing as they had no guidance for their purpose. I have added tooltips and labels to aid users when verifying messages in future ACKs for top commit: promag: Code review ACK 610d9384de7f4de861d94c9b1af4fddc8aa57ad9. Nit, commit and title are a little weird. Suggestion: "gui: Add toolTip and placeholderText to sign message fields" MarcoFalke: ACK 610d9384de7f4de861d94c9b1af4fddc8aa57ad9 (looks good, didn't compile or tested the changes) fanquake: ACK - 610d9384de7f4de861d94c9b1af4fddc8aa57ad9 Tree-SHA512: d6a1bc872ad270dce440e96a163ce72cdd4708913d87a0fea749fc8cf2d8163b791cbb96a82030e0cb7d239920ceb0e3f05e0eec113f45a1a8e1309fbd92b4b0
2019-10-15rpc: fix -rpcclienttimeout 0 optionFabian Jahr
2019-10-15gui: Added label & tooltip for Verify Message labelsdannmat
2019-10-15Merge #17141: Test: Rename SegwitVersion1SignatureHash()fanquake
eebcdfa86a3dad4969fa9994614bcb446849ed2b [test] rename SegwitVersion1SignatureHash() (John Newbery) Pull request description: The function implementing segwit v0 signature hash was originally named SegwitVersion1SignatureHash() (presumably before segwit v0 was named segwit v0). Rename it to SegwitV0SignatureHash(). Also rename SignatureHash() to LegacySignatureHash() for disambiguation. ACKs for top commit: laanwj: ACK eebcdfa86a3dad4969fa9994614bcb446849ed2b elichai: ACK eebcdfa86a3dad4969fa9994614bcb446849ed2b (Checked to see you didn't miss any renaming) theStack: ACK https://github.com/bitcoin/bitcoin/commit/eebcdfa86a3dad4969fa9994614bcb446849ed2b Tree-SHA512: ae504ac33dc4fca38079a113beb5ebcaf509162aef121edec5368a460a24c2ac040ef84f0be1dfc6186c32d94d68f8129db049907f1d6449f92eea9d39a40dbd
2019-10-15Merge #17142: docs: Update macdeploy README to include all files produced by ↵fanquake
`make deploy` 4441e58497513cc55cfebfdcaaeee340f62f8062 Update macdeploy README to include correctly named `.dmg` file produced from `make deploy` (Zakk) Pull request description: Fixes issue #16909 to update the `contrib/macdeploy/README.md` to match the files produced from `make deploy` The files produced from `make deploy` are as follows: - `Bitcoin-QT.dmg` - `Bitcoin Core.app` - `dist/Bitcoin Core.app` ACKs for top commit: jonasschnelli: ACK 4441e58497513cc55cfebfdcaaeee340f62f8062 fanquake: ACK 4441e58497513cc55cfebfdcaaeee340f62f8062 - checked that `Bitcoin-Qt.dmg` is produced. Tree-SHA512: 99bfadab59c7c516005b051e4a369f330178313a284bb665c22c40f70a6159f175909c08db1b32976ad7b130b53b414f8ba96f8ff7cbd164f2724c0cc151704a
2019-10-15Merge #17146: github: Add warning for bug reportsfanquake
5f40d2770abc5c7f29182b4a64120150b2aad912 github: Add warning for bug reports (Wladimir J. van der Laan) Pull request description: I've noticed the "Bug" label being added redundantly fairly frequently. I think this might be due to github's templates. All in all, the link in https://github.com/bitcoin/bitcoin/issues/new/choose to open a regular issue is a bit hidden from sight. Direct people's attention to it. ACKs for top commit: practicalswift: ACK 5f40d2770abc5c7f29182b4a64120150b2aad912 - currently it is very easy to miss the tiny "Open a regular issue" link :) jonasschnelli: ACK 5f40d2770abc5c7f29182b4a64120150b2aad912 hebasto: ACK 5f40d2770abc5c7f29182b4a64120150b2aad912 Tree-SHA512: e6c94c02f9f7d00621b580d406d03f8754173150bf456409ccc474b76fb93ff857ff4a0c652bf5c03d4f1b97ecf29ae0ff7bf8b763207f9c8522b8dcecc20109
2019-10-15gui: Make RPCConsole::TabTypes an enum classJoão Barbosa
2019-10-15Merge #17033: Disable _FORTIFY_SOURCE when enable-debugWladimir J. van der Laan
44f7a8d7a774f82417106c452d793e6f091bc23e Disable _FORTIFY_SOURCE when enable-debug (Andrew Chow) Pull request description: The `_FORTIFY_SOURCE` macro is enabled by default when hardening is enabled, but it requires optimization in order to be used. Since we disable all optimization with `--enable-debug`, this macro doesn't actually do anything and instead just causes a lot of warnings to be printed. This PR explicitly disables `_FORTIFY_SOURCE` so that these useless warnings aren't printed. ACKs for top commit: laanwj: Thanks. ACK 44f7a8d7a774f82417106c452d793e6f091bc23e Tree-SHA512: e9302aef794dfd9ca9d0d032179ecc51d3212a9a0204454419f410011343b27c32e6be05f385051b5b594c607b91b8e0e588f644584d6684429a649a413077d9
2019-10-15Update macdeploy README to include correctly named `.dmg` file produced from ↵Zakk
`make deploy`
2019-10-15Merge #17086: tests: Fix fs_tests for unknown localesWladimir J. van der Laan
d48f664440e7bb3ff7a90b6d706a3ac2cfaec95a tests: Fix fs_tests for unknown locales (Daki Carnhof) Pull request description: Fix by removing "L" as suggested by meeDamian in https://github.com/bitcoin/bitcoin/issues/14948#issuecomment-522355441 ``` # all in .../bitcoin/src/test $ uname -m x86_64 $ export LC_ALL=randomnonexistentlocale $ ./test_bitcoin Running 369 test cases... unknown location(0): fatal error: in "fs_tests/fsbridge_fstream": boost::system::system_error: boost::filesystem::path codecvt to string: error test/fs_tests.cpp(13): last checkpoint: "fsbridge_fstream" test entry *** 1 failure is detected in the test module "Bitcoin Core Test Suite" ``` After the patch is applied, the same test under the same conditions runs fine. ``` $ export LC_ALL=randomnonexistentlocale $ ./test_bitcoin Running 369 test cases... *** No errors detected ``` Co-Authored-By: bugs@meedamian.com ACKs for top commit: laanwj: ACK d48f664440e7bb3ff7a90b6d706a3ac2cfaec95a Tree-SHA512: a9910252b8ce6a05cab5530874549c2999ca2c28e835fc18aa8e5468fb417bd7d245864ec71d9233dd53e02940a9f0691b247430257f27eb0d7c20745d1c846d
2019-10-15Merge #17111: doc: update bips.md with buried BIP9 deploymentsWladimir J. van der Laan
fa6ed82794f4aecbd71667b5491edbbc4eaeaaef doc: update bips.md with buried BIP9 deployments (MarcoFalke) Pull request description: Also, remove the activation heights, as they can be retrieved from `./src/chainparams.cpp` (if needed) ACKs for top commit: laanwj: ACK fa6ed82794f4aecbd71667b5491edbbc4eaeaaef, needs backport to 0.19 I guess. Tree-SHA512: 9c069cc14589a3e2309d76f042677c024a9e14d16dbfccef54c4a2963ca7853d01f042b0237e346538c557591b7553deed9dd811ba64bbd0ced88883d562c59a
2019-10-15tests: Fix fs_tests for unknown localesDaki Carnhof
Fix by removing "L" as suggested by meeDamian in https://github.com/bitcoin/bitcoin/issues/14948#issuecomment-522355441 Co-Authored-By: bugs@meedamian.com
2019-10-15util: Filter control characters out of log messagesWladimir J. van der Laan
Belts and suspenders: make sure outgoing log messages don't contain potentially suspicious characters, such as terminal control codes. This escapes control characters except newline ('\n') in C syntax. It escapes instead of removes them to still allow for troubleshooting issues where they accidentally end up in strings.
2019-10-15github: Add warning for bug reportsWladimir J. van der Laan
I've noticed the "Bug" label being added redundantly fairly frequently. I think this might be due to github's templates. All in all, the link in https://github.com/bitcoin/bitcoin/issues/new/choose to open a regular issue is a bit hidden from sight. Direct people's attention to it.
2019-10-14Merge #17134: doc: Add switch on enum example to developer notesfanquake
c8961c7d9fed07190628cf01f9dfad971a942b99 doc: Add switch on enum example (Hennadii Stepanov) 11e3d5eb1d4a4b399b180083ec52484d53ebf724 util: Add AllowShortCaseLabelsOnASingleLine option (Hennadii Stepanov) Pull request description: This PR documents a recurring issue: - #15938 - #17105 ACKs for top commit: laanwj: Seems like good advice to me. ACK c8961c7d9fed07190628cf01f9dfad971a942b99 practicalswift: ACK c8961c7d9fed07190628cf01f9dfad971a942b99 promag: ACK c8961c7d9fed07190628cf01f9dfad971a942b99, no excuse now, thanks! Tree-SHA512: 530da5117094ed1bfaa6e447089521bd2c86b0742758dbacec4e4f934dc07b0e24f15a1448c4d58e49905e8fd3797d87bcae5669a346d33ed4c2878a04891699
2019-10-14[test] rename SegwitVersion1SignatureHash()John Newbery
The function implementing segwit v0 signature hash was originally named SegwitVersion1SignatureHash() (presumably before segwit v0 was named segwit v0). Rename it to SegwitV0SignatureHash(). Also rename SignatureHash() to LegacySignatureHash() for disambiguation.
2019-10-14[wallet] Remove pruning check for -rescan optionJohn Newbery
Prior to this PR, the wallet would not allow the `-rescan` option at startup if pruning was enabled. This is unnecessarily restrictive. It should be possible to rescan if pruning is enabled, as long as no blocks have actually been pruned yet. Remove the pruning check from WalletInit::ParameterInteraction(). If any blocks have been pruned, that will be caught in CreateWalletFromFile().
2019-10-14[wallet] Remove package limit config access from walletJohn Newbery
The wallet should not be able to directly access global configuration from the node. Remove access of "-limitancestorcount" and "-limitdescendantcount".
2019-10-14Merge #17124: test: speed up wallet_address_types by whitelisting peers ↵MarcoFalke
(immediate tx relay) fba4baa4fa22fdf96935af1bd6b253c3ad76165f test: speed up wallet_address_types by whitelisting peers (immediate tx relay) (Sebastian Falbesoner) Pull request description: approaches another part of #16613 ("Functional test suite bottlenecks") As for `wallet_backup.py` (Commit 581c9be0d8bff46cd68bd6a3bf72f22d11c09aea), the bottleneck is in relaying transactions. By whitelisting the peers, the inventory is transmissioned immediately rather than on average every 5 seconds, speeding up the test significantly: before: ``` $ time ./wallet_address_types.py real 1m30.072s user 0m6.478s sys 0m2.298s ``` with this PR: ``` $ time ./wallet_address_types.py real 0m26.785s user 0m5.525s sys 0m1.888s ``` ACKs for top commit: fanquake: ACK - fba4baa4fa22fdf96935af1bd6b253c3ad76165f Tree-SHA512: 6728ae44bd8839426fa943d06af884e40c2d88de5d7807269a1e78ff987077160aa7e8d395f4468e6ca1d6f2110c7a03cd346a3339b256702f4cdabd285f7f86
2019-10-14Merge #17108: test: fix "tx-size-small" errors after default address changeMarcoFalke
32d665c2657793c8b2cc7248d26d80a940acfe20 test: fix "tx-size-small" errors after default address change (Sebastian Falbesoner) Pull request description: Addresses #17043, affects RBF and BIP68 functional tests. The "tx-size-small" policy rule rejects transactions with a non-witness size of smaller than 82 bytes (see `src/validation.cpp:MemPoolAccept::PreChecks(...)`), which corresponds to a transaction with 1 segwit input and 1 P2WPKH output. Through the default address change, the created test transactions have segwit inputs now and sending to short scriptPubKeys might violate this rule. By bumping the dummy scriptPubKey size to 22 bytes (= the size of a P2WPKH scriptPubKey), on all occurences the problem is solved. The dummy scriptPubKey has the format: ```21 <21-byte-long string of 'a' or 1s>``` ACKs for top commit: instagibbs: reACK https://github.com/bitcoin/bitcoin/pull/17108/commits/32d665c2657793c8b2cc7248d26d80a940acfe20 just s/Bytes/bytes/ MarcoFalke: ACK 32d665c2657793c8b2cc7248d26d80a940acfe20 Tree-SHA512: 80e0386ff3c3f462901ba5c1e5ef2cbf095d9c0a40c8c3cfeacd4a3ab676afe744aa95b9eed77b4b3eec88bed930b33aa718117ed0977f6374e858a2f3bd5c57
2019-10-14Merge #17009: tests: Add EvalScript(...) fuzzing harnessMarcoFalke
7e50abcc29dc5fde24a1b3e57c6316eabda35e2e tests: Add EvalScript(...) fuzzing harness (practicalswift) bebb637472d0469037a9f438572fc71db4236d97 tests: Add FuzzedDataProvider fuzzing helper from the Chromium project (practicalswift) Pull request description: Add `EvalScript(...)` fuzzing harness. To test this PR: We can run `contrib/devtools/test_fuzzing_harnesses.sh` (#17000) during five seconds to quickly verify that the newly added fuzz harness seem to hit relevant code regions, that the fuzzing throughput seems reasonable, etc. `test_fuzzing_harnesses.sh eval 5` runs all fuzzers matching the regexp `eval` giving them five seconds of runtime each. ``` $ CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined $ make $ contrib/devtools/test_fuzzing_harnesses.sh eval 5 Testing fuzzer eval_script during 5 second(s) A subset of reached functions: NEW_FUNC[1/24]: 0x557b808742e0 in prevector<28u, unsigned char, unsigned int, int>::indirect_ptr(int) src/./prevector.h:161 NEW_FUNC[2/24]: 0x557b80875460 in prevector<28u, unsigned char, unsigned int, int>::indirect_ptr(int) const src/./prevector.h:162 NEW_FUNC[6/9]: 0x557b81acdaa0 in popstack(std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > >&) src/script/interpreter.cpp:57 NEW_FUNC[5/16]: 0x557b809f1bf0 in CScriptNum::serialize(long const&) src/./script/script.h:326 NEW_FUNC[4/6]: 0x557b817c93d0 in CScriptNum::CScriptNum(std::vector<unsigned char, std::allocator<unsigned char> > const&, bool, unsigned long) src/./script/script.h:225 NEW_FUNC[5/6]: 0x557b817cbb80 in CScriptNum::set_vch(std::vector<unsigned char, std::allocator<unsigned char> > const&) src/./script/script.h:360 NEW_FUNC[0/11]: 0x557b80a88170 in CHash256::Write(unsigned char const*, unsigned long) src/./hash.h:34 NEW_FUNC[1/11]: 0x557b80a88270 in CHash256::Finalize(unsigned char*) src/./hash.h:28 NEW_FUNC[5/11]: 0x557b81affdb0 in CSHA256::CSHA256() src/crypto/sha256.cpp:644 NEW_FUNC[6/11]: 0x557b81affe80 in (anonymous namespace)::sha256::Initialize(unsigned int*) src/crypto/sha256.cpp:66 NEW_FUNC[7/11]: 0x557b81b00460 in CSHA256::Write(unsigned char const*, unsigned long) src/crypto/sha256.cpp:649 NEW_FUNC[8/11]: 0x557b81b009a0 in CSHA256::Finalize(unsigned char*) src/crypto/sha256.cpp:675 NEW_FUNC[9/11]: 0x557b81b015e0 in CSHA256::Reset() src/crypto/sha256.cpp:692 NEW_FUNC[10/11]: 0x557b81b01d90 in (anonymous namespace)::sha256::Transform(unsigned int*, unsigned char const*, unsigned long) src/crypto/sha256.cpp:79 NEW_FUNC[0/1]: 0x557b808cc180 in BaseSignatureChecker::CheckLockTime(CScriptNum const&) const src/./script/interpreter.h:153 NEW_FUNC[0/2]: 0x557b81ab5640 in CastToBool(std::vector<unsigned char, std::allocator<unsigned char> > const&) src/script/interpreter.cpp:36 NEW_FUNC[0/1]: 0x557b817c9c30 in CScriptNum::getint() const src/./script/script.h:312 NEW_FUNC[0/1]: 0x557b81ae1df0 in CScriptNum::operator-=(long const&) src/./script/script.h:298 NEW_FUNC[0/5]: 0x557b81af5670 in CRIPEMD160::CRIPEMD160() src/crypto/ripemd160.cpp:243 NEW_FUNC[1/5]: 0x557b81af5740 in (anonymous namespace)::ripemd160::Initialize(unsigned int*) src/crypto/ripemd160.cpp:25 NEW_FUNC[2/5]: 0x557b81af5b00 in CRIPEMD160::Write(unsigned char const*, unsigned long) src/crypto/ripemd160.cpp:248 NEW_FUNC[3/5]: 0x557b81af5fa0 in (anonymous namespace)::ripemd160::Transform(unsigned int*, unsigned char const*) src/crypto/ripemd160.cpp:55 NEW_FUNC[4/5]: 0x557b81af8d60 in CRIPEMD160::Finalize(unsigned char*) src/crypto/ripemd160.cpp:274 NEW_FUNC[0/16]: 0x557b80857a30 in CScript::operator<<(std::vector<unsigned char, std::allocator<unsigned char> > const&) src/./script/script.h:462 NEW_FUNC[1/16]: 0x557b80872670 in prevector<28u, unsigned char, unsigned int, int>::insert(prevector<28u, unsigned char, unsigned int, int>::iterator, unsigned char const&) src/./prevector.h:342 NEW_FUNC[2/16]: 0x557b80872e00 in void prevector<28u, unsigned char, unsigned int, int>::insert<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >(prevector<28u, unsigned char, unsigned int, int>::iterator, __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >) src/./prevector.h:368 NEW_FUNC[3/16]: 0x557b80873630 in prevector<28u, unsigned char, unsigned int, int>::capacity() const src/./prevector.h:295 NEW_FUNC[4/16]: 0x557b80874ed0 in void prevector<28u, unsigned char, unsigned int, int>::fill<prevector<28u, unsigned char, unsigned int, int>::const_iterator>(unsigned char*, prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator) src/./prevector.h:204 NEW_FUNC[5/16]: 0x557b808cc0f0 in BaseSignatureChecker::CheckSig(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, CScript const&, SigVersion) const src/./script/interpreter.h:148 NEW_FUNC[6/16]: 0x557b809edb10 in CScript::operator=(CScript&&) src/./script/script.h:390 NEW_FUNC[7/16]: 0x557b809f8ec0 in void prevector<28u, unsigned char, unsigned int, int>::insert<prevector<28u, unsigned char, unsigned int, int>::const_iterator>(prevector<28u, unsigned char, unsigned int, int>::iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator) src/./prevector.h:368 NEW_FUNC[8/16]: 0x557b809f9260 in prevector<28u, unsigned char, unsigned int, int>::swap(prevector<28u, unsigned char, unsigned int, int>&) src/./prevector.h:451 NEW_FUNC[9/16]: 0x557b81ab58c0 in CheckSignatureEncoding(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, ScriptError_t*) src/script/interpreter.cpp:200 NEW_FUNC[10/16]: 0x557b81ab6f30 in FindAndDelete(CScript&, CScript const&) src/script/interpreter.cpp:254 NEW_FUNC[11/16]: 0x557b81acdc20 in CheckPubKeyEncoding(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, SigVersion const&, ScriptError_t*) src/script/interpreter.cpp:217 NEW_FUNC[12/16]: 0x557b81ad3890 in IsCompressedOrUncompressedPubKey(std::vector<unsigned char, std::allocator<unsigned char> > const&) src/script/interpreter.cpp:63 NEW_FUNC[13/16]: 0x557b81ad8830 in CScript::GetOp(prevector<28u, unsigned char, unsigned int, int>::const_iterator&, opcodetype&) const src/./script/script.h:505 NEW_FUNC[14/16]: 0x557b81ae21a0 in prevector<28u, unsigned char, unsigned int, int>::prevector<prevector<28u, unsigned char, unsigned int, int>::const_iterator>(prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator) src/./prevector.h:246 NEW_FUNC[0/1]: 0x557b81ae1a40 in CScriptNum::operator+=(long const&) src/./script/script.h:290 NEW_FUNC[0/5]: 0x557b81af9760 in CSHA1::CSHA1() src/crypto/sha1.cpp:150 NEW_FUNC[1/5]: 0x557b81af9830 in (anonymous namespace)::sha1::Initialize(unsigned int*) src/crypto/sha1.cpp:32 NEW_FUNC[2/5]: 0x557b81af9bf0 in CSHA1::Write(unsigned char const*, unsigned long) src/crypto/sha1.cpp:155 NEW_FUNC[3/5]: 0x557b81afa090 in (anonymous namespace)::sha1::Transform(unsigned int*, unsigned char const*) src/crypto/sha1.cpp:47 NEW_FUNC[4/5]: 0x557b81afc5e0 in CSHA1::Finalize(unsigned char*) src/crypto/sha1.cpp:181 NEW_FUNC[0/1]: 0x557b81ada4f0 in CScriptNum::operator-() const src/./script/script.h:278 NEW_FUNC[0/1]: 0x557b808cc210 in BaseSignatureChecker::CheckSequence(CScriptNum const&) const src/./script/interpreter.h:158 NEW_FUNC[0/1]: 0x557b81ab5c00 in IsValidSignatureEncoding(std::vector<unsigned char, std::allocator<unsigned char> > const&) src/script/interpreter.cpp:107 stat::number_of_executed_units: 9728 stat::average_exec_per_sec: 1621 stat::new_units_added: 844 stat::slowest_unit_time_sec: 0 stat::peak_rss_mb: 326 Number of unique code paths taken during fuzzing round: 583 Tested fuzz harnesses seem to work as expected. ``` ACKs for top commit: MarcoFalke: ACK 7e50abcc29dc5fde24a1b3e57c6316eabda35e2e Tree-SHA512: 4874ab28efb4219c24a4cfc9be901a3297d1973f43acadec415c2e1d6843e4e661f90e8f9695849373775a4556884cdcc8862a092246ae0383b844c37c1627d5
2019-10-14test: fix "tx-size-small" errors after default address changeSebastian Falbesoner
Addresses #17043, affects RBF and BIP68 functional tests. The "tx-size-small" policy rule rejects transactions with a non-witness size of smaller than 82 bytes (see src/validation.cpp:MemPoolAccept::PreChecks(...)), which corresponds to a transaction with 1 segwit input and 1 P2WPKH output. Through the default address change, the created test transactions have segwit inputs now and sending to short scriptPubKeys might violate this rule. By bumping the dummy scriptPubKey size to 22 bytes (= the size of a P2WPKH scriptPubKey), on all occurences the problem is solved. The dummy scriptPubKey has the format: 21 <21-byte-long string of 'a' or 1s> former commit messages, now squashed: test: rbf, bip68: use constant DUMMY_P2WPKH_SCRIPT for bumped scriptPubKey test: rbf, bip68: use constant DUMMY_P2WPKH_SCRIPT for dummy scriptPubKeys (b'a' * 35) test: rbf, bip68: comment DUMMY_P2WPKH_SCRIPT constant, put into common (new) module
2019-10-14doc: Add switch on enum exampleHennadii Stepanov
2019-10-14Merge #16667: build: remove mingw linker workaround from win gitian descriptorMarcoFalke
bd3f5a90ecd6de40516141b23b0861dbba0b31b6 build: remove mingw linker workaround from win gitian descriptor (fanquake) Pull request description: This workaround was added as part of the switch to gitian building using Ubuntu 14.04 (#6900). However, it should no longer be required, as we have switched to Bionic (#13171) and that has a far newer version of binutils. Original discussion: https://github.com/bitcoin/bitcoin/pull/6900 binutils patch: https://sourceware.org/bugzilla/show_bug.cgi?id=16192 ACKs for top commit: MarcoFalke: ACK bd3f5a90ecd6de40516141b23b0861dbba0b31b6 theuni: ACK bd3f5a90ecd6de40516141b23b0861dbba0b31b6 laanwj: ACK bd3f5a90ecd6de40516141b23b0861dbba0b31b6 Tree-SHA512: 01a5789994decf8cdedf7aaa0a449d2100a77e2e6b422d6b9dd5a4ac3e2e0b538c3d43aae4a1c3713614782f3c6b09d8d8bb21c20e86ce3c1734183dedd02d0c
2019-10-14util: Add AllowShortCaseLabelsOnASingleLine optionHennadii Stepanov
2019-10-14Merge #17057: build: switch to upstream libdmg-hfsplusWladimir J. van der Laan
9192ce5d634f4c65776d14539e9663c67b4367d3 depends: pull upstream libdmg-hfsplus changes (fanquake) 9b54f3436bb9a2d23bd84c0da99168386e2d5c31 depends: latest config.guess & config.sub (fanquake) Pull request description: Pulled the first two commits off #16392, as they are standalone. Corys PRs (https://github.com/planetbeing/libdmg-hfsplus/pull/7, https://github.com/planetbeing/libdmg-hfsplus/pull/8) have been merged, and the author was active for a little while in 2017/18, so switch back to the upstream [`libdmg-hfsplus`](https://github.com/planetbeing/libdmg-hfsplus) repo. I've added the last of Corys patches into depends. [Switching back to upstream discussion](https://github.com/bitcoin/bitcoin/pull/16392#discussion_r303610767). Top commit has no ACKs. Tree-SHA512: a2313a731242251fef28921faf403c9bc354e6271cd7a26e9904ff5fae5766678136697fb5696006498a982ce319747b52b1df5151837388cda8f8145b45ab7c
2019-10-13test: speed up wallet_address_types by whitelisting peers (immediate tx relay)Sebastian Falbesoner
approaches another part of #16613 ("Functional test suite bottlenecks") As for wallet_backup.py (Commit 581c9be0d8bff46cd68bd6a3bf72f22d11c09aea), the bottleneck is in relaying transactions. By whitelisting the peers, the inventory is transmissioned immediately rather than on average every 5 seconds, speeding up the test significantly: before: $ time ./wallet_address_types.py real 1m30.072s user 0m6.478s sys 0m2.298s with this PR: $ time ./wallet_address_types.py real 0m26.785s user 0m5.525s sys 0m1.888s
2019-10-13Merge #17121: test: speedup wallet_backup by whitelisting peers (immediate ↵fanquake
tx relay) 581c9be0d8bff46cd68bd6a3bf72f22d11c09aea test: speedup wallet_backup by whitelisting peers (immediate tx relay) (Sebastian Falbesoner) Pull request description: approaches part of #16613 ("Functional test suite bottlenecks") The majority of the test time is spent in `sync_mempools()` after sending to addresses, i.e. the bottleneck is in relaying transactions. By whitelisting the peers via `-whitelist`, the inventory is transmissioned immediately rather than on average every 5 seconds, speeding up the test by at least a factor of two: before: ``` $ time ./wallet_backup.py real 2m2.523s user 0m6.093s sys 0m2.454s ``` with this PR: ``` $ time ./wallet_backup_with_whitelist.py real 0m36.570s user 0m5.365s sys 0m1.696s ``` Note that the test is not deterministic (the `sendtoaddress` RPC in function `one_send()` is executed with a probability of 50%), hence the times could vary between individual runs. ACKs for top commit: MarcoFalke: ACK 581c9be0d8bff46cd68bd6a3bf72f22d11c09aea, this test is testing the backup behaviour, not the tx relay behaviour fanquake: ACK 581c9be0d8bff46cd68bd6a3bf72f22d11c09aea Tree-SHA512: d016f39cdb85501e17a74a4c4db5a9f7404baa76fbcc3675a34d3cd7bf03d7a4cb4fd3e5f17cb0597248120bb5ac8b15d3db7663007b76b010902be72954bde0
2019-10-13test: speedup wallet_backup by whitelisting peers (immediate tx relay)Sebastian Falbesoner
approaches part of #16613 ("Functional test suite bottlenecks") The majority of the test time is spent in sync_mempools() after sending to addresses, i.e. the bottleneck is in relaying transactions. By whitelisting the peers via -whitelist, the inventory is transmissioned immediately rather than on average every 5 seconds, speeding up the test by at least a factor of two: before: $ time ./wallet_backup.py real 2m2.523s user 0m6.093s sys 0m2.454s with this PR: $ time ./wallet_backup_with_whitelist.py real 0m36.570s user 0m5.365s sys 0m1.696s Note that the test is not deterministic (the sendtoaddress RPC in function one_send() is executed with a probability of 50%), hence the times could vary between individual runs.
2019-10-12tests: Add EvalScript(...) fuzzing harnesspracticalswift
2019-10-12[build] depends macOS: point --sysroot to SDKSjors Provoost
2019-10-11Merge #16947: doc: Doxygen-friendly script/descriptor.h commentsMarcoFalke
15ac916642f20918f66e32729bb6b0b674e3bc24 doc: Doxygen-friendly descriptor.h comments (Jon Layton) Pull request description: Closes #16942. - Make `Descriptor` overview subtext of `Interface for parsed descriptor objects.` - Conform to `@param[in, out] argname: Info` in parameter comments. Present in code: https://github.com/bitcoin/bitcoin/blob/feb162d500273040c8a2e5cdd3393edf34dff45b/src/net_processing.cpp#L1001 - Remove redundant argument type, `in` vs `out` mentions - Removed unnecessary backticks around `IsSolvable()`, since Doxygen builds a link to the known function's docs - Add backticks to refer to `argname`s `descriptor.cpp` has more documentation, but Doxygen's output doesn't include anything inside unnamed namespaces for some reason. Tried to access them via searchbar. Top commit has no ACKs. Tree-SHA512: 587cc7596de46358a08b0321a7cf08a08785945715dbdce8945d837e1bee0664d1e11b1e47b7be85c4f35262f7ea173fb1f6202efcacc2023e2c6b0bd44133b3
2019-10-11doc: update bips.md with buried BIP9 deploymentsMarcoFalke
2019-10-11Merge #17097: build: Add README.md to DIST targetMarcoFalke
fa91590a74985ff321000864ab3e8ef7414d84eb build: Add README.md to DIST target (MarcoFalke) Pull request description: This is required because our release tarball is generated by listing each needed file. See: #16734 Should fix the failing builds after commit 9b4dfec831e6c20ce06c40412a692315b482e456 ACKs for top commit: fanquake: ACK fa91590a74985ff321000864ab3e8ef7414d84eb - just checked that `README.md` is present inside the tarball after running `make dist`. Tree-SHA512: 92e6145cbea4f7d0edfc88e4dcc11a34349bbf2f1948340531d2ff8832cfef94f979add8bd925b7e2c82a6bed4be40b8d41e94807d4a69983dcda3bccb206a31
2019-10-11Merge #17102: doc: Add missing indexes/blockfilter/basic to doc/files.mdfanquake
fa191c058f00116bb844e59e42e24ad961e19cbe doc: Add missing indexes/blockfilter/basic/ to doc/files.md (MarcoFalke) Pull request description: ACKs for top commit: hebasto: ACK fa191c058f00116bb844e59e42e24ad961e19cbe fanquake: ACK fa191c058f00116bb844e59e42e24ad961e19cbe Tree-SHA512: ea30776224e4a26bc6f60c9c65361f0b9d7b2b4f844c6d2aefd108f852dd7d813963df631a8ed20daea5acae7a23d0b405d12a162f90a6f61a3db236f5beed45
2019-10-11doc: Add missing indexes/blockfilter/basic/ to doc/files.mdMarcoFalke
2019-10-10change wallet pointers to references in feebumperAdam Jonas
2019-10-10tests: Add FuzzedDataProvider fuzzing helper from the Chromium projectpracticalswift
Source: https://cs.chromium.org/chromium/src/third_party/libFuzzer/src/utils/FuzzedDataProvider.h?rcl=b9f51dc8c98065df0c8da13c051046f5bab833db
2019-10-10Merge #16983: doc: Add detailed info about Bitcoin Core filesMarcoFalke
86b9f92da25f2768eb29eefd6526320135f39a2f doc: Add detailed info about Bitcoin Core files (Hennadii Stepanov) Pull request description: This PR: - provides detailed info about the Bitcoin Core files; - does not mention temporary files, e.g., `mempool.dat.new` and `peers.????` ACKs for top commit: ch4ot1c: ACK 86b9f92 laanwj: ACK 86b9f92da25f2768eb29eefd6526320135f39a2f MarcoFalke: ACK 86b9f92da25f2768eb29eefd6526320135f39a2f Tree-SHA512: 9352119b08e3f6aaab4ce3797afc6533f90852e461957acb2bc73962fd4881403fabeaa5a371bd1218309f36f9b0f90fb147b80698e2e30a016634a62a160a15