|
|
@ -145,13 +145,13 @@ class InvalidMessagesTest(BitcoinTestFramework):
|
|
|
|
def test_magic_bytes(self):
|
|
|
|
def test_magic_bytes(self):
|
|
|
|
conn = self.nodes[0].add_p2p_connection(P2PDataStore())
|
|
|
|
conn = self.nodes[0].add_p2p_connection(P2PDataStore())
|
|
|
|
|
|
|
|
|
|
|
|
def swap_magic_bytes():
|
|
|
|
async def swap_magic_bytes():
|
|
|
|
conn._on_data = lambda: None # Need to ignore all incoming messages from now, since they come with "invalid" magic bytes
|
|
|
|
conn._on_data = lambda: None # Need to ignore all incoming messages from now, since they come with "invalid" magic bytes
|
|
|
|
conn.magic_bytes = b'\x00\x11\x22\x32'
|
|
|
|
conn.magic_bytes = b'\x00\x11\x22\x32'
|
|
|
|
|
|
|
|
|
|
|
|
# Call .result() to block until the atomic swap is complete, otherwise
|
|
|
|
# Call .result() to block until the atomic swap is complete, otherwise
|
|
|
|
# we might run into races later on
|
|
|
|
# we might run into races later on
|
|
|
|
asyncio.run_coroutine_threadsafe(asyncio.coroutine(swap_magic_bytes)(), NetworkThread.network_event_loop).result()
|
|
|
|
asyncio.run_coroutine_threadsafe(swap_magic_bytes(), NetworkThread.network_event_loop).result()
|
|
|
|
|
|
|
|
|
|
|
|
with self.nodes[0].assert_debug_log(['PROCESSMESSAGE: INVALID MESSAGESTART ping']):
|
|
|
|
with self.nodes[0].assert_debug_log(['PROCESSMESSAGE: INVALID MESSAGESTART ping']):
|
|
|
|
conn.send_message(messages.msg_ping(nonce=0xff))
|
|
|
|
conn.send_message(messages.msg_ping(nonce=0xff))
|
|
|
|