This change resolves an issue where a missing space caused the value of
the `build_AR` variable to be concatenated with the "NM=" string. This
resulted in subsequent calls to `${AR}` and `${NM}` failing.
Github-Pull: #31627
Rebased-From: 8a46286da667d19414c30350df48ebf245589e32
This change corrects an issue where CXXFLAGS were mistakenly overridden
by CFLAGS.
Github-Pull: #31502
Rebased-From: a10bb400e8cb0da0030114ee59f2e7c8494aef42
dd1bf8bc4ef75ef43c33bbf755c3e0d2c6c3c5f7 doc: update manual pages for 27.2 (fanquake)
f42fcf6ad7a95b750a9cdc742b801e14a476f823 build: bump version to v27.2 final (fanquake)
6c09325757b65191f7c3a44a039b65016dac9079 doc: finalise release notes for 27.2 (fanquake)
c838ce514fe5a264b68e25b988988382302c6dfc doc: use proper doxygen formatting for CTxMemPool::cs (Vasil Dimov)
Pull request description:
This backports one other change (that doesn't warrant an rc), which fixes noisey output from newer versions of Clang (19+). Also makes the changes for 27.2 final.
Bins for rc1 are available here: https://bitcoincore.org/bin/bitcoin-core-27.2/test.rc1/.
ACKs for top commit:
stickies-v:
ACK dd1bf8bc4ef75ef43c33bbf755c3e0d2c6c3c5f7
Tree-SHA512: 10599443bb8862dc5f238246e21ff817d572fc23174efc0fe27960e490a4e82501555bc859a1a84f465ea211b00c54a3e9125612ca2d98be6e1e8684d5c61a4b
Having `@par title` followed by an empty line renders improperly in
Doxygen - it results in a paragraph with a title but without a body.
https://www.doxygen.nl/manual/commands.html#cmdpar
This also results in a compiler warning (or error) with Clang 19:
```
./txmempool.h:368:34: error: empty paragraph passed to '@par' command [-Werror,-Wdocumentation]
368 | * @par Consistency guarantees
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^
1 error generated.
```
Github-Pull: #30504
Rebased-From: 6a5e9e40e1dd3d397020703feb9aa0b6f4577c98
In python, if the default value is a mutable object (here: a class)
its shared over all instances, so that one instance being changed
would affect others to be changed as well.
This was likely the source of various intermittent bugs in the
functional tests.
Github-Pull: #30552
Rebased-From: ec5e294e4b830766dcc4a80add0613d3705c1794
This test checks that we can successfully process PSBTs and opt out of
finalization.
Previously trying to call `walletprocesspsbt` would attempt to
auto-finalize (as a convenience), and would not permit opt-out of
finalization, instead aborting via `CHECK_NONFATAL`.
Github-Pull: #30357
Rebased-From: 7e36dca657c66bc70b04d5b850e5a335aecfb902
Fix cases of calls to `FillPSBT` returning `complete=true` when it's not
the case.
This can happen when some inputs have been signed but the transaction is
subsequently modified, e.g. in the context of PayJoins.
Also fixes a related bug where a finalized hex string is attempted to be
added during `walletprocesspsbt` but a CHECK_NONFATAL causes an abort.
Reported in #30077.
Github-Pull: #30357
Rebased-From: 39cea21ec51b9838669c38fefa14f25c36ae7096
This avoids situations during a reindex in which shutdown
doesn't finish since SyncWithValidationInterfaceQueue is
called by the load block thread when the scheduler is already stopped.
Github-Pull: #30435
Rebased-From: 5fd48360198d2ac49e43b24cc1469557b03567b8
This reverts commit 9ec2c53701a391629b55aeb2804e8060d2c453a4 with
a tiny change included (identation of the wait_until call).
Github-Pull: #30394
Rebased-From: 16bd283b3ad05daa41259a062aee0fc05b463fa6
Now that the queueing of the VERSION messages has been moved out of
`InitializeNode`, there is no need to pass a mutable `CNode` reference any
more. With a const reference, trying to send messages in this method would
lead to a compile-time error, e.g.:
----------------------------------------------------------------------------------------------------------------------------------
...
net_processing.cpp: In member function ‘virtual void {anonymous}::PeerManagerImpl::InitializeNode(const CNode&, ServiceFlags)’:
net_processing.cpp:1683:21: error: binding reference of type ‘CNode&’ to ‘const CNode’ discards qualifiers
1683 | PushNodeVersion(node, *peer);
...
----------------------------------------------------------------------------------------------------------------------------------
Github-Pull: #30394
Rebased-From: 0dbcd4c14855fe2cba15a32245572b693dc18c4e
Initiating an outbound network connection currently involves the
following steps after the socket connection is established (see
`CConnman::OpenNetworkConnection` method):
1. set up node state
2. queue VERSION message
3. add new node to vector `m_nodes`
If we connect to ourself, it can happen that the sent VERSION message
(step 2) is received and processed locally *before* the node object
is added to the connection manager's `m_nodes` vector (step 3). In this
case, the self-connect remains undiscovered, as the detection doesn't
find the outbound peer in `m_nodes` yet (see `CConnman::CheckIncomingNonce`).
Fix this by swapping the order of 2. and 3., by taking the `PushNodeVersion`
call out of `InitializeNode` and doing that in the `SendMessages` method
instead, which is only called for `CNode` instances in `m_nodes`.
Thanks go to vasild, mzumsande, dergoegge and sipa for suggestions on
how to fix this.
Github-Pull: #30394
Rebased-From: 66673f1c1302c986e344c7f44bb0b352213d5dc8
A common issue that our fuzzers keep finding is that outpoints don't
exist in the non witness utxos. Instead of trying to track this down and
checking in various individual places, do the check early during
deserialization.
Github-Pull: #29855
Rebased-From: 9e13ccc50eec9d2efe0f472e6d50dc822df70d84
See: c0a50ce33e
The return value of 2 now indicates:
"A valid connected IGD has been found but its IP address is reserved (non routable)"
We continue to ignore any return value other than 1.
Github-Pull: #30283
Rebased-From: 8acdf66540834b9f9cf28f16d389e8b6a48516d5
d756a384d2bebe85f2ce0d192e4d31bbbbe750a1 doc: update manual pages for 27.1 (fanquake)
93bb18f1c837a90916bd02ac80bd4b639c17d904 build: bump version to v27.1 final (fanquake)
fcf12419714218122e4abb3f6d7f008dadbf4ed9 doc: update release notes for v27.1 final (fanquake)
f2e05cd2a9bdc42fa45d284a5162f1f670d07ab6 depends: Update Boost download link (Hennadii Stepanov)
ba359205421e2f765391a8330e8a61055acd87fc build: Fix building `fuzz` binary on on SunOS / illumos (Hennadii Stepanov)
Pull request description:
Backports:
* https://github.com/bitcoin/bitcoin/pull/30216
* https://github.com/bitcoin/bitcoin/pull/30217
I don't think either of these changes warrants an `rc2` cycle.
ACKs for top commit:
stickies-v:
ACK d756a384d2bebe85f2ce0d192e4d31bbbbe750a1
willcl-ark:
ACK d756a384d2bebe85f2ce0d192e4d31bbbbe750a1
Tree-SHA512: b5662143283a49156403d865dee25f3b6c22741345a4c8ff10f16845ea7a1a6d9d1319a70a44d07f31263bf1a6d85701146e9cc697b82a5a58922c48504a552c
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