@@ -1137,6 +1137,23 @@ int64_t ProcessDirectoryJob::folderBytesAvailable(const SyncFileItemPtr &item, c
11371137 return _dirItem->_folderQuota .bytesAvailable ;
11381138}
11391139
1140+ void ProcessDirectoryJob::applyE2eeEncryptionStatusForLocalNew (const SyncFileItemPtr &item,
1141+ const SyncJournalFileRecord &base)
1142+ {
1143+ // renaming the encrypted folder is done via remove + re-upload hence we need to mark the
1144+ // newly created folder as encrypted. base is the DB record with the old name and encryption info.
1145+ item->_e2eEncryptionStatus = EncryptionStatusEnums::fromDbEncryptionStatus (base._e2eEncryptionStatus );
1146+ item->_e2eEncryptionServerCapability = EncryptionStatusEnums::fromEndToEndEncryptionApiVersion (
1147+ _discoveryData->_account ->capabilities ().clientSideEncryptionVersion ());
1148+ if (item->_e2eEncryptionStatus != item->_e2eEncryptionServerCapability ) {
1149+ item->_e2eEncryptionStatus = item->_e2eEncryptionServerCapability ;
1150+ if (base._e2eEncryptionStatus != SyncJournalFileRecord::EncryptionStatus::NotEncrypted) {
1151+ Q_ASSERT (item->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::NotEncrypted);
1152+ }
1153+ }
1154+ Q_ASSERT (item->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::NotEncrypted);
1155+ }
1156+
11401157void ProcessDirectoryJob::processFileAnalyzeLocalInfo (
11411158 const SyncFileItemPtr &item, PathTuple path, const LocalInfo &localEntry,
11421159 const RemoteInfo &serverEntry, const SyncJournalFileRecord &dbEntry, QueryMode recurseQueryServer)
@@ -1577,17 +1594,7 @@ void ProcessDirectoryJob::processFileAnalyzeLocalInfo(
15771594 // If it's not a move it's just a local-NEW
15781595 if (!isMove || (isE2eeMove && !isE2eeMoveOnlineOnlyItemWithCfApi)) {
15791596 if (base.isE2eEncrypted ()) {
1580- // renaming the encrypted folder is done via remove + re-upload hence we need to mark the newly created folder as encrypted
1581- // 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
1582- item->_e2eEncryptionStatus = EncryptionStatusEnums::fromDbEncryptionStatus (base._e2eEncryptionStatus );
1583- item->_e2eEncryptionServerCapability = EncryptionStatusEnums::fromEndToEndEncryptionApiVersion (_discoveryData->_account ->capabilities ().clientSideEncryptionVersion ());
1584- if (item->_e2eEncryptionStatus != item->_e2eEncryptionServerCapability ) {
1585- item->_e2eEncryptionStatus = item->_e2eEncryptionServerCapability ;
1586- if (base._e2eEncryptionStatus != SyncJournalFileRecord::EncryptionStatus::NotEncrypted) {
1587- Q_ASSERT (item->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::NotEncrypted);
1588- }
1589- }
1590- Q_ASSERT (item->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::NotEncrypted);
1597+ applyE2eeEncryptionStatusForLocalNew (item, base);
15911598 }
15921599 postProcessLocalNew ();
15931600 finalize ();
0 commit comments