39247 Commits

Author SHA1 Message Date
glozow
d10cf127e5
Merge bitcoin/bitcoin#30260: [26.x] backports and final changes for 26.2rc1
7ca424f8e651707effe1380aaf72d9ad0e97aa18 [doc] update release notes for 26.2rc1 (glozow)
03a91a0142ceaec369154151fba928b56aae6f08 [doc] manpages for 26.2rc1 (glozow)
4c824bbe03e61dab5665f59903d368ce3cc514d2 [build] bump to version 26.2rc1 (glozow)
b99229737d2416983136a91b8cf93c5af53ab924 qt: 26.2rc1 translations update (Hennadii Stepanov)
7b2489f57ff76dd6f25713e10deed0529a0d2111 depends: Fetch miniupnpc sources from an alternative website (Hennadii Stepanov)

Pull request description:

  Backports + release notes for:
  - #30151

  And final changes for 26.2rc1:
  - build changes
  - manpages
  - non-removal translations updates

ACKs for top commit:
  stickies-v:
    ACK 7ca424f8e651707effe1380aaf72d9ad0e97aa18
  fanquake:
    ACK 7ca424f8e651707effe1380aaf72d9ad0e97aa18

Tree-SHA512: 881697eb6fb78261e3deb5064d6f38227b449049add810c7da999a1f22fad60b9dd32057c626bbfaa7e461d53635cd2f7a9fb225eba0f6fb503afd4f1ef6c46d
v26.2rc1
2024-06-12 13:06:12 +01:00
glozow
7ca424f8e6 [doc] update release notes for 26.2rc1 2024-06-10 14:53:16 +01:00
glozow
03a91a0142 [doc] manpages for 26.2rc1 2024-06-10 14:50:34 +01:00
glozow
4c824bbe03 [build] bump to version 26.2rc1 2024-06-10 14:50:34 +01:00
Hennadii Stepanov
b99229737d qt: 26.2rc1 translations update
This change is a result if pulling the recent translations
from the Transifex website using the
bitcoin-maintainer-tools/update-translations.py tool.

A few manual adjustments were made:
- skipped removing of `bitcoin_af.ts`
- skipped removing of `bitcoin_ar.ts`
- skipped removing of `bitcoin_fa.ts`
- skipped removing of `bitcoin_la.ts`
- skipped removing of `bitcoin_ru.ts`
- skipped removing of `bitcoin_th.ts`
- skipped removing of `bitcoin_uk.ts`
present)
2024-06-10 14:50:28 +01:00
Hennadii Stepanov
7b2489f57f depends: Fetch miniupnpc sources from an alternative website
The https://miniupnp.tuxfamily.org website is unavailable now.

Rebased-From: 21b8a14d37c19ce292d5529597e0d52338db48a9
Github-Pull: #30151
2024-06-10 14:08:42 +01:00
glozow
6d7a1e3670
Merge bitcoin/bitcoin#29899: [26.x] archive 26.1 release notes + backports
aa7e876953c460e8ff97a719fdb18f4f3ac4896f [doc] add draft release notes for 26.2rc1 (glozow)
21d9aaae3226d76094d323c1de8e1470c5384622 p2p, bugfix: detect addnode cjdns peers in GetAddedNodeInfo() (Jon Atack)
ec5ce2fb2b34cdf9691557121faa69298daa97f2 windeploy: Renew certificate (Ava Chow)
96d0e818c5801d4af5570241cd9949cddbacba5e rpc: Reword SighashFromStr error message (MarcoFalke)
6685affe92ce61a586d257b3ccdf0d97f8b9ef85 rpc: move UniValue in blockToJSON (willcl-ark)
7f45e0017417d1a100c60ff02cc72eb788b6f9c6 depends: Fix build of Qt for 32-bit platforms (laanwj)
f9b76bae57a79f55b3a6eff0a029b5dc21b1730c ci: Pull in qtbase5-dev instead of seperate low-level libraries (laanwj)
c587753f484d2ccb5b93a7cd37c7a8d491e03818 doc: Suggest installing dev packages for debian/ubuntu qt5 build (laanwj)
7ecdb0846dd7d5ff66aec961515c552a531d25f8 ci: Bump s390x to ubuntu:24.04 (MarcoFalke)
d9ef6cf934cbd8e9b2f8256de001ca44f74ad6e9 sign: don't assume we are parsing a sane Miniscript (Antoine Poinsot)
e4859c82c7b848554b4e9d27c2f8b8615422528e depends: fix mingw-w64 Qt DEBUG=1 build (fanquake)
bb46b90b2ec7c8a4955ed8c5711bbc128d803b76 Fix #29767, set m_synced = true after Commit() (nanlour)
bf5b6fc8a7c7e6c13520671bb7b2d4d1d110c2bb Throw error if invalid parameters passed to getnetworkhashps RPC endpoint (Jameson Lopp)
a81a9228fbaaa10d6308299f11d6093485d645e5 [rpc, bugfix] Enforce maximum value for setmocktime (dergoegge)
d39ea519c71ea9e0f2ed0ee79cc66ecaf35e86ee Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us (Luke Dashjr)
c21bbcc898d9c1fbc77ca93e46fc84ae22b68afa [doc] archive 26.1 release notes (glozow)

Pull request description:

  Archives 26.1 release notes and adds draft release notes for 26.2rc1

  Also backports:
  - #29691
  - #29869
  - #28554
  - #29747
  - #29853
  - #29856
  - #29764
  - #29776
  - #29985
  - #30094
  - #29870
  - #30149
  - #30085

ACKs for top commit:
  stickies-v:
    re-ACK aa7e876953c460e8ff97a719fdb18f4f3ac4896f, only changes are fixing commit msg and transifex reference
  willcl-ark:
    ACK aa7e876953c460e8ff97a719fdb18f4f3ac4896f

Tree-SHA512: b81ba6092640de696d782114cdf43e7ed1d63ea0a3231cade30653c2743d87700e0f852a1b1fcc42ae313b2d4f004e6026ddbad87d58c2fde0a660e90026ed98
2024-05-24 11:22:00 +01:00
glozow
aa7e876953 [doc] add draft release notes for 26.2rc1 2024-05-23 17:06:26 +01:00
Jon Atack
21d9aaae32 p2p, bugfix: detect addnode cjdns peers in GetAddedNodeInfo()
Addnode (manual) peers connected to us via the cjdns network are currently not
detected by CConnman::GetAddedNodeInfo(), i.e. fConnected is always false.

This causes the following issues:

- RPC `getaddednodeinfo` incorrectly shows them as not connected

- CConnman::ThreadOpenAddedConnections() continually retries to connect them

Github-Pull: #30085
Rebased-From: 684da9707040ce25d95b2954eda50b811136d92c
2024-05-23 17:05:57 +01:00
Ava Chow
ec5ce2fb2b windeploy: Renew certificate
Github-Pull: #30149
Rebased-From: 9f4ff1e9659597307f62510f1885ad8da3a1d9a3
2024-05-23 17:05:57 +01:00
MarcoFalke
96d0e818c5 rpc: Reword SighashFromStr error message
Github-Pull: #29870
Rebased-From: fa6ab0d020d0b1492203f7eb2ccb8051812de086
2024-05-23 17:05:57 +01:00
willcl-ark
6685affe92 rpc: move UniValue in blockToJSON
Without explicitly declaring the move, these UniValues get copied,
causing increased memory usage. Fix this by explicitly moving the
UniValue objects.

Used by `rest_block` and `getblock` RPC.

Github-Pull: #30094
Rebased-From: b77bad309e92f176f340598eec056eb7bff86f5f
2024-05-23 17:05:57 +01:00
laanwj
7f45e00174 depends: Fix build of Qt for 32-bit platforms
The 32 to 64-bit time_t transition causes a build failure in the built-in
zlib about conflicting _TIME_BITS and _FILE_OFFSET_BITS.

Note that zlib doesn't use time_t at all, so it is a false alarm.

Take the following patch from upstream zlib:
a566e156b3.patch

Closes #29980.

Github-Pull: #29985
Rebased-From: 2e266f33b5d2be5c233c2c692481f75785714fa1
2024-05-23 17:05:57 +01:00
laanwj
f9b76bae57 ci: Pull in qtbase5-dev instead of seperate low-level libraries
Fix CI build for t64 migration.

Github-Pull: #29764
Rebased-From: 6c2990416e2dabd845f5ec50ec6ff138136c9b08
2024-05-23 17:05:57 +01:00
laanwj
c587753f48 doc: Suggest installing dev packages for debian/ubuntu qt5 build
Pretty much all library packages were renamed in the 64-bit time_t
migration to add `t64` (even on 64-bit platforms).

Instead of complicating the doc with conditional package names, suggest
installing the `-dev` packages which still have the same name, and
besides that, are the right way to go about it as they contain the
"user facing" C++ headers needed to build against Qt5.

For Fedora, devel packages are already suggested.

This affects Ubuntu 24.04 and Debian Testing.

Github-Pull: #29764
Rebased-From: a3c6a13cb23999fa70c428f1229acbf1b3883f11
2024-05-23 17:05:57 +01:00
MarcoFalke
7ecdb0846d ci: Bump s390x to ubuntu:24.04
Re-enable feature_init

Github-Pull: #29856
Rebased-From: fadf7e90dc10e212e59bb294209bab2e73c47800
2024-05-23 17:05:57 +01:00
Antoine Poinsot
d9ef6cf934 sign: don't assume we are parsing a sane Miniscript
The script provided for signature might be externally provided, for
instance by way of 'finalizepsbt'. Therefore the script might be
ill-crafted, so don't assume pubkeys are always 32 bytes.

Thanks to Niklas for finding this.

Github-Pull: #29853
Rebased-From: 4d8d21320eba54571ff63931509cd515c3e20339
2024-05-23 17:05:57 +01:00
fanquake
e4859c82c7 depends: fix mingw-w64 Qt DEBUG=1 build
The issue is that compilation is done with `x86_64-w64-mingw32-g++-posix`,
but then linking is done with `x86_64-w64-mingw32-g++`.

I'm guessing this has been broken since #24131
(01d1845a80ae48d741deea695ddce95d940ab0d8), but have not checked.

Fixes #29734.
Unblocks #29527 (now DEBUG=1 builds can be tested).

Github-Pull: #29747
Rebased-From: b7e7e727abd86104ee58beb648a94e2f453d1f6d
2024-05-23 17:05:57 +01:00
nanlour
bb46b90b2e Fix #29767, set m_synced = true after Commit()
Github-Pull: #29776
Rebased-From: bbe82c116e72ca0638751e063bf564cd1fe5c4d5
2024-05-23 17:05:22 +01:00
Jameson Lopp
bf5b6fc8a7 Throw error if invalid parameters passed to getnetworkhashps RPC endpoint
Github-Pull: #28554
Rebased-From: 9ac114e5cd9d8ade3a1d9f3d76a08ff59a3f1658
2024-04-17 13:47:50 +01:00
dergoegge
a81a9228fb [rpc, bugfix] Enforce maximum value for setmocktime
Github-Pull: #29869
Rebased-From: c2e0489b7125cceaeef355fc274dd8988822fff4
2024-04-17 13:28:13 +01:00
Luke Dashjr
d39ea519c7 Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us
To avoid issues with DNS blacklisting, I've setup a separate domain for my DNS seed.

Github-Pull: #29691
Rebased-From: 4f273ab4360c9aa72c2feb78787e1811ab58dc16
2024-04-17 13:28:13 +01:00
glozow
c21bbcc898 [doc] archive 26.1 release notes 2024-04-17 13:28:13 +01:00
fanquake
0b4aa31c34
Merge bitcoin/bitcoin#29719: [26.x] final changes for 26.1
cc0553d0d666a6ad5cdd3b88ddb06af883b6d7a1 [doc] add manual pages for 26.1 (glozow)
785242dd4ca5b05155f67a8ab097dc35ee183559 [doc] update release notes 26.1 (glozow)
5f06dcf9c9481ab8f034aece447e12da67ab7ce7 [build] bump version to 26.1 final (glozow)
b53bf22c722309cba923b90840c1e48b98f553c9 ci, macos: Use `--break-system-packages` with Homebrew's python (Hennadii Stepanov)
324e56239960308333ac9e46f1c815020f0b149f ci: Add workaround for Homebrew's python link error (Hennadii Stepanov)

Pull request description:

  Final changes for `v26.1`.

  Bins for rc2 have been available for 10 days and I haven't seen any bug reports or new things to add.
  Includes #29610 backport for the CI, which has no effect on what goes into the release.
  Website PR: https://github.com/bitcoin-core/bitcoincore.org/pull/1009

ACKs for top commit:
  hebasto:
    ACK cc0553d0d666a6ad5cdd3b88ddb06af883b6d7a1.
  fanquake:
    ACK cc0553d0d666a6ad5cdd3b88ddb06af883b6d7a1
  stickies-v:
    ACK cc0553d0d666a6ad5cdd3b88ddb06af883b6d7a1 (modulo CI passing)

Tree-SHA512: d032157c7cdf07a474e40b947f7e51bfc6a8e280e43345522bad67b6ad449d473f29bf03ee845b2e403693c1c81078589d042337c895eceb8a59cb4340432887
v26.1
2024-03-25 16:51:08 +00:00
glozow
cc0553d0d6 [doc] add manual pages for 26.1 2024-03-25 10:01:44 +00:00
glozow
785242dd4c [doc] update release notes 26.1 2024-03-25 10:01:43 +00:00
glozow
5f06dcf9c9 [build] bump version to 26.1 final 2024-03-25 10:01:13 +00:00
Hennadii Stepanov
b53bf22c72 ci, macos: Use --break-system-packages with Homebrew's python
Homebrew's python@3.12 is marked as externally managed (PEP 668),
necessitating different approaches for installing Python packages.

For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404.

Github-Pull: #29610
Rebased-From: acc06bc91f80ddf4e015dcdf0b984bbdbfcb5ca3
2024-03-25 09:59:31 +00:00
Hennadii Stepanov
324e562399 ci: Add workaround for Homebrew's python link error
Promoting Homebrew's python@3.12 to the default python3 breaks symbolic
links on macOS x86_64.

This change adds a workaround for that issue.

Also see: https://github.com/actions/runner-images/issues/9471 etc.

Github-Pull: #29610
Rebased-From: ae5f72027f1776f815a6637c594f0f725a6ccb55
2024-03-25 09:59:07 +00:00
glozow
c33e83a53a
Merge bitcoin/bitcoin#29509: [26.x] backports and final changes for v26.1rc2
c68d4d0ac5b8537ba5e1c0c512b807768e1c5c1f [doc] update manual pages for v26.1rc2 (glozow)
bd715bfb3030f392b3b19f9a05aada48e385a0d9 [build] bump version to v26.1rc2 (glozow)
b6d006d2a2b840e4a5af96c8d838e1cf589d3bce update release notes 26.1 (glozow)
fce992b38e59c90babe505eda0d72f05d79eb2f3 fuzz: restrict fopencookie usage to Linux & FreeBSD (fanquake)
40c56a4d1341017b02dcb71882b1b1f03f880b1d test: make sure keypool sizes do not change on `getrawchangeaddress`/`getnewaddress` failures (UdjinM6)
7c82b2758c6bcfb8a94d2086f0d40088286815e8 wallet: Avoid updating `ReserveDestination::nIndex` when `GetReservedDestination` fails (UdjinM6)
b5419ce6b621121bb1a0ec497968eb16cc012c39 p2p: Don't consider blocks mutated if they don't connect to known prev block (Greg Sanders)
0535c253fe71ae9d875827cafed41a8889f4a702 [test] IsBlockMutated unit tests (dergoegge)
8141498f3ad3ae9c42c32346ee73dc7f29e72cb5 [validation] Cache merkle root and witness commitment checks (dergoegge)
0c5c5962cbfdfd532cebc6706d5b838488b89d53 [test] Add regression test for #27608 (dergoegge)
24736350e932799c66c999470fa3837e25576fc7 [net processing] Don't process mutated blocks (dergoegge)
50c0b61a9d562240d5fe4bd79324b0c0e79caa5c [validation] Merkle root malleation should be caught by IsBlockMutated (dergoegge)
aff368fa817b065d99729186d304fff02f6e527b [validation] Introduce IsBlockMutated (dergoegge)
076c67c3aae424e58863dde3bc37cedecc496935 [refactor] Cleanup merkle root checks (dergoegge)
97a1d0a45959a29464ae73087c7a0adcdebd5a61 [validation] Isolate merkle root checks (dergoegge)
4ac0eb543d028379bb2b86ab08bbbb2f9f48d5b1 test: Drop `x` modifier in `fsbridge::fopen` call for mingw builds (Hennadii Stepanov)

Pull request description:

  Includes:
  - #29357
  - #29412
  - #29524
  - #29510
  - #29529

  Also does:
  - update to release notes
  - bump to rc2
  - manpages
  - (no changes to bitcoin.conf)

ACKs for top commit:
  achow101:
    ACK c68d4d0ac5b8537ba5e1c0c512b807768e1c5c1f

Tree-SHA512: 2f8c3dd705e3f9f33403b3cc17e8006510ff827d7dbd609b09732a1669964e9b001cfecdc63d8d8daeb8f39c652e1e4ad0aac873d44d259c21803de85688ed2b
v26.1rc2
2024-03-11 09:54:18 +00:00
glozow
c68d4d0ac5 [doc] update manual pages for v26.1rc2 2024-03-07 10:51:31 +00:00
glozow
bd715bfb30 [build] bump version to v26.1rc2 2024-03-07 10:47:19 +00:00
glozow
b6d006d2a2 update release notes 26.1 2024-03-07 10:45:40 +00:00
fanquake
fce992b38e fuzz: restrict fopencookie usage to Linux & FreeBSD
Should fix the GCC compilation portion of #29517:
https://github.com/bitcoin/bitcoin/issues/29517#issuecomment-1973573314.

See also:
https://www.gnu.org/software/gnulib/manual/html_node/fopencookie.html
but note that FreeBSD has supported this function since 11.x.

Github-Pull: #29529
Rebased-From: 312f3381a2d3a7afb7c81b4662214d4d67b4e84a
2024-03-07 10:45:14 +00:00
UdjinM6
40c56a4d13 test: make sure keypool sizes do not change on getrawchangeaddress/getnewaddress failures
Github-Pull: #29510
Rebased-From: e073f1dfda7a2a2cb2be9fe2a1d576f122596021
2024-03-05 10:50:03 +00:00
UdjinM6
7c82b2758c wallet: Avoid updating ReserveDestination::nIndex when GetReservedDestination fails
Github-Pull: #29510
Rebased-From: 367bb7a80cc71130995672c853d4a6e0134721d6
2024-03-05 10:49:41 +00:00
Greg Sanders
b5419ce6b6 p2p: Don't consider blocks mutated if they don't connect to known prev block
Github-Pull: #29524
Rebased-From: a1fbde0ef7cf6c94d4a5181f8ceb327096713160
2024-03-05 10:47:50 +00:00
dergoegge
0535c253fe [test] IsBlockMutated unit tests
Github-Pull: #29412
Rebased-From: d8087adc7ebd4ea05dd3843e5a92e8115fd7bbcc
2024-03-05 10:46:15 +00:00
dergoegge
8141498f3a [validation] Cache merkle root and witness commitment checks
Slight performance improvement by avoiding duplicate work.

Github-Pull: #29412
Rebased-From: 1ec6bbeb8d27d31647d1433ccb87b362f6d81f90
2024-03-05 10:24:35 +00:00
dergoegge
0c5c5962cb [test] Add regression test for #27608
Github-Pull: #29412
Rebased-From: 5bf4f5ba32da4627f152b54d266df9b2aa930457
2024-03-05 10:24:27 +00:00
dergoegge
24736350e9 [net processing] Don't process mutated blocks
We preemptively perform a block mutation check before further processing
a block message (similar to early sanity checks on other messsage
types). The main reasons for this change are as follows:

- `CBlock::GetHash()` is a foot-gun without a prior mutation check, as
  the hash returned only commits to the header but not to the actual
  transactions (`CBlock::vtx`) contained in the block.
- We have observed attacks that abused mutated blocks in the past, which
  could have been prevented by simply not processing mutated blocks
  (e.g. https://github.com/bitcoin/bitcoin/pull/27608).

Github-Pull: #29412
Rebased-From: 49257c0304828a185c273fcb99742c54bbef0c8e
2024-03-05 10:24:17 +00:00
dergoegge
50c0b61a9d [validation] Merkle root malleation should be caught by IsBlockMutated
Github-Pull: #29412
Rebased-From: 2d8495e0800f5332748cd50eaad801ff77671bba
2024-03-05 10:24:16 +00:00
dergoegge
aff368fa81 [validation] Introduce IsBlockMutated
Github-Pull: #29412
Rebased-From: 66abce1d98115e41f394bc4f4f52341960ddc839
2024-03-05 10:21:16 +00:00
dergoegge
076c67c3aa [refactor] Cleanup merkle root checks
Github-Pull: #29412
Rebased-From: e7669e1343aec4298fd30d539847963e6fa5619c
2024-03-01 16:28:19 +00:00
dergoegge
97a1d0a459 [validation] Isolate merkle root checks
Github-Pull: #29412
Rebased-From: 95bddb930aa72edd40fdff52cf447202995b0dce
2024-03-01 16:27:43 +00:00
Hennadii Stepanov
4ac0eb543d test: Drop x modifier in fsbridge::fopen call for mingw builds
The MinGW-w64 toolchain links executables to the old msvcrt C Runtime
Library that does not support the `x` modifier for the _wfopen()
function.

Github-Pull: #29357
Rebased-From: d2fe90571e98e02617682561ea82acb1e2647827
2024-02-28 22:21:25 +00:00
glozow
a718bfafe7
Merge bitcoin/bitcoin#29503: 26.x: backport #28784 ("rpc: keep .cookie if it was not generated")
1e956439eb86de7a455560c349370684f4e54561 rpc: keep .cookie if it was not generated (Roman Zeyde)

Pull request description:

  v26 introduced a regression in that starting a `bitcoind` twice may have the second instance delete the cookie file of the first, making it impossible to communicate with it.

  Not a big deal but it's annoying, only an issue for 26.0, and the patch is trivial.

ACKs for top commit:
  glozow:
    lgtm ACK 1e956439eb86de7a455560c349370684f4e54561

Tree-SHA512: 0e4b18aebaaf284944f1709b238c8c0acce5e8997409e0c278a5a30ac221ac1ff1d3ad31fbf2ac15b03bf7582891e07a7a2cf00f13cb596aa9512566b9320c23
2024-02-28 11:00:19 -05:00
Roman Zeyde
1e956439eb
rpc: keep .cookie if it was not generated
Otherwise, starting bitcoind twice may cause the `.cookie`
file generated by the first instance to be deleted by the
second instance shutdown (after failing to obtain a lock).

Github-Pull: bitcoin/bitcoin#28784
Rebased-From: 7cb9367157eb42ee06bc6fa024522cc14a80138d
2024-02-28 11:19:27 +01:00
fanquake
a4690485d1
Merge bitcoin/bitcoin#29440: [26.1] final changes for 26.1rc1
1e7fb270d36310efff6fc968f1c52291043d461b [doc] add release notes for 26.1rc1 (glozow)
0ffeaf237afa337e582cc54984d90cdf12c372d1 [doc] update manual pages for 26.1rc1 (glozow)
d4aeb4a5a0426e97eb4bd3240a97e8691800e030 [build] bump version to 26.1rc1 (glozow)
c27793891a54376d1eb927c4315c9b47b3af3840 qt: 26.1rc1 translations update (Hennadii Stepanov)
40e7693fa10d8859c1754d2efa4463345d236c81 ci: Switch native macOS CI job to Xcode 15.0 (Hennadii Stepanov)
72eab1ca64071efde811e0b3886dcf253c6780d2 build: Fix `-Xclang -internal-isystem` option (Hennadii Stepanov)

Pull request description:

  Final changes to tag a 26.1rc1.
  Bumps version numbers, man pages, adds release notes etc.

ACKs for top commit:
  hebasto:
    re-ACK 1e7fb270d36310efff6fc968f1c52291043d461b
  fanquake:
    ACK 1e7fb270d36310efff6fc968f1c52291043d461b

Tree-SHA512: 0f4146590d61f4f9322f3147f672ff2af48fc1d85c708b959adcbdb50b8f280570cb732d9f4a424c014046d07e9aa6e408fc3a0337dbaf8cbaea5283697da35a
v26.1rc1
2024-02-19 15:31:06 +00:00
glozow
1e7fb270d3 [doc] add release notes for 26.1rc1 2024-02-16 17:30:26 +00:00