aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-18util: Filter out macOS process serial numberHennadii Stepanov
2019-10-17Merge #17162: chain: Remove CBlockIndex::SetNull helperfanquake
fa0467326ff004a0a20c6af9c8f6adcc74a0c8af chain: Set all CBlockIndex members to null, remove SetNull helper (MarcoFalke) Pull request description: The first commit removes the `SetNull` helper and inlines the member initialization (C++11). See https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#c-data-structures for rationale. <strike>The second commit adds the `cs_main` lock annotation to `RaiseValidity`. See also #17161.</strike> ACKs for top commit: promag: Code review ACK fa0467326ff004a0a20c6af9c8f6adcc74a0c8af. practicalswift: ACK fa0467326ff004a0a20c6af9c8f6adcc74a0c8af -- diff still looks correct :) laanwj: ACK fa0467326ff004a0a20c6af9c8f6adcc74a0c8af, this makes it easy to see that all fields are initialized. Tree-SHA512: 1b2b9fb0951c03c75b9cce322b89d4ecc9a364ae78b94d91b0b4669437824394dfada820ab6f74dfac3193f602899abfdc244ae2d9351ad293f555488f03470e
2019-10-17Merge #17177: doc: Describe log files + consistent paths in test READMEsMarcoFalke
9576614d2d91ca946d164dfffca441f8bcbd6e2c doc: Describe log files + consistent paths in test READMEs (Martin Erlandsson) Pull request description: picks up #15830 I saw this was almost ready to merge but the test logging part was not 100% correct. I reworked that part, the rest is the same. ACKs for top commit: GChuf: ACK 9576614d2d91ca946d164dfffca441f8bcbd6e2c Tree-SHA512: 3de7f1b0a1b0419df6e7b55964d00e715b6cb7874b1849ad6f120597610d7df4182c4b61b9c9691ce04f4e392ed3caead4c623374be2066ac31319e702d45d09
2019-10-17doc: Describe log files + consistent paths in test READMEsMartin Erlandsson
2019-10-17Merge #16597: Travis: run full test suite on native macOSMarcoFalke
1f6c650c99eb94fdd0cbdd528aa3405201de08c2 travis: run tests on macOS native (Sjors Provoost) Pull request description: Adds an additional Travis machine to run the functional test suite on native macOS Homebrew is not particularly Travis compatible, but I found some useful hints here: https://discourse.brew.sh/t/best-practice-for-homebrew-on-travis-brew-update-is-5min-to-build-time/5215/11 ACKs for top commit: MarcoFalke: re-ACK 1f6c650c99eb94fdd0cbdd528aa3405201de08c2 Tree-SHA512: 3f19a1695fac53d4d6c2033a9c20be69294e3a798c84fd9bf6ae2aa7a6d92aa1dad1f62f4ee1ada9413fe7d05ee974050fa030fd2c547f33e0d5c0a3e74f64db
2019-10-17Merge #17119: doc: Fix broken bitcoin-cli examplesWladimir J. van der Laan
85016e52f6adc01735beefe5a8aefcc4f0c4aa25 [rpc] Fix broken bitcoin-cli examples (Andrew Toth) Pull request description: This fixes the `bitcoin-cli` examples for `combinerawtransaction`, `combinepsbt` and `testmempoolaccept`. They currently return `Error parsing JSON`. ACKs for top commit: laanwj: ACK 85016e52f6adc01735beefe5a8aefcc4f0c4aa25 Tree-SHA512: b561f68f7a188dc91dab1ceb98da3ac3e232143ab2b906c90f95c6b74b584599d0f3b51f067cdd3b1153931f95b3dc385e453b1a0dde86f9cb549b94560f219d
2019-10-17Merge #17169: doc: correct function name in ReportHardwareRand()MarcoFalke
5013171eaf111d43ff824a212aebe40901221d6d doc: correct function name in ReportHardwareRand() (fanquake) Pull request description: The function is `InitHardwareRand` not `HWRandInit`. https://github.com/bitcoin/bitcoin/blob/46d6930f8c7ba7cbcd7d86dd5d0117642fcbc819/src/random.cpp#L99 ACKs for top commit: laanwj: ACK 5013171eaf111d43ff824a212aebe40901221d6d theStack: ACK https://github.com/bitcoin/bitcoin/commit/5013171eaf111d43ff824a212aebe40901221d6d Tree-SHA512: c25e1bb56e923961fc8a9178d751222b60f5ca36be84abf8fd1ac971f3a9b79b587ed9d8a4a175981b66f3fd5ad7edd6697d343e4dc4852351a1510718745455
2019-10-17Merge #17140: test: Fix bug in blockfilter_index_tests.MarcoFalke
f59bbb61af5055844c16939a4f8e58c4f73843c1 test: Fix bug in blockfilter_index_tests. (Jim Posen) Pull request description: The test case tests a chain reorganization, however the two chains were generated in the same manner and thus produced the same blocks. This issue was [pointed out](https://github.com/bitcoin/bitcoin/pull/14121#discussion_r334282663) by MarcoFalke. ACKs for top commit: MarcoFalke: Thanks! ACK f59bbb61af5055844c16939a4f8e58c4f73843c1 (looked at the diff on GitHub, didn't compile, nor run tests) Tree-SHA512: a2f063ae9312051ffc2a3fcc1116a6a8ac09beeef261bc40aa3ff7270ff4de22a790eb19fec6b15ba1eb46e78f1f317bfd91472d8581b95bb9441a56b102554e
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-16chain: Set all CBlockIndex members to null, remove SetNull helperMarcoFalke
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-14travis: run tests on macOS nativeSjors Provoost
Review hint: git show -w Co-authored-by: MarcoFalke <falke.marco@gmail.com> Co-authored-by: keneanung <keneanung@googlemail.com> Co-authored-by: Vadim Peretokin <vperetokin@gmail.com>
2019-10-14test: Fix bug in blockfilter_index_tests.Jim Posen
The test case tests a chain reorganization, however the two chains were generated in the same manner and thus produced the same blocks.
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-14[rpc] Fix broken bitcoin-cli examplesAndrew Toth
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