File 0001-Don-t-create-folders-in-tmp.patch of Package messagelib

From 164aeeb10f549270952dc1d9b167bf36a07e9022 Mon Sep 17 00:00:00 2001
From: Albert Astals Cid <aacid@kde.org>
Date: Mon, 23 Feb 2026 23:38:37 +0100
Subject: [PATCH] Don't create folders in tmp

Makes it hard for multiple users to use the same machine

BUGS: 516583
---
 messageviewer/src/htmlwriter/webengineparthtmlwriter.cpp       | 3 +--
 messageviewer/src/messagepartthemes/default/autotests/util.cpp | 2 +-
 messageviewer/src/viewer/viewer_p.cpp                          | 3 +--
 mimetreeparser/autotests/data/html-multipart-related.mbox.html | 2 +-
 .../data/html-multipart-related.mbox.html.content.0.full       | 2 +-
 .../data/html-multipart-related.mbox.html.content.1.full       | 2 +-
 mimetreeparser/src/nodehelper.cpp                              | 3 +--
 7 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/messageviewer/src/htmlwriter/webengineparthtmlwriter.cpp b/messageviewer/src/htmlwriter/webengineparthtmlwriter.cpp
index 7eec64abc..b1507ae5f 100644
--- a/messageviewer/src/htmlwriter/webengineparthtmlwriter.cpp
+++ b/messageviewer/src/htmlwriter/webengineparthtmlwriter.cpp
@@ -62,8 +62,7 @@ void WebEnginePartHtmlWriter::end()
     }
     if (data().size() > 1000000) {
         // qDebug() << " load big message ";
-        QDir().mkdir(QDir::tempPath() + u"/kmail"_s);
-        mTempFile = new QTemporaryFile(QDir::tempPath() + QLatin1StringView("/kmail/messageviewer_XXXXXX") + QLatin1StringView(".html"));
+        mTempFile = new QTemporaryFile(QDir::tempPath() + QLatin1StringView("/kmail_messageviewer_XXXXXX.html"));
         if (!mTempFile->open()) {
             qCWarning(MESSAGEVIEWER_LOG) << "Impossible to open temporary file";
         }
diff --git a/messageviewer/src/messagepartthemes/default/autotests/util.cpp b/messageviewer/src/messagepartthemes/default/autotests/util.cpp
index 29293537d..25c863ea3 100644
--- a/messageviewer/src/messagepartthemes/default/autotests/util.cpp
+++ b/messageviewer/src/messagepartthemes/default/autotests/util.cpp
@@ -61,7 +61,7 @@ void Test::compareFile(const QString &outFile, const QString &referenceFile)
         content.replace(QRegularExpression(u"\"file:[^\"]*[/(?:%2F)]([^\"/(?:%2F)]*)\""_s), u"\"file:\\1\""_s);
         content.replace(QRegularExpression(u"src=\"/[^\"]*/([^\"/(?:%2F)]*)\""_s), u"src=\"file:\\1\""_s);
         content.replace(QRegularExpression(u"\"qrc:[^\"]*[/(?:%2F)]([^\"/(?:%2F)]*)\""_s), u"\"file:\\1\""_s);
-        content.replace(QRegularExpression(u"(file:///tmp/kmail/messageviewer)(_[^\"]+)(\\.index\\.[^\"]*)"_s), u"\\1\\3"_s);
+        content.replace(QRegularExpression(u"(file:///tmp/kmail_messageviewer)(_[^\"]+)(\\.index\\.[^\"]*)"_s), u"\\1\\3"_s);
         content.replace(QLatin1StringView("NBSP_ENTITY_PLACEHOLDER"), QLatin1StringView("&nbsp;")); // undo above transformation for xmllint
         QVERIFY(f.open(QIODevice::WriteOnly | QIODevice::Truncate));
         f.write(content.toUtf8());
diff --git a/messageviewer/src/viewer/viewer_p.cpp b/messageviewer/src/viewer/viewer_p.cpp
index ba616a79c..b644fd526 100644
--- a/messageviewer/src/viewer/viewer_p.cpp
+++ b/messageviewer/src/viewer/viewer_p.cpp
@@ -638,8 +638,7 @@ void ViewerPrivate::attachmentOpenWith(const KMime::Content *node, const KServic
     QString name = mNodeHelper->writeNodeToTempFile(node);
 
     // Make sure that it will not deleted when we switch from message.
-    QDir().mkdir(QDir::tempPath() + u"/kmail"_s);
-    auto tmpDir = new QTemporaryDir(QDir::tempPath() + QLatin1StringView("/kmail/messageviewer_attachment_XXXXXX"));
+    auto tmpDir = new QTemporaryDir(QDir::tempPath() + QLatin1StringView("/kmail_messageviewer_attachment_XXXXXX"));
     if (tmpDir->isValid()) {
         tmpDir->setAutoRemove(false);
         const QString path = tmpDir->path();
diff --git a/mimetreeparser/autotests/data/html-multipart-related.mbox.html b/mimetreeparser/autotests/data/html-multipart-related.mbox.html
index 9cb2c62a8..879efd2c2 100644
--- a/mimetreeparser/autotests/data/html-multipart-related.mbox.html
+++ b/mimetreeparser/autotests/data/html-multipart-related.mbox.html
@@ -11,7 +11,7 @@
             <p> some random text :) <img src="cid:uniqueid"/> </p>
           </div>
         </div>
-        <!-- embedPart(contentID=uniqueid, url=file:///tmp/kmail/messageviewer.index.2/image.png) -->
+        <!-- embedPart(contentID=uniqueid, url=file:///tmp/kmail_messageviewer.index.2/image.png) -->
       </div>
     </div>
   </body>
diff --git a/mimetreeparser/autotests/data/html-multipart-related.mbox.html.content.0.full b/mimetreeparser/autotests/data/html-multipart-related.mbox.html.content.0.full
index 9c894039d..320888f8d 100644
--- a/mimetreeparser/autotests/data/html-multipart-related.mbox.html.content.0.full
+++ b/mimetreeparser/autotests/data/html-multipart-related.mbox.html.content.0.full
@@ -8,6 +8,6 @@
         <p> some random text :) <img src="cid:uniqueid"/> </p>
       </div>
     </div>
-    <!-- embedPart(contentID=uniqueid, url=file:///tmp/kmail/messageviewer.index.2/image.png) -->
+    <!-- embedPart(contentID=uniqueid, url=file:///tmp/kmail_messageviewer.index.2/image.png) -->
   </body>
 </html>
diff --git a/mimetreeparser/autotests/data/html-multipart-related.mbox.html.content.1.full b/mimetreeparser/autotests/data/html-multipart-related.mbox.html.content.1.full
index a2ab54980..cb798fc42 100644
--- a/mimetreeparser/autotests/data/html-multipart-related.mbox.html.content.1.full
+++ b/mimetreeparser/autotests/data/html-multipart-related.mbox.html.content.1.full
@@ -2,6 +2,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
   <body>
-    <!-- embedPart(contentID=uniqueid, url=file:///tmp/kmail/messageviewer.index.2/image.png) -->
+    <!-- embedPart(contentID=uniqueid, url=file:///tmp/kmail_messageviewer.index.2/image.png) -->
   </body>
 </html>
diff --git a/mimetreeparser/src/nodehelper.cpp b/mimetreeparser/src/nodehelper.cpp
index fd6fc249f..a8d20f9c6 100644
--- a/mimetreeparser/src/nodehelper.cpp
+++ b/mimetreeparser/src/nodehelper.cpp
@@ -259,8 +259,7 @@ QUrl NodeHelper::tempFileUrlFromNode(const KMime::Content *node)
 
 QString NodeHelper::createTempDir(const QString &param)
 {
-    QDir().mkdir(QDir::tempPath() + u"/kmail"_s);
-    auto tempFile = new QTemporaryFile(QDir::tempPath() + QLatin1StringView("/kmail/messageviewer_XXXXXX") + QLatin1StringView(".index.") + param);
+    auto tempFile = new QTemporaryFile(QDir::tempPath() + QLatin1StringView("/kmail_messageviewer_XXXXXX.index.") + param);
     tempFile->open();
     const QString fname = tempFile->fileName();
     delete tempFile;
-- 
2.53.0

openSUSE Build Service is sponsored by