зеркало из https://github.com/nextcloud/desktop.git
Merge pull request #5223 from nextcloud/bugfix/prevent-encryption-folder-if-e2e-unsetup
Prevent bad encrypting of folder if E2EE has not been correctly set up
This commit is contained in:
Коммит
5d0c97e214
|
@ -321,7 +321,7 @@ void AccountSettings::doExpand()
|
|||
}
|
||||
}
|
||||
|
||||
bool AccountSettings::canEncryptOrDecrypt (const FolderStatusModel::SubFolderInfo* info) {
|
||||
bool AccountSettings::canEncryptOrDecrypt(const FolderStatusModel::SubFolderInfo* info) {
|
||||
if (info->_folder->syncResult().status() != SyncResult::Status::Success) {
|
||||
QMessageBox msgBox;
|
||||
msgBox.setText("Please wait for the folder to sync before trying to encrypt it.");
|
||||
|
@ -329,6 +329,27 @@ bool AccountSettings::canEncryptOrDecrypt (const FolderStatusModel::SubFolderInf
|
|||
return false;
|
||||
}
|
||||
|
||||
if (!_accountState->account()->e2e() || _accountState->account()->e2e()->_mnemonic.isEmpty()) {
|
||||
QMessageBox msgBox;
|
||||
msgBox.setText(tr("End-to-end encryption is not configured on this device. "
|
||||
"Once it is configured, you will be able to encrypt this folder.\n"
|
||||
"Would you like to set up end-to-end encryption?"));
|
||||
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
|
||||
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||
const auto ret = msgBox.exec();
|
||||
|
||||
switch (ret) {
|
||||
case QMessageBox::Ok:
|
||||
slotE2eEncryptionGenerateKeys();
|
||||
break;
|
||||
case QMessageBox::Cancel:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// for some reason the actual folder in disk is info->_folder->path + info->_path.
|
||||
QDir folderPath(info->_folder->path() + info->_path);
|
||||
folderPath.setFilter( QDir::AllEntries | QDir::NoDotAndDotDot );
|
||||
|
|
Загрузка…
Ссылка в новой задаче