Merge pull request #1695 from sipa/noloadorphan
Do not accept orphan blocks in -loadblock mode
This commit is contained in:
commit
1a3dcca8f4
1 changed files with 9 additions and 6 deletions
15
src/main.cpp
15
src/main.cpp
|
@ -1920,17 +1920,20 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock)
|
|||
}
|
||||
|
||||
|
||||
// If don't already have its previous block, shunt it off to holding area until we get it
|
||||
// If we don't already have its previous block, shunt it off to holding area until we get it
|
||||
if (!mapBlockIndex.count(pblock->hashPrevBlock))
|
||||
{
|
||||
printf("ProcessBlock: ORPHAN BLOCK, prev=%s\n", pblock->hashPrevBlock.ToString().substr(0,20).c_str());
|
||||
CBlock* pblock2 = new CBlock(*pblock);
|
||||
mapOrphanBlocks.insert(make_pair(hash, pblock2));
|
||||
mapOrphanBlocksByPrev.insert(make_pair(pblock2->hashPrevBlock, pblock2));
|
||||
|
||||
// Ask this guy to fill in what we're missing
|
||||
if (pfrom)
|
||||
// Accept orphans as long as there is a node to request its parents from
|
||||
if (pfrom) {
|
||||
CBlock* pblock2 = new CBlock(*pblock);
|
||||
mapOrphanBlocks.insert(make_pair(hash, pblock2));
|
||||
mapOrphanBlocksByPrev.insert(make_pair(pblock2->hashPrevBlock, pblock2));
|
||||
|
||||
// Ask this guy to fill in what we're missing
|
||||
pfrom->PushGetBlocks(pindexBest, GetOrphanRoot(pblock2));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue