Skip to content

Commit fb619e1

Browse files
committed
Merge bitcoin/bitcoin#28396: test: p2p: check that getaddr msgs are only responded once per connection
668aa6a test: p2p: check that `getaddr` msgs are only responded once per connection (Sebastian Falbesoner) Pull request description: This simple PR adds missing test coverage for ignoring repeated `getaddr` requests (introduced in #7856, commit 66b0724): https://github.com/bitcoin/bitcoin/blob/6f03c45f6bb5a6edaa3051968b6a1ca4f84d2ccb/src/net_processing.cpp#L4642-L4648 ACKs for top commit: MarcoFalke: lgtm ACK 668aa6a brunoerg: crACK 668aa6a Tree-SHA512: edcdc6501c684fb41911e393f55ded9b044cd2f92918877eca152edd5a4287d1a9d57ae999f1cb42185eae00c3a0af411fcb9bcd5b990ef48849c3834b141584
2 parents 818bfd6 + 668aa6a commit fb619e1

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

test/functional/p2p_addr_relay.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,16 @@ def getaddr_tests(self):
299299
assert_equal(block_relay_peer.num_ipv4_received, 0)
300300
assert inbound_peer.num_ipv4_received > 100
301301

302+
self.log.info('Check that we answer getaddr messages only once per connection')
303+
received_addrs_before = inbound_peer.num_ipv4_received
304+
with self.nodes[0].assert_debug_log(['Ignoring repeated "getaddr".']):
305+
inbound_peer.send_and_ping(msg_getaddr())
306+
self.mocktime += 10 * 60
307+
self.nodes[0].setmocktime(self.mocktime)
308+
inbound_peer.sync_with_ping()
309+
received_addrs_after = inbound_peer.num_ipv4_received
310+
assert_equal(received_addrs_before, received_addrs_after)
311+
302312
self.nodes[0].disconnect_p2ps()
303313

304314
def blocksonly_mode_tests(self):

0 commit comments

Comments
 (0)