Merge pull request #2625 from gavinandresen/walletlock_asio

Use boost::asio::deadline_timer for walletpassphrase timeout
This commit is contained in:
Jeff Garzik
2013-05-30 08:01:22 -07:00
4 changed files with 43 additions and 63 deletions

View File

@@ -89,9 +89,6 @@ bool CWallet::AddCScript(const CScript& redeemScript)
bool CWallet::Unlock(const SecureString& strWalletPassphrase)
{
if (!IsLocked())
return false;
CCrypter crypter;
CKeyingMaterial vMasterKey;
@@ -102,7 +99,7 @@ bool CWallet::Unlock(const SecureString& strWalletPassphrase)
if(!crypter.SetKeyFromPassphrase(strWalletPassphrase, pMasterKey.second.vchSalt, pMasterKey.second.nDeriveIterations, pMasterKey.second.nDerivationMethod))
return false;
if (!crypter.Decrypt(pMasterKey.second.vchCryptedKey, vMasterKey))
return false;
continue; // try another master key
if (CCryptoKeyStore::Unlock(vMasterKey))
return true;
}