From 7118fc4650049a578c4222a424dc8d51a78c56cd Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Thu, 6 Apr 2023 10:54:13 +0200 Subject: [PATCH] use a better name for encryption status attributes Signed-off-by: Matthieu Gallien --- src/common/syncjournaldb.cpp | 4 ++-- src/common/syncjournalfilerecord.h | 4 ++-- src/libsync/discovery.cpp | 4 ++-- src/libsync/encryptfolderjob.cpp | 2 +- src/libsync/owncloudpropagator.cpp | 2 +- src/libsync/propagatedownloadencrypted.cpp | 2 +- src/libsync/propagateremotedeleteencrypted.cpp | 2 +- src/libsync/propagateremotedeleteencryptedrootfolder.cpp | 2 +- src/libsync/propagateremotemkdir.cpp | 2 +- src/libsync/propagateuploadencrypted.cpp | 4 ++-- src/libsync/syncfileitem.cpp | 7 ++++--- src/libsync/syncfileitem.h | 4 ++-- test/testfolderman.cpp | 2 +- 13 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/common/syncjournaldb.cpp b/src/common/syncjournaldb.cpp index 9aad5599b..fed825794 100644 --- a/src/common/syncjournaldb.cpp +++ b/src/common/syncjournaldb.cpp @@ -66,7 +66,7 @@ static void fillFileRecordFromGetQuery(SyncJournalFileRecord &rec, SqlQuery &que rec._serverHasIgnoredFiles = (query.intValue(8) > 0); rec._checksumHeader = query.baValue(9); rec._e2eMangledName = query.baValue(10); - rec._isE2eEncrypted = static_cast(query.intValue(11)); + rec._e2eEncryptionStatus = static_cast(query.intValue(11)); rec._lockstate._locked = query.intValue(12) > 0; rec._lockstate._lockOwnerDisplayName = query.stringValue(13); rec._lockstate._lockOwnerId = query.stringValue(14); @@ -968,7 +968,7 @@ Result SyncJournalDb::setFileRecord(const SyncJournalFileRecord & query->bindValue(15, checksum); query->bindValue(16, contentChecksumTypeId); query->bindValue(17, record._e2eMangledName); - query->bindValue(18, static_cast(record._isE2eEncrypted)); + query->bindValue(18, static_cast(record._e2eEncryptionStatus)); query->bindValue(19, record._lockstate._locked ? 1 : 0); query->bindValue(20, record._lockstate._lockOwnerType); query->bindValue(21, record._lockstate._lockOwnerDisplayName); diff --git a/src/common/syncjournalfilerecord.h b/src/common/syncjournalfilerecord.h index 4daaf1120..195956f6b 100644 --- a/src/common/syncjournalfilerecord.h +++ b/src/common/syncjournalfilerecord.h @@ -73,7 +73,7 @@ public: [[nodiscard]] bool isVirtualFile() const { return _type == ItemTypeVirtualFile || _type == ItemTypeVirtualFileDownload; } [[nodiscard]] QString path() const { return QString::fromUtf8(_path); } [[nodiscard]] QString e2eMangledName() const { return QString::fromUtf8(_e2eMangledName); } - [[nodiscard]] bool isE2eEncrypted() const { return _isE2eEncrypted != SyncJournalFileRecord::EncryptionStatus::NotEncrypted; } + [[nodiscard]] bool isE2eEncrypted() const { return _e2eEncryptionStatus != SyncJournalFileRecord::EncryptionStatus::NotEncrypted; } QByteArray _path; quint64 _inode = 0; @@ -86,7 +86,7 @@ public: bool _serverHasIgnoredFiles = false; QByteArray _checksumHeader; QByteArray _e2eMangledName; - EncryptionStatus _isE2eEncrypted = EncryptionStatus::NotEncrypted; + EncryptionStatus _e2eEncryptionStatus = EncryptionStatus::NotEncrypted; SyncJournalFileLockInfo _lockstate; bool _isShared = false; qint64 _lastShareStateFetchedTimestamp = 0; diff --git a/src/libsync/discovery.cpp b/src/libsync/discovery.cpp index 884d09033..288290f8f 100644 --- a/src/libsync/discovery.cpp +++ b/src/libsync/discovery.cpp @@ -532,7 +532,7 @@ void ProcessDirectoryJob::processFileAnalyzeRemoteInfo( item->_etag = serverEntry.etag; item->_directDownloadUrl = serverEntry.directDownloadUrl; item->_directDownloadCookies = serverEntry.directDownloadCookies; - item->_isEncrypted = serverEntry.isE2eEncrypted() ? SyncFileItem::EncryptionStatus::Encrypted : SyncFileItem::EncryptionStatus::NotEncrypted; + item->_e2eEncryptionStatus = serverEntry.isE2eEncrypted() ? SyncFileItem::EncryptionStatus::Encrypted : SyncFileItem::EncryptionStatus::NotEncrypted; item->_encryptedFileName = [=] { if (serverEntry.e2eMangledName.isEmpty()) { return QString(); @@ -1292,7 +1292,7 @@ void ProcessDirectoryJob::processFileAnalyzeLocalInfo( if (base.isE2eEncrypted()) { // renaming the encrypted folder is done via remove + re-upload hence we need to mark the newly created folder as encrypted // base is a record in the SyncJournal database that contains the data about the being-renamed folder with it's old name and encryption information - item->_isEncrypted = static_cast(base._isE2eEncrypted); + item->_e2eEncryptionStatus = static_cast(base._e2eEncryptionStatus); } postProcessLocalNew(); finalize(); diff --git a/src/libsync/encryptfolderjob.cpp b/src/libsync/encryptfolderjob.cpp index 99a502985..ff8d29bba 100644 --- a/src/libsync/encryptfolderjob.cpp +++ b/src/libsync/encryptfolderjob.cpp @@ -56,7 +56,7 @@ void EncryptFolderJob::slotEncryptionFlagSuccess(const QByteArray &fileId) qCWarning(lcEncryptFolderJob) << "No valid record found in local DB for fileId" << fileId; } - rec._isE2eEncrypted = SyncJournalFileRecord::EncryptionStatus::EncryptedMigratedV1_2; + rec._e2eEncryptionStatus = SyncJournalFileRecord::EncryptionStatus::EncryptedMigratedV1_2; const auto result = _journal->setFileRecord(rec); if (!result) { qCWarning(lcEncryptFolderJob) << "Error when setting the file record to the database" << rec._path << result.error(); diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index 716543101..061fec53e 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -652,7 +652,7 @@ void OwncloudPropagator::startDirectoryPropagation(const SyncFileItemPtr &item, _anotherSyncNeeded = true; } else if (item->_isEncryptedMetadataNeedUpdate) { SyncJournalFileRecord record; - if (_journal->getFileRecord(item->_file, &record) && record._isE2eEncrypted == SyncJournalFileRecord::EncryptionStatus::EncryptedMigratedV1_2) { + if (_journal->getFileRecord(item->_file, &record) && record._e2eEncryptionStatus == SyncJournalFileRecord::EncryptionStatus::EncryptedMigratedV1_2) { qCDebug(lcPropagator) << "could have upgraded metadata"; item->_instruction = CSyncEnums::CSYNC_INSTRUCTION_ERROR; item->_errorString = tr("Error with the metadata. Getting unexpected metadata format."); diff --git a/src/libsync/propagatedownloadencrypted.cpp b/src/libsync/propagatedownloadencrypted.cpp index 9788d5cf1..ccea7d8fb 100644 --- a/src/libsync/propagatedownloadencrypted.cpp +++ b/src/libsync/propagatedownloadencrypted.cpp @@ -74,7 +74,7 @@ void PropagateDownloadEncrypted::checkFolderEncryptedMetadata(const QJsonDocumen << _item->_instruction << _item->_file << _item->_encryptedFileName; const QString filename = _info.fileName(); const FolderMetadata metadata(_propagator->account(), - _item->_isEncrypted == SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2 ? FolderMetadata::RequiredMetadataVersion::Version1_2 : FolderMetadata::RequiredMetadataVersion::Version1, + _item->_e2eEncryptionStatus == SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2 ? FolderMetadata::RequiredMetadataVersion::Version1_2 : FolderMetadata::RequiredMetadataVersion::Version1, json.toJson(QJsonDocument::Compact)); if (metadata.isMetadataSetup()) { const QVector files = metadata.files(); diff --git a/src/libsync/propagateremotedeleteencrypted.cpp b/src/libsync/propagateremotedeleteencrypted.cpp index ee1b57dee..3a81a9968 100644 --- a/src/libsync/propagateremotedeleteencrypted.cpp +++ b/src/libsync/propagateremotedeleteencrypted.cpp @@ -52,7 +52,7 @@ void PropagateRemoteDeleteEncrypted::slotFolderEncryptedMetadataReceived(const Q } FolderMetadata metadata(_propagator->account(), - _item->_isEncrypted == SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2 ? FolderMetadata::RequiredMetadataVersion::Version1_2 : FolderMetadata::RequiredMetadataVersion::Version1, + _item->_e2eEncryptionStatus == SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2 ? FolderMetadata::RequiredMetadataVersion::Version1_2 : FolderMetadata::RequiredMetadataVersion::Version1, json.toJson(QJsonDocument::Compact), statusCode); if (!metadata.isMetadataSetup()) { diff --git a/src/libsync/propagateremotedeleteencryptedrootfolder.cpp b/src/libsync/propagateremotedeleteencryptedrootfolder.cpp index 5cae505ff..d6c2af03a 100644 --- a/src/libsync/propagateremotedeleteencryptedrootfolder.cpp +++ b/src/libsync/propagateremotedeleteencryptedrootfolder.cpp @@ -82,7 +82,7 @@ void PropagateRemoteDeleteEncryptedRootFolder::slotFolderEncryptedMetadataReceiv } FolderMetadata metadata(_propagator->account(), - _item->_isEncrypted == SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2 ? FolderMetadata::RequiredMetadataVersion::Version1_2 : FolderMetadata::RequiredMetadataVersion::Version1, + _item->_e2eEncryptionStatus == SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2 ? FolderMetadata::RequiredMetadataVersion::Version1_2 : FolderMetadata::RequiredMetadataVersion::Version1, json.toJson(QJsonDocument::Compact), statusCode); if (!metadata.isMetadataSetup()) { diff --git a/src/libsync/propagateremotemkdir.cpp b/src/libsync/propagateremotemkdir.cpp index 82a09c0d7..62bd3b344 100644 --- a/src/libsync/propagateremotemkdir.cpp +++ b/src/libsync/propagateremotemkdir.cpp @@ -243,7 +243,7 @@ void PropagateRemoteMkdir::slotEncryptFolderFinished() { qCDebug(lcPropagateRemoteMkdir) << "Success making the new folder encrypted"; propagator()->_activeJobList.removeOne(this); - _item->_isEncrypted = SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2; + _item->_e2eEncryptionStatus = SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2; success(); } diff --git a/src/libsync/propagateuploadencrypted.cpp b/src/libsync/propagateuploadencrypted.cpp index ad2eff35c..af1dfc20c 100644 --- a/src/libsync/propagateuploadencrypted.cpp +++ b/src/libsync/propagateuploadencrypted.cpp @@ -122,7 +122,7 @@ void PropagateUploadEncrypted::slotFolderEncryptedMetadataReceived(const QJsonDo // Encrypt File! _metadata.reset(new FolderMetadata(_propagator->account(), - _item->_isEncrypted == SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2 ? FolderMetadata::RequiredMetadataVersion::Version1_2 : FolderMetadata::RequiredMetadataVersion::Version1, + _item->_e2eEncryptionStatus == SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2 ? FolderMetadata::RequiredMetadataVersion::Version1_2 : FolderMetadata::RequiredMetadataVersion::Version1, json.toJson(QJsonDocument::Compact), statusCode)); if (!_metadata->isMetadataSetup()) { @@ -171,7 +171,7 @@ void PropagateUploadEncrypted::slotFolderEncryptedMetadataReceived(const QJsonDo encryptedFile.initializationVector = EncryptionHelper::generateRandom(16); _item->_encryptedFileName = _remoteParentPath + QLatin1Char('/') + encryptedFile.encryptedFilename; - _item->_isEncrypted = SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2; + _item->_e2eEncryptionStatus = SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2; qCDebug(lcPropagateUploadEncrypted) << "Creating the encrypted file."; diff --git a/src/libsync/syncfileitem.cpp b/src/libsync/syncfileitem.cpp index 3b7ab9690..bca84700d 100644 --- a/src/libsync/syncfileitem.cpp +++ b/src/libsync/syncfileitem.cpp @@ -49,7 +49,7 @@ SyncJournalFileRecord SyncFileItem::toSyncJournalFileRecordWithInode(const QStri rec._serverHasIgnoredFiles = _serverHasIgnoredFiles; rec._checksumHeader = _checksumHeader; rec._e2eMangledName = _encryptedFileName.toUtf8(); - rec._isE2eEncrypted = static_cast(_isEncrypted); + rec._e2eEncryptionStatus = static_cast(_e2eEncryptionStatus); rec._lockstate._locked = _locked == LockStatus::LockedItem; rec._lockstate._lockOwnerDisplayName = _lockOwnerDisplayName; rec._lockstate._lockOwnerId = _lockOwnerId; @@ -86,7 +86,8 @@ SyncFileItemPtr SyncFileItem::fromSyncJournalFileRecord(const SyncJournalFileRec item->_serverHasIgnoredFiles = rec._serverHasIgnoredFiles; item->_checksumHeader = rec._checksumHeader; item->_encryptedFileName = rec.e2eMangledName(); - item->_isEncrypted = static_cast(rec._isE2eEncrypted); + item->_e2eEncryptionStatus = static_cast(rec._e2eEncryptionStatus); + qCInfo(lcFileItem) << "fromSyncJournalFileRecord" << item->_file << rec._e2eEncryptionStatus << item->_e2eEncryptionStatus; item->_locked = rec._lockstate._locked ? LockStatus::LockedItem : LockStatus::UnlockedItem; item->_lockOwnerDisplayName = rec._lockstate._lockOwnerDisplayName; item->_lockOwnerId = rec._lockstate._lockOwnerId; @@ -123,7 +124,7 @@ SyncFileItemPtr SyncFileItem::fromProperties(const QString &filePath, const QMap item->_isShared = item->_remotePerm.hasPermission(RemotePermissions::IsShared); item->_lastShareStateFetchedTimestamp = QDateTime::currentMSecsSinceEpoch(); - item->_isEncrypted = (properties.value(QStringLiteral("is-encrypted")) == QStringLiteral("1") ? SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2 : SyncFileItem::EncryptionStatus::NotEncrypted); + item->_e2eEncryptionStatus = (properties.value(QStringLiteral("is-encrypted")) == QStringLiteral("1") ? SyncFileItem::EncryptionStatus::EncryptedMigratedV1_2 : SyncFileItem::EncryptionStatus::NotEncrypted); item->_locked = properties.value(QStringLiteral("lock")) == QStringLiteral("1") ? SyncFileItem::LockStatus::LockedItem : SyncFileItem::LockStatus::UnlockedItem; item->_lockOwnerDisplayName = properties.value(QStringLiteral("lock-owner-displayname")); diff --git a/src/libsync/syncfileitem.h b/src/libsync/syncfileitem.h index f888ec6d4..62d7ef7ca 100644 --- a/src/libsync/syncfileitem.h +++ b/src/libsync/syncfileitem.h @@ -234,7 +234,7 @@ public: && !(_instruction == CSYNC_INSTRUCTION_CONFLICT && _status == SyncFileItem::Success); } - [[nodiscard]] bool isEncrypted() const { return _isEncrypted != SyncFileItem::EncryptionStatus::NotEncrypted; } + [[nodiscard]] bool isEncrypted() const { return _e2eEncryptionStatus != SyncFileItem::EncryptionStatus::NotEncrypted; } // Variables useful for everybody @@ -281,7 +281,7 @@ public: Status _status BITFIELD(4); bool _isRestoration BITFIELD(1); // The original operation was forbidden, and this is a restoration bool _isSelectiveSync BITFIELD(1); // The file is removed or ignored because it is in the selective sync list - EncryptionStatus _isEncrypted = EncryptionStatus::NotEncrypted; // The file is E2EE or the content of the directory should be E2EE + EncryptionStatus _e2eEncryptionStatus = EncryptionStatus::NotEncrypted; // The file is E2EE or the content of the directory should be E2EE quint16 _httpErrorCode = 0; RemotePermissions _remotePerm; QString _errorString; // Contains a string only in case of error diff --git a/test/testfolderman.cpp b/test/testfolderman.cpp index db9b7d40a..dfa687326 100644 --- a/test/testfolderman.cpp +++ b/test/testfolderman.cpp @@ -123,7 +123,7 @@ private slots: // the server, let's just manually set the encryption bool in the folder journal SyncJournalFileRecord rec; QVERIFY(folder->journalDb()->getFileRecord(QStringLiteral("encrypted"), &rec)); - rec._isE2eEncrypted = SyncJournalFileRecord::EncryptionStatus::EncryptedMigratedV1_2; + rec._e2eEncryptionStatus = SyncJournalFileRecord::EncryptionStatus::EncryptedMigratedV1_2; rec._path = QStringLiteral("encrypted").toUtf8(); rec._type = CSyncEnums::ItemTypeDirectory; QVERIFY(folder->journalDb()->setFileRecord(rec));