From 6b75d9515a0fddf88f7ee012ca03724baf6e7565 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 3 Jul 2018 16:17:10 +0200 Subject: Fixed and tested isGoodSignature --- framework/src/domain/mime/mimetreeparser/messagepart.cpp | 2 +- .../domain/mime/mimetreeparser/tests/mimetreeparsertest.cpp | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/framework/src/domain/mime/mimetreeparser/messagepart.cpp b/framework/src/domain/mime/mimetreeparser/messagepart.cpp index 3ab43990..4c12a9d9 100644 --- a/framework/src/domain/mime/mimetreeparser/messagepart.cpp +++ b/framework/src/domain/mime/mimetreeparser/messagepart.cpp @@ -696,7 +696,7 @@ static QString prettifyDN(const char *uid) void SignedMessagePart::sigStatusToMetaData(const Signature &signature) { - mMetaData.isGoodSignature = signature.status & GPG_ERR_NO_ERROR; + mMetaData.isGoodSignature = signature.status == GPG_ERR_NO_ERROR; // save extended signature status flags auto summary = signature.summary; mMetaData.keyMissing = summary & GPGME_SIGSUM_KEY_MISSING; diff --git a/framework/src/domain/mime/mimetreeparser/tests/mimetreeparsertest.cpp b/framework/src/domain/mime/mimetreeparser/tests/mimetreeparsertest.cpp index a4b347e7..bb4e86ce 100644 --- a/framework/src/domain/mime/mimetreeparser/tests/mimetreeparsertest.cpp +++ b/framework/src/domain/mime/mimetreeparser/tests/mimetreeparsertest.cpp @@ -355,6 +355,18 @@ private slots: QCOMPARE(part->signatures().size(), 1); QCOMPARE(part->encryptionState(), MimeTreeParser::KMMsgNotEncrypted); QCOMPARE(part->signatureState(), MimeTreeParser::KMMsgFullySigned); + + QCOMPARE(part->partMetaData()->isGoodSignature, true); + QCOMPARE(part->partMetaData()->keyIsTrusted, true); + QCOMPARE(part->partMetaData()->keyMissing, false); + QCOMPARE(part->partMetaData()->keyExpired, false); + QCOMPARE(part->partMetaData()->keyRevoked, false); + QCOMPARE(part->partMetaData()->sigExpired, false); + QCOMPARE(part->partMetaData()->crlMissing, false); + QCOMPARE(part->partMetaData()->crlTooOld, false); + QCOMPARE(part->partMetaData()->keyId, QByteArray{"8D9860C58F246DE6"}); + QCOMPARE(part->partMetaData()->signer, {"unittest key (no password) "}); + QCOMPARE(part->partMetaData()->signerMailAddresses, QStringList{{"test@kolab.org"}}); } void testEncryptedAndSigned() -- cgit v1.2.3