Commit Graph

20400 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
07a7fda225
Merge #15939: gitian: Remove Windows 32 bit build
fa193dc8e6f3b96fa2dba2f1c1668f7720fed320 doc: Remove win32 from the release process (MarcoFalke)
faf666f8148eeb305a9c4f78459aff2c7268016b Remove Windows 32 bit build (MarcoFalke)

Pull request description:

  The Windows 32 bit build has been removed from https://bitcoincore.org/en/download/, so unless there are complaints, we don't need to build it even

ACKs for commit fa193d:
  fanquake:
    utACK fa193dc8e6

Tree-SHA512: d6f2976a2e0c407698f720b00ac23ec4056626de4eff8621f4c5581120af0460afd1bdef72329cc0e7d92afca48d94ae5fce6777cb36bfabb60b8034ff08fd88
2021-09-02 22:27:58 +03:00
Wladimir J. van der Laan
01a6b2334e
Merge #15766: scripts and tools: Upgrade gitian image before signing
beda0dae953aa125e08302713d2c7b214eddbe5a Upgrade gitian image before signing (Hennadii Stepanov)

Pull request description:

  The package upgrade in the Ubuntu repositories in the period between the building and the signing causes (particularly, using LXC) an error:
  ```
  Creating package manifest
  Could not download some packages, please run gbuild --upgrade
  ```

  For example, the [`busybox-initramfs`](https://packages.ubuntu.com/bionic/busybox-initramfs) package was [upgraded](http://changelogs.ubuntu.com/changelogs/pool/main/b/busybox/busybox_1.27.2-2ubuntu3.2/changelog) from `1:1.27.2-2ubuntu3.1` to `1:1.27.2-2ubuntu3.2` on 2019-03-06.

  This PR forces gitian image upgrade for the `--sign` command.

  Ref:
  [devrandom/gitian-builder/target-bin/grab-packages.sh](04ab7c1218/target-bin/grab-packages.sh)
  ```
  #!/bin/sh

  # Get an installed package manifest

  set -e

  cd /var/cache/apt/archives

  # make sure all packages with installed versions are downloaded
  # (except for held packages, which may not be available for download)
  dpkg-query -W -f '${Status}\t${Package}=${Version}\n' | grep -v ^hold | cut -f2- | xargs -n 50 apt-get install -q --reinstall -y -d > /tmp/download.log
  grep "cannot be downloaded" /tmp/download.log && { echo Could not download some packages, please run gbuild --upgrade 1>&2 ; exit 1 ; }
  sha256sum *.deb | sort --key 2
  ```

ACKs for commit beda0d:
  laanwj:
    utACK beda0dae953aa125e08302713d2c7b214eddbe5a
  fanquake:
    utACK beda0da

Tree-SHA512: e2e3b3e3719e098d266ceec39bd69b950344a4eb2f43ae6ad3e696add70f743b363cc83676e339f7caa207d6478029869a8af01fe1f6d5690d2857003f7d8ce8
2021-09-02 22:27:57 +03:00
MarcoFalke
1e781c016f
Merge #15239: scripts and tools: Move non-linux build source tarballs to "bitcoin-binaries/version" directory
5c04814b2d Move non-linux source tarball to bitcoin-binaries (Hennadii Stepanov)

Pull request description:

  Currently, if a user makes a non-linux (`--os=w`, `--os=m` or `--os=wm`) gitian building with the `gitian-build.py` script, source tarballs are not moved to the `bitcoin-binaries/${VERSION}` directory.

  This PR fixes this bug.

  ~~In addition, the `src` subdirectory in the `gitian-builder/build/out` directory is no longer used as unnecessary.~~

ACKs for commit 5c0481:
  fanquake:
    utACK 5c04814
  ken2812221:
    utACK 5c04814b2de179fd03ca18c19049f035a2454f81

Tree-SHA512: 8648b6cbf502c012b12642783870e37aea385bd5f4cba5cb577fee924c09685e9a117676be502e4d4783c7a8ab31a2bd495970eec42a42d78e86ac5d39323091
2021-09-02 22:27:57 +03:00
Wladimir J. van der Laan
bd25487a13
Merge #14325: [gitian] use versioned unsigned tarballs instead of generically named ones
d813266db1f23f49465aa2aca3c3c80a95cf63d9 [gitian] use versioned unsigned tarballs instead of generically named ones (Andrew Chow)

Pull request description:

  Instead of re-naming the tarballs used for the code signing step to the generically named tarball that is used, keep the versioned naming. Only copy them to the correct filename when they are needed at build time.

  This makes it easier to handle situations when multiple different releases are being built simultaneously as the version that the code signatures are applied to will actually be the correct version and not require a rebuild to get the correct tarball.

Tree-SHA512: 434f721485521c6f7487038705a5d2e48ac2eb79cfad5f92a93b7ea9c91e1fb33702ce7aeed4d840c61ec43e808af5cc15a553b6e16e2ed1d7ac697485019204
2021-09-02 22:27:54 +03:00
UdjinM6
03d6db5eae
Merge pull request #4382 from UdjinM6/fix_thread_safety
Catch thread safety warnings in CI (and fix them)
2021-09-02 22:26:16 +03:00
UdjinM6
c445f384b7
More of 13743: refactor: Replace boost::bind with std::bind (#4385) 2021-09-02 22:25:28 +03:00
UdjinM6
ede5e9f1f8
ci: Add --enable-werror flag to macos CI build 2021-09-02 03:05:02 +03:00
UdjinM6
8eafd332c3
Add missing cs_main locks/checks 2021-09-02 03:04:40 +03:00
MarcoFalke
8c64eec579
Merge #14772: refactor: Convert comments to thread safety annotations
fa71eb5196 Convert comments to thread safety annotations (MarcoFalke)

Pull request description:

  Convert human-only-readable annotations to human-and-machine-readable annotations.

Tree-SHA512: 98a97b32b50e8ec816626ed853d56c9afb31065eb14f058cda8f22a16ddd2b0c02911f9e30478aa347f466891f972496d89a828eb6e4662fb712d7d9e7643d49
2021-09-02 03:04:40 +03:00
Kittywhiskers Van Gogh
35bc42feb0
build: patch relic to satisfy gcc 11's stricter requirements (#4384) 2021-09-02 03:03:04 +03:00
UdjinM6
27b25fdf77
Merge pull request #4354 from PastaPastaPasta/add-dash-cpp-linter
lint: Add dash cpp linter and partially backport 19844
2021-09-02 03:02:13 +03:00
PastaPastaPasta
b483948627
Merge pull request #4255 from kittywhiskers/darwinqol
build: gitian, linting and macOS-specific QoL improvements (part 1)
2021-09-01 19:51:48 -04:00
Kittywhiskers Van Gogh
a358d2e593 merge #16392: macOS toolchain update 2021-09-02 01:55:01 +05:30
Kittywhiskers Van Gogh
a8e8a3d585 merge #15236: scripts and tools: Make --setup command independent
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-09-02 01:54:52 +05:30
pasta
277c2093d7
lint: add dash extended cpp linter
Signed-off-by: pasta <pasta@dashboost.org>
2021-09-01 14:08:52 -04:00
Dzutte
6d90e71076
Merge #12490: [Wallet] [RPC] Remove deprecated wallet rpc features from bitcoin_server (#4380)
f7e9e70468 [rpc] Remove deprecated sigrawtransaction rpc method. (John Newbery)
90c834089a [RPC] Remove warning about wallet addresses in createmultisig() (John Newbery)
df905e390e [rpc] Remove deprecated validateaddress usage. (John Newbery)

Pull request description:

  The following rpc features were deprecated in V0.17:

  - `validateaddress` returning wallet information about an address
  - `signrawtransaction`

  This PR fully removes those features. It can be merged once V0.17 has been branched from master.

Tree-SHA512: 28293d218cf7e348632081e362f8775f243d091f49aed54c354f017d4a12ae92b87b99f81ee592a1bbf4aebd5d8cd5119278141edde7a0399ff82917ed68b9f6

Co-authored-by: MarcoFalke <falke.marco@gmail.com>
2021-08-31 23:31:31 -04:00
PastaPastaPasta
bbc8623245
Merge pull request #4356 from kittywhiskers/depends
merge bitcoin#18820, #19764, #13686, #17538, #18405: zmq backports, boost depends split
2021-08-31 15:31:38 -04:00
Vijay Manikpuri
07cf6cdf48
Merge #15144: [refactor] CNode: Use C++11 default member initializers (#4371)
* Merge #15144: [refactor] CNode: Use C++11 default member initializers

* Backport Merge #15144: [refactor] CNode: Use C++11 default member initializers

* Merge #15144: [refactor] CNode: Use C++11 default member initializers #4371

Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com>
2021-08-31 12:53:54 -04:00
Vijay Manikpuri
c52da55520
Merge #18502: doc: Update docs for getbalance (default minconf should be 0) (#4372)
* Merge #18502: doc: Update docs for getbalance (default minconf should be 0)

* Backporting Merge #18502: doc: Update docs for getbalance (default minconf should be 0)

* Update src/wallet/rpcwallet.cpp

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-08-31 12:53:15 -04:00
Vijay Manikpuri
c417db87c9
Merge #17519: rpc: Remove unused COINBASE_FLAGS (#4377)
* Merge #17519: rpc: Remove unused COINBASE_FLAGS

e9a27cf338dc618b8ecab8984abc54d588de8a05 refactor: Remove unused COINBASE_FLAGS (Neha Narula)

Pull request description:

  Commit d449772cf6 stopped setting
  COINBASE_FLAGS, and it looks like it hasn't been used since P2SH.

  Following up on #17489, remove COINBASE_FLAGS which is unused. I verified that removing this did not change the contents of the coinbase's scriptSig.

ACKs for top commit:
  laanwj:
    ACK e9a27cf338dc618b8ecab8984abc54d588de8a05
  MarcoFalke:
    ACK e9a27cf338dc618b8ecab8984abc54d588de8a05 💻

Tree-SHA512: f9dac124ce7e3edcae974137764bb5039387b1b123b86af44486e398aa4a8d91a9ecf640e207b364ae303acbbaee7cca300d303ea3d6869ba9cae2bf555a6334

* Update src/rpc/mining.cpp

Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>

Co-authored-by: Wladimir J. van der Laan <laanwj@protonmail.com>
Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
2021-08-31 12:51:34 -04:00
Kittywhiskers Van Gogh
2508eaf24e merge #17567: remove macOS start on login code 2021-08-31 11:16:13 +05:30
Kittywhiskers Van Gogh
d5b895bb3c merge #17057: switch to upstream libdmg-hfsplus 2021-08-31 11:16:12 +05:30
Kittywhiskers Van Gogh
9f1fd3f3fb merge #17184: Filter out macOS process serial number 2021-08-31 11:16:12 +05:30
Kittywhiskers Van Gogh
5b8e1b9fd9 merge #15601: Switch to python3 2021-08-31 11:16:12 +05:30
Kittywhiskers Van Gogh
0b13db2ac5 merge #14954: Require python 3.5 2021-08-31 11:16:12 +05:30
Kittywhiskers Van Gogh
def36ab1f4 merge #15208: remove macOS launch-at-startup when compiled with > macOS 10.11 2021-08-31 11:16:12 +05:30
Kittywhiskers Van Gogh
ced48380b8 partial merge #17550: set minimum supported macOS to 10.12 2021-08-31 11:16:04 +05:30
Vijay Manikpuri
e60b249883
Merge bitcoin#18584: test: Check that the version message does not leak the local address (#4368)
* Backporting Merge #18584: test: Check that the version message does not leak the local address

fa404f1e4718e8155581f23826480086dfbcfaa6 test: Check that the version message does not leak the local address of the node (MarcoFalke)

Pull request description:

  Add test for #8740

ACKs for top commit:
  theStack:
    ACK fa404f1e47

Tree-SHA512: 4d1c10d1c02fba4b51bd8b9eb3a0d9a682b6aac8c3f6924e295fdca3faefa5ecc3eaa87d347cfec5d2b2bc49963c10fe0a37c463f36088ed0304a2e3716b963b

* Merge #18584: test: Check that the version message does not leak the local address

Co-authored-by: MarcoFalke <falke.marco@gmail.com>
2021-08-29 19:21:00 -05:00
UdjinM6
f38aa44bfd
Merge pull request #4375 from PastaPastaPasta/pr_4330
backport 0.18 PR #14522 #14672 #14812 #14494 #14690 #14700 #14705 #14478 #14247
2021-08-29 23:50:29 +03:00
PastaPastaPasta
b9df9815ba
Merge pull request #4350 from dzutte-cpp/backport_14451_14686_14564_15063_15411
Backport 0.18 PRs #14451, #14686, #14564, #14568,#15063, #15411: deprecate BIP70 and build GUI without BIP70 support
2021-08-29 13:20:41 -04:00
Kittywhiskers Van Gogh
7391aad4b7 merge bitcoin#18405: Drop all ZeroMQ patches 2021-08-28 11:58:51 +05:30
Kittywhiskers Van Gogh
dc0e918126 merge bitcoin#17538: Bump minimum libc to 2.17 for release binaries 2021-08-28 11:52:01 +05:30
Kittywhiskers Van Gogh
c7c5ed352e merge bitcoin#13686: Small cleanups in the ZMQ code 2021-08-28 11:45:53 +05:30
MarcoFalke
2048e40075 Merge #15411: travis: Combine --disable-bip70 into existing job
eeeee58bc9 travis: Combine --disable-bip70 into existing job (MarcoFalke)

Pull request description:

  We already have too many jobs, so instead of creating a separate job for the `--disable-bip70` configue option, combine it into an existing job

Tree-SHA512: 9e2fae73d90cb55b588c545bc118a14eba064f17fffd9b302c3fdbb8715e2319db03eac92ae51b3c16481f28a004a1c964dab75ca80a213e87574da8f73e3207
2021-08-27 18:27:57 -07:00
Kittywhiskers Van Gogh
b3bf4de655
build: remove change-directory-and-build-depends behavior for immer (#4367) 2021-08-28 01:58:43 +03:00
Jonas Schnelli
73e4ccc188 Merge #15063: GUI: If BIP70 is disabled, attempt to fall back to BIP21 parsing
84f53154e Travis: Add test without BIP70 (but still full wallet + tests) (Luke Dashjr)
113f0004b GUI: If BIP70 is disabled, give a proper error when trying to open a payment request file (Luke Dashjr)
9975282fa GUI: If BIP70 is disabled, attempt to fall back to BIP21 parsing (Luke Dashjr)

Pull request description:

Tree-SHA512: 66a684ce4336d0eac8b0107b405ff3a2cf312258a967f3e1b14734cd39db11e2db3e9b03492755583170d94d54754ef536b0776e5f19a0cc2caca8379eeb4495
2021-08-27 13:06:08 -07:00
MarcoFalke
58e9b9cc4d Merge #14564: Adjust configure so that only bip70 is disabled when protobuf is missing instead of the GUI
58c5cc9ce7 Adjust configure so that only bip70 is disabled when protobuf is missing instead of the GUI (James Hilliard)

Pull request description:

  This change ensures that the GUI is still built even if protobuf is missing unless --enable-bip70 is passed to configure. If protobuf is present bip70 support will be compiled in unless --disable-bip70 is passed.

Tree-SHA512: 432d2fbefec5436503d8aa8994e4efaf760d88bfd5249af031b502b356852e8fd56362f86420f9ffe78498649079d0f1b68c327960b215d83c275800626ad275
2021-08-27 13:06:08 -07:00
MarcoFalke
2809b851cc Merge #14686: build: Fix windows build error if --disable-bip70
7a90b1b9d8 build: Fix windows build error if `--disable-bip70` (Chun Kuan Lee)

Pull request description:

  Fix #14677
  The SSL library seems to be used even if bip70 disabled on Windows.

Tree-SHA512: 1c5fcf98048ce9e2eedf958326c11949eef74b3379a50d73751cb871d3d4323186caf607888c461a1fe1edc5f8515bd151ab247a843e7dda79f810c06309bd88
2021-08-27 13:06:08 -07:00
MarcoFalke
62535a0383 Merge #14568: build: Fix Qt link order for Windows build
fbaccbf00c build: Fix Qt link order for Windows build (Chun Kuan Lee)

Pull request description:

  See https://github.com/bitcoin/bitcoin/pull/14451#issuecomment-432874893

Tree-SHA512: 819e68dc750297a74d04aa1ad3dae64072b66df718d36b950bd9430c9fca1771c611af934df23954f81b83bd89f96ea76c20cbf17db1364b988a6c34c43fb631
2021-08-27 13:06:08 -07:00
Wladimir J. van der Laan
315e92d645 Merge #14451: Add BIP70 deprecation warning and allow building GUI without BIP70 support
48439b3c10391e5f5555c7d98e1a99706b77eaf7 Don't link SSL_LIBS with GUI unless BIP70 is enabled (James Hilliard)
fbb643d2a55ade3c06593a7490601acd2e36dce8 Add BIP70 deprecation warning (James Hilliard)
38b98507cdda02ff02a524d41bcc3427ca9e4fd9 qt: cleanup: Move BIP70 functions together in paymentserver (Wladimir J. van der Laan)
9dcf6c0dfec51f2a49edef537f377422d6dbdceb build: Add --disable-bip70 configure option (Wladimir J. van der Laan)

Pull request description:

  This is based off of #11622 and adds a deprecation warning when a BIP70 URL is used.

  Rational:

  - BIP70 increases attack surface in multiple ways and is difficult for third party wallets to implement in a secure manner
  - Very few merchants use the standard BIP70 variant supported by Bitcoin Core
  - The one major payment processor that doesn't support BIP21 and currently uses a customized non-standard version of BIP70 has indicated that "Unfortunately the original BIP70 is not useful for us."

Tree-SHA512: 1e16ee8d2cdac9499f751ee7b50d058278150f9e38a87a47ddb5105dd0353cdedabe462903f54ead6209b249b249fe5e6a10d29631531be27400f2f69c25b9b9
2021-08-27 13:06:06 -07:00
Kittywhiskers Van Gogh
a003178978 partial merge #18677: Multiprocess build support
The bare minimum necessary change for #19764. Marked as "partial merge" for attribution only, otherwise considered unmerged
2021-08-28 00:42:10 +05:30
Kittywhiskers Van Gogh
6a367fc198 merge bitcoin#19764: Split boost into build/host packages + bump + cleanup 2021-08-28 00:42:09 +05:30
Kittywhiskers Van Gogh
ca0f5f5078 merge bitcoin#18820: Propagate well-known vars into depends 2021-08-28 00:42:02 +05:30
PastaPastaPasta
83114416dd
Merge pull request #4359 from Munkybooty/backports-0.18-pr15
Backports 0.18 pr15
2021-08-27 14:51:11 -04:00
Munkybooty
4632686119 15276 new line 2021-08-26 12:26:36 -04:00
UdjinM6
ee02db8076 15020 new lines 2021-08-26 12:26:36 -04:00
UdjinM6
d1440209dd Fix 15219 2021-08-24 19:16:52 -04:00
UdjinM6
c7aa119a82 Fix 12153 2021-08-24 19:16:52 -04:00
MarcoFalke
9436caf89a Merge #12151: rpc: Remove cs_main lock from blockToJSON and blockheaderToJSON
b9f226b41f rpc: Remove cs_main lock from blockToJSON and blockHeaderToJSON (João Barbosa)
343b98cbcd rpc: Specify chain tip instead of chain in GetDifficulty (João Barbosa)
54dc13b6a2 rpc: Fix SoftForkMajorityDesc and SoftForkDesc signatures (João Barbosa)

Pull request description:

  Motivated by https://github.com/bitcoin/bitcoin/pull/11913#discussion_r157798157, this pull makes `blockToJSON` and `blockheaderToJSON` free of `cs_main` locks.

  Locking `cs_main` was required to access `chainActive` in order to check if the block was in the chain and to retrieve the next block index.

  With the this approach, `CBlockIndex::GetAncestor()` is used in a way to check if the block belongs to the specified chain tip and, at the same time, get the next block index.

Tree-SHA512: a6720ace0182c19033bbed1a404f729d793574db8ab16e0966ffe412145611e32c30aaab02975d225df6d439d7b9ef2070e732b16137a902b0293c8cddfeb85f
2021-08-24 19:16:52 -04:00
Wladimir J. van der Laan
baa76aa331 Merge #15225: GUI: Change the receive button to respond to keypool state changing
2bc4c3eaf96f5f8490fc79280422916c5d14cde3 Notify the GUI that the keypool has changed to set the receive button (Andrew Chow)
14bcdbe09cffaef9bcc51dd9de1645db3f0a93db Check for more than private keys disabled to show receive button (Andrew Chow)

Pull request description:

  Currently the Receive button in the GUI is displayed enabled or disabled by the initial state of the wallet when the wallet is first loaded. The button is only enabled or disabled depending on whether the disable private keys flag is set when the wallet is loaded. However, future changes to the wallet means that this initial state and check may no longer be accurate. #14938 introduces empty wallets which do not have private keys. An empty wallet that is loaded should have the Receive button disabled, and then it should become enabled once `sethdseed` is used so that a keypool can be generated and new keys generated. Likewise, with #14075, a wallet can be loaded with no keypool initially, so the button should be disabled. Later, public keys can be imported into the keypool, at which time the button should become enabled. When the keypool runs out again (no new keys are generated as the keypool only consists of imports), the button should become disabled.

  This PR makes it so that the button becomes enabled and disabled as the keypool state changes. The check for whether to enable or disable the receive button has changed to checking whether it is possible to get new keys. It now checks for whether the wallet has an HD seed and, if not, whether the private keys are disabled. When an action happens which would make it possible for a new address to be retrieved or make it possible for a no more addresses to be retrieved, a signal is emitted which has the GUI recheck the conditions for the Receive button. These actions are setting a new HD seed, topping up the keypool, retrieving a key from the keypool, and returning a key to the keypool.

Tree-SHA512: eff15a5337f4c64ecd7169414fb47053c04f6a0f0130341b6dd9799ac4d79f451e25284701c668971fca33f0909d5352a474a2c12349375bedfdb59b63077d50
2021-08-24 19:14:50 -04:00