Skip to content

Include patches from 25.2#53

Merged
ajtowns merged 32 commits intobitcoin-inquisition:25.xfrom
ajtowns:202404-inq-25.2-patches
Apr 26, 2024
Merged

Include patches from 25.2#53
ajtowns merged 32 commits intobitcoin-inquisition:25.xfrom
ajtowns:202404-inq-25.2-patches

Conversation

@ajtowns
Copy link

@ajtowns ajtowns commented Apr 26, 2024

No description provided.

fanquake and others added 30 commits December 11, 2023 15:51
This commits fixes a crash bug that can be caused with the following steps:
- change to the "Transactions" view
- right-click on an arbitrary transaction -> "Show transaction details"
- close the transaction detail window again
- select "Settings" -> "Mask values"

The problem is that the list of opened dialogs, tracked in the member
variable `m_opened_dialogs`, is only ever appended with newly opened
transaction detail dialog pointers, but never removed. This leads to
dangling pointers in the list, and if the "Mask values" menu item is
selected, a crash is caused in the course of trying to close the opened
transaction detail dialogs (see `closeOpenedDialogs()` method). Fix this
by removing the pointer from the list if the corresponding widget is
destroyed.

Github-Pull: bitcoin-core/gui#774
Rebased-From: e26e665
The crash would happen when querying a mempool transaction with verbosity=2, while pruning.

Github-Pull: bitcoin#29003
Rebased-From: 494a926
This fails on master without the previous commit.

Github-Pull: bitcoin#29003
Rebased-From: 9075a44
53bbda5 doc: update release notes for 25.x (fanquake)
31e1e03 test: add regression test for the getrawtransaction segfault (Martin Zumsande)
041228d rpc: fix getrawtransaction segfault (Martin Zumsande)
b86285d gui: fix crash on selecting "Mask values" in transaction view (Sebastian Falbesoner)
c21024f doc: add historical release notes for 25.1 (fanquake)

Pull request description:

  Collecting backports for the 25.x branch. Currently:
  * bitcoin-core/gui#774
  * bitcoin#29003

ACKs for top commit:
  stickies-v:
    ACK 53bbda5

Tree-SHA512: 9b1ba17cce9de70d20329372ba71225dd930718a1f7db84a7be764dcfbba01c5e466255e7b95433ab6d7559ee8aaa04cc99ee5d1512d91fcc0a8015f1aa4150a
This removes bloat that is not needed.

Github-Pull: bitcoin#27927
Rebased-From: fa38d86
9f13dc1 doc: Update release notes for 25.2rc1 (Ava Chow)
a27662b doc: update manpages for 25.2rc1 (Ava Chow)
65c6171 build: Bump to 25.2rc1 (Ava Chow)
cf0f43e wallet: Fix use-after-free in WalletBatch::EraseRecords (MarcoFalke)
6acfc43 Use only Span{} constructor for byte-like types where possible (MarcoFalke)
b40d107 util: Allow std::byte and char Span serialization (MarcoFalke)

Pull request description:

  Backport:

  * bitcoin#29176
  * bitcoin#27927

  bitcoin#29176 does not cleanly backport, and it also requires 27927 to work. Both are still fairly simple backports.

  Also does the rest of the version bump tasks for 25.2rc1.

ACKs for top commit:
  fanquake:
    ACK 9f13dc1

Tree-SHA512: 9d9dbf415f8559410eba9a431b61a8fc94216898d2d1fd8398e1f7a22a04790faade810e65324c7a797456b33396c3a58f991e81319aaaa63d3ab441e5e20dbc
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. bitcoin#27608).

Github-Pull: bitcoin#29412
Rebased-From: 49257c0
Slight performance improvement by avoiding duplicate work.

Github-Pull: bitcoin#29412
Rebased-From: 1ec6bbe
27cfda1 doc: Update release notes for 25.2rc2 (Ava Chow)
daba5e2 doc: Update manpages for 25.2rc2 (Ava Chow)
8a0c980 build: Bump to 25.2rc2 (Ava Chow)
cf7d3a8 p2p: Don't consider blocks mutated if they don't connect to known prev block (Greg Sanders)
3eaaafa [test] IsBlockMutated unit tests (dergoegge)
0667441 [validation] Cache merkle root and witness commitment checks (dergoegge)
de97ecf [test] Add regression test for bitcoin#27608 (dergoegge)
8cc4b24 [net processing] Don't process mutated blocks (dergoegge)
098f07d [validation] Merkle root malleation should be caught by IsBlockMutated (dergoegge)
8804c36 [validation] Introduce IsBlockMutated (dergoegge)
4f5baac [validation] Isolate merkle root checks (dergoegge)
f93be01 test: make sure keypool sizes do not change on `getrawchangeaddress`/`getnewaddress` failures (UdjinM6)
7c08ccf wallet: Avoid updating `ReserveDestination::nIndex` when `GetReservedDestination` fails (UdjinM6)

Pull request description:

  Backport:

  * bitcoin#29510
  * bitcoin#29412
  * bitcoin#29524

ACKs for top commit:
  glozow:
    utACK 27cfda1

Tree-SHA512: 37feadd65d9ea55c0a92c9d2a6f74f87cafed3bc67f8deeaaafc5b7042f954e55ea34816612e1a49088f4f1906f104e00c7c3bec7affd1c1f48220b57a8769c5
achow101 and others added 2 commits April 2, 2024 18:31
e95c484 doc: Update release notes for 25.2 final (Ava Chow)
14b85b6 doc: Update manpages for 25.2 final (Ava Chow)
1c13eae doc: Bump bips.md to 25.2 (Ava Chow)
03a568d build: Bump to 25.2 final (Ava Chow)

Pull request description:

  Final changes for 25.2 release

ACKs for top commit:
  glozow:
    utACK e95c484
  fanquake:
    ACK e95c484

Tree-SHA512: 10a4d6d516e2bea9b4383eb174a6c7827be0359522d366746ead0a28f275e0cadf6e5e9a0e4cafe425438532a57ada0ecbfba300f02370eac411f101dd86dfe6
@ajtowns
Copy link
Author

ajtowns commented Apr 26, 2024

CI failures here seem to match upstream bitcoin#29794

@ajtowns ajtowns merged commit 45e7722 into bitcoin-inquisition:25.x Apr 26, 2024
@ajtowns ajtowns added this to the 25.x milestone Apr 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants