aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-17test: get and decode tx with a single `gettransaction` RPC callSebastian Falbesoner
Rather than subsequently calling `gettransaction` and `decoderawtransaction` to get the decoded information for a specific tx-id, we can simply use the verbose version of `gettransaction`, which returns this in a 'decoded' key. I.e. node.decoderawtransaction(node.gettransaction(txid)['hex']) can be replaced by: node.gettransaction(txid=txid, verbose=True)['decoded']
2021-10-15Merge bitcoin/bitcoin#22863: policy: document dust threshold for Taproot outputsW. J. van der Laan
d873db7f8ff37c37f9c72482d8ecd52282f4438e policy: document we intentionally don't lower the dust threshold for Taproot (Antoine Poinsot) Pull request description: Following discussions in #22779 . ACKs for top commit: benthecarman: ACK d873db7f8ff37c37f9c72482d8ecd52282f4438e ariard: Code Review ACK d873db7 theStack: ACK d873db7f8ff37c37f9c72482d8ecd52282f4438e Tree-SHA512: 1f5d20dce767f8a74d57ece47a7f6b881741f508896131b8433600cccf9e4262892603b46521d1bb69d5c83b450f24a16731341072a471c1f2c9adad682af895
2021-10-15Merge bitcoin/bitcoin#23284: doc: update release notes for 22539MarcoFalke
530735153bc21a1e84773073ed26a4eea5693e1e doc: update release notes for 22539 (Antoine Poinsot) Pull request description: Following Marcofalke's feedback at https://github.com/bitcoin/bitcoin/pull/22539#discussion_r724971313 ACKs for top commit: shaavan: ACK 530735153bc21a1e84773073ed26a4eea5693e1e Tree-SHA512: 91ea3e6c7fc06a4f40723217735e3d3f12812dc5adafa4f8c505ae4df5bd91345133099a9c158a7f15f01313c3128c8c15455c24256d76cd93033c0b5ce2c64f
2021-10-15doc: update release notes for 22539Antoine Poinsot
Following Marcofalke's feedback at https://github.com/bitcoin/bitcoin/pull/22539#discussion_r724971313
2021-10-15Merge bitcoin/bitcoin#22937: refactor: Forbid calling unsafe ↵W. J. van der Laan
fs::path(std::string) constructor and fs::path::string() method 6544ea5035268025207d2402db2f7d90fde947a6 refactor: Block unsafe fs::path std::string conversion calls (Russell Yanofsky) b39a477ec69a51b2016d3a8c70c0c77670f87f2b refactor: Add fs::PathToString, fs::PathFromString, u8string, u8path functions (Russell Yanofsky) Pull request description: The `fs::path` class has a `std::string` constructor which will implicitly convert from strings. Implicit conversions like this are not great in general because they can hide complexity and inefficiencies in the code, but this case is especially bad, because after the transition from `boost::filesystem` to `std::filesystem` in #20744 the behavior of this constructor on windows will be more complicated and can mangle path strings. The `fs::path` class also has a `.string()` method which is inverse of the constructor and has the same problems. Fix this by replacing the unsafe method calls with `PathToString` and `PathFromString` function calls, and by forbidding unsafe method calls in the future. ACKs for top commit: kiminuo: ACK 6544ea5035268025207d2402db2f7d90fde947a6 laanwj: Code review ACK 6544ea5035268025207d2402db2f7d90fde947a6 hebasto: re-ACK 6544ea5035268025207d2402db2f7d90fde947a6, only added `fsbridge_stem` test case, updated comment, and rebased since my [previous](https://github.com/bitcoin/bitcoin/pull/22937#pullrequestreview-765503126) review. Verified with the following command: Tree-SHA512: c36324740eb4ee55151146626166c00d5ccc4b6f3df777e75c112bcb4d1db436c1d9cc8c29a1e7fb96051457d317961ab42e6c380c3be2771d135771b2b49fa0
2021-10-14Merge bitcoin/bitcoin#23093: Add ability to flush keypool and always flush ↵W. J. van der Laan
when upgrading non-HD to HD 6531599f422524fbbcc43816121e7536cf79d66c test: Add check that newkeypool flushes change addresses too (Samuel Dobson) 84fa19c77a2c8d0d01add2daf18b42af07c17710 Add release notes for keypool flush changes (Samuel Dobson) f9603ee4e05d7f0bd7d81f5cf24168c1aec8e5b0 Add test for flushing keypool with newkeypool (Samuel Dobson) 6f6f7bb36c492fa76aeda6513be58ca822ea1968 Make legacy wallet upgrades from non-HD to HD always flush the keypool (Samuel Dobson) 2434b1078147e71b09c4c1bf0b7ce3f6729a7713 Fix outdated keypool size default (Samuel Dobson) 22cc797ca5c1e70a4afb8e43f6917b4c9fe74e20 Add newkeypool RPC to flush the keypool (Samuel Dobson) Pull request description: This PR makes two main changes: 1) Adds a new RPC `newkeypool` which will entirely flush and refill the keypool. 2) When upgradewallet is called on old, non-HD wallets upgrading them to HD, we now always flush the keypool and generate a new one, to immediately start using the HD generated keys. This PR is motivated by a number of users with old, pre-compressed-key wallets upgrading them and being confused about why they still can't generate p2sh-segwit or bech32 addresses -- this is due to uncompressed keys remaining in the keypool post-upgrade and being illegal in these newer address formats. There is currently no easy way to flush the keypool other than to call `getnewaddress` a hundred/thousand times or an ugly hack of using a `sethdseed` call. ACKs for top commit: laanwj: re-ACK 6531599f422524fbbcc43816121e7536cf79d66c meshcollider: Added new commit 6531599f422524fbbcc43816121e7536cf79d66c to avoid invalidating previous ACKs. instagibbs: ACK https://github.com/bitcoin/bitcoin/pull/23093/commits/6531599f422524fbbcc43816121e7536cf79d66c Tree-SHA512: 50c79c5d42dd27ab0ecdbfdc4071fdaa1b2dbb2f9195ed325b007106ff19226419ce57fe5b1539c0c24101b12f5e034bbcfb7bbb0451b766cb1071295383d774
2021-10-14Merge bitcoin/bitcoin#23269: build: remove redundant warning flagsfanquake
aa69fd6caf1b08bfc64889c91639046fb1114326 build: Drop -Wno-unused-local-typedef (Hennadii Stepanov) 672e8c5d073b5e2f1bc63095bbcd2854c6bbd2d4 build: remove -Wunused-variable (fanquake) 5239af0574243662c0f8304fc922641b1252604b build: remove -Wswitch (fanquake) 0375906e0a9d05b16b3b8e516d2ab74368e7e90a build: use loop-analysis over range-loop-analysis (fanquake) 12712fa2c4c12edf530cd630072796ff08daa4fe build: remove -Wsign-compare (fanquake) Pull request description: This remove the addition of flags that are already part of other options, such as `-Wall` or `-Wextra`; see each commit message for details. All of the flags being removed here already exist as part of `-Wall` as of GCC 8, or, for Clang, all exist in `-Wmost` (included in `-Wall)`, or as part of `-Wextra` as of Clang 7. Both of which are our minimum required compilers. Also cherry-picks one change from #21458. To give an example of how GCCs `-Wall` has changed over the last few releases: ### 11.x to trunk (12.x) Added: ```bash -Wzero-length-bounds -Wmismatched-dealloc -Wmismatched-new-delete (only for C/C++) ``` ### 10.x to 11.x Added: ```bash -Warray-parameter=2 (C and Objective-C only) -Wrange-loop-construct (only for C++) -Wsizeof-array-div -Wvla-parameter (C and Objective-C only) ``` Removed: ```bash -Wenum-conversion in C/ObjC; ``` ### 9.x to 10.x Added: ```bash -Wenum-conversion in C/ObjC; -Wformat-overflow -Wformat-truncation -Wzero-length-bounds ``` ### 8.x to 9.x Added: ```bash -Wpessimizing-move ``` Removed: ```bash -Wstringop-truncation ``` ### 7.x to 8.x Added: ```bash -Wcatch-value (C++ and Objective-C++ only) -Wmissing-attributes -Wmultistatement-macros -Wrestrict -Wsizeof-pointer-div -Wstringop-truncation ``` [Clang Warning Options](https://clang.llvm.org/docs/DiagnosticsReference.html) [GCC Warning Options](https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html) ACKs for top commit: meshcollider: utACK aa69fd6caf1b08bfc64889c91639046fb1114326 Tree-SHA512: 34dde6bd773c864202c151eaa35f902d03fb531c27fe5e1ef659225da03acade2efe5df56df3efb4df5bbded3d395348ce03c25b837fce83be53af3352f0f2bc
2021-10-14Merge bitcoin/bitcoin#23242: qt: Prefix makefile variables with QT_MarcoFalke
eb04badcd6108e17c8ec78e9c316775c334030cb scripted-diff: Prefix makefile variables with QT_ (João Barbosa) Pull request description: Improves consistency and readability if future QML variables are added. ACKs for top commit: hebasto: re-ACK eb04badcd6108e17c8ec78e9c316775c334030cb, only suggested changes, and script-diff used. shaavan: Code Review ACK eb04badcd6108e17c8ec78e9c316775c334030cb Tree-SHA512: 71e5f835edbb36d6749773e63ef5f4ce040cc576f1c302e371ae8715b874df0810b8a1ca2329e581880168c8ca95375cb84856a7ac5311bc8a059425da113341
2021-10-14Merge #23235: Reduce unnecessary default loggingSamuel Dobson
b5950dd59ca3e144721a5f15568a65be43bd2f20 validation: put coins cache write log into bench debug log (Anthony Towns) 31b2b802b5b8f214e91ec47fbc953c6ca95c7cf9 blockstorage: use debug log category (Anthony Towns) da94ebc2facd75c6105a7bd31765c6d2b37fc73b validation: move header validation error logging to VALIDATION debug category (Anthony Towns) 1d7d835ec3a7cc17924f80222784fe3afb567b67 validation: include block hash when reporting prev block not found errors (Anthony Towns) Pull request description: Moves the following log messages into debug log categories: * "AcceptBlockHeader: ..." to validation * "Prune: deleted blk/rev" to new blockstorage log category * "Leaving block file" moves from validation to blockstorage * "write coins cache to disk" to bench Also adds the hash of the block to the log message when AcceptBlockHeader is rejecting because of problems with the prev block. ACKs for top commit: practicalswift: cr ACK b5950dd59ca3e144721a5f15568a65be43bd2f20 Empact: Code review ACK https://github.com/bitcoin/bitcoin/pull/23235/commits/b5950dd59ca3e144721a5f15568a65be43bd2f20 laanwj: Code review ACK b5950dd59ca3e144721a5f15568a65be43bd2f20 promag: Code review ACK b5950dd59ca3e144721a5f15568a65be43bd2f20. meshcollider: Code review ACK b5950dd59ca3e144721a5f15568a65be43bd2f20 Tree-SHA512: a73fdbfe8d36da48a3e89c2d5e0b6a3c5045d280c1a57f61c38d0d21f4f198aece4bd85155be3439e179d5dabdb523bf15fa0395e0e3ceff19c878ba3112c840
2021-10-14test: Add check that newkeypool flushes change addresses tooSamuel Dobson
2021-10-13scripted-diff: Prefix makefile variables with QT_João Barbosa
Improves consistency and readability if future QML variables are added. -BEGIN VERIFY SCRIPT- sed -i \ -e 's/RES_ANIMATION/QT_RES_ANIMATION/g' \ -e 's/RES_FONTS/QT_RES_FONTS/g' \ -e 's/RES_ICONS/QT_RES_ICONS/g' \ -e 's/BITCOIN_RC/BITCOIN_QT_RC/g' \ src/Makefile.qt.include -END VERIFY SCRIPT-
2021-10-13Merge bitcoin/bitcoin#23148: build: Fix guix linker-loader path and add ↵W. J. van der Laan
check_ELF_interpreter 1527b7e8a1339705a48d4d1ed108230fc4953c18 symbol-check: Check requested ELF interpreter (Carl Dong) b96adcbfae90b3e041754f11624cac04c1999e8c guix: Fix powerpc64(le) dynamic linker name (Carl Dong) Pull request description: Fixes https://github.com/bitcoin/bitcoin/issues/23111 It would seem that I got the wrong default glibc-dynamic-linker path for PowerPC platforms. This means that for our currently released v22.0 binaries to be run on powerpc platforms, users would have to either: 1. Move `/lib64/ld64.so.?` to `/lib`, or 2. Invoke their linker-loader directly to start our binaries, e.g. `/lib64/ld64.so.? bitcoind` This is my bad. I've fixed the paths in this patchset, and also added a test to `symbol-check.py` so that this does not ever slip past our checks again. ACKs for top commit: laanwj: Code review ACK 1527b7e8a1339705a48d4d1ed108230fc4953c18 Tree-SHA512: bc520c35f72a9d4a3804b53d211138724560bd2405bf2f592ef755d19073e72f114fc4b8a3747e0c8724ac46a60b6ca86ea7766d66acb88eed1ebe2abc2678b8
2021-10-13symbol-check: Check requested ELF interpreterCarl Dong
It is important that binaries request a standard interpreter location where most distros would place the linker-loader. Otherwise, the user would be met with a very confusing message: bash: <path>/<to>/bitcoind: No such file or directory When really it's the interpreter that's not found.
2021-10-13guix: Fix powerpc64(le) dynamic linker nameCarl Dong
I used Guix's values for the powerpc64(le) dynamic linkers, and the /lib-prefix seems to be a Guix-ism rather than standard. The standard path for the linker-loaders start with /lib64. I've taken the new loader values from SYSDEP_KNOWN_INTERPRETER_NAMES in glibc's sysdeps/unix/sysv/linux/powerpc/ldconfig.h file. For future reference, loader path values can also be found on glibc's website: https://sourceware.org/glibc/wiki/ABIList?action=recall&rev=16
2021-10-13Merge bitcoin/bitcoin#22392: scripts: use LIEF for ELF security & symbol checksW. J. van der Laan
ce69e18947dd917d54eb036e732ac7f7bceede76 scripts: remove pixie.py (fanquake) 00b85d0b13e419c1b48f47a90236cb4ed7fab491 scripts: only parse the binary once in security-check.py (fanquake) cad40a5b167c5300564bd7b4505cf6650780084b scripts: use LIEF for ELF checks in security-check.py (fanquake) 8242ae230e1ff362a4e16f1503e503317471c790 scripts: only parse the binary once in symbol-check.py (fanquake) 309eac9019c224dfd79a78e381cfcb70fee190f3 scripts: use LIEF for ELF checks in symbol-check.py (fanquake) 610a8a8e39c1d94839dfb7e1c66c01f13f946657 test-*-check: Pass in *FLAGS and compile with them (Carl Dong) Pull request description: This finishes the transition to using LIEF for the ELF symbol and security checks. Note that there's currently a work around used for identifying RISCV binaries (just checking the interpreter). I've sent a PR upstream, https://github.com/lief-project/LIEF/pull/562, and we should be able to drop that when using LIEF 0.12.0 and onwards. ACKs for top commit: dongcarl: Code Review ACK ce69e18947dd917d54eb036e732ac7f7bceede76 laanwj: Code review ACK ce69e18947dd917d54eb036e732ac7f7bceede76 Tree-SHA512: 911ba693cd9777ad1fc1f66dff6c4d3630a907351215380cbde5b14a4bbf5cf7eebf52eafa7e86b27deabd2d93d1b403f34aabd356b5ceaab3cc6e9941a01dd4
2021-10-13Merge bitcoin/bitcoin#23253: bitcoin-tx: Reject non-integral and out of ↵W. J. van der Laan
range int strings fa6f29de516c7af5206b91b59ada466032329250 bitcoin-tx: Reject non-integral and out of range multisig numbers (MarcoFalke) fafab8ea5e6ed6b87fac57a5cd16a8135236cdd6 bitcoin-tx: Reject non-integral and out of range sequence ids (MarcoFalke) fa53d3d8266ad0257315d07b71b4f8a711134622 test: Check that bitcoin-tx accepts whitespace around sequence id and multisig numbers (MarcoFalke) Pull request description: Seems odd to silently accept arbitrary strings that don't even represent integral values. Fix that. ACKs for top commit: practicalswift: cr ACK fa6f29de516c7af5206b91b59ada466032329250 laanwj: Code review ACK fa6f29de516c7af5206b91b59ada466032329250 Empact: Code review ACK https://github.com/bitcoin/bitcoin/pull/23253/commits/fa6f29de516c7af5206b91b59ada466032329250 promag: Code review ACK fa6f29de516c7af5206b91b59ada466032329250. Tree-SHA512: e31f7f21fe55ac069e755557bdbcae8d5d29e20ff82e441ebdfc65153e3a31a4edd46ad3e6dea5190ecbd1b8ea5a8f94daa5d59a3b7558e46e794e30db0e6c79
2021-10-13build: Drop -Wno-unused-local-typedefHennadii Stepanov
-Wunused-local-typedef(s) is covered by -Wunused in both gcc and clang. No new warnings fire when compiling.
2021-10-13build: remove -Wunused-variablefanquake
This is enabled via -Wall in GCC, and is part of -Wunused, which is included in -Wmost, which is included in -Wall in Clang.
2021-10-13build: remove -Wswitchfanquake
This is enabled by -Wall in GCC and Clang.
2021-10-13build: use loop-analysis over range-loop-analysisfanquake
To turn on all (future) loop analysis options. Note that -Wfor-loop-analysis is also part of -Wmost, which is in -Wall.
2021-10-13build: remove -Wsign-comparefanquake
This is part of -Wall in GCC and -Wextra in Clang.
2021-10-13Merge bitcoin/bitcoin#23003: multiprocess: Make ↵MarcoFalke
interfaces::Chain::isTaprootActive non-const 7e88f61b285e6a356ea4f6ba384858f109559985 multiprocess: Make interfaces::Chain::isTaprootActive non-const (Russell Yanofsky) Pull request description: `interfaces::Chain` is an abstract class, so declaring the method const would be exposing internal implementation details of subclasses to interface callers. And specifically this doesn't work because the multiprocess implementation of the `interfaces::Chain::isTaprootActive` method can't be const because IPC connection state and request state is not constant during the call. --- This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10). ACKs for top commit: jamesob: ACK https://github.com/bitcoin/bitcoin/pull/23003/commits/7e88f61b285e6a356ea4f6ba384858f109559985 Tree-SHA512: 1c5ed89870aeb7170b9048c41299ab650dfa3d0978088e08c4c866fa0babb292722710b16f25540f26667220cb4747b1c256c4bd42893c552291eccc155346a3
2021-10-13Merge bitcoin/bitcoin#23149: build: make --enable-werror just -Werrorfanquake
38fd709fa5b7a01f149a65efdfe1a6b463477e4e build: make --enable-werror just -Werror (fanquake) Pull request description: No longer special case a set of warnings, to make up our own -Werror, just use -Werror outright. This shouldn't really have any effect on existing builders, who were already using `--enable-werror`, and is more inline with what they would expect `--enable-werror` to be, which is erroring on any/all warnings. We keep `-Wno-error=return-type` because we know that is broken when using mingw-w64. It should only be applied when cross-compiling for Windows. Similar to the change in #20544, but with (hopefully) less work-arounds, and other bundled changes. A step towards some configure "cleanups". ACKs for top commit: hebasto: ACK 38fd709fa5b7a01f149a65efdfe1a6b463477e4e (also see https://github.com/bitcoin/bitcoin/pull/23149#issuecomment-940420776), tested: MarcoFalke: Concept ACK 38fd709fa5b7a01f149a65efdfe1a6b463477e4e Tree-SHA512: 37f1857d9408442cab63e40f9280427b73e09cdf03146b19c1339d7e44abd78e93df7f270ca1da0e83b79343cd3ea915f7b9e4e347488b5bc5ceaaa7540e5926
2021-10-12Merge bitcoin/bitcoin#23213: rest: Return error when header count is not ↵MarcoFalke
integral fa8d49289479b8eda7ba7530515c414d1cd566a3 rest: Return error when header count is not integral (MarcoFalke) Pull request description: Seems odd to interpret a hash (or any other string) as integer when it contains more than the digits 0 to 9. ACKs for top commit: practicalswift: cr ACK fa8d49289479b8eda7ba7530515c414d1cd566a3 promag: Code review ACK fa8d49289479b8eda7ba7530515c414d1cd566a3. shaavan: Code Review ACK fa8d49289479b8eda7ba7530515c414d1cd566a3 Tree-SHA512: d6335b132ca2010fb8cae311dd936b2dea99a5bd0e6b2556a604f93698b8456df9190c5151345a03344243ede4aad0e2526cedc2aa8b5b1b8e8ce786cb3b6e50
2021-10-12bitcoin-tx: Reject non-integral and out of range multisig numbersMarcoFalke
2021-10-12bitcoin-tx: Reject non-integral and out of range sequence idsMarcoFalke
2021-10-12test: Check that bitcoin-tx accepts whitespace around sequence id and ↵MarcoFalke
multisig numbers
2021-10-12rest: Return error when header count is not integralMarcoFalke
2021-10-12Merge bitcoin/bitcoin#23132: test: Change background_cs from pointer to ↵MarcoFalke
reference in validation_chainstate_tests fa4d0aacf2bbddaf1709660ffd8d520570533aa8 test: * -> & (MarcoFalke) Pull request description: This changes background_cs from being a pointer to a reference to work around a gcc false warning. Also, this makes the test easier to read. Fixes bitcoin#23101 Can be reviewed with --ignore-all-space. ACKs for top commit: practicalswift: cr ACK fa4d0aacf2bbddaf1709660ffd8d520570533aa8 jamesob: ACK https://github.com/bitcoin/bitcoin/pull/23132/commits/fa4d0aacf2bbddaf1709660ffd8d520570533aa8 hebasto: ACK fa4d0aacf2bbddaf1709660ffd8d520570533aa8, tested on Linux Mint 20.2 (x86_64) by merging this PR on top of the current master. Tree-SHA512: 93a0d8859201f7074bea52fab8f6701409148bc50cfbb142cacfa6c991fc12c07584df04fead645f11703883df99535423d154f9945202e1c5aff49540d9b607
2021-10-12Merge bitcoin/bitcoin#23227: bitcoin-tx: Avoid treating integer overflow as OP_0Samuel Dobson
fa43e7c2d9dc5e2df70acd2019bdd24023c1d333 bitcoin-tx: Avoid treating overflow as OP_0 (MarcoFalke) fa053c0019bc8b2174c485f4885f894f2b5de472 style: Fix whitespace in Parse* functions (MarcoFalke) fa03dec7e98bdda8aa596ef7943cf0a8d0bcb127 refactor: Use C++11 range based for loop in ParseScript (MarcoFalke) fad55e79ca18a5894a8da6db6309c323eecbb178 doc: Fixup ToIntegral docs (MarcoFalke) Pull request description: Seems odd to treat integer overflow as `OP_0`, so fix that. ACKs for top commit: theStack: re-ACK fa43e7c2d9dc5e2df70acd2019bdd24023c1d333 shaavan: ACK fa43e7c2d9dc5e2df70acd2019bdd24023c1d333 Tree-SHA512: 1bbe2de62d853badc18d57d169c6e78ddcdff037e5a85357995dead11c8e67a4fe35087e08a181c60753f8ce91058b7fcc06f5b7901afedc78fbacea8bc3ef4f
2021-10-12Merge bitcoin/bitcoin#23255: util: Add mincore and clone3 to syscall sandboxfanquake
fab40732a95711abadc22c3689f248753341a481 util: Add mincore and clone3 to syscall sandbox (MarcoFalke) Pull request description: Closes #23248 ACKs for top commit: practicalswift: cr ACK fab40732a95711abadc22c3689f248753341a481 laanwj: ACK fab40732a95711abadc22c3689f248753341a481 fanquake: ACK fab40732a95711abadc22c3689f248753341a481 Tree-SHA512: a8eb6b1844e40880163d2c52022dc4f84a53fae4d82fc651e456f527eca455dec32bbf960dac4366915c8a73d57b546b0b18f11b4da031962f7f775f2ca8c112
2021-10-12scripts: remove pixie.pyfanquake
2021-10-12scripts: only parse the binary once in security-check.pyfanquake
2021-10-12scripts: use LIEF for ELF checks in security-check.pyfanquake
2021-10-12scripts: only parse the binary once in symbol-check.pyfanquake
2021-10-12scripts: use LIEF for ELF checks in symbol-check.pyfanquake
Co-authored-by: Carl Dong <contact@carldong.me>
2021-10-12test-*-check: Pass in *FLAGS and compile with themCarl Dong
These test-*-check scripts should compile "test" binaries in a way that is as close to what autotools would do, since the goal is to make sure that if we run the *-check script, they can correctly detect flaws in binaries which are compiled by our autotools-based system. Therefore, we should emulate what happens when the binary is linked in autotools, meaning that for C binaries, we need to supply the CFLAGS, CPPFLAGS, and LDFLAGS flags in that order. Note to future developers: perhaps it'd be nice to have these test-*-check scripts be part of configure.ac to avoid having to manually replicate autoconf-like behaviour every time we find a discrepancy. Of course, that would also mean you'd have to write more m4...
2021-10-11util: Add mincore and clone3 to syscall sandboxMarcoFalke
2021-10-11validation: put coins cache write log into bench debug logAnthony Towns
2021-10-11blockstorage: use debug log categoryAnthony Towns
2021-10-11validation: move header validation error logging to VALIDATION debug categoryAnthony Towns
2021-10-11validation: include block hash when reporting prev block not found errorsAnthony Towns
2021-10-11Merge bitcoin/bitcoin#22794: test: Verify if wallet is compiled in ↵MarcoFalke
rpc_invalid_address_message.py test c2fbdca54915e85ffafe1a88858d3c70c2b1afe8 Add BECH32_INVALID_VERSION test (lsilva01) b142f79ddb91a44f29fcb2afb7f2edf3ca17e168 skip test_getaddressinfo() if wallet is disabled (lsilva01) Pull request description: Most of `test/functional/rpc_invalid_address_message.py` does not requires wallet. But if the project is compiled in disable-wallet mode, the entire test will be skipped. This PR changes the test to run the RPC tests first and then checks if the wallet is compiled. ACKs for top commit: stratospher: tested ACK c2fbdca Tree-SHA512: 11fa2fedf4a15aa45e3f12490df8e22290a867d5de594247211499533c32289c68c0b60bd42dbf8305e43dbcc042789e7139317ef5c9f8cf386f2d84c91b9ac2
2021-10-11bitcoin-tx: Avoid treating overflow as OP_0MarcoFalke
2021-10-11Merge bitcoin/bitcoin#22409: configure: keep relative paths in debug infofanquake
0bc666b053b8f4883c3f5de43959e2bbd91b95c5 doc: add info for debugging with relative paths (S3RK) a8b515c317f0b5560f62c72a8f4eb6560d8f1c75 configure: keep relative paths in debug info (S3RK) Pull request description: This is a follow-up for #20353 that fixes #21885 It also adds a small section to assist debugging without absolute paths in debug info. ACKs for top commit: kallewoof: Tested ACK 0bc666b053b8f4883c3f5de43959e2bbd91b95c5 Zero-1729: Light crACK 0bc666b053b8f4883c3f5de43959e2bbd91b95c5 Tree-SHA512: d4b75183c3d3a0f59fe786841fb230581de87f6fe04cf7224e4b89c520d45513ba729d4ad8c0e62dd1dbaaa7a25741f04d036bc047f92842e76c9cc31ea47fb2
2021-10-11Merge bitcoin/bitcoin#23199: refactor: use `{Read,Write}BE32` helpers for ↵fanquake
BIP32 nChild (de)serialization 7fc487afd1249eee97651a0eec0630d7e421924f refactor: use `{Read,Write}BE32` helpers for BIP32 nChild (de)serialization (Sebastian Falbesoner) Pull request description: This small refactoring PR replaces manual bit-fiddling (de)serialization of the BIP32 child number (nChild) by the helpers `ReadBE32`/`WriteBE32`. Note that those were first introduced in #4100, almost one year _after_ the BIP32 derivation implementation has been merged (#2829, eb2c9990). ACKs for top commit: sipa: utACK 7fc487afd1249eee97651a0eec0630d7e421924f laanwj: Code review ACK 7fc487afd1249eee97651a0eec0630d7e421924f Tree-SHA512: bbe3e411fb0429fa74c8a5705a91f4d6ed704dac9d6623ecb633563f22acf8e21f3189a16f1d0cf1aeedfc56a5b695df54ae51e9577e34eb6d7dc335de2da6de
2021-10-11Merge bitcoin/bitcoin#23214: Replace stoul with ToIntegral in dbwrapperfanquake
fa165e954579436fe4b636e4222d8ce0c1269786 Replace stoul with ToIntegral in dbwrapper (MarcoFalke) Pull request description: The string is created with `%llu`. See: https://github.com/bitcoin/bitcoin/blob/7fcf53f7b4524572d1d0c9a5fdc388e87eb02416/src/leveldb/db/db_impl.cc#L1436-L1437 So it seems odd to silently accept when parsing: whitespace, a sign character, trailing chars, overflow, .... Fix that by using the stricter ToIntegral. ACKs for top commit: laanwj: Code review ACK fa165e954579436fe4b636e4222d8ce0c1269786 practicalswift: cr ACK fa165e954579436fe4b636e4222d8ce0c1269786 theStack: Code-review ACK fa165e954579436fe4b636e4222d8ce0c1269786 Tree-SHA512: b87f01431ca0b971ff84610022da8679d3c33470b88cfc3f4a337e6e176a0455715588aefd40e8e2bbe7459d902dc89d7bfe34e7fd66755f631cc18dc039fa2f
2021-10-11Merge bitcoin/bitcoin#23168: build: no-longer fail default configure if BDB ↵fanquake
isn't available 747cd17404832604c50d03d58e11ba816bb229f7 build: no-longer fail default configure if BDB isn't available (fanquake) Pull request description: Inline with moving to descriptor (sqlite) wallets by default for 0.23, this adapts the build system so that a default `./configure` invocation no-longer fails if BDB isn't present. Currently, if configure is run with no options, and no BDB is present, we'll fail with: ```bash checking for Berkeley DB C++ headers... no configure: error: libdb_cxx headers missing, Bitcoin Core requires this library for BDB wallet support (--without-bdb to disable BDB wallet support) ``` If descriptor wallets are to be the default, this behaviour no longer makes sense, as a builder should be able to configure and build, to use a wallet, without BDB installed, and without passing additional arguments, i.e `--without-bdb` or `--with-incompatible-bdb`, to configure. With this change, running configure will no-longer fail, but will instead print: ```bash checking for Berkeley DB C++ headers... no configure: WARNING: libdb_cxx headers missing configure: WARNING: Bitcoin Core requires this library for BDB (legacy) wallet support configure: WARNING: Passing --without-bdb will suppress this warning checking for sqlite3 >= 3.7.17... yes checking whether to build wallet with support for sqlite... yes ``` ACKs for top commit: hebasto: ACK 747cd17404832604c50d03d58e11ba816bb229f7, tested on Linux Mint 20.2 (x86_64) with the (un)installed system packages `libdb-dev` and `libdb++-dev`. Tree-SHA512: ae316d71ad0803c9d4b02a5fedcade08242650d987cc047840493ba4a881e71ff48b099075bb7c325307d44744fcdeccb57f7fa8db4135c81a5835841f562afa
2021-10-09Merge bitcoin-core/gui#448: Add helper to load fontHennadii Stepanov
d54ec27bac388d7b84cf7b6cb4506bb0c25f2f88 qt: Add helper to load font (João Barbosa) Pull request description: Originally submitted as https://github.com/bitcoin-core/gui-qml/pull/49. ACKs for top commit: hebasto: re-ACK d54ec27bac388d7b84cf7b6cb4506bb0c25f2f88 stratospher: Tested ACK d54ec27. Refactoring the code and defining `loadFont()` in `src/qt/guiutil.cpp` reduces redundant imports of the `QFontDatabase` and is a better design. shaavan: ACK d54ec27bac388d7b84cf7b6cb4506bb0c25f2f88 Tree-SHA512: b156bb6ffb08dd57476f383a29bbb0a1108b62794d430debb77252f7d09df1409a7532b09d17d8836d1c2ab7c126a6618231164b9d0def1b8f361a81ef22d107
2021-10-08style: Fix whitespace in Parse* functionsMarcoFalke