Check New MasterNodeBroadcast Time (#833)

backport of #722
This commit is contained in:
TheLazieR Yip 2016-05-30 11:20:30 +07:00 committed by Holger Schinzel
parent 93f5b6c7bc
commit 267502f21f

View File

@ -398,8 +398,18 @@ bool CMasternodeBroadcast::CheckAndUpdate(int& nDos)
//search existing Masternode list, this is where we update existing Masternodes with new mnb broadcasts //search existing Masternode list, this is where we update existing Masternodes with new mnb broadcasts
CMasternode* pmn = mnodeman.Find(vin); CMasternode* pmn = mnodeman.Find(vin);
// no such masternode or it's not enabled already, nothing to update // no such masternode, nothing to update
if(pmn == NULL || (pmn != NULL && !pmn->IsEnabled())) return true; if(pmn == NULL) return true ;
else {
// this broadcast older than we have, it's bad.
if(pmn->sigTime > sigTime) {
LogPrintf("mnb - Bad sigTime %d for Masternode %20s %105s (existing broadcast is at %d)\n",
sigTime, addr.ToString(), vin.ToString(), pmn->sigTime);
return false;
}
// masternode is not enabled yet/already, nothing to update
if(!pmn->IsEnabled()) return true;
}
// mn.pubkey = pubkey, IsVinAssociatedWithPubkey is validated once below, // mn.pubkey = pubkey, IsVinAssociatedWithPubkey is validated once below,
// after that they just need to match // after that they just need to match