Commit graph

46853 commits

Author SHA1 Message Date
Byron Hambly
bdcd9e6aba Merge c5a63ea56f into merged_master (Bitcoin PR bitcoin/bitcoin#27944) 2025-07-21 10:27:46 +02:00
Byron Hambly
61ff980881 Merge e25af11225 into merged_master (Bitcoin PR bitcoin/bitcoin#28431) 2025-07-21 10:18:41 +02:00
Byron Hambly
798875ed2d Merge 579c49b3a6 into merged_master (Bitcoin PR bitcoin/bitcoin#28428) 2025-07-21 10:11:15 +02:00
Byron Hambly
73da193b6d Merge 4e1a38c6df into merged_master (Bitcoin PR bitcoin/bitcoin#28196) 2025-07-21 10:00:47 +02:00
Byron Hambly
5d35499c0c Merge 238d29aff9 into merged_master (Bitcoin PR bitcoin/bitcoin#28361) 2025-07-21 09:41:01 +02:00
Byron Hambly
21ed1add7c Merge 0354206a30 into merged_master (Bitcoin PR bitcoin/bitcoin#28412) 2025-07-21 09:40:58 +02:00
Byron Hambly
e7563b7194 Merge b097a689ed into merged_master (Bitcoin PR bitcoin/bitcoin#28422) 2025-07-21 09:40:56 +02:00
Byron Hambly
236ccf7924 Merge 8e0d9796da into merged_master (Bitcoin PR bitcoin/bitcoin#25284) 2025-07-18 15:00:47 +02:00
Byron Hambly
7aa64a716a Merge 5ad4eb3365 into merged_master (Bitcoin PR bitcoin/bitcoin#28426) 2025-07-18 14:51:20 +02:00
Byron Hambly
a35749fd61 Merge d98180a969 into merged_master (Bitcoin PR bitcoin/bitcoin#28419) 2025-07-18 14:49:55 +02:00
Byron Hambly
b456503d27 Merge d2ccca253f into merged_master (Bitcoin PR bitcoin/bitcoin#26567)
Modified to keep using dummy signing until we can update to the
descriptor method introduced in this PR from upstream
2025-07-18 14:38:53 +02:00
Byron Hambly
833114cc24 Merge b379bb2465 into merged_master (Elements PR #1459) 2025-07-18 11:45:30 +02:00
Byron Hambly
6d85037723 Merge 2f6f7ce26d into merged_master (Elements PR #1472)
Kept all of the "current" changes for this after cherry-picking the
upstream PR before this
2025-07-18 11:31:38 +02:00
glozow
c577f5afb4 Merge bitcoin/bitcoin#30394: net: fix race condition in self-connect detection
ELEMENTS: cherry-picked before ElementsProject/elements#1472 for ease of
merge

16bd283b3a Reapply "test: p2p: check that connecting to ourself leads to disconnect" (Sebastian Falbesoner)
0dbcd4c148 net: prevent sending messages in `NetEventsInterface::InitializeNode` (Sebastian Falbesoner)
66673f1c13 net: fix race condition in self-connect detection (Sebastian Falbesoner)

Pull request description:

  This PR fixes a recently discovered race condition in the self-connect detection (see #30362 and #30368).

  Initiating an outbound network connection currently involves the following steps after the socket connection is established (see [`CConnman::OpenNetworkConnection`](bd5d1688b4/src/net.cpp (L2923-L2930)) method):
  1. set up node state
  2. queue VERSION message (both steps 1 and 2 happen in [`InitializeNode`](bd5d1688b4/src/net_processing.cpp (L1662-L1683)))
  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`.

  The temporarily reverted test introduced in #30362 is readded. Fixes #30368.

  Thanks go to vasild, mzumsande and dergoegge for suggestions on how to fix this (see https://github.com/bitcoin/bitcoin/issues/30368#issuecomment-2200625017 ff. and https://github.com/bitcoin/bitcoin/pull/30394#discussion_r1668290789).

ACKs for top commit:
  naiyoma:
    tested ACK [https://github.com/bitcoin/bitcoin/pull/30394/commits/16bd283b3ad05daa41259a062aee0fc05b463fa6](https://github.com/bitcoin/bitcoin/pull/30394/commits/16bd283b3ad05daa41259a062aee0fc05b463fa6),  built and tested locally,  test passes successfully.
  mzumsande:
    ACK 16bd283b3a
  tdb3:
    ACK 16bd283b3a
  glozow:
    ACK 16bd283b3a
  dergoegge:
    ACK 16bd283b3a

Tree-SHA512: 5b8aced6cda8deb38d4cd3fe4980b8af505d37ffa0925afaa734c5d81efe9d490dc48a42e1d0d45dd2961c0e1172a3d5b6582ae9a2d642f2592a17fbdc184445
(cherry picked from commit 35dddbccf1)
2025-07-18 11:20:21 +02:00
Byron Hambly
b379bb2465
Merge pull request #1459 from ElementsProject/simplicity
Update Simplicity integeration
2025-07-17 17:04:48 +02:00
Tom Trevethan
c4bc9fd5b4
Fix position of version argument in walletcreatefundedpsbt (#1474)
* fix position of version argument and add test

* add test for version number

---------

Co-authored-by: Tom Trevethan <ttrevethan@blockstream.com>
2025-07-11 12:27:43 +02:00
Byron Hambly
bd65b886f1 Merge 67cd78dbc2 into merged_master (Elements PR #1451) 2025-07-10 12:09:50 +02:00
Byron Hambly
ca65b633fc Merge 73760bae3e into merged_master (Elements PR #1471) 2025-07-10 11:46:09 +02:00
Byron Hambly
c19b022f26 Merge aab28aa94f into merged_master (Elements PR #1473) 2025-07-10 11:40:41 +02:00
Byron Hambly
503283f07f Merge cb6ad6ae09 into merged_master (Elements PR #1463) 2025-07-10 11:40:37 +02:00
Byron Hambly
c014353040 Merge e7dfdfb6f5 into merged_master (Elements PR #1468) 2025-07-10 11:38:56 +02:00
Byron Hambly
a848dd7501 Merge 956797f24a into merged_master (Elements PR #1467) 2025-07-10 11:38:01 +02:00
Byron Hambly
2ddc85a420 Merge 209032c107 into merged_master (Elements PR #1461) 2025-07-10 11:28:00 +02:00
Byron Hambly
e34355c770 Merge 10a8e36813 into merged_master (Elements PR #1428) 2025-07-10 11:20:33 +02:00
Byron Hambly
302c7c1d28 Merge 7ed597f4a5 into merged_master (Elements PR #1453) 2025-07-10 11:12:39 +02:00
Byron Hambly
5223853d00 Merge 38357edd42 into merged_master (Elements PR #1452) 2025-07-10 10:13:10 +02:00
Byron Hambly
2f6f7ce26d
Merge pull request #1472 from tomt1664/fix_race_condition
net: fix race condition in self-connect detection
2025-07-09 11:05:05 +02:00
Byron Hambly
b54e5e58d7 Merge 9748c00c33 into merged_master (Elements PR #1450)
syscall sandbox was removed upstream in bitcoin/bitcoin#27896
2025-07-08 19:23:53 +02:00
glozow
8db506f406 Merge bitcoin/bitcoin#30394: net: fix race condition in self-connect detection
16bd283b3a Reapply "test: p2p: check that connecting to ourself leads to disconnect" (Sebastian Falbesoner)
0dbcd4c148 net: prevent sending messages in `NetEventsInterface::InitializeNode` (Sebastian Falbesoner)
66673f1c13 net: fix race condition in self-connect detection (Sebastian Falbesoner)

Pull request description:

  This PR fixes a recently discovered race condition in the self-connect detection (see #30362 and #30368).

  Initiating an outbound network connection currently involves the following steps after the socket connection is established (see [`CConnman::OpenNetworkConnection`](bd5d1688b4/src/net.cpp (L2923-L2930)) method):
  1. set up node state
  2. queue VERSION message (both steps 1 and 2 happen in [`InitializeNode`](bd5d1688b4/src/net_processing.cpp (L1662-L1683)))
  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`.

  The temporarily reverted test introduced in #30362 is readded. Fixes #30368.

  Thanks go to vasild, mzumsande and dergoegge for suggestions on how to fix this (see https://github.com/bitcoin/bitcoin/issues/30368#issuecomment-2200625017 ff. and https://github.com/bitcoin/bitcoin/pull/30394#discussion_r1668290789).

ACKs for top commit:
  naiyoma:
    tested ACK [https://github.com/bitcoin/bitcoin/pull/30394/commits/16bd283b3ad05daa41259a062aee0fc05b463fa6](https://github.com/bitcoin/bitcoin/pull/30394/commits/16bd283b3ad05daa41259a062aee0fc05b463fa6),  built and tested locally,  test passes successfully.
  mzumsande:
    ACK 16bd283b3a
  tdb3:
    ACK 16bd283b3a
  glozow:
    ACK 16bd283b3a
  dergoegge:
    ACK 16bd283b3a

Tree-SHA512: 5b8aced6cda8deb38d4cd3fe4980b8af505d37ffa0925afaa734c5d81efe9d490dc48a42e1d0d45dd2961c0e1172a3d5b6582ae9a2d642f2592a17fbdc184445
2025-07-08 13:53:58 +01:00
Byron Hambly
67cd78dbc2
Merge pull request #1451 from tomt1664/v25+_cherry_pick
Selected Bitcoin v25 and onwards patches
2025-07-08 14:17:15 +02:00
Byron Hambly
73760bae3e
Merge pull request #1471 from tomt1664/fix/duplicate_solve_data
Removed duplicate solving_data for transaction funding RPCs
2025-07-08 13:30:17 +02:00
Tom Trevethan
a9da179304 remove unused variable 2025-07-07 15:55:11 +01:00
Tom Trevethan
2f9eab6379 add solved_data to options for functional test 2025-07-07 15:55:11 +01:00
Tom Trevethan
288e2a94eb removed duplicate solving_data for funding tx rpcs 2025-07-07 15:55:11 +01:00
Byron Hambly
aab28aa94f
Merge pull request #1473 from Olexandr88/patch-1
chore: replaced the non-working travis badge with a release
2025-07-07 15:40:18 +02:00
Byron Hambly
ff5f2bd383 Merge cf421820f5 into merged_master (Bitcoin PR bitcoin/bitcoin#28409) 2025-07-07 10:01:39 +02:00
Byron Hambly
1a473404ad Merge 9d3b216e00 into merged_master (Bitcoin PR bitcoin/bitcoin#28151) 2025-07-07 09:53:57 +02:00
Byron Hambly
bef3aeb383 Merge ecab855838 into merged_master (Bitcoin PR bitcoin/bitcoin#28195) 2025-07-07 09:45:43 +02:00
Olexandr88
87a64aa64e
Update README.md 2025-07-07 10:24:29 +03:00
Olexandr88
637fbf9c4e
Update README.md 2025-07-06 21:17:26 +03:00
Byron Hambly
fff862f0ad Merge 8c7e735456 into merged_master (Bitcoin PR bitcoin/bitcoin#28404) 2025-07-06 07:58:44 +02:00
Byron Hambly
411c0d949c Merge 260445bee8 into merged_master (Bitcoin PR bitcoin/bitcoin#28359) 2025-07-05 20:33:35 +02:00
Byron Hambly
11d0a0194b Merge c004ba48f4 into merged_master (Bitcoin PR bitcoin/bitcoin#28386) 2025-07-05 20:33:32 +02:00
Byron Hambly
daa1c2efb7 Merge fb619e1bc3 into merged_master (Bitcoin PR bitcoin/bitcoin#28396) 2025-07-05 20:33:29 +02:00
Byron Hambly
638c3cf521 Merge 818bfd6dfe into merged_master (Bitcoin PR bitcoin/bitcoin#28402) 2025-07-05 19:09:13 +02:00
Byron Hambly
6e7f491e72 Merge 337d6f35a2 into merged_master (Bitcoin PR bitcoin/bitcoin#28291) 2025-07-05 19:01:02 +02:00
Byron Hambly
7c374ab4b7 Merge 6f03c45f6b into merged_master (Bitcoin PR bitcoin/bitcoin#28383) 2025-07-05 18:52:51 +02:00
Byron Hambly
5d01fbe7c0 Merge df98a12fc2 into merged_master (Bitcoin PR bitcoin/bitcoin#28350) 2025-07-05 18:44:42 +02:00
Byron Hambly
483d99b742 Merge b2f1d732cb into merged_master (Bitcoin PR bitcoin/bitcoin#28384) 2025-07-05 18:36:34 +02:00
Byron Hambly
2376883a9e Merge 5666966dff into merged_master (Bitcoin PR bitcoin/bitcoin#28364) 2025-07-05 18:25:36 +02:00