Includes:
Also does:
- update to release notes
- bump to rc2
- manpages
- (no changes to bitcoin.conf)
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
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
For detailed information about the code coverage, see the test coverage report.
<!--021abf342d371248e50ceaed478a90ca-->
See the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
ACK 4ac0eb543d028379bb2b86ab08bbbb2f9f48d5b1.
Github-Pull: #29412
Rebased-From: 95bddb930aa72edd40fdff52cf447202995b0dce
Github-Pull: #29412
Rebased-From: e7669e1343aec4298fd30d539847963e6fa5619c
Github-Pull: #29412
Rebased-From: 66abce1d98115e41f394bc4f4f52341960ddc839
Github-Pull: #29412
Rebased-From: 2d8495e0800f5332748cd50eaad801ff77671bba
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
Github-Pull: #29412
Rebased-From: 5bf4f5ba32da4627f152b54d266df9b2aa930457
Slight performance improvement by avoiding duplicate work.
Github-Pull: #29412
Rebased-From: 1ec6bbeb8d27d31647d1433ccb87b362f6d81f90
Github-Pull: #29412
Rebased-From: d8087adc7ebd4ea05dd3843e5a92e8115fd7bbcc
Github-Pull: #29524
Rebased-From: a1fbde0ef7cf6c94d4a5181f8ceb327096713160
Github-Pull: #29510
Rebased-From: 367bb7a80cc71130995672c853d4a6e0134721d6
Github-Pull: #29510
Rebased-From: e073f1dfda7a2a2cb2be9fe2a1d576f122596021
Noting changes for #29412:
LogDebug to LogPrintGetSerializeSize(TX_NO_WITNESS(tx)) to GetSerializeSize(tx, PROTOCOL_VERSION | SERIALIZE_TRANSACTION_NO_WITNESS)
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
ACK c68d4d0ac5b8537ba5e1c0c512b807768e1c5c1f
Milestone
26.1