@@ -190,21 +190,18 @@ bool CSporkManager::CheckSignature(CSporkMessage& spork, bool fCheckSigner)
190190 CPubKey pubkeynew (ParseHex (Params ().SporkKey ()));
191191 std::string errorMessage = " " ;
192192
193- if (fCheckSigner && !obfuScationSigner.VerifyMessage (pubkeynew, spork.vchSig ,strMessage, errorMessage))
193+ bool fValidWithNewKey = obfuScationSigner.VerifyMessage (pubkeynew, spork.vchSig ,strMessage, errorMessage);
194+
195+ if (fCheckSigner && !fValidWithNewKey )
194196 return false ;
195197
196- if (GetAdjustedTime () < Params ().RejectOldSporkKey ()) {
198+ // See if window is open that allows for old spork key to sign messages
199+ if (!fValidWithNewKey && GetAdjustedTime () < Params ().RejectOldSporkKey ()) {
197200 CPubKey pubkeyold (ParseHex (Params ().SporkKeyOld ()));
198- if (obfuScationSigner.VerifyMessage (pubkeynew, spork.vchSig , strMessage, errorMessage) ||
199- obfuScationSigner.VerifyMessage (pubkeyold, spork.vchSig , strMessage, errorMessage)) {
200- return true ;
201- }
202- }
203- else if (obfuScationSigner.VerifyMessage (pubkeynew, spork.vchSig , strMessage, errorMessage)) {
204- return true ;
201+ return obfuScationSigner.VerifyMessage (pubkeyold, spork.vchSig , strMessage, errorMessage);
205202 }
206203
207- return false ;
204+ return fValidWithNewKey ;
208205}
209206
210207bool CSporkManager::Sign (CSporkMessage& spork)
0 commit comments