From fd75b4a47c7f0c49ad6c6650cb528f2845d3feb5 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 14 Feb 2018 13:10:14 +0100 Subject: Fixed inline signed --- framework/src/domain/mime/mimetreeparser/messagepart.cpp | 6 +++++- .../src/domain/mime/mimetreeparser/tests/interfacetest.cpp | 13 +++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) 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() if (mNode == mSignedData) { startVerificationDetached(cleartext, nullptr, {}); } else { - startVerificationDetached(cleartext, mSignedData, mNode->decodedContent()); + if (mNode) { + startVerificationDetached(cleartext, mSignedData, mNode->decodedContent()); + } else { //The case for clearsigned above + startVerificationDetached(cleartext, nullptr, {}); + } } } } 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: QVERIFY(otp.plainTextContent().contains(QString::fromUtf8("Why Pisa’s Tower"))); QVERIFY(otp.htmlContent().contains(QString::fromUtf8("Why Pisa’s Tower"))); } + + void testInlineSigned() + { + MimeTreeParser::ObjectTreeParser otp; + otp.parseObjectTree(readMailFromFile("openpgp-inline-signed.mbox")); + otp.decryptParts(); + auto partList = otp.collectContentParts(); + QCOMPARE(partList.size(), 1); + auto part = partList[0].dynamicCast(); + QCOMPARE(part->signatures().size(), 1); + QCOMPARE(part->encryptionState(), MimeTreeParser::KMMsgNotEncrypted); + QCOMPARE(part->signatureState(), MimeTreeParser::KMMsgFullySigned); + } }; QTEST_GUILESS_MAIN(InterfaceTest) -- cgit v1.2.3