aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-15Merge bitcoin/bitcoin#24117: index: make indices robust against init abortsMarcoFalke
bfcd60f5d505334230013de4115483b22a7898ee test: activate all index types in feature_init.py (Martin Zumsande) 0243907faee0aa6af09974131d9a46a7f9c3ef38 index: Don't commit without valid m_best_block_index (Martin Zumsande) Pull request description: When an index thread receives an interrupt during init before it got to index anything (so `m_best_block_index == nullptr` still), it will still try to commit previous "work" before stopping the thread. That means that `BaseIndex::CommitInternal()` calls `GetLocator(nullptr)`, which returns an locator to the tip ([code](https://github.com/bitcoin/bitcoin/blob/06b6369766137756648b3cb62c8f385cca234e69/src/chain.cpp#L31-L32)), and saves it to the index DB. On the next startup, this locator will be read and it will be assumed that we have successfully synced the index to the tip, when in reality we have indexed nothing. In the case of coinstatsindex, this would lead to a shutdown of bitcoind without any indication what went wrong. For the other indexes, there would be no immediate shutdown, but the index would be corrupt. This PR fixes this by not committing when `m_best_block_index==nullptr`, and it also adds an error log message to the silent coinstatsindex shutdown path. This is another small bug found by `feature_init.py` - the second commit enables blockfilterindex and coinstatsindex for this test, enabling coinstatsindex without the first commit would have led to frequent failures. ACKs for top commit: fjahr: reACK bfcd60f5d505334230013de4115483b22a7898ee shaavan: reACK bfcd60f5d505334230013de4115483b22a7898ee Tree-SHA512: 8e2bac0fc40cde209518a9e59b597ae0a5a875a2a90898673987c91733718d40e528dada942bf552b58bc021bf46e59da2d0cc5a61045f48f9bae2b1baf6033b
2022-02-15Merge bitcoin/bitcoin#24324: test: refactor: remove unneeded bytes<->hex ↵MarcoFalke
conversions in `byte_to_base58` f11dad22a506e10fbbfbcb6ccf32754bf8e72b72 test: refactor: remove unneeded bytes<->hex conversions in `byte_to_base58` (Sebastian Falbesoner) Pull request description: It seems like the only reason for using hex strings in this method was to have a convenient way to convert to an integer from the input data interpreted as big-endian. In Python3 we have `int.from_bytes(..., 'big')` for that purpose, hence there is no need for that anymore and we can simply operate on bytes only. ACKs for top commit: laanwj: Code review ACK f11dad22a506e10fbbfbcb6ccf32754bf8e72b72 Tree-SHA512: 9b1563010066ca74d85139c3b9259e9a5bb49e1f141c30b6506a0445afddb2bde7fd421fdd917dc516956e66f93610e2c21d720817640daee8f57f803be76ee4
2022-02-15Merge bitcoin/bitcoin#24336: Print enable_fuzz_binary in configureMarcoFalke
faef344f84a566436ffe2a277dec2cd6c7e1664b Print enable_fuzz_binary in configure (MarcoFalke) Pull request description: A *disabled* `enable_fuzz` on current master does *not* mean the the fuzz binary is not compiled. This is confusion, so fix it. * `enable_fuzz` toggles compilation flags for fuzzing and disables all other target. There is no need to print this in the configure result, because the compilation flags are already printed. Also, all other targets are already printed as `no`. * `enable_fuzz_binary` does what it says it does and is currently not printed. So print it. ACKs for top commit: hebasto: ACK faef344f84a566436ffe2a277dec2cd6c7e1664b, tested on Linux Mint 20.2 (x86_64): Tree-SHA512: 9b02b05c4b9c5fc92cf3487497392690303c36eace5e217f18b4349f059b5a23a7c0e0d030fb6fa7bbad83e927576a5e81c00099164f9ed8e185c0969dc17689
2022-02-15Merge bitcoin/bitcoin#24340: util: Add missing unlinkat to syscall sandboxMarcoFalke
fa455975e52db3296a36fde827755cf91321fc2f util: Add missing unlinkat to syscall sandbox (MarcoFalke) Pull request description: This will be needed for g++-12 (after libstdc++6 12-20220206). Steps to reproduce: ``` gdb --args ./src/bitcoind -sandbox=log-and-abort -regtest ./src/bitcoin-cli -regtest -named createwallet wallet_name=a descriptors=false ./src/bitcoin-cli -regtest stop ``` BT: ``` Thread 1 "b-shutoff" received signal SIGSYS, Bad system call. 0x00007ffff79564f7 in unlinkat () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) bt #0 0x00007ffff79564f7 in unlinkat () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007ffff7cc7335 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #2 0x00007ffff7cc94e3 in std::filesystem::remove_all(std::filesystem::__cxx11::path const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x00005555559d4918 in wallet::BerkeleyEnvironment::Flush (this=0x7fffc4005160, fShutdown=<optimized out>) at /usr/include/c++/12/bits/fs_path.h:595 #4 0x000055555592c058 in wallet::StopWallets (context=...) at /usr/include/c++/12/bits/shared_ptr_base.h:1665 #5 0x00005555556617ca in Shutdown (node=...) at ./src/init.cpp:293 #6 0x000055555563ada6 in AppInit (argv=<optimized out>, argc=<optimized out>, node=...) at ./src/bitcoind.cpp:249 #7 main (argc=<optimized out>, argv=<optimized out>) at ./src/bitcoind.cpp:273 ACKs for top commit: laanwj: Code review ACK fa455975e52db3296a36fde827755cf91321fc2f Tree-SHA512: e80a38828f8656040954c9befa2d1c9d5170e204dc09c61031633349897f51ccd85cc5c99a089c4726d7f5237875cd9ed3fa8ef864cd6c1c8a2b8250b392d57f
2022-02-15Merge bitcoin/bitcoin#24345: doc: Release process: fix broken link to Guix ↵fanquake
building docs 64645fa3e045ec30a57dbd416fcf66d4755f37c6 Release process: fix broken link to Guix building docs (Jeremy Rand) Pull request description: Not 100% sure whether this link was always broken or if the Guix docs renamed the heading at some point. Either way, seems good to fix it. ACKs for top commit: fanquake: ACK 64645fa3e045ec30a57dbd416fcf66d4755f37c6 Tree-SHA512: 4932059fe583c0d27c70febf8f4dd8cffd3e15567359c5429d2691e221afc6da319bf43ebcd264ae0f98302e1eeb67ffd763d3d7d06ab1633913555ee7461643
2022-02-15Merge bitcoin/bitcoin#24342: test: remove `import socket` in test_ipv6_localMarcoFalke
460fa8e0d9c1d08b5b5bca3fa02ba2763337aaf1 test: remove `import socket` in test_ipv6_local (brunoerg) Pull request description: Since this module (`socket`) is imported at the top of file, there is no need to import it again within the function. ACKs for top commit: MarcoFalke: cr ACK 460fa8e0d9c1d08b5b5bca3fa02ba2763337aaf1 Tree-SHA512: 031c17a776dedaa21b3ec6458ca822304e76a5a3f4494406e6b7b04f08cc2abefcfe742c462b60c9b3e2fee3cd110a69ed5ad413357886dc7b823abc916ea40e
2022-02-15Merge bitcoin-core/gui#509: Respect dialog modality and fix a regression in ↵Hennadii Stepanov
wallet unlock f730bd7d580502ae3c3b5953ada3724b59f5cd9b scripted-diff: Rename ShowModalDialogAndDeleteOnClose (Hennadii Stepanov) 5d7666b15164a16aaf3af49af8f73ff4bd392f6a qt: Revert 7fa91e831227e556bd8a7ae3da64bd59d4f30d5f partially (Hennadii Stepanov) 89c277a6fca1149f10f8b55874c702c341679765 qt: Delay shutdown while a modal dialog is active (Hennadii Stepanov) 8c0eb80f41bca7b08c94de0f08692fac23e3e9f0 qt: Disable tray icon menu when a modal dialog is active (Hennadii Stepanov) 92427354dd5f80cb5c042e7afbcd386968161be4 qt, refactor: Use local QAction instances for the tray icon menu (Hennadii Stepanov) 58e16035c1fc513fce0b09e02c7d863c63ec990d qt, refactor: Drop BitcoinGUI::{send,receive}CoinsMenuAction members (Hennadii Stepanov) fd667e73cd109bbfc14011f8c2c08556648b4c50 qt: Make show_hide_action dependent on the main window actual state (Hennadii Stepanov) ee151d032789fa03daa44ab44dd0fd70e51b145c qt: Drop BitcoinGUI::toggleHideAction member (Hennadii Stepanov) 78189daac8d13870ab6ed8421b9ed067cf7ebac5 qt, refactor: Fill up trayIconMenu before connections (Hennadii Stepanov) 66afa286e519deda2fcfd580f190b7af13407e72 qt, refactor: Replace BitcoinGUI::trayIconActivated with a lambda (Hennadii Stepanov) c3ca8364b2a8de8c73ecc0c7eed9608bd30e7e02 qt, refactor: Replace BitcoinGUI::macosDockIconActivated with a lambda (Hennadii Stepanov) Pull request description: As pointed in bitcoin/bitcoin#23790 a regression in wallet unlock was introduced in bitcoin-core/gui#336 when a synchronous `AskPassphraseDialog` has been replaced with an asynchronous one. This PR reverts a call back to a synchronous mode. To make synchronous dialogs behave nice during shutdown some additional changes were made. Please note that disabling the tray icon menu when a modal dialog is active is useful itself as on master (4ad59042b359f473d5888ecee0c9288dcf98f1c9) it is possible to switch to the "Receive" tab while the GUI is waiting for a password for the "Send" tab: ![Screenshot from 2021-12-17 18-59-51](https://user-images.githubusercontent.com/32963518/146580710-0a755f24-a166-414b-be60-7863232ac778.png) This is confusing and must be avoided. Fixes bitcoin/bitcoin#23790. ACKs for top commit: prayank23: tACK https://github.com/bitcoin-core/gui/pull/509/commits/f730bd7d580502ae3c3b5953ada3724b59f5cd9b Tree-SHA512: 2b68275754190e4a9831b96e882d3c5b005e03909aeb6f2c5846da07199bb3efbb74ce87a9d25bb139f643c43d377a2051b221d553281fa5aefdd3181a58077f
2022-02-14Release process: fix broken link to Guix building docsJeremy Rand
2022-02-14test: remove `import socket` in test_ipv6_localbrunoerg
2022-02-14Merge bitcoin/bitcoin#24326: build: minor cleanups to native_clang packagefanquake
4255b46693591ab930cc3c7f992ccfb6f250db8c build: remove -f from clang cp invocation (fanquake) dbcaba835d04043528874c999e7c729f5c513ee9 build: remove unused include dir from clang package (fanquake) Pull request description: Pulled out of #21778. Guix build: ```bash bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum b7fc20b23d2270f0bf39859fc2d9b75c687a0cceaf287b3871d872e8e7aaaeb6 guix-build-4255b4669359/output/arm64-apple-darwin/SHA256SUMS.part bd31487de1f49fd84b1eb37c744ea55b1268d729ec4715e7cb50a768b147628e guix-build-4255b4669359/output/arm64-apple-darwin/bitcoin-4255b4669359-arm64-apple-darwin.tar.gz 6eca741ecd7e35e5d917442326e8f64e2f745cb0cf8573e616fb1fc388d3376f guix-build-4255b4669359/output/arm64-apple-darwin/bitcoin-4255b4669359-osx-unsigned.dmg b54797d350e00a597478dadb3c7372d15306c095f63cc3e5257a3b1851856614 guix-build-4255b4669359/output/arm64-apple-darwin/bitcoin-4255b4669359-osx-unsigned.tar.gz af212f87138950a398e2cd1c3ebc69bbe90126ac916a735d5a24a91864e0a164 guix-build-4255b4669359/output/dist-archive/bitcoin-4255b4669359.tar.gz d25ab8698524f283958e32cbdfaa14d344d905f972c66987ff27286cb2abcdfa guix-build-4255b4669359/output/x86_64-apple-darwin/SHA256SUMS.part 39f069317efff319aea55d6f929ee4cd5e4c04cfb5cf84ea1e6500b18e368be3 guix-build-4255b4669359/output/x86_64-apple-darwin/bitcoin-4255b4669359-osx-unsigned.dmg dc755eff3cb4e628637f68c3e31a28ae41bbece1339067a2c0042f39899a275c guix-build-4255b4669359/output/x86_64-apple-darwin/bitcoin-4255b4669359-osx-unsigned.tar.gz d084f798f08cb175272ae420a68df3fa69c3b2be2fbe972c929dd4d4214039f7 guix-build-4255b4669359/output/x86_64-apple-darwin/bitcoin-4255b4669359-osx64.tar.gz ``` ACKs for top commit: hebasto: ACK 4255b46693591ab930cc3c7f992ccfb6f250db8c Tree-SHA512: a8b08a74dca8d6e82c32b23e031ff1b7484d7436d8d8b169c267462766f3ee270ea22342ab81b00daeaed9b93705d51931ff9a327da07337b242e7e0e4d0521c
2022-02-14Merge bitcoin/bitcoin#24254: build: Add Boost.Process usage checkfanquake
abc057c6030b2a0ddab46835a7801054da677781 build: Add Boost.Process usage check (Hennadii Stepanov) Pull request description: This PR adds a check that Boost.Process can be used without linking any libraries (header-only). Disable the functionality if that is not the case. Fixes bitcoin/bitcoin#24314. ACKs for top commit: fanquake: ACK abc057c6030b2a0ddab46835a7801054da677781 Tree-SHA512: ed2a32b1f751ec6f88cc7220766edd4cdab93c1d0515c892aa3094ee8d5b13ef569830d6e7a7a00c0197b117585dc526d00d943cc99a1f8c8a66ac4e20fe2061
2022-02-14Merge bitcoin/bitcoin#23955: build: add support for NetBSD in dependsfanquake
bcd36e14f0a2b89445f1436094de40696d6ad76c build: correct depends FreeBSD C{XX}FLAGS (fanquake) 7b06ffce9c50110b475c722918c55a14402346a5 build: add NetBSD support to depends (fanquake) Pull request description: Similar to #23948. Doesn't build the Qt package; I haven't looked at doing that yet, but have an assumption that it's going to fail out of the box similar to the FreeBSD build. Guix Build: ```bash ``` ACKs for top commit: theuni: ACK bcd36e14f0a2b89445f1436094de40696d6ad76c Tree-SHA512: 9a0946cefbcb9a92dd730b885463f3213e304c8d4b39fea8d831fc013a73d2ef998ca84e384bf45a01fa1449cf5a35eaffaa5b57a9062c2cdda34312d33ec3fc
2022-02-14Merge bitcoin/bitcoin#24115: ARMv8 SHA2 Intrinsicslaanwj
aaa1d03d3acebeb44fdd40a302f086aad3d329ce Add optimized sha256d64_arm_shani::Transform_2way (Pieter Wuille) fe0629852aaf3a26f291bfa535e7e455fe7bea06 Implement sha256_arm_shani::Transform (Pavol Rusnak) 48a72fa81f80c8a3c7c6de8339b5feb361dece1c Add sha256_arm_shani to build system (Pavol Rusnak) c2b79342506e24e9b7100fb7a6025dc870375ef6 Rename SHANI to X86_SHANI to allow future implementation of ARM_SHANI (Pavol Rusnak) Pull request description: This PR adds support for ARMv8 SHA2 Intrinsics. Fixes https://github.com/bitcoin/bitcoin/issues/13401 and https://github.com/bitcoin/bitcoin/issues/17414 * Integration part was done by me. * The original SHA2 NI code comes from https://github.com/noloader/SHA-Intrinsics/blob/master/sha256-arm.c * Minor optimizations from https://github.com/rollmeister/bitcoin-armv8/blob/master/src/crypto/sha256.cpp are applied too. * The 2-way transform added by @sipa ACKs for top commit: laanwj: Code review and lightly tested ACK aaa1d03d3acebeb44fdd40a302f086aad3d329ce Tree-SHA512: 9689d6390c004269cb1ee79ed05430d7d35a6efef2554a2b6732f7258a11e7e959b3306c04b4e8637a9623fb4c12d1c1b3592da0ff0dc6d737932db302509669
2022-02-14build: Add Boost.Process usage checkHennadii Stepanov
Check that Boost.Process can be used without linking any libraries (header-only). Disable the functionality if that is not the case.
2022-02-14build: correct depends FreeBSD C{XX}FLAGSfanquake
2022-02-14build: add NetBSD support to dependsfanquake
2022-02-14util: Add missing unlinkat to syscall sandboxMarcoFalke
2022-02-14build: remove -f from clang cp invocationfanquake
2022-02-14build: remove unused include dir from clang packagefanquake
2022-02-14test: refactor: remove unneeded bytes<->hex conversions in `byte_to_base58`Sebastian Falbesoner
It seems like the only reason for using hex strings in this method was to have a convenient way to convert to an integer from the input data interpreted as big-endian. In Python3 we have `int.from_bytes(..., 'big')` for that purpose, hence there is no need for that anymore and we can simply operate on bytes only.
2022-02-14Merge bitcoin/bitcoin#24309: test: test that OP_1-OP_16 (but not ↵fanquake
lower/higher) start witness programs 34d0e07e929c9dd12727d77896cc47f7ac4be680 Test that OP_1-OP_16 (but not lower/higher) start witness programs (Pieter Wuille) Pull request description: Cherry-picks one of the commits adding test coverage from #13062. As [pointed out by aj](https://github.com/bitcoin/bitcoin/pull/13062/files#r492723037): > could move the test additions to the first commit, since they're testing things that are already true Pull the additional test code into master earlier. ACKs for top commit: laanwj: Code review ACK 34d0e07e929c9dd12727d77896cc47f7ac4be680 Tree-SHA512: ff0ab2a54613ea6e8246b443363b362dd41b5e464faba4d11be6003aa6588a626cf56e142a3b94465cd37dd3ac4debea08455db96bade336171b6c30ea894950
2022-02-14Merge bitcoin/bitcoin#24187: Followups for getdeploymentinfoMarcoFalke
e5f0356e3ffea10f447998b7549a67e016446e81 rpc/blockchain: rename getdeploymentinfo tip/active_chain_tip to blockindex (Anthony Towns) fbab43f169924c681ef085639b3e4de6c74a4958 rpc/blockchain: a constant craving (Anthony Towns) 5179656ef83a563133e32893f4acfd61d1aebdcb trivial: comment tweaks (Anthony Towns) 32f04e6da9845c218f9bbd8b8329f35ed3678a49 rpc documentation improvements (Anthony Towns) 555eafa7930a84d8ca594bea9fe39f63cfa75076 doc: getdeploymentinfo release notes tweaks (Anthony Towns) Pull request description: Documentation, comments and trivial code changes to followup #23508. ACKs for top commit: Sjors: utACK e5f0356e3ffea10f447998b7549a67e016446e81 Tree-SHA512: 4e854a8453588901edb887504f7bfa100cc32df2e99654a5e5970032a0bd63259ba0582479e15bc09ef4792c6672715007f89eb1a7b2d7e229433a678cde9f44
2022-02-14Merge bitcoin/bitcoin#24301: build: header-only Boostfanquake
5d399f9f3df513a0400049238f5ef0ef2352d57e build: remove native B2 package (fanquake) 2037a3b6c1222d2802ff7c8463f2bb79ba8b57d8 build: header-only Boost (fanquake) 39e66e938fb688f5400ad94a1b317fcc2a87bc31 build: use header-only Boost unit test (fanquake) Pull request description: This PR converts our Boost usage to header only. We switch from using our last remaining Boost lib (unit test), to using it's header-only implementation (see https://www.boost.org/doc/libs/1_78_0/libs/test/doc/html/boost_test/adv_scenarios/single_header_customizations/multiple_translation_units.html). Also related to #24291. Guix build: ```bash ``` ACKs for top commit: hebasto: re-ACK 5d399f9f3df513a0400049238f5ef0ef2352d57e MarcoFalke: approach ACK 5d399f9f3df513a0400049238f5ef0ef2352d57e 📞 Tree-SHA512: e60835ee9c11aa941a64679616da2002d6cd86e464895372fafdd42ad6499d7eb1dde6f0013c60adaeb97bd191198430cb158a7a7417b38080dd7106b28e3ba5
2022-02-14Print enable_fuzz_binary in configureMarcoFalke
2022-02-14Merge bitcoin/bitcoin#24319: refactor: Avoid unsigned integer overflow in ↵MarcoFalke
core_write fa6065661a86656a29e89ed1a3529cb7103f5394 refactor: Avoid unsigned integer overflow in core_write (MarcoFalke) Pull request description: Also, I find the new code a bit easier to understand. ACKs for top commit: shaavan: Code Review ACK fa6065661a86656a29e89ed1a3529cb7103f5394 Tree-SHA512: cd751e3b4dc97ef525eb8be8d0a49e9629389cb114df18d59a06e05388822af2939078e937f01494e6b317d601743b1a433ba47aa40c4dc602372d1f0fd0dc11
2022-02-14Merge bitcoin/bitcoin#24180: script: Handle request exception and check svg ↵laanwj
image in getcoins.py 7c7dbe43983ea8408ece8e483320ec55083d6c09 improved getcoins.py (sh15h4nk) Pull request description: Improvement to getcoins.py: - handled request excecptions - added limit handler to SVG size - restricted format - added caption to captcha (From the url) Fixes https://github.com/bitcoin/bitcoin/issues/24119 ACKs for top commit: laanwj: Tested ACK 7c7dbe43983ea8408ece8e483320ec55083d6c09 Tree-SHA512: b0311b8d69c604db80b0802659c874760f7c2aa79c1f27637f8c03d0d95516d184514ff226e1ba3e1dcf506f5be4013a2d71e66369e03739a7add0e0ba80190c
2022-02-13build: remove native B2 packagefanquake
2022-02-13build: header-only Boostfanquake
2022-02-13build: use header-only Boost unit testfanquake
2022-02-13improved getcoins.pysh15h4nk
2022-02-13Merge bitcoin/bitcoin#24276: build, refactor: Improve package version usagefanquake
edc9a6afdc6926b40de2fed897b9b866d58f28d2 build, refactor: Reuse expat package version in its download path (Hennadii Stepanov) 4bb7821ab243325467a89ff8ffc1bed290f2cb58 build, refactor: Use conventional version notation for boost package (Hennadii Stepanov) Pull request description: `boost` package: - `.` is used as a separator in versions of other depends packages. `expat` package: - reuse package version in its download path --- The straightforward way to verify this PR: ``` $ cd depends $ make clean-all $ make boost_fetched $ make expat_fetched ``` ACKs for top commit: prusnak: ACK edc9a6a shaavan: ACK edc9a6afdc6926b40de2fed897b9b866d58f28d2 Tree-SHA512: c15d672fe34ac59850425d3d6a6eee5f720e16d227aad1332a563b218465879b7ee6fb865dd1bac06aedf356f9bb1c67112d9d88da8f877f04838b50a9dc97be
2022-02-13Merge bitcoin/bitcoin#24330: doc: release-process: Specify remote name in ↵MarcoFalke
"git fetch" 876b91c3833d388279baeae82e3efcb3d462f2ca release-process: Specify remote name in "git fetch" (Jeremy Rand) Pull request description: Avoids "does not appear to be a git repository" error. Fixes #24329 ACKs for top commit: shaavan: ACK 876b91c3833d388279baeae82e3efcb3d462f2ca Tree-SHA512: 0ba23cd51ca761823cab19200b69f07a5c23e1a501114e0af73b24195c306cebb789e187dd436f7b3895a10de31e41276bb2fc4b217cd152247d2704e44bc8da
2022-02-13release-process: Specify remote name in "git fetch"Jeremy Rand
Avoids "does not appear to be a git repository" error. Fixes #24329
2022-02-12scripted-diff: Rename ShowModalDialogAndDeleteOnCloseHennadii Stepanov
-BEGIN VERIFY SCRIPT- sed -i 's/ShowModalDialogAndDeleteOnClose/ShowModalDialogAsynchronously/' -- $(git grep -l -e "ShowModalDialogAndDeleteOnClose") -END VERIFY SCRIPT- It is important to highlight that a modal dialog is showed asynchronously as there are cases when the synchronous QDialog::exec() is required.
2022-02-12qt: Revert 7fa91e831227e556bd8a7ae3da64bd59d4f30d5f partiallyHennadii Stepanov
The AskPassphraseDialog modal dialog must be synchronous here as expected in the WalletModel::requestUnlock() function. Fixed an introduced regression.
2022-02-12qt: Delay shutdown while a modal dialog is activeHennadii Stepanov
2022-02-12qt: Disable tray icon menu when a modal dialog is activeHennadii Stepanov
2022-02-12qt, refactor: Use local QAction instances for the tray icon menuHennadii Stepanov
This change is required for the following commit.
2022-02-12Merge bitcoin/bitcoin#24277: build: Fix `make deploy` for Windows when ↵fanquake
building out of source tree a5f67b4ca809666661b9dfc773806523e487ea66 build: Fix `make deploy` for Windows when building out of source tree (Hennadii Stepanov) Pull request description: On master (1e7564eca8a688f39c75540877ec3bdfdde766b1): ``` $ make distclean $ mkdir ../build $ cd ../build $ CONFIG_SITE=$PWD/../bitcoin/depends/x86_64-w64-mingw32/share/config.site ../bitcoin/configure $ make $ make deploy ... File: "/home/hebasto/GitHub/build/../bitcoin/release/bitcoin-qt.exe" -> no files found. Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] | /oname=outfile one_file_only) Error in script "<stdin>" on line 75 -- aborting creation process error: could not build bitcoin-22.99.0-win64-setup.exe built bitcoin-22.99.0-win64-setup.exe ``` This PR fixes this bug. ACKs for top commit: laanwj: Code review ACK a5f67b4ca809666661b9dfc773806523e487ea66 Tree-SHA512: 7ac2f15cdc433fe509f2392d08a3c611b190a11ff92f718902cf9e25cfb9515f3840f4ddf2b1bfb8a1090e85773e671405c838cbe2b970205a12c20ebaf645bd
2022-02-11Merge bitcoin/bitcoin#23998: build: support OpenBSD in dependsfanquake
471d15536f12889077578884fca33d1b0930fd66 build: add support for OpenBSD to depends (fanquake) 75ae39eeec22e56c92f1241ff2ae87ad9a974625 build: add a default build tar in depends (fanquake) Pull request description: Completes the BSD trifecta. No Qt. Includes a commit that adds a default build_TAR to depends, to make it easier to override and use gnu/gtar, as OpenBSDs tar does not support some of the options we use. Also includes this patch, https://github.com/boostorg/test/commit/684f067dde3b798877655cdda4eab8d7c26b2510, to fix a compilation issue in Boost test. Have tested on OpenBSD 7.0 with: ```bash gmake -C depends -j9 ./autogen.sh CONFIG_SITE=/home/vagrant/bitcoin/depends/amd64-unknown-openbsd7.0/share/config.site ./configure --disable-external-signer MAKE=gmake gmake check -j9 ``` ACKs for top commit: laanwj: Tested ACK 471d15536f12889077578884fca33d1b0930fd66 theStack: Tested ACK 471d15536f12889077578884fca33d1b0930fd66 Tree-SHA512: 7009b5d4c84355ebe4ece7042e0ce131659b97eace611fb77f1f16901aafb4b28118961a608a245289772ef7c4acb606dc18357a82c91cdceaf6466fc1cfd242
2022-02-11Merge bitcoin/bitcoin#24307: RPC: Return external_signer in getwalletinfoAndrew Chow
b75f4c89ec4d33a3014ccd5151964881b5e0aa1c RPC: Return external_signer in getwalletinfo (Kristaps Kaupe) Pull request description: Add `external_signer` to the result object of `getwalletinfo` RPC which indicates whether `WALLET_FLAG_EXTERNAL_SIGNER` flag is set for the wallet. ACKs for top commit: S3RK: utACK b75f4c89ec4d33a3014ccd5151964881b5e0aa1c achow101: ACK b75f4c89ec4d33a3014ccd5151964881b5e0aa1c prayank23: utACK https://github.com/bitcoin/bitcoin/pull/24307/commits/b75f4c89ec4d33a3014ccd5151964881b5e0aa1c brunoerg: utACK b75f4c89ec4d33a3014ccd5151964881b5e0aa1c Tree-SHA512: 066ccb97541fd4dc3d9728834645db714a3c8c93ccf29142811af4d79cfb9440a97bbb6c845434a909bc6e1775ef3737fcbb368c1f0582bc63973f6deb17a45f
2022-02-11refactor: Avoid unsigned integer overflow in core_writeMarcoFalke
2022-02-11Merge bitcoin/bitcoin#24308: util: use stronger-guarantee rename methodMarcoFalke
ee822d85d6de7db85416190cf843ad74147519cf util: use stronger-guarantee rename method (Vasil Dimov) Pull request description: Use std::filesystem::rename() instead of std::rename(). We rely on the destination to be overwritten if it exists, but std::rename()'s behavior is implementation-defined in this case. This is a rebase of #20435 by vasild. ACKs for top commit: MarcoFalke: review ACK ee822d85d6de7db85416190cf843ad74147519cf hebasto: Approach ACK ee822d85d6de7db85416190cf843ad74147519cf. vasild: ACK ee822d85d6de7db85416190cf843ad74147519cf Tree-SHA512: 8f65f154d235c2704f18008d9d40ced3c5d84e4d55653aa70bde345066b6083c84667b5a2f4d69eeaad0bec6c607645e21ddd2bf85617bdec4a2e33752e2059a
2022-02-11Merge bitcoin/bitcoin#24316: ci: Rename Cirrus CI osx_instance to macos_instanceMarcoFalke
c49e7db8ae771ab97f24e0bf74359ee474a17ddc ci: Follow Cirrus CI docs (Hennadii Stepanov) Pull request description: See https://github.com/cirruslabs/cirrus-ci-docs/pull/763. ACKs for top commit: katesalazar: ACK c49e7db8ae771ab97f24e0bf74359ee474a17ddc Tree-SHA512: b86d571258e2682113833d575ca36a60b108ee38f2d74846b7631a29b9578cad00a29e62a3a1d808b21d2de3a27230f9ac58814c9f9b02d08675e65170ccd7e5
2022-02-11ci: Follow Cirrus CI docsHennadii Stepanov
See https://github.com/cirruslabs/cirrus-ci-docs/pull/763
2022-02-11Merge bitcoin/bitcoin#24241: doc: cleanup doc on need of Developer Account ↵fanquake
to obtain macOS SDK ddcac22f092de6f3a2a67acb3288a990fd13cb01 doc: cleanup doc on need of Developer Account to obtain macOS SDK (jarolrod) Pull request description: The explicit statement that an Apple Developer Account is required in order to obtain the SDK is buried within the `Deterministic macOS DMG Notes` section. It should be the first thing mentioned under the `SDK Extraction` section. The reason to do this is to set expectations of what is required before starting any steps or clicking on links. This fixes the issue by doing just that; moving this information to the `SDK Extraction` section. Now that the information is moved, this also deletes unnecessary SDK related notes from the `Deterministic macOS DMG Notes` section. It is not necessary to explain under what sub-directory 'most' of the important files are inside of the `Xcode.app`. Note that this also fixes a missed Xcode version link bump by deleting it :) ACKs for top commit: fanquake: ACK ddcac22f092de6f3a2a67acb3288a990fd13cb01 Tree-SHA512: 9fe7fddd66b68a0475be8b0c78cb58932bf5b68d962ece36a86f3b743a88d8561c0ec3e8d88bcaf338da7ab9d3dfcfb9399f6e1a884d83c8f3117c186d049469
2022-02-10doc: cleanup doc on need of Developer Account to obtain macOS SDKjarolrod
The explicit statement that an Apple Developer Account is required in order to obtain the SDK is buried within the "Deterministic macOS DMG Notes" section. It should be the first thing mentioned under the "SDK Extraction" section. The reason to do this is to set expectations of what is required before starting any steps or clicking on links. This fixes the issue by doing just that; moving this information to the "SDK Extraction" section. Now that the information is moved, this also deletes unnecessary SDK related notes from the "Deterministic macOS DMG Notes" section. It is not necessary to explain under what sub-directory 'most' of the important files are inside of the 'Xcode.app'.
2022-02-10build: add support for OpenBSD to dependsfanquake
2022-02-10build: add a default build tar in dependsfanquake
This is so we can override it later for BSDs.
2022-02-10Merge bitcoin/bitcoin#24238: random: use arc4random on OpenBSDlaanwj
0c49e52b22be1baa8d51670e4f3c437fd3c0baa7 build: remove unneeded getentropy detection (HAVE_GETENTROPY) (Sebastian Falbesoner) 5cd15ffdceace3a077d4719ef7c1704336d602e1 random: use arc4random on OpenBSD (Sebastian Falbesoner) Pull request description: Inspired by a discussion on obtaining randomness on various OSes in a secp256k1 PR (https://github.com/bitcoin-core/secp256k1/pull/748#discussion_r524605472, see also https://bitcoincore.reviews/libsecp256k1-748), I think it makes sense to follow best practices and use `arc4random_buf` rather than `getentropy` on OpenBSD in our random module. The [getentropy(2) man page](https://man.openbsd.org/getentropy.2) states: ``` getentropy() is not intended for regular code; please use the arc4random(3) family of functions instead. ``` The [arc4random(3) man page](https://man.openbsd.org/arc4random.3) states: ``` Use of these functions is encouraged for almost all random number consumption because the other interfaces are deficient in either quality, portability, standardization, or availability. ``` On the linked PR discussion worries about using RC4 internally has been expressed (see https://security.stackexchange.com/questions/85601/is-arc4random-secure-enough/172905#172905), but this would only affect users of OpenBSD <5.5, using a version that was released more than 8 years ago. ACKs for top commit: laanwj: Tested ACK 0c49e52b22be1baa8d51670e4f3c437fd3c0baa7 Tree-SHA512: b5ed3d0718962c5a3839db9a28f93d08a0ac93094cc664f83bc4cf1cfad25049e6240b7b81fe06b71e6a3a0ca24a2c337eab088abec5470ad014e10c04fdb216