Merge pull request #650 from dashpay/v0.12.0.x

merge missing commits from V0.12.0.x
This commit is contained in:
evan82 2016-01-05 10:39:39 -07:00
commit 54deb1e75b
4 changed files with 13 additions and 9 deletions

View File

@ -927,12 +927,14 @@ bool AppInit2(boost::thread_group& threadGroup)
boost::filesystem::path backupFile = backupPathStr + dateTimeStr; boost::filesystem::path backupFile = backupPathStr + dateTimeStr;
sourceFile.make_preferred(); sourceFile.make_preferred();
backupFile.make_preferred(); backupFile.make_preferred();
if(boost::filesystem::exists(sourceFile)) {
try { try {
boost::filesystem::copy_file(sourceFile, backupFile); boost::filesystem::copy_file(sourceFile, backupFile);
LogPrintf("Creating backup of %s -> %s\n", sourceFile, backupFile); LogPrintf("Creating backup of %s -> %s\n", sourceFile, backupFile);
} catch(boost::filesystem::filesystem_error &error) { } catch(boost::filesystem::filesystem_error &error) {
LogPrintf("Failed to create backup %s\n", error.what()); LogPrintf("Failed to create backup %s\n", error.what());
} }
}
// Keep only the last 10 backups, including the new one of course // Keep only the last 10 backups, including the new one of course
typedef std::multimap<std::time_t, boost::filesystem::path> folder_set_t; typedef std::multimap<std::time_t, boost::filesystem::path> folder_set_t;
folder_set_t folder_set; folder_set_t folder_set;

View File

@ -956,7 +956,7 @@ void CBudgetManager::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
mapSeenMasternodeBudgetVotes.insert(make_pair(vote.GetHash(), vote)); mapSeenMasternodeBudgetVotes.insert(make_pair(vote.GetHash(), vote));
if(!vote.SignatureValid(true)){ if(!vote.SignatureValid(true)){
LogPrintf("mvote - signature invalid\n"); LogPrintf("mvote - signature invalid\n");
Misbehaving(pfrom->GetId(), 20); if(masternodeSync.IsSynced()) Misbehaving(pfrom->GetId(), 20);
// it could just be a non-synced masternode // it could just be a non-synced masternode
mnodeman.AskForMN(pfrom, vote.vin); mnodeman.AskForMN(pfrom, vote.vin);
return; return;
@ -1026,7 +1026,7 @@ void CBudgetManager::ProcessMessage(CNode* pfrom, std::string& strCommand, CData
mapSeenFinalizedBudgetVotes.insert(make_pair(vote.GetHash(), vote)); mapSeenFinalizedBudgetVotes.insert(make_pair(vote.GetHash(), vote));
if(!vote.SignatureValid(true)){ if(!vote.SignatureValid(true)){
LogPrintf("fbvote - signature invalid\n"); LogPrintf("fbvote - signature invalid\n");
Misbehaving(pfrom->GetId(), 20); if(masternodeSync.IsSynced()) Misbehaving(pfrom->GetId(), 20);
// it could just be a non-synced masternode // it could just be a non-synced masternode
mnodeman.AskForMN(pfrom, vote.vin); mnodeman.AskForMN(pfrom, vote.vin);
return; return;

View File

@ -394,7 +394,7 @@ void CMasternodePayments::ProcessMessageMasternodePayments(CNode* pfrom, std::st
if(!winner.SignatureValid()){ if(!winner.SignatureValid()){
LogPrintf("mnw - invalid signature\n"); LogPrintf("mnw - invalid signature\n");
Misbehaving(pfrom->GetId(), 20); if(masternodeSync.IsSynced()) Misbehaving(pfrom->GetId(), 20);
// it could just be a non-synced masternode // it could just be a non-synced masternode
mnodeman.AskForMN(pfrom, winner.vinMasternode); mnodeman.AskForMN(pfrom, winner.vinMasternode);
return; return;
@ -656,7 +656,7 @@ bool CMasternodePaymentWinner::IsValid(CNode* pnode, std::string& strError)
{ {
strError = strprintf("Masternode not in the top %d (%d)", MNPAYMENTS_SIGNATURES_TOTAL, n); strError = strprintf("Masternode not in the top %d (%d)", MNPAYMENTS_SIGNATURES_TOTAL, n);
LogPrintf("CMasternodePaymentWinner::IsValid - %s\n", strError); LogPrintf("CMasternodePaymentWinner::IsValid - %s\n", strError);
Misbehaving(pnode->GetId(), 20); if(masternodeSync.IsSynced()) Misbehaving(pnode->GetId(), 20);
} }
return false; return false;
} }

View File

@ -354,6 +354,8 @@ void CMasternodeMan::Clear()
mAskedUsForMasternodeList.clear(); mAskedUsForMasternodeList.clear();
mWeAskedForMasternodeList.clear(); mWeAskedForMasternodeList.clear();
mWeAskedForMasternodeListEntry.clear(); mWeAskedForMasternodeListEntry.clear();
mapSeenMasternodeBroadcast.clear();
mapSeenMasternodePing.clear();
nDsqCount = 0; nDsqCount = 0;
} }