Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/gui/sharemanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,7 @@ void ShareManager::createE2EeShareJob(const QString &fullRemotePath,
UpdateE2eeFolderUsersMetadataJob::Add,
fullRemotePath,
sharee->shareWith(),
sharee->displayName(),
QSslCertificate{},
this);

Expand Down
36 changes: 19 additions & 17 deletions src/libsync/updatee2eefolderusersmetadatajob.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,23 @@ namespace OCC
Q_LOGGING_CATEGORY(lcUpdateE2eeFolderUsersMetadataJob, "nextcloud.gui.updatee2eefolderusersmetadatajob", QtInfoMsg)

UpdateE2eeFolderUsersMetadataJob::UpdateE2eeFolderUsersMetadataJob(const AccountPtr &account,
SyncJournalDb *journalDb,
const QString &syncFolderRemotePath,
const Operation operation,
const QString &fullRemotePath,
const QString &folderUserId,
const QSslCertificate &certificate,
QObject *parent)
: QObject(parent)
, _account(account)
, _journalDb(journalDb)
, _syncFolderRemotePath(Utility::noLeadingSlashPath(Utility::noTrailingSlashPath(syncFolderRemotePath)))
, _operation(operation)
, _fullRemotePath(Utility::noLeadingSlashPath(fullRemotePath))
, _folderUserId(folderUserId)
, _folderUserCertificate(certificate)
SyncJournalDb *journalDb,
const QString &syncFolderRemotePath,
const Operation operation,
const QString &fullRemotePath,
const QString &folderUserId,
const QString &folderUserDisplayName,
const QSslCertificate &certificate,
QObject *parent)
: QObject{parent}
, _account{account}
, _journalDb{journalDb}
, _syncFolderRemotePath{Utility::noLeadingSlashPath(Utility::noTrailingSlashPath(syncFolderRemotePath))}
, _operation{operation}
, _fullRemotePath{Utility::noLeadingSlashPath(fullRemotePath)}
, _folderUserId{folderUserId}
, _folderUserDisplayName{folderUserDisplayName}
, _folderUserCertificate{certificate}
{
Q_ASSERT(_syncFolderRemotePath == QStringLiteral("/") || _fullRemotePath.startsWith(_syncFolderRemotePath));
SyncJournalFileRecord rec;
Expand Down Expand Up @@ -78,7 +80,7 @@ void UpdateE2eeFolderUsersMetadataJob::start(const bool keepLock)
void UpdateE2eeFolderUsersMetadataJob::slotStartE2eeMetadataJobs()
{
if (_operation == Operation::Add && _folderUserCertificate.isNull()) {
emit finished(404, tr("Could not fetch public key for user %1").arg(_folderUserId));
emit finished(404, tr("Could not fetch public key for user %1").arg(_folderUserDisplayName));
return;
}

Expand Down Expand Up @@ -106,7 +108,7 @@ void UpdateE2eeFolderUsersMetadataJob::slotFetchMetadataJobFinished(int statusCo
}

if (!_encryptedFolderMetadataHandler->folderMetadata() || !_encryptedFolderMetadataHandler->folderMetadata()->isValid()) {
emit finished(403, tr("Could not add or remove user %1 to access folder %2").arg(_folderUserId).arg(_fullRemotePath));
emit finished(403, tr("Could not add or remove user %1 to access folder %2").arg(_folderUserDisplayName).arg(_fullRemotePath));
return;
}
startUpdate();
Expand Down
11 changes: 10 additions & 1 deletion src/libsync/updatee2eefolderusersmetadatajob.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,15 @@ class OWNCLOUDSYNC_EXPORT UpdateE2eeFolderUsersMetadataJob : public QObject
QString password;
};

explicit UpdateE2eeFolderUsersMetadataJob(const AccountPtr &account, SyncJournalDb *journalDb,const QString &syncFolderRemotePath, const Operation operation, const QString &fullRemotePath = {}, const QString &folderUserId = {}, const QSslCertificate &certificate = QSslCertificate{}, QObject *parent = nullptr);
explicit UpdateE2eeFolderUsersMetadataJob(const AccountPtr &account,
SyncJournalDb *journalDb,
const QString &syncFolderRemotePath,
const Operation operation,
const QString &fullRemotePath = {},
const QString &folderUserId = {},
const QString &folderUserDisplayName = {},
const QSslCertificate &certificate = QSslCertificate{},
QObject *parent = nullptr);
~UpdateE2eeFolderUsersMetadataJob() override = default;

public:
Expand Down Expand Up @@ -84,6 +92,7 @@ private: signals:
Operation _operation = Invalid;
QString _fullRemotePath;
QString _folderUserId;
QString _folderUserDisplayName;
QSslCertificate _folderUserCertificate;
QByteArray _folderToken;
// needed when re-encrypting nested folders' metadata after top-level folder's metadata has changed
Expand Down
1 change: 1 addition & 0 deletions src/libsync/updatemigratede2eemetadatajob.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ void UpdateMigratedE2eeMetadataJob::start()
UpdateE2eeFolderUsersMetadataJob::Add,
_fullRemotePath,
propagator()->account()->davUser(),
propagator()->account()->displayName(),
propagator()->account()->e2e()->getCertificate());
updateMedatadaAndSubfoldersJob->setParent(this);
updateMedatadaAndSubfoldersJob->setSubJobSyncItems(_subJobItems);
Expand Down
Loading