[NOD-1030] Disconnect from syncPeers that send orphan blocks (#744)

* [NOD-1030] Disconnect from syncPeers that send orphan blocks.

* [NOD-1030] Remove debug log.

* [NOD-1030] Remove unnecessary call to stopSyncFromPeer.
This commit is contained in:
stasatdaglabs 2020-06-04 15:11:05 +03:00 committed by GitHub
parent 6219b93430
commit d15c009b3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -529,8 +529,17 @@ func (sm *SyncManager) handleBlockMsg(bmsg *blockMsg) {
return
}
// Request the parents for the orphan block from the peer that sent it.
if isOrphan {
// If we received an orphan block from the sync peer, it is
// misbehaving and must be disconnected from.
if peer == sm.syncPeer {
log.Errorf("Received an orphan block %s from sync peer %s. Disconnecting...",
blockHash, peer)
peer.Disconnect()
return
}
// Request the parents for the orphan block from the peer that sent it.
missingAncestors, err := sm.dag.GetOrphanMissingAncestorHashes(blockHash)
if err != nil {
log.Errorf("Failed to find missing ancestors for block %s: %s",