Revert "Close app on welcome back cancel"
This reverts commit 7398c70e2b.
This commit is contained in:
@@ -441,9 +441,6 @@ void MainWindow::closeEventpw(QCloseEvent* event) {
|
|||||||
} else {
|
} else {
|
||||||
qDebug() << __func__ << ": invalid rpc object!";
|
qDebug() << __func__ << ": invalid rpc object!";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close the app
|
|
||||||
this->close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::encryptWallet() {
|
void MainWindow::encryptWallet() {
|
||||||
@@ -460,7 +457,7 @@ void MainWindow::encryptWallet() {
|
|||||||
// Enable the OK button if the passwords match.
|
// Enable the OK button if the passwords match.
|
||||||
QString password = ed.txtPassword->text();
|
QString password = ed.txtPassword->text();
|
||||||
|
|
||||||
if (!ed.txtPassword->text().isEmpty() &&
|
if (!ed.txtPassword->text().isEmpty() &&
|
||||||
ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) {
|
ed.txtPassword->text() == ed.txtConfirmPassword->text() && password.size() >= 16) {
|
||||||
ed.lblPasswordMatch->setText("");
|
ed.lblPasswordMatch->setText("");
|
||||||
ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
|
ed.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
|
||||||
@@ -474,12 +471,13 @@ void MainWindow::encryptWallet() {
|
|||||||
QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited);
|
QObject::connect(ed.txtConfirmPassword, &QLineEdit::textChanged, fnPasswordEdited);
|
||||||
QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited);
|
QObject::connect(ed.txtPassword, &QLineEdit::textChanged, fnPasswordEdited);
|
||||||
|
|
||||||
if (d.exec() == QDialog::Accepted) {
|
if (d.exec() == QDialog::Accepted)
|
||||||
|
{
|
||||||
QString passphraseBlank = ed.txtPassword->text(); // data comes from user inputs
|
|
||||||
QString passphrase = QString("HUSH3") + passphraseBlank + QString("SDL");
|
|
||||||
int length = passphrase.length();
|
|
||||||
|
|
||||||
|
QString passphraseBlank = ed.txtPassword->text(); // data comes from user inputs
|
||||||
|
QString passphrase = QString("HUSH3") + passphraseBlank + QString("SDL");
|
||||||
|
int length = passphrase.length();
|
||||||
|
|
||||||
|
|
||||||
char *sequence = NULL;
|
char *sequence = NULL;
|
||||||
sequence = new char[length+1];
|
sequence = new char[length+1];
|
||||||
@@ -492,25 +490,25 @@ void MainWindow::encryptWallet() {
|
|||||||
sequence1 = new char[length+1];
|
sequence1 = new char[length+1];
|
||||||
strncpy(sequence1, passphraseHash.toUtf8(), length+1);
|
strncpy(sequence1, passphraseHash.toUtf8(), length+1);
|
||||||
|
|
||||||
#define MESSAGE ((const unsigned char *) sequence)
|
#define MESSAGE ((const unsigned char *) sequence)
|
||||||
#define MESSAGE_LEN length
|
#define MESSAGE_LEN length
|
||||||
#define hash ((const unsigned char *) sequence1)
|
#define hash ((const unsigned char *) sequence1)
|
||||||
|
|
||||||
#define PASSWORD sequence
|
#define PASSWORD sequence
|
||||||
#define KEY_LEN crypto_box_SEEDBYTES
|
#define KEY_LEN crypto_box_SEEDBYTES
|
||||||
|
|
||||||
unsigned char key[KEY_LEN];
|
unsigned char key[KEY_LEN];
|
||||||
|
|
||||||
if (crypto_pwhash(key, sizeof key, PASSWORD, strlen(PASSWORD), hash,
|
if (crypto_pwhash(key, sizeof key, PASSWORD, strlen(PASSWORD), hash,
|
||||||
crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE,
|
crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE,
|
||||||
crypto_pwhash_ALG_DEFAULT) != 0) {
|
crypto_pwhash_ALG_DEFAULT) != 0) {
|
||||||
/* out of memory */
|
/* out of memory */
|
||||||
QMessageBox::information(this, tr("Out of memory!"),
|
QMessageBox::information(this, tr("Out of memory!"),
|
||||||
QString("Please close some other programs to free up memory and try again"),
|
QString("Please close some other programs to free up memory and try again"),
|
||||||
QMessageBox::Ok
|
QMessageBox::Ok
|
||||||
);
|
);
|
||||||
qDebug() << __func__ << ": out of memory!";
|
qDebug() << __func__ << ": out of memory!";
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
QString passphraseHash1 = QByteArray(reinterpret_cast<const char*>(key), KEY_LEN).toHex();
|
QString passphraseHash1 = QByteArray(reinterpret_cast<const char*>(key), KEY_LEN).toHex();
|
||||||
DataStore::getChatDataStore()->setPassword(passphraseHash1);
|
DataStore::getChatDataStore()->setPassword(passphraseHash1);
|
||||||
@@ -519,16 +517,16 @@ void MainWindow::encryptWallet() {
|
|||||||
auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
|
auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
|
||||||
QString sourceWallet_file = dirwallet;
|
QString sourceWallet_file = dirwallet;
|
||||||
QString target_encWallet_file = dirwalletenc;
|
QString target_encWallet_file = dirwalletenc;
|
||||||
|
|
||||||
FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key);
|
FileEncryption::encrypt(target_encWallet_file, sourceWallet_file, key);
|
||||||
|
|
||||||
QFile wallet(dirwallet);
|
QFile wallet(dirwallet);
|
||||||
wallet.rename(dirwalletbackup);
|
wallet.rename(dirwalletbackup);
|
||||||
|
|
||||||
QMessageBox::information(this, tr("Wallet Encryption Success"),
|
QMessageBox::information(this, tr("Wallet Encryption Success"),
|
||||||
QString("Successfully encrypted your wallet"),
|
QString("Successfully encrypted your wallet"),
|
||||||
QMessageBox::Ok
|
QMessageBox::Ok
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
qDebug() << __func__ << ": finish";
|
qDebug() << __func__ << ": finish";
|
||||||
}
|
}
|
||||||
@@ -633,24 +631,25 @@ void MainWindow::removeWalletEncryption() {
|
|||||||
|
|
||||||
void MainWindow::removeWalletEncryptionStartUp() {
|
void MainWindow::removeWalletEncryptionStartUp() {
|
||||||
qDebug() << __func__ << ": removing wallet encryption";
|
qDebug() << __func__ << ": removing wallet encryption";
|
||||||
QDialog d(this);
|
QDialog d(this);
|
||||||
Ui_startup ed;
|
Ui_startup ed;
|
||||||
ed.setupUi(&d);
|
ed.setupUi(&d);
|
||||||
|
|
||||||
QObject::connect(ed.new_restore, &QPushButton::clicked, [&] {
|
QObject::connect(ed.new_restore, &QPushButton::clicked, [&] {
|
||||||
|
|
||||||
d.close();
|
d.close();
|
||||||
QFile wallet(dirwallet);
|
QFile wallet(dirwallet);
|
||||||
QFile walletenc(dirwalletenc);
|
QFile walletenc(dirwalletenc);
|
||||||
|
|
||||||
wallet.remove();
|
wallet.remove();
|
||||||
walletenc.remove();
|
walletenc.remove();
|
||||||
|
|
||||||
auto cl = new ConnectionLoader(this, rpc);
|
auto cl = new ConnectionLoader(this, rpc);
|
||||||
cl->loadConnection();
|
cl->loadConnection();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (d.exec() == QDialog::Accepted) {
|
if (d.exec() == QDialog::Accepted)
|
||||||
|
{
|
||||||
QString passphraseBlank = ed.txtPassword->text(); // data comes from user inputs
|
QString passphraseBlank = ed.txtPassword->text(); // data comes from user inputs
|
||||||
|
|
||||||
QString passphrase = QString("HUSH3") + passphraseBlank + QString("SDL");
|
QString passphrase = QString("HUSH3") + passphraseBlank + QString("SDL");
|
||||||
@@ -667,44 +666,44 @@ void MainWindow::removeWalletEncryptionStartUp() {
|
|||||||
sequence1 = new char[length+1];
|
sequence1 = new char[length+1];
|
||||||
strncpy(sequence1, passphraseHash.toUtf8(), length+1);
|
strncpy(sequence1, passphraseHash.toUtf8(), length+1);
|
||||||
|
|
||||||
#define MESSAGE ((const unsigned char *) sequence)
|
#define MESSAGE ((const unsigned char *) sequence)
|
||||||
#define MESSAGE_LEN length
|
#define MESSAGE_LEN length
|
||||||
#define hash ((const unsigned char *) sequence1)
|
#define hash ((const unsigned char *) sequence1)
|
||||||
|
|
||||||
#define PASSWORD sequence
|
#define PASSWORD sequence
|
||||||
#define KEY_LEN crypto_box_SEEDBYTES
|
#define KEY_LEN crypto_box_SEEDBYTES
|
||||||
|
|
||||||
unsigned char key[KEY_LEN];
|
unsigned char key[KEY_LEN];
|
||||||
|
|
||||||
if (crypto_pwhash(key, sizeof key, PASSWORD, strlen(PASSWORD), hash,
|
if (crypto_pwhash(key, sizeof key, PASSWORD, strlen(PASSWORD), hash,
|
||||||
crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE,
|
crypto_pwhash_OPSLIMIT_SENSITIVE, crypto_pwhash_MEMLIMIT_SENSITIVE,
|
||||||
crypto_pwhash_ALG_DEFAULT) != 0) {
|
crypto_pwhash_ALG_DEFAULT) != 0) {
|
||||||
/* out of memory */
|
/* out of memory */
|
||||||
qDebug() << __func__ << ": crypto_pwhash failed! Possibly out of memory";
|
qDebug() << __func__ << ": crypto_pwhash failed! Possibly out of memory";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString passphraseHash1 = QByteArray(reinterpret_cast<const char*>(key), KEY_LEN).toHex();
|
QString passphraseHash1 = QByteArray(reinterpret_cast<const char*>(key), KEY_LEN).toHex();
|
||||||
DataStore::getChatDataStore()->setPassword(passphraseHash1);
|
DataStore::getChatDataStore()->setPassword(passphraseHash1);
|
||||||
|
|
||||||
auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
|
auto dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation));
|
||||||
|
|
||||||
QString target_encwallet_file = dirwalletenc;
|
QString target_encwallet_file = dirwalletenc;
|
||||||
QString target_decwallet_file = dirwallet;
|
QString target_decwallet_file = dirwallet;
|
||||||
|
|
||||||
FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key);
|
FileEncryption::decrypt(target_decwallet_file, target_encwallet_file, key);
|
||||||
|
|
||||||
auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
|
auto dirHome = QDir(QStandardPaths::writableLocation(QStandardPaths::HomeLocation));
|
||||||
QFile wallet(dirwallet);
|
QFile wallet(dirwallet);
|
||||||
qDebug() << __func__ << ": wallet size=" << wallet.size();
|
qDebug() << __func__ << ": wallet size=" << wallet.size();
|
||||||
|
|
||||||
if (wallet.size() == 0) {
|
if (wallet.size() == 0) {
|
||||||
QMessageBox::critical(this, tr("Wallet Encryption Failed"),
|
QMessageBox::critical(this, tr("Wallet Encryption Failed"),
|
||||||
QString("false password please try again"),
|
QString("false password please try again"),
|
||||||
QMessageBox::Ok
|
QMessageBox::Ok
|
||||||
);
|
);
|
||||||
this->removeWalletEncryptionStartUp();
|
this->removeWalletEncryptionStartUp();
|
||||||
}else{}
|
}else{}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
this->doClosePw();
|
this->doClosePw();
|
||||||
|
|||||||
Reference in New Issue
Block a user