Commit graph

1414 commits

Author SHA1 Message Date
ikripaka
716ad9b925
Merge 0bd2bd1efb into merged_master (Bitcoin PR bitcoin/bitcoin#30237) 2026-03-03 13:16:53 +00:00
ivanlele
59a40df21e
Merge a19563ac86 into merged_master (Bitcoin PR bitcoin/bitcoin#30316) 2026-03-02 12:24:24 +00:00
ivanlele
5631e834ac
Merge a52837b9e9 into merged_master (Bitcoin PR bitcoin/bitcoin#29575) 2026-03-02 11:58:10 +00:00
ivanlele
cdfc5aad8d
Merge ddf2ebd465 into merged_master (Bitcoin PR bitcoin/bitcoin#30058) 2026-03-02 10:03:33 +00:00
ivanlele
c17f9a8927
Merge 33303b2b29 into merged_master (Bitcoin PR bitcoin/bitcoin#30000) 2026-02-20 14:51:33 +00:00
ivanlele
51e3c1c05c
Merge f5fc3190fb into merged_master (Bitcoin PR bitcoin/bitcoin#29086) 2026-02-20 13:59:29 +00:00
ivanlele
b662957ffd
Merge 012e540ace into merged_master (Bitcoin PR bitcoin/bitcoin#29122) 2026-02-20 10:11:06 +00:00
ivanlele
0344297982
Merge 573f631165 into merged_master (Bitcoin PR bitcoin/bitcoin#26326) 2026-02-20 09:35:22 +00:00
ivanlele
b2b020c68c
Merge f5b6f621ff into merged_master (Bitcoin PR bitcoin/bitcoin#30024) 2026-02-19 14:53:10 +00:00
ivanlele
d7c379e545
Merge 99d7538cdb into merged_master (Bitcoin PR bitcoin/bitcoin#30012) 2026-02-19 14:26:08 +00:00
ivanlele
b7a64d4e3c
Merge 0c3a3c9394 into merged_master (Bitcoin PR bitcoin/bitcoin#29623) 2026-02-19 12:37:27 +00:00
ivanlele
8e444fe436
Merge d813ba1bc4 into merged_master (Bitcoin PR bitcoin/bitcoin#28970) 2026-02-19 11:56:36 +00:00
Tom Trevethan
e4d087d49c Merge bf031a517c into merged_master (Bitcoin PR bitcoin/bitcoin#29752) 2026-02-17 23:44:39 +00:00
ivanlele
67f972d29b
Merge 264ca9db24 into merged_master (Bitcoin PR bitcoin/bitcoin#29619) 2026-02-16 10:11:49 +00:00
ivanlele
8866e81d96
Merge bef99176e6 into merged_master (Bitcoin PR #27114) 2026-02-13 17:25:19 +00:00
ivanlele
c26d4df02c Merge 4a903741b0 into merged_master (Bitcoin PR #28120) 2026-02-12 17:26:09 +00:00
ivanlele
919f6e61b7 Merge 4cc99df44a into merged_master (Bitcoin PR #29569) 2026-02-12 16:59:05 +00:00
Byron Hambly
b640af0021
Merge e60804f121 into merged_master (Bitcoin PR bitcoin/bitcoin#29524) 2025-12-04 15:19:11 +02:00
Byron Hambly
c75430d439
Merge 2649e655b9 into merged_master (Bitcoin PR bitcoin/bitcoin#29412) 2025-12-04 11:40:03 +02:00
Byron Hambly
cffb3d4646
Merge 38941045c5 into merged_master (Bitcoin PR bitcoin/bitcoin#29361) 2025-11-29 14:38:05 +02:00
Byron Hambly
b15f9acb3d
Merge 3c13f5d612 into merged_master (Bitcoin PR bitcoin/bitcoin#28956) 2025-11-29 14:05:38 +02:00
Byron Hambly
b5859dc083
Merge 0b768746ef into merged_master (Bitcoin PR bitcoin/bitcoin#28170) 2025-11-29 13:46:08 +02:00
Byron Hambly
3217a2ce4f
Merge 5711da6588 into merged_master (Bitcoin PR bitcoin/bitcoin#29213) 2025-11-18 12:06:56 +02:00
Byron Hambly
d8be967dc7
Merge 7ff8e6b240 into merged_master (Bitcoin PR bitcoin/bitcoin#28318) 2025-11-18 09:03:13 +02:00
Byron Hambly
53b76bc1da
Merge 40bc501bf4 into merged_master (Bitcoin PR bitcoin/bitcoin#29031) 2025-11-11 15:49:42 +02:00
Byron Hambly
3950e02cd0
Merge 16b5b4b674 into merged_master (Bitcoin PR bitcoin/bitcoin#28579) 2025-11-11 10:52:33 +02:00
Byron Hambly
a3fdbcd901
Merge c252a0fc0f into merged_master (Bitcoin PR bitcoin/bitcoin#28892) 2025-11-11 09:48:12 +02:00
Byron Hambly
8556ebfa64
Merge 22025d06e5 into merged_master (Bitcoin PR bitcoin/bitcoin#28605) 2025-11-10 14:17:41 +02:00
Byron Hambly
8cf8bd5564
Merge 108462139b into merged_master (Bitcoin PR bitcoin/bitcoin#28438) 2025-11-10 13:45:17 +02:00
Byron Hambly
5cd5716096
Merge d690f89b57 into merged_master (Bitcoin PR bitcoin/bitcoin#28785) 2025-11-06 10:20:07 +02:00
Byron Hambly
8da9a2a5c1
Merge d51fb9caa6 into merged_master (Bitcoin PR bitcoin/bitcoin#28503) 2025-11-05 17:54:02 +02:00
Byron Hambly
0c87ad800c
Merge 5572f98f05 into merged_master (Bitcoin PR bitcoin/bitcoin#28107) 2025-11-05 15:27:22 +02:00
Tom Trevethan
82953c07c2 re enabled p2p_invalid_messages.py, disabled PoW test, set elements message size and changed net_processing to check for continuous headers in elements mode 2025-10-20 23:09:10 +01:00
Byron Hambly
95503abe8c
lint: fix codespell and lint-spelling 2025-08-08 13:53:55 +02:00
Byron Hambly
b843409fbf
Merge 0655e9dd92 into merged_master (Bitcoin PR bitcoin/bitcoin#27071) 2025-08-07 13:42:28 +02:00
Byron Hambly
69492d27da
Merge 08ea835220 into merged_master (Bitcoin PR bitcoin/bitcoin#28583) 2025-08-07 10:05:15 +02:00
Byron Hambly
e9d955b25a
Merge 38f4b0d9d1 into merged_master (Bitcoin PR bitcoin/bitcoin#28562) 2025-08-06 15:55:32 +02:00
Byron Hambly
189ca0ae5a
Merge 52c6904c78 into merged_master (Bitcoin PR bitcoin/bitcoin#28558) 2025-08-06 15:28:22 +02:00
Byron Hambly
70ba481063
Merge 6f882e6f86 into merged_master (Bitcoin PR bitcoin/bitcoin#28331) 2025-08-06 15:02:59 +02:00
Byron Hambly
7fc909ab98
Merge e7b0004b37 into merged_master (Bitcoin PR bitcoin/bitcoin#27596)
ELEMENTS TODO assumeutxo for liquidv1
2025-08-06 14:33:15 +02:00
Byron Hambly
411883229d
Merge 5c7cdda992 into merged_master (Bitcoin PR bitcoin/bitcoin#28473) 2025-08-01 11:36:44 +02:00
Byron Hambly
236ccf7924 Merge 8e0d9796da into merged_master (Bitcoin PR bitcoin/bitcoin#25284) 2025-07-18 15:00:47 +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
2376883a9e Merge 5666966dff into merged_master (Bitcoin PR bitcoin/bitcoin#28364) 2025-07-05 18:25:36 +02:00
Byron Hambly
f95cdcb6d6 Merge 723f1c669f into merged_master (Bitcoin PR bitcoin/bitcoin#28218) 2025-07-04 21:40:54 +02:00
Byron Hambly
27a302a296 Merge a62f5ee86c into merged_master (Bitcoin PR bitcoin/bitcoin#27675) 2025-07-04 09:56:00 +02:00
Byron Hambly
5ee80641fe Merge b565485c24 into merged_master (Bitcoin PR bitcoin/bitcoin#28186) 2025-07-03 20:58:01 +02:00
Byron Hambly
81083d47bf Merge 624333455a into merged_master (Bitcoin PR bitcoin/bitcoin#26296) 2025-07-03 20:38:42 +02:00
Byron Hambly
8bc9cd62fb Merge be44332803 into merged_master (Bitcoin PR bitcoin/bitcoin#28191) 2025-07-03 15:53:03 +02:00
Byron Hambly
39e785144d Merge b7138252ac into merged_master (Bitcoin PR bitcoin/bitcoin#27213) 2025-07-03 15:36:25 +02:00