Merge pull request #5256 from nextcloud/bugfix/doNotBulkUploadE2EE

do not use bulk upload for e2ee files
This commit is contained in:
Matthieu Gallien 2022-12-09 12:07:49 +01:00 committed by GitHub
commit 7a3d30a047
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -943,7 +943,29 @@ Result<Vfs::ConvertToPlaceholderResult, QString> OwncloudPropagator::staticUpdat
bool OwncloudPropagator::isDelayedUploadItem(const SyncFileItemPtr &item) const
{
return account()->capabilities().bulkUpload() && !_scheduleDelayedTasks && !item->_isEncrypted && _syncOptions._minChunkSize > item->_size && !isInBulkUploadBlackList(item->_file);
const auto checkFileShouldBeEncrypted = [this] (const SyncFileItemPtr &item) -> bool {
const auto path = item->_file;
const auto slashPosition = path.lastIndexOf('/');
const auto parentPath = slashPosition >= 0 ? path.left(slashPosition) : QString();
SyncJournalFileRecord parentRec;
bool ok = _journal->getFileRecord(parentPath, &parentRec);
if (!ok) {
return false;
}
const auto accountPtr = account();
if (!accountPtr->capabilities().clientSideEncryptionAvailable() ||
!parentRec.isValid() ||
!parentRec._isE2eEncrypted) {
return false;
}
return true;
};
return account()->capabilities().bulkUpload() && !_scheduleDelayedTasks && !item->_isEncrypted && _syncOptions._minChunkSize > item->_size && !isInBulkUploadBlackList(item->_file) && !checkFileShouldBeEncrypted(item);
}
void OwncloudPropagator::setScheduleDelayedTasks(bool active)