|
|
|
@ -5,7 +5,6 @@
@@ -5,7 +5,6 @@
|
|
|
|
|
|
|
|
|
|
#include "protocol.h" |
|
|
|
|
|
|
|
|
|
#include "chainparams.h" |
|
|
|
|
#include "util.h" |
|
|
|
|
#include "utilstrencodings.h" |
|
|
|
|
|
|
|
|
@ -21,17 +20,17 @@ static const char* ppszTypeName[] =
@@ -21,17 +20,17 @@ static const char* ppszTypeName[] =
|
|
|
|
|
"filtered block" |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
CMessageHeader::CMessageHeader() |
|
|
|
|
CMessageHeader::CMessageHeader(const MessageStartChars& pchMessageStartIn) |
|
|
|
|
{ |
|
|
|
|
memcpy(pchMessageStart, Params().MessageStart(), MESSAGE_START_SIZE); |
|
|
|
|
memcpy(pchMessageStart, pchMessageStartIn, MESSAGE_START_SIZE); |
|
|
|
|
memset(pchCommand, 0, sizeof(pchCommand)); |
|
|
|
|
nMessageSize = -1; |
|
|
|
|
nChecksum = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
CMessageHeader::CMessageHeader(const char* pszCommand, unsigned int nMessageSizeIn) |
|
|
|
|
CMessageHeader::CMessageHeader(const MessageStartChars& pchMessageStartIn, const char* pszCommand, unsigned int nMessageSizeIn) |
|
|
|
|
{ |
|
|
|
|
memcpy(pchMessageStart, Params().MessageStart(), MESSAGE_START_SIZE); |
|
|
|
|
memcpy(pchMessageStart, pchMessageStartIn, MESSAGE_START_SIZE); |
|
|
|
|
memset(pchCommand, 0, sizeof(pchCommand)); |
|
|
|
|
strncpy(pchCommand, pszCommand, COMMAND_SIZE); |
|
|
|
|
nMessageSize = nMessageSizeIn; |
|
|
|
@ -43,10 +42,10 @@ std::string CMessageHeader::GetCommand() const
@@ -43,10 +42,10 @@ std::string CMessageHeader::GetCommand() const
|
|
|
|
|
return std::string(pchCommand, pchCommand + strnlen(pchCommand, COMMAND_SIZE)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool CMessageHeader::IsValid() const |
|
|
|
|
bool CMessageHeader::IsValid(const MessageStartChars& pchMessageStartIn) const |
|
|
|
|
{ |
|
|
|
|
// Check start string
|
|
|
|
|
if (memcmp(pchMessageStart, Params().MessageStart(), MESSAGE_START_SIZE) != 0) |
|
|
|
|
if (memcmp(pchMessageStart, pchMessageStartIn, MESSAGE_START_SIZE) != 0) |
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
// Check the command string for errors
|
|
|
|
|