|
10 | 10 | #include <net.h>
|
11 | 11 |
|
12 | 12 | #include <banman.h>
|
13 |
| -#include <chainparams.h> |
14 | 13 | #include <clientversion.h>
|
15 | 14 | #include <consensus/consensus.h>
|
16 | 15 | #include <crypto/sha256.h>
|
@@ -615,7 +614,7 @@ bool CNode::ReceiveMsgBytes(const char *pch, unsigned int nBytes, bool& complete
|
615 | 614 | if (m_deserializer->Complete()) {
|
616 | 615 | // decompose a transport agnostic CNetMessage from the deserializer
|
617 | 616 | uint32_t out_err_raw_size{0};
|
618 |
| - Optional<CNetMessage> result{m_deserializer->GetMessage(Params().MessageStart(), time, out_err_raw_size)}; |
| 617 | + Optional<CNetMessage> result{m_deserializer->GetMessage(time, out_err_raw_size)}; |
619 | 618 | if (!result) {
|
620 | 619 | // store the size of the corrupt message
|
621 | 620 | mapRecvBytesPerMsgCmd.find(NET_MESSAGE_COMMAND_OTHER)->second += out_err_raw_size;
|
@@ -697,22 +696,23 @@ const uint256& V1TransportDeserializer::GetMessageHash() const
|
697 | 696 | return data_hash;
|
698 | 697 | }
|
699 | 698 |
|
700 |
| -Optional<CNetMessage> V1TransportDeserializer::GetMessage(const CMessageHeader::MessageStartChars& message_start, const std::chrono::microseconds time, uint32_t& out_err_raw_size) |
| 699 | +Optional<CNetMessage> V1TransportDeserializer::GetMessage(const std::chrono::microseconds time, uint32_t& out_err_raw_size) |
701 | 700 | {
|
702 | 701 | // decompose a single CNetMessage from the TransportDeserializer
|
703 | 702 | Optional<CNetMessage> msg(std::move(vRecv));
|
704 | 703 |
|
705 | 704 | // store state about valid header, netmagic and checksum
|
706 |
| - msg->m_valid_header = hdr.IsValid(message_start); |
707 |
| - msg->m_valid_netmagic = (memcmp(hdr.pchMessageStart, message_start, CMessageHeader::MESSAGE_START_SIZE) == 0); |
708 |
| - uint256 hash = GetMessageHash(); |
| 705 | + msg->m_valid_header = hdr.IsValid(m_chain_params.MessageStart()); |
| 706 | + msg->m_valid_netmagic = (memcmp(hdr.pchMessageStart, m_chain_params.MessageStart(), CMessageHeader::MESSAGE_START_SIZE) == 0); |
709 | 707 |
|
710 | 708 | // store command string, time, and sizes
|
711 | 709 | msg->m_command = hdr.GetCommand();
|
712 | 710 | msg->m_time = time;
|
713 | 711 | msg->m_message_size = hdr.nMessageSize;
|
714 | 712 | msg->m_raw_message_size = hdr.nMessageSize + CMessageHeader::HEADER_SIZE;
|
715 | 713 |
|
| 714 | + uint256 hash = GetMessageHash(); |
| 715 | + |
716 | 716 | // We just received a message off the wire, harvest entropy from the time (and the message checksum)
|
717 | 717 | RandAddEvent(ReadLE32(hash.begin()));
|
718 | 718 |
|
@@ -2846,7 +2846,7 @@ CNode::CNode(NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn
|
2846 | 2846 | LogPrint(BCLog::NET, "Added connection peer=%d\n", id);
|
2847 | 2847 | }
|
2848 | 2848 |
|
2849 |
| - m_deserializer = MakeUnique<V1TransportDeserializer>(V1TransportDeserializer(GetId(), SER_NETWORK, INIT_PROTO_VERSION)); |
| 2849 | + m_deserializer = MakeUnique<V1TransportDeserializer>(V1TransportDeserializer(Params(), GetId(), SER_NETWORK, INIT_PROTO_VERSION)); |
2850 | 2850 | m_serializer = MakeUnique<V1TransportSerializer>(V1TransportSerializer());
|
2851 | 2851 | }
|
2852 | 2852 |
|
|
0 commit comments