|
|
|
@ -4751,7 +4751,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
@@ -4751,7 +4751,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
|
|
|
|
return error("message inv size() = %u", vInv.size()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool fBlocksOnly = GetBoolArg("-blocksonly", DEFAULT_BLOCKSONLY); |
|
|
|
|
bool fBlocksOnly = !fRelayTxes; |
|
|
|
|
|
|
|
|
|
// Allow whitelisted peers to send data other than blocks in blocks only mode if whitelistrelay is true
|
|
|
|
|
if (pfrom->fWhitelisted && GetBoolArg("-whitelistrelay", DEFAULT_WHITELISTRELAY)) |
|
|
|
@ -4934,7 +4934,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
@@ -4934,7 +4934,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
|
|
|
|
|
{ |
|
|
|
|
// Stop processing the transaction early if
|
|
|
|
|
// We are in blocks only mode and peer is either not whitelisted or whitelistrelay is off
|
|
|
|
|
if (GetBoolArg("-blocksonly", DEFAULT_BLOCKSONLY) && (!pfrom->fWhitelisted || !GetBoolArg("-whitelistrelay", DEFAULT_WHITELISTRELAY))) |
|
|
|
|
if (!fRelayTxes && (!pfrom->fWhitelisted || !GetBoolArg("-whitelistrelay", DEFAULT_WHITELISTRELAY))) |
|
|
|
|
{ |
|
|
|
|
LogPrint("net", "transaction sent in violation of protocol peer=%d\n", pfrom->id); |
|
|
|
|
return true; |
|
|
|
|