Browse Source

Use exposed ProcessNewBlockHeaders from ProcessMessages

0.14
Matt Corallo 8 years ago
parent
commit
a8b936df20
  1. 27
      src/main.cpp

27
src/main.cpp

@ -6019,22 +6019,27 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
return true; return true;
} }
BOOST_FOREACH(const CBlockHeader& header, headers) { uint256 hashLastBlock;
CValidationState state; for (const CBlockHeader& header : headers) {
if (pindexLast != NULL && header.hashPrevBlock != pindexLast->GetBlockHash()) { if (!hashLastBlock.IsNull() && header.hashPrevBlock != hashLastBlock) {
Misbehaving(pfrom->GetId(), 20); Misbehaving(pfrom->GetId(), 20);
return error("non-continuous headers sequence"); return error("non-continuous headers sequence");
} }
if (!AcceptBlockHeader(header, state, chainparams, &pindexLast)) { hashLastBlock = header.GetHash();
int nDoS; }
if (state.IsInvalid(nDoS)) { }
if (nDoS > 0)
Misbehaving(pfrom->GetId(), nDoS); CValidationState state;
return error("invalid header received"); if (!ProcessNewBlockHeaders(headers, state, chainparams, &pindexLast)) {
int nDoS;
if (state.IsInvalid(nDoS)) {
if (nDoS > 0) {
LOCK(cs_main);
Misbehaving(pfrom->GetId(), nDoS);
} }
return error("invalid header received");
} }
} }
}
{ {
LOCK(cs_main); LOCK(cs_main);
@ -6110,8 +6115,6 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv,
} }
} }
} }
NotifyHeaderTip();
} }
else if (strCommand == NetMsgType::BLOCK && !fImporting && !fReindex) // Ignore blocks received while importing else if (strCommand == NetMsgType::BLOCK && !fImporting && !fReindex) // Ignore blocks received while importing

Loading…
Cancel
Save