summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/mailtemplates.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-07-02 11:19:30 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-07-02 11:34:00 +0200
commit4bfc5253c2a560f4c812054ee329d8c15d1221da (patch)
tree6a9d15d8295c7a32d624d1201076bec54a5aac89 /framework/src/domain/mime/mailtemplates.cpp
parent8735ad516f0262d815ab7e846cb8db67a2aff4f4 (diff)
downloadkube-4bfc5253c2a560f4c812054ee329d8c15d1221da.tar.gz
kube-4bfc5253c2a560f4c812054ee329d8c15d1221da.zip
Generate a globally unique message-id that doesn't leak the hostname.
Diffstat (limited to 'framework/src/domain/mime/mailtemplates.cpp')
-rw-r--r--framework/src/domain/mime/mailtemplates.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/framework/src/domain/mime/mailtemplates.cpp b/framework/src/domain/mime/mailtemplates.cpp
index 2c9f6523..c4558562 100644
--- a/framework/src/domain/mime/mailtemplates.cpp
+++ b/framework/src/domain/mime/mailtemplates.cpp
@@ -30,7 +30,7 @@
30#include <QWebEngineSettings> 30#include <QWebEngineSettings>
31#include <QWebEngineScript> 31#include <QWebEngineScript>
32#include <QSysInfo> 32#include <QSysInfo>
33#include <QHostInfo> 33#include <QUuid>
34#include <QTextCodec> 34#include <QTextCodec>
35#include <QTextDocument> 35#include <QTextDocument>
36 36
@@ -1022,12 +1022,9 @@ KMime::Message::Ptr MailTemplates::createMessage(KMime::Message::Ptr existingMes
1022 1022
1023 mail->subject(true)->fromUnicodeString(subject, "utf-8"); 1023 mail->subject(true)->fromUnicodeString(subject, "utf-8");
1024 if (!mail->messageID(false)) { 1024 if (!mail->messageID(false)) {
1025 auto fqdn = QUrl::toAce(QHostInfo::localHostName()); 1025 //A globally unique messageId that doesn't leak the local hostname
1026 if (fqdn.isEmpty()) { 1026 const auto messageId = "<" + QUuid::createUuid().toString().mid(1, 36).remove('-') + "@kube>";
1027 qWarning() << "Unable to generate a Message-ID, falling back to 'localhost.localdomain'."; 1027 mail->messageID(true)->fromUnicodeString(messageId, "utf-8");
1028 fqdn = "local.domain";
1029 }
1030 mail->messageID(true)->generate(fqdn);
1031 } 1028 }
1032 if (!mail->date(true)->dateTime().isValid()) { 1029 if (!mail->date(true)->dateTime().isValid()) {
1033 mail->date(true)->setDateTime(QDateTime::currentDateTimeUtc()); 1030 mail->date(true)->setDateTime(QDateTime::currentDateTimeUtc());