Implement an mlock()'d string class for storing passphrases

SecureString is identical to std::string except with secure_allocator
substituting for std::allocator. This makes casting between them
impossible, so converting between the two at API boundaries requires
calling ::c_str() for now.
This commit is contained in:
Dylan Noblesmith
2011-11-26 06:02:04 +00:00
parent d8b8640863
commit 94f778bdeb
9 changed files with 40 additions and 54 deletions

View File

@@ -2,7 +2,8 @@
#define WALLETMODEL_H
#include <QObject>
#include <string>
#include "util.h"
class OptionsModel;
class AddressTableModel;
@@ -72,10 +73,10 @@ public:
SendCoinsReturn sendCoins(const QList<SendCoinsRecipient> &recipients);
// Wallet encryption
bool setWalletEncrypted(bool encrypted, const std::string &passphrase);
bool setWalletEncrypted(bool encrypted, const SecureString &passphrase);
// Passphrase only needed when unlocking
bool setWalletLocked(bool locked, const std::string &passPhrase=std::string());
bool changePassphrase(const std::string &oldPass, const std::string &newPass);
bool setWalletLocked(bool locked, const SecureString &passPhrase=SecureString());
bool changePassphrase(const SecureString &oldPass, const SecureString &newPass);
// RAI object for unlocking wallet, returned by requestUnlock()
class UnlockContext