From: Kevin Ottens Date: Mon, 31 Aug 2020 10:05:05 +0000 (+0200) Subject: Use httpd/unix-directory mimetype for E2EE folders X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~22^2~197^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=eb76682b1e0d21782993247ab51ef6a4c5ca7e15;p=nextcloud-desktop.git Use httpd/unix-directory mimetype for E2EE folders We don't do much with that mimetype on our end, but other clients somehow don't expect inode/directory to let's lie. ;-) Signed-off-by: Kevin Ottens --- diff --git a/src/libsync/clientsideencryption.cpp b/src/libsync/clientsideencryption.cpp index 2ddb5f1f2..2bcbffcca 100644 --- a/src/libsync/clientsideencryption.cpp +++ b/src/libsync/clientsideencryption.cpp @@ -1361,6 +1361,11 @@ void FolderMetadata::setupExistingMetadata(const QByteArray& metadata) file.mimetype = decryptedFileObj["mimetype"].toString().toLocal8Bit(); file.fileVersion = decryptedFileObj["version"].toInt(); + // In case we wrongly stored "inode/directory" we try to recover from it + if (file.mimetype == QByteArrayLiteral("inode/directory")) { + file.mimetype = QByteArrayLiteral("httpd/unix-directory"); + } + _files.push_back(file); } } diff --git a/src/libsync/propagateuploadencrypted.cpp b/src/libsync/propagateuploadencrypted.cpp index 6fe85c4cb..cccf67a18 100644 --- a/src/libsync/propagateuploadencrypted.cpp +++ b/src/libsync/propagateuploadencrypted.cpp @@ -175,6 +175,12 @@ void PropagateUploadEncrypted::slotFolderEncryptedMetadataReceived(const QJsonDo QMimeDatabase mdb; encryptedFile.mimetype = mdb.mimeTypeForFile(info).name().toLocal8Bit(); + + // Other clients expect "httpd/unix-directory" instead of "inode/directory" + // Doesn't matter much for us since we don't do much about that mimetype anyway + if (encryptedFile.mimetype == QByteArrayLiteral("inode/directory")) { + encryptedFile.mimetype = QByteArrayLiteral("httpd/unix-directory"); + } } _item->_encryptedFileName = _remoteParentPath + QLatin1Char('/') + encryptedFile.encryptedFilename;