Skip to content

Commit 6a91499

Browse files
sipajonasschnelli
authored andcommitted
Remove oversized message detection from log and interface
1 parent b0e10ff commit 6a91499

File tree

3 files changed

+7
-18
lines changed

3 files changed

+7
-18
lines changed

src/net.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -577,12 +577,6 @@ bool CNode::ReceiveMsgBytes(const char *pch, unsigned int nBytes, bool& complete
577577
return false;
578578
}
579579

580-
if (m_deserializer->OversizedMessageDetected()) {
581-
LogPrint(BCLog::NET, "Oversized message from peer=%i, disconnecting\n", GetId());
582-
m_deserializer->Reset();
583-
return false;
584-
}
585-
586580
pch += handled;
587581
nBytes -= handled;
588582

@@ -655,9 +649,10 @@ int V1TransportDeserializer::readHeader(const char *pch, unsigned int nBytes)
655649
return -1;
656650
}
657651

658-
// reject messages larger than MAX_SIZE
659-
if (hdr.nMessageSize > MAX_SIZE)
652+
// reject messages larger than MAX_SIZE or MAX_PROTOCOL_MESSAGE_LENGTH
653+
if (hdr.nMessageSize > MAX_SIZE || hdr.nMessageSize > MAX_PROTOCOL_MESSAGE_LENGTH) {
660654
return -1;
655+
}
661656

662657
// switch state to reading message data
663658
in_data = true;

src/net.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -642,8 +642,6 @@ class TransportDeserializer {
642642
virtual void Reset() = 0;
643643
// returns true if the current deserialization is complete
644644
virtual bool Complete() const = 0;
645-
// checks if the potential message in deserialization is oversized
646-
virtual bool OversizedMessageDetected() const = 0;
647645
// set the serialization context version
648646
virtual void SetVersion(int version) = 0;
649647
// read and deserialize data
@@ -695,9 +693,6 @@ class V1TransportDeserializer : public TransportDeserializer
695693
hdrbuf.SetVersion(nVersionIn);
696694
vRecv.SetVersion(nVersionIn);
697695
}
698-
bool OversizedMessageDetected() const {
699-
return (in_data && hdr.nMessageSize > MAX_PROTOCOL_MESSAGE_LENGTH);
700-
}
701696
int Read(const char *pch, unsigned int nBytes) {
702697
return in_data ? readData(pch, nBytes) : readHeader(pch, nBytes);
703698
}

test/functional/p2p_invalid_messages.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,10 @@ def run_test(self):
101101
msg_over_size = msg_unrecognized(str_data="b" * (valid_data_limit + 1))
102102
assert len(msg_over_size.serialize()) == (msg_limit + 1)
103103

104-
with node.assert_debug_log(["Oversized message from peer=4, disconnecting"]):
105-
# An unknown message type (or *any* message type) over
106-
# MAX_PROTOCOL_MESSAGE_LENGTH should result in a disconnect.
107-
node.p2p.send_message(msg_over_size)
108-
node.p2p.wait_for_disconnect(timeout=4)
104+
# An unknown message type (or *any* message type) over
105+
# MAX_PROTOCOL_MESSAGE_LENGTH should result in a disconnect.
106+
node.p2p.send_message(msg_over_size)
107+
node.p2p.wait_for_disconnect(timeout=4)
109108

110109
node.disconnect_p2ps()
111110
conn = node.add_p2p_connection(P2PDataStore())

0 commit comments

Comments
 (0)