Skip to content

Commit d33ae6a

Browse files
authored
Reject incorrect epoch (#179)
Signed-off-by: Yacov Manevich <yacov.manevich@avalabs.org>
1 parent fdea251 commit d33ae6a

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

epoch.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1397,8 +1397,16 @@ func (e *Epoch) handleBlockMessage(message *BlockMessage, from NodeID) error {
13971397
return nil
13981398
}
13991399

1400+
md := block.BlockHeader()
1401+
1402+
if e.Epoch != md.Epoch {
1403+
e.Logger.Debug("Got block message but the epoch mismatches our epoch",
1404+
zap.Uint64("our epoch", e.Epoch), zap.Uint64("block epoch", md.Epoch))
1405+
return nil
1406+
}
1407+
14001408
e.Logger.Verbo("Received block message",
1401-
zap.Stringer("from", from), zap.Uint64("round", block.BlockHeader().Round))
1409+
zap.Stringer("from", from), zap.Uint64("round", md.Round))
14021410

14031411
pendingBlocks := e.sched.Size()
14041412
if pendingBlocks > e.maxPendingBlocks {
@@ -1409,8 +1417,6 @@ func (e *Epoch) handleBlockMessage(message *BlockMessage, from NodeID) error {
14091417
vote := message.Vote
14101418
from = vote.Signature.Signer
14111419

1412-
md := block.BlockHeader()
1413-
14141420
e.Logger.Debug("Handling block message", zap.Stringer("digest", md.Digest), zap.Uint64("round", md.Round))
14151421

14161422
// Don't bother processing blocks from the past
@@ -1829,11 +1835,6 @@ func (e *Epoch) verifyProposalIsPartOfOurChain(block Block) bool {
18291835
return false
18301836
}
18311837

1832-
if e.Epoch != bh.Epoch {
1833-
e.Logger.Debug("Got block message but the epoch mismatches our epoch",
1834-
zap.Uint64("our epoch", e.Epoch), zap.Uint64("block epoch", bh.Epoch))
1835-
}
1836-
18371838
var expectedSeq uint64
18381839
var expectedPrevDigest Digest
18391840

@@ -1851,7 +1852,6 @@ func (e *Epoch) verifyProposalIsPartOfOurChain(block Block) bool {
18511852
return false
18521853
}
18531854

1854-
// TODO: we need to take into account dummy blocks!
18551855
expectedSeq = bh.Seq
18561856
expectedPrevDigest = bh.Prev
18571857
}

0 commit comments

Comments
 (0)