{
connect(_accountState->account()->e2e(), &ClientSideEncryption::initializationFinished, this, &AccountSettings::slotE2eEncryptionInitializationFinished);
_accountState->account()->setE2eEncryptionKeysGenerationAllowed(true);
+ _accountState->account()->setAskUserForMnemonic(true);
_accountState->account()->e2e()->initialize(_accountState->account());
}
displayMnemonic(_accountState->account()->e2e()->_mnemonic);
}
}
+ _accountState->account()->setAskUserForMnemonic(false);
}
void AccountSettings::slotEncryptFolderFinished(int status)
return _e2eEncryptionKeysGenerationAllowed;
}
+bool Account::askUserForMnemonic() const
+{
+ return _e2eAskUserForMnemonic;
+}
+
+void Account::setAskUserForMnemonic(const bool ask)
+{
+ _e2eAskUserForMnemonic = ask;
+}
+
} // namespace OCC
void setE2eEncryptionKeysGenerationAllowed(bool allowed);
[[nodiscard]] bool e2eEncryptionKeysGenerationAllowed() const;
+ [[nodiscard]] bool askUserForMnemonic() const;
+
public slots:
/// Used when forgetting credentials
void clearQNAMCache();
void slotHandleSslErrors(QNetworkReply *, QList<QSslError>);
+ void setAskUserForMnemonic(const bool ask);
signals:
/// Emitted whenever there's network activity
bool _trustCertificates = false;
bool _e2eEncryptionKeysGenerationAllowed = false;
+ bool _e2eAskUserForMnemonic = false;
QWeakPointer<Account> _sharedThis;
QString _id;
}
void ClientSideEncryption::decryptPrivateKey(const AccountPtr &account, const QByteArray &key) {
+ if (!account->askUserForMnemonic()) {
+ qCDebug(lcCse) << "Not allowed to ask user for mnemonic";
+ emit initializationFinished();
+ return;
+ }
+
QString msg = tr("Please enter your end-to-end encryption passphrase:<br>"
"<br>"
"Username: %2<br>"