summaryrefslogtreecommitdiffstats
path: root/framework
diff options
context:
space:
mode:
Diffstat (limited to 'framework')
-rw-r--r--framework/src/domain/mime/mimetreeparser/messagepart.cpp6
-rw-r--r--framework/src/domain/mime/mimetreeparser/tests/interfacetest.cpp13
2 files changed, 18 insertions, 1 deletions
diff --git a/framework/src/domain/mime/mimetreeparser/messagepart.cpp b/framework/src/domain/mime/mimetreeparser/messagepart.cpp
index 74ddf0f2..5b532524 100644
--- a/framework/src/domain/mime/mimetreeparser/messagepart.cpp
+++ b/framework/src/domain/mime/mimetreeparser/messagepart.cpp
@@ -830,7 +830,11 @@ void SignedMessagePart::startVerification()
830 if (mNode == mSignedData) { 830 if (mNode == mSignedData) {
831 startVerificationDetached(cleartext, nullptr, {}); 831 startVerificationDetached(cleartext, nullptr, {});
832 } else { 832 } else {
833 startVerificationDetached(cleartext, mSignedData, mNode->decodedContent()); 833 if (mNode) {
834 startVerificationDetached(cleartext, mSignedData, mNode->decodedContent());
835 } else { //The case for clearsigned above
836 startVerificationDetached(cleartext, nullptr, {});
837 }
834 } 838 }
835 } 839 }
836} 840}
diff --git a/framework/src/domain/mime/mimetreeparser/tests/interfacetest.cpp b/framework/src/domain/mime/mimetreeparser/tests/interfacetest.cpp
index 110a2616..15c573e2 100644
--- a/framework/src/domain/mime/mimetreeparser/tests/interfacetest.cpp
+++ b/framework/src/domain/mime/mimetreeparser/tests/interfacetest.cpp
@@ -345,6 +345,19 @@ private slots:
345 QVERIFY(otp.plainTextContent().contains(QString::fromUtf8("Why Pisa’s Tower"))); 345 QVERIFY(otp.plainTextContent().contains(QString::fromUtf8("Why Pisa’s Tower")));
346 QVERIFY(otp.htmlContent().contains(QString::fromUtf8("Why Pisa’s Tower"))); 346 QVERIFY(otp.htmlContent().contains(QString::fromUtf8("Why Pisa’s Tower")));
347 } 347 }
348
349 void testInlineSigned()
350 {
351 MimeTreeParser::ObjectTreeParser otp;
352 otp.parseObjectTree(readMailFromFile("openpgp-inline-signed.mbox"));
353 otp.decryptParts();
354 auto partList = otp.collectContentParts();
355 QCOMPARE(partList.size(), 1);
356 auto part = partList[0].dynamicCast<MimeTreeParser::MessagePart>();
357 QCOMPARE(part->signatures().size(), 1);
358 QCOMPARE(part->encryptionState(), MimeTreeParser::KMMsgNotEncrypted);
359 QCOMPARE(part->signatureState(), MimeTreeParser::KMMsgFullySigned);
360 }
348}; 361};
349 362
350QTEST_GUILESS_MAIN(InterfaceTest) 363QTEST_GUILESS_MAIN(InterfaceTest)