aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormerge-script <fanquake@gmail.com>2024-07-01 10:32:52 +0100
committermerge-script <fanquake@gmail.com>2024-07-01 10:32:52 +0100
commitb3c22e0c7246c02130f09c50066aaed1630d5551 (patch)
tree3ac638068f154a2e30f12abb376c84434b28ef0f
parent2f6dca4d1c01ee47275a4292f128d714736837a1 (diff)
parent5d2fb14bafe4e80c0a482d99e5ebde07c477f000 (diff)
Merge bitcoin/bitcoin#30362: test: p2p: check that connecting to ourself leads to disconnect
5d2fb14bafe4e80c0a482d99e5ebde07c477f000 test: p2p: check that connecting to ourself leads to disconnect (Sebastian Falbesoner) Pull request description: This small PR adds test coverage for the scenario of connecting to ourself, leading to an immediate disconnect: https://github.com/bitcoin/bitcoin/blob/2f6dca4d1c01ee47275a4292f128d714736837a1/src/net_processing.cpp#L3729-L3735 This logic has been first introduced by Satoshi in October 2009, together with a couple of other changes and a version bump to "v0.1.6 BETA" (see commit cc0b4c3b62367a2aebe5fc1f4d0ed4b97e9c2ac9). ACKs for top commit: kevkevinpal: tACK [5d2fb14](https://github.com/bitcoin/bitcoin/pull/30362/commits/5d2fb14bafe4e80c0a482d99e5ebde07c477f000) maflcko: ACK 5d2fb14bafe4e80c0a482d99e5ebde07c477f000 fjahr: tACK 5d2fb14bafe4e80c0a482d99e5ebde07c477f000 tdb3: ACK 5d2fb14bafe4e80c0a482d99e5ebde07c477f000 Tree-SHA512: 30fb8c82cef94701affeca386ecd59daa32231635fa770fe225feb69fdab2ffedbfa157edd563f65099ec209f2dafffc1154f7f9292c2ea68bbd114750904875
-rwxr-xr-xtest/functional/p2p_handshake.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/functional/p2p_handshake.py b/test/functional/p2p_handshake.py
index dd19fe9333..673322ab10 100755
--- a/test/functional/p2p_handshake.py
+++ b/test/functional/p2p_handshake.py
@@ -17,6 +17,7 @@ from test_framework.messages import (
NODE_WITNESS,
)
from test_framework.p2p import P2PInterface
+from test_framework.util import p2p_port
# Desirable service flags for outbound non-pruned and pruned peers. Note that
@@ -88,6 +89,12 @@ class P2PHandshakeTest(BitcoinTestFramework):
with node.assert_debug_log([f"feeler connection completed"]):
self.add_outbound_connection(node, "feeler", NODE_NONE, wait_for_disconnect=True)
+ self.log.info("Check that connecting to ourself leads to immediate disconnect")
+ with node.assert_debug_log(["connected to self", "disconnecting"]):
+ node_listen_addr = f"127.0.0.1:{p2p_port(0)}"
+ node.addconnection(node_listen_addr, "outbound-full-relay", self.options.v2transport)
+ self.wait_until(lambda: len(node.getpeerinfo()) == 0)
+
if __name__ == '__main__':
P2PHandshakeTest().main()