diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-07-02 11:19:30 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-07-02 11:34:00 +0200 |
commit | 4bfc5253c2a560f4c812054ee329d8c15d1221da (patch) | |
tree | 6a9d15d8295c7a32d624d1201076bec54a5aac89 /framework | |
parent | 8735ad516f0262d815ab7e846cb8db67a2aff4f4 (diff) | |
download | kube-4bfc5253c2a560f4c812054ee329d8c15d1221da.tar.gz kube-4bfc5253c2a560f4c812054ee329d8c15d1221da.zip |
Generate a globally unique message-id that doesn't leak the hostname.
Diffstat (limited to 'framework')
-rw-r--r-- | framework/src/domain/mime/mailtemplates.cpp | 11 |
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()); |