|
7 | 7 | from test_framework.messages import (
|
8 | 8 | CBlockHeader,
|
9 | 9 | CInv,
|
| 10 | + MAX_HEADERS_RESULTS, |
| 11 | + MAX_INV_SIZE, |
| 12 | + MAX_PROTOCOL_MESSAGE_LENGTH, |
10 | 13 | msg_getdata,
|
11 | 14 | msg_headers,
|
12 | 15 | msg_inv,
|
|
24 | 27 | wait_until,
|
25 | 28 | )
|
26 | 29 |
|
27 |
| -MSG_LIMIT = 4 * 1000 * 1000 # 4MB, per MAX_PROTOCOL_MESSAGE_LENGTH |
28 |
| -VALID_DATA_LIMIT = MSG_LIMIT - 5 # Account for the 5-byte length prefix |
| 30 | +VALID_DATA_LIMIT = MAX_PROTOCOL_MESSAGE_LENGTH - 5 # Account for the 5-byte length prefix |
29 | 31 |
|
30 | 32 | class msg_unrecognized:
|
31 | 33 | """Nonsensical message. Modeled after similar types in test_framework.messages."""
|
@@ -132,20 +134,23 @@ def test_oversized_msg(self, msg, size):
|
132 | 134 | self.nodes[0].disconnect_p2ps()
|
133 | 135 |
|
134 | 136 | def test_oversized_inv_msg(self):
|
135 |
| - self.test_oversized_msg(msg_inv([CInv(MSG_TX, 1)] * 50001), 50001) |
| 137 | + size = MAX_INV_SIZE + 1 |
| 138 | + self.test_oversized_msg(msg_inv([CInv(MSG_TX, 1)] * size), size) |
136 | 139 |
|
137 | 140 | def test_oversized_getdata_msg(self):
|
138 |
| - self.test_oversized_msg(msg_getdata([CInv(MSG_TX, 1)] * 50001), 50001) |
| 141 | + size = MAX_INV_SIZE + 1 |
| 142 | + self.test_oversized_msg(msg_getdata([CInv(MSG_TX, 1)] * size), size) |
139 | 143 |
|
140 | 144 | def test_oversized_headers_msg(self):
|
141 |
| - self.test_oversized_msg(msg_headers([CBlockHeader()] * 2001), 2001) |
| 145 | + size = MAX_HEADERS_RESULTS + 1 |
| 146 | + self.test_oversized_msg(msg_headers([CBlockHeader()] * size), size) |
142 | 147 |
|
143 | 148 | def test_resource_exhaustion(self):
|
144 | 149 | self.log.info("Test node stays up despite many large junk messages")
|
145 | 150 | conn = self.nodes[0].add_p2p_connection(P2PDataStore())
|
146 | 151 | conn2 = self.nodes[0].add_p2p_connection(P2PDataStore())
|
147 | 152 | msg_at_size = msg_unrecognized(str_data="b" * VALID_DATA_LIMIT)
|
148 |
| - assert len(msg_at_size.serialize()) == MSG_LIMIT |
| 153 | + assert len(msg_at_size.serialize()) == MAX_PROTOCOL_MESSAGE_LENGTH |
149 | 154 |
|
150 | 155 | self.log.info("(a) Send 80 messages, each of maximum valid data size (4MB)")
|
151 | 156 | for _ in range(80):
|
|
0 commit comments