diff options
author | merge-script <fanquake@gmail.com> | 2024-07-01 10:32:52 +0100 |
---|---|---|
committer | merge-script <fanquake@gmail.com> | 2024-07-01 10:32:52 +0100 |
commit | b3c22e0c7246c02130f09c50066aaed1630d5551 (patch) | |
tree | 3ac638068f154a2e30f12abb376c84434b28ef0f | |
parent | 2f6dca4d1c01ee47275a4292f128d714736837a1 (diff) | |
parent | 5d2fb14bafe4e80c0a482d99e5ebde07c477f000 (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-x | test/functional/p2p_handshake.py | 7 |
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() |