mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-27 15:28:49 +02:00
Merge #19272: net, test: invalid p2p messages and test framework improvements
56010f9256test: hoist p2p values to test framework constants (Jon Atack)75447f0893test: improve msg sends and p2p disconnections in p2p_invalid_messages (Jon Atack)57960192a5test: refactor test_large_inv() into 3 tests with common method (Jon Atack)e2b21d8a59test: add p2p_invalid_messages logging (Jon Atack)9fa494dc09net: update misbehavior logging for oversized messages (Jon Atack) Pull request description: ...seen while reviewing #19264, #19252, #19304 and #19107: in `net_processing.cpp` - make the debug logging for oversized message size misbehavior the same for `addr`, `getdata`, `headers` and `inv` messages in `p2p_invalid_messages` - add missing logging - improve assertions/message sends, move cleanup disconnections outside the assertion scopes - split a slowish 3-part test into 3 order-independent tests - add a few p2p constants to the test framework ACKs for top commit: troygiorshev: reACK56010f9256MarcoFalke: ACK56010f9256🎛 Tree-SHA512: db67b70278f8d4c318907e105af54b54eb3afd15500f9aa0c98034f6fd4bd1cf9ad1663037bd9b237ff4890f3059b37291a6498d8d6ae2cc38efb9f045f73310
This commit is contained in:
@@ -45,6 +45,10 @@ MAX_MONEY = 21000000 * COIN
|
||||
|
||||
BIP125_SEQUENCE_NUMBER = 0xfffffffd # Sequence number that is BIP 125 opt-in and BIP 68-opt-out
|
||||
|
||||
MAX_PROTOCOL_MESSAGE_LENGTH = 4000000 # Maximum length of incoming protocol messages
|
||||
MAX_HEADERS_RESULTS = 2000 # Number of headers sent in one getheaders result
|
||||
MAX_INV_SIZE = 50000 # Maximum number of entries in an 'inv' protocol message
|
||||
|
||||
NODE_NETWORK = (1 << 0)
|
||||
NODE_GETUTXO = (1 << 1)
|
||||
NODE_BLOOM = (1 << 2)
|
||||
|
||||
@@ -26,6 +26,7 @@ import threading
|
||||
|
||||
from test_framework.messages import (
|
||||
CBlockHeader,
|
||||
MAX_HEADERS_RESULTS,
|
||||
MIN_VERSION_SUPPORTED,
|
||||
msg_addr,
|
||||
msg_block,
|
||||
@@ -553,7 +554,6 @@ class P2PDataStore(P2PInterface):
|
||||
return
|
||||
|
||||
headers_list = [self.block_store[self.last_block_hash]]
|
||||
maxheaders = 2000
|
||||
while headers_list[-1].sha256 not in locator.vHave:
|
||||
# Walk back through the block store, adding headers to headers_list
|
||||
# as we go.
|
||||
@@ -569,7 +569,7 @@ class P2PDataStore(P2PInterface):
|
||||
break
|
||||
|
||||
# Truncate the list if there are too many headers
|
||||
headers_list = headers_list[:-maxheaders - 1:-1]
|
||||
headers_list = headers_list[:-MAX_HEADERS_RESULTS - 1:-1]
|
||||
response = msg_headers(headers_list)
|
||||
|
||||
if response is not None:
|
||||
|
||||
Reference in New Issue
Block a user