24
24
assert_greater_than_or_equal ,
25
25
)
26
26
27
- DISCOURAGEMENT_THRESHOLD = 100
28
-
29
27
30
28
class LazyPeer (P2PInterface ):
31
29
def __init__ (self ):
@@ -93,27 +91,16 @@ def set_test_params(self):
93
91
self .num_nodes = 1
94
92
95
93
def run_test (self ):
96
- # Peer that never sends a version. We will send a bunch of messages
97
- # from this peer anyway and verify eventual disconnection.
98
- no_version_disconnect_peer = self .nodes [0 ].add_p2p_connection (
99
- LazyPeer (), send_version = False , wait_for_verack = False )
100
-
101
94
# Another peer that never sends a version, nor any other messages. It shouldn't receive anything from the node.
102
95
no_version_idle_peer = self .nodes [0 ].add_p2p_connection (LazyPeer (), send_version = False , wait_for_verack = False )
103
96
104
97
# Peer that sends a version but not a verack.
105
98
no_verack_idle_peer = self .nodes [0 ].add_p2p_connection (NoVerackIdlePeer (), wait_for_verack = False )
106
99
107
- # Send enough ping messages (any non-version message will do) prior to sending
108
- # version to reach the peer discouragement threshold. This should get us disconnected.
109
- for _ in range (DISCOURAGEMENT_THRESHOLD ):
110
- no_version_disconnect_peer .send_message (msg_ping ())
111
-
112
100
# Wait until we got the verack in response to the version. Though, don't wait for the node to receive the
113
101
# verack, since we never sent one
114
102
no_verack_idle_peer .wait_for_verack ()
115
103
116
- no_version_disconnect_peer .wait_until (lambda : no_version_disconnect_peer .ever_connected , check_connected = False )
117
104
no_version_idle_peer .wait_until (lambda : no_version_idle_peer .ever_connected )
118
105
no_verack_idle_peer .wait_until (lambda : no_verack_idle_peer .version_received )
119
106
@@ -123,13 +110,9 @@ def run_test(self):
123
110
#Give the node enough time to possibly leak out a message
124
111
time .sleep (5 )
125
112
126
- # Expect this peer to be disconnected for misbehavior
127
- assert not no_version_disconnect_peer .is_connected
128
-
129
113
self .nodes [0 ].disconnect_p2ps ()
130
114
131
115
# Make sure no unexpected messages came in
132
- assert no_version_disconnect_peer .unexpected_msg == False
133
116
assert no_version_idle_peer .unexpected_msg == False
134
117
assert no_verack_idle_peer .unexpected_msg == False
135
118
@@ -148,7 +131,7 @@ def run_test(self):
148
131
p2p_old_peer = self .nodes [0 ].add_p2p_connection (P2PInterface (), send_version = False , wait_for_verack = False )
149
132
old_version_msg = msg_version ()
150
133
old_version_msg .nVersion = 31799
151
- with self .nodes [0 ].assert_debug_log (['peer=4 using obsolete version 31799; disconnecting' ]):
134
+ with self .nodes [0 ].assert_debug_log (['peer=3 using obsolete version 31799; disconnecting' ]):
152
135
p2p_old_peer .send_message (old_version_msg )
153
136
p2p_old_peer .wait_for_disconnect ()
154
137
0 commit comments