32621 Commits

Author SHA1 Message Date
Hennadii Stepanov
1695d6661b
Merge bitcoin-core/gui#509: Respect dialog modality and fix a regression in 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 f730bd7d58

Tree-SHA512: 2b68275754190e4a9831b96e882d3c5b005e03909aeb6f2c5846da07199bb3efbb74ce87a9d25bb139f643c43d377a2051b221d553281fa5aefdd3181a58077f
2022-02-15 08:38:57 +02:00
fanquake
8fe6f5a6fb
Merge bitcoin/bitcoin#24326: build: minor cleanups to native_clang package
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-14 20:24:53 +00:00
fanquake
988058defb
Merge bitcoin/bitcoin#24254: build: Add Boost.Process usage check
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-14 20:21:10 +00:00
fanquake
9011d4d8ae
Merge bitcoin/bitcoin#23955: build: add support for NetBSD in depends
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-14 20:17:13 +00:00
laanwj
c23bf06492
Merge bitcoin/bitcoin#24115: ARMv8 SHA2 Intrinsics
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-14 21:12:39 +01:00
Hennadii Stepanov
abc057c603
build: Add Boost.Process usage check
Check that Boost.Process can be used without linking any libraries
(header-only). Disable the functionality if that is not the case.
2022-02-14 19:34:00 +02:00
fanquake
bcd36e14f0
build: correct depends FreeBSD C{XX}FLAGS 2022-02-14 16:52:26 +00:00
fanquake
7b06ffce9c
build: add NetBSD support to depends 2022-02-14 16:52:23 +00:00
fanquake
4255b46693
build: remove -f from clang cp invocation 2022-02-14 13:59:44 +00:00
fanquake
dbcaba835d
build: remove unused include dir from clang package 2022-02-14 13:59:09 +00:00
fanquake
3ce40e64d4
Merge bitcoin/bitcoin#24309: test: test that OP_1-OP_16 (but not 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-14 10:40:11 +00:00
MarcoFalke
af0b578041
Merge bitcoin/bitcoin#24187: Followups for getdeploymentinfo
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-14 11:17:59 +01:00
fanquake
e0367e84b3
Merge bitcoin/bitcoin#24301: build: header-only Boost
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-14 10:04:17 +00:00
MarcoFalke
fd25d3493d
Merge bitcoin/bitcoin#24319: refactor: Avoid unsigned integer overflow in 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-14 10:08:38 +01:00
laanwj
3eec29ed3a
Merge bitcoin/bitcoin#24180: script: Handle request exception and check svg 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-14 09:12:00 +01:00
fanquake
5d399f9f3d
build: remove native B2 package 2022-02-13 20:59:07 +00:00
fanquake
2037a3b6c1
build: header-only Boost 2022-02-13 20:59:07 +00:00
fanquake
39e66e938f
build: use header-only Boost unit test 2022-02-13 20:59:02 +00:00
sh15h4nk
7c7dbe4398 improved getcoins.py 2022-02-13 22:59:31 +05:30
fanquake
25a91a571a
Merge bitcoin/bitcoin#24276: build, refactor: Improve package version usage
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-13 11:22:36 +00:00
MarcoFalke
b1aa3b1959
Merge bitcoin/bitcoin#24330: doc: release-process: Specify remote name in "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-13 08:58:09 +01:00
Jeremy Rand
876b91c383
release-process: Specify remote name in "git fetch"
Avoids "does not appear to be a git repository" error.

Fixes #24329
2022-02-13 06:02:25 +00:00
Hennadii Stepanov
f730bd7d58
scripted-diff: Rename ShowModalDialogAndDeleteOnClose
-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-12 23:00:45 +02:00
Hennadii Stepanov
5d7666b151
qt: Revert 7fa91e831227e556bd8a7ae3da64bd59d4f30d5f partially
The AskPassphraseDialog modal dialog must be synchronous here as
expected in the WalletModel::requestUnlock() function.

Fixed an introduced regression.
2022-02-12 23:00:45 +02:00
Hennadii Stepanov
89c277a6fc
qt: Delay shutdown while a modal dialog is active 2022-02-12 23:00:45 +02:00
Hennadii Stepanov
8c0eb80f41
qt: Disable tray icon menu when a modal dialog is active 2022-02-12 23:00:44 +02:00
Hennadii Stepanov
92427354dd
qt, refactor: Use local QAction instances for the tray icon menu
This change is required for the following commit.
2022-02-12 23:00:31 +02:00
fanquake
b6b7815ddc
Merge bitcoin/bitcoin#24277: build: Fix make deploy for Windows when 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-12 13:09:45 +00:00
fanquake
3bb9394070
Merge bitcoin/bitcoin#23998: build: support OpenBSD in depends
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, 684f067dde, 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-11 21:18:53 +00:00
Andrew Chow
2d7ea201fc
Merge bitcoin/bitcoin#24307: RPC: Return external_signer in getwalletinfo
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 b75f4c89ec
  brunoerg:
    utACK b75f4c89ec4d33a3014ccd5151964881b5e0aa1c

Tree-SHA512: 066ccb97541fd4dc3d9728834645db714a3c8c93ccf29142811af4d79cfb9440a97bbb6c845434a909bc6e1775ef3737fcbb368c1f0582bc63973f6deb17a45f
2022-02-11 12:20:22 -05:00
MarcoFalke
fa6065661a
refactor: Avoid unsigned integer overflow in core_write 2022-02-11 17:21:44 +01:00
MarcoFalke
b79c40b057
Merge bitcoin/bitcoin#24308: util: use stronger-guarantee rename method
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-11 16:41:25 +01:00
MarcoFalke
bcecde64b4
Merge bitcoin/bitcoin#24316: ci: Rename Cirrus CI osx_instance to macos_instance
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-11 13:21:01 +01:00
Hennadii Stepanov
c49e7db8ae
ci: Follow Cirrus CI docs
See https://github.com/cirruslabs/cirrus-ci-docs/pull/763
2022-02-11 13:52:22 +02:00
fanquake
5f7f2f7ffa
Merge bitcoin/bitcoin#24241: doc: cleanup doc on need of Developer Account 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-11 08:39:54 +00:00
jarolrod
ddcac22f09 doc: cleanup doc on need of Developer Account to obtain macOS SDK
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-10 23:50:16 -05:00
fanquake
471d15536f
build: add support for OpenBSD to depends 2022-02-10 12:33:10 +00:00
fanquake
75ae39eeec
build: add a default build tar in depends
This is so we can override it later for BSDs.
2022-02-10 12:33:02 +00:00
laanwj
a7e80449c0
Merge bitcoin/bitcoin#24238: random: use arc4random on OpenBSD
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
2022-02-10 10:00:51 +01:00
Pieter Wuille
34d0e07e92
Test that OP_1-OP_16 (but not lower/higher) start witness programs 2022-02-10 08:51:48 +00:00
Vasil Dimov
ee822d85d6
util: use stronger-guarantee rename method
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.
2022-02-10 08:16:05 +00:00
fanquake
243a9c3925
Merge bitcoin/bitcoin#24297: Fix unintended unsigned integer overflow in strencodings
fac9fe5d051264fcd16e8e36d30f28c05c999837 Fix unintended unsigned integer overflow in strencodings (MarcoFalke)

Pull request description:

  This fixes two issues for strings that start with a colon and only have one colon:

  * `fMultiColon` is incorrectly set to `true`
  * There is an unsigned integer overflow `colon - 1` (`0 - 1`)

  Neither issue matters, as the result is discarded. Though, it makes sense to still fix the issue for clarity and to avoid sanitizer issues in the function.

ACKs for top commit:
  laanwj:
    Code review ACK fac9fe5d051264fcd16e8e36d30f28c05c999837
  shaavan:
    Code Review ACK fac9fe5d051264fcd16e8e36d30f28c05c999837

Tree-SHA512: e71c21a0b617abf241e561ce6b90b963e2d5e2f77bd9547ce47209a1a94b454384391f86ef5d35fedd4f4df19add3896bb3d61fed396ebba8e864e3eeb75ed59
2022-02-10 07:17:32 +00:00
fanquake
8796c2f568
Merge bitcoin/bitcoin#24302: test: Remove unused integer sanitizer suppressions
fa2807ef19307e42676928ebbec6e43d7235e2d8 test: Remove unused integer sanitizer suppressions (MarcoFalke)

Pull request description:

  Looks like they are not needed anymore. Maybe due to commit 7de2cf9b258590ffefd724abe0d4458f282b95c3 ?

ACKs for top commit:
  fanquake:
    ACK fa2807ef19307e42676928ebbec6e43d7235e2d8

Tree-SHA512: 300aa47bd2cf6d44ad0d1d78889afeeb9ed0d7080f330e912db4c295dd13c43aaccdfbd4d7251006d2c0b848af6fb0d52104142ff528564edac8af49318f9f50
2022-02-10 07:15:37 +00:00
fanquake
3dc0bb9552
Merge bitcoin/bitcoin#24298: fuzz: Avoid unsigned integer overflow in FormatParagraph
fa2f7d005932bff9b7d27744ae517b9e7910df8d fuzz: Avoid unsigned integer overflow in FormatParagraph (MarcoFalke)

Pull request description:

  `FormatParagraph` is only ever called with compile time constant arguments, so I don't see the need for fuzzing it.

  Though, keep it for now, but avoid the unsigned integer overflow with this patch.

ACKs for top commit:
  laanwj:
    Code review ACK fa2f7d005932bff9b7d27744ae517b9e7910df8d

Tree-SHA512: 01fc64a9ef73c183921ca1b0cd8db9514c0a242e3acf215a3393f383ae129e01625ebb16eaf9cb86370eda62d0145c3dcf8f62e40edf5958abc1f777c5687280
2022-02-10 07:14:24 +00:00
Kristaps Kaupe
b75f4c89ec
RPC: Return external_signer in getwalletinfo 2022-02-10 03:23:47 +02:00
fanquake
8c0f02c69d
Merge bitcoin/bitcoin#24265: Drop StripRedundantLastElementsOfPath() function
ebda2b8c819d989327c6b3e29237dfb43628e647 util: Drop no longer needed StripRedundantLastElementsOfPath() function (Hennadii Stepanov)
ecd094e2b1e1eb7dba24dafef3640a9b6cc55f82 Use ArgsManager::GetPathArg() for "-walletdir" option (Hennadii Stepanov)
06fed4c21ec64cd224231d15cbbeb985b8fba5f2 Use ArgsManager::GetPathArg() for "-blocksdir" option (Hennadii Stepanov)
15b632bf169f6272ca90faba8d8036e3e822542f Use ArgsManager::GetPathArg() for "-datadir" option (Hennadii Stepanov)
540ca5111f7dc91a9808e41ccb4446d8dc0a1bec util: Add ArgsManager::GetPathArg() function (Hennadii Stepanov)

Pull request description:

  [Switching](https://github.com/bitcoin/bitcoin/pull/20744) to `std::filesystems` makes possible to leverage [`std::filesystem::path::lexically_normal`](https://en.cppreference.com/w/cpp/filesystem/path/lexically_normal) and get rid of ugly `StripRedundantLastElementsOfPath()` crutch.

  To make its usage simple and error-proof, a new `ArgsManager::GetPathArg()` member function introduced which guarantees to return a normalized with no trailing slashes paths provided via `-datadir`, `-blocksdir` or `-walletdir` command-line arguments or configure options.

ACKs for top commit:
  ryanofsky:
    Code review ACK ebda2b8c819d989327c6b3e29237dfb43628e647. Only change since last review is rebase which simplified the last commit

Tree-SHA512: ed86959b6038b7152b5a1d473478667b72caab1716cc9149e1a75833d50511f22157e4e5e55a9465d1fa76b90bce5e5286f4e4f0d1ae65ebd9c012fae19d835f
2022-02-09 21:41:36 +00:00
MarcoFalke
fa2807ef19
test: Remove unused integer sanitizer suppressions 2022-02-09 21:26:25 +01:00
Hennadii Stepanov
ebda2b8c81
util: Drop no longer needed StripRedundantLastElementsOfPath() function 2022-02-09 19:33:24 +02:00
Hennadii Stepanov
ecd094e2b1
Use ArgsManager::GetPathArg() for "-walletdir" option 2022-02-09 19:31:23 +02:00
Hennadii Stepanov
06fed4c21e
Use ArgsManager::GetPathArg() for "-blocksdir" option 2022-02-09 19:31:23 +02:00