8
8
received a VERACK.
9
9
10
10
This test connects to a node and sends it a few messages, trying to entice it
11
- into sending us something it shouldn't.
12
-
13
- Also test that nodes that send unsupported service bits to bitcoind are disconnected
14
- and don't receive a VERACK. Unsupported service bits are currently 1 << 5 and
15
- 1 << 7 (until August 1st 2018)."""
11
+ into sending us something it shouldn't."""
16
12
17
13
from test_framework .mininode import *
18
14
from test_framework .test_framework import BitcoinTestFramework
@@ -95,19 +91,13 @@ def set_test_params(self):
95
91
self .extra_args = [['-banscore=' + str (banscore )]]
96
92
97
93
def run_test (self ):
98
- self .nodes [0 ].setmocktime (1501545600 ) # August 1st 2017
99
-
100
94
no_version_bannode = self .nodes [0 ].add_p2p_connection (CNodeNoVersionBan (), send_version = False )
101
95
no_version_idlenode = self .nodes [0 ].add_p2p_connection (CNodeNoVersionIdle (), send_version = False )
102
96
no_verack_idlenode = self .nodes [0 ].add_p2p_connection (CNodeNoVerackIdle ())
103
- unsupported_service_bit5_node = self .nodes [0 ].add_p2p_connection (CLazyNode (), services = NODE_NETWORK | NODE_UNSUPPORTED_SERVICE_BIT_5 )
104
- unsupported_service_bit7_node = self .nodes [0 ].add_p2p_connection (CLazyNode (), services = NODE_NETWORK | NODE_UNSUPPORTED_SERVICE_BIT_7 )
105
97
106
98
wait_until (lambda : no_version_bannode .ever_connected , timeout = 10 , lock = mininode_lock )
107
99
wait_until (lambda : no_version_idlenode .ever_connected , timeout = 10 , lock = mininode_lock )
108
100
wait_until (lambda : no_verack_idlenode .version_received , timeout = 10 , lock = mininode_lock )
109
- wait_until (lambda : unsupported_service_bit5_node .ever_connected , timeout = 10 , lock = mininode_lock )
110
- wait_until (lambda : unsupported_service_bit7_node .ever_connected , timeout = 10 , lock = mininode_lock )
111
101
112
102
# Mine a block and make sure that it's not sent to the connected nodes
113
103
self .nodes [0 ].generate (1 )
@@ -118,10 +108,6 @@ def run_test(self):
118
108
#This node should have been banned
119
109
assert not no_version_bannode .is_connected
120
110
121
- # These nodes should have been disconnected
122
- assert not unsupported_service_bit5_node .is_connected
123
- assert not unsupported_service_bit7_node .is_connected
124
-
125
111
self .nodes [0 ].disconnect_p2ps ()
126
112
127
113
# Wait until all connections are closed
@@ -131,17 +117,6 @@ def run_test(self):
131
117
assert (no_version_bannode .unexpected_msg == False )
132
118
assert (no_version_idlenode .unexpected_msg == False )
133
119
assert (no_verack_idlenode .unexpected_msg == False )
134
- assert not unsupported_service_bit5_node .unexpected_msg
135
- assert not unsupported_service_bit7_node .unexpected_msg
136
-
137
- self .log .info ("Service bits 5 and 7 are allowed after August 1st 2018" )
138
- self .nodes [0 ].setmocktime (1533168000 ) # August 2nd 2018
139
-
140
- allowed_service_bit5_node = self .nodes [0 ].add_p2p_connection (P2PInterface (), services = NODE_NETWORK | NODE_UNSUPPORTED_SERVICE_BIT_5 )
141
- allowed_service_bit7_node = self .nodes [0 ].add_p2p_connection (P2PInterface (), services = NODE_NETWORK | NODE_UNSUPPORTED_SERVICE_BIT_7 )
142
-
143
- wait_until (lambda : allowed_service_bit5_node .message_count ["verack" ], lock = mininode_lock )
144
- wait_until (lambda : allowed_service_bit7_node .message_count ["verack" ], lock = mininode_lock )
145
120
146
121
147
122
if __name__ == '__main__' :
0 commit comments