From 31bf3102fe8f8cdd3f1448f0f22f182d0c2820d2 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 23 May 2017 21:00:50 +0200 Subject: Moved MIME related stuff to a mime subdir --- .../mimetreeparser/otp/applicationpgpencrypted.cpp | 98 ---------------------- 1 file changed, 98 deletions(-) delete mode 100644 framework/src/domain/mimetreeparser/otp/applicationpgpencrypted.cpp (limited to 'framework/src/domain/mimetreeparser/otp/applicationpgpencrypted.cpp') diff --git a/framework/src/domain/mimetreeparser/otp/applicationpgpencrypted.cpp b/framework/src/domain/mimetreeparser/otp/applicationpgpencrypted.cpp deleted file mode 100644 index e0f8e30c..00000000 --- a/framework/src/domain/mimetreeparser/otp/applicationpgpencrypted.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/* - Copyright (c) 2016 Sandro Knauß - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - -#include "applicationpgpencrypted.h" - -#include "utils.h" - -#include "objecttreeparser.h" -#include "messagepart.h" - -#include - -#include - -#include "mimetreeparser_debug.h" - -using namespace MimeTreeParser; - -const ApplicationPGPEncryptedBodyPartFormatter *ApplicationPGPEncryptedBodyPartFormatter::self; - -const Interface::BodyPartFormatter *ApplicationPGPEncryptedBodyPartFormatter::create() -{ - if (!self) { - self = new ApplicationPGPEncryptedBodyPartFormatter(); - } - return self; -} - -Interface::BodyPartFormatter::Result ApplicationPGPEncryptedBodyPartFormatter::format(Interface::BodyPart *part, HtmlWriter *writer) const -{ - Q_UNUSED(writer) - const auto p = process(*part); - const auto mp = static_cast(p.data()); - if (mp) { - mp->html(false); - return Ok; - } - return Failed; -} - -Interface::MessagePart::Ptr ApplicationPGPEncryptedBodyPartFormatter::process(Interface::BodyPart &part) const -{ - KMime::Content *node(part.content()); - - if (node->decodedContent().trimmed() != "Version: 1") { - qCWarning(MIMETREEPARSER_LOG) << "Unknown PGP Version String:" << node->decodedContent().trimmed(); - } - - if (!part.content()->parent()) { - return MessagePart::Ptr(); - } - - KMime::Content *data = findTypeInDirectChilds(part.content()->parent(), "application/octet-stream"); - - if (!data) { - return MessagePart::Ptr(); //new MimeMessagePart(part.objectTreeParser(), node, false)); - } - - part.nodeHelper()->setEncryptionState(node, KMMsgFullyEncrypted); - - EncryptedMessagePart::Ptr mp(new EncryptedMessagePart(part.objectTreeParser(), - data->decodedText(), QGpgME::openpgp(), - part.nodeHelper()->fromAsString(data), node)); - mp->setIsEncrypted(true); - mp->setDecryptMessage(part.source()->decryptMessage()); - PartMetaData *messagePart(mp->partMetaData()); - if (!part.source()->decryptMessage()) { - part.nodeHelper()->setNodeProcessed(data, false); // Set the data node to done to prevent it from being processed - } else if (KMime::Content *newNode = part.nodeHelper()->decryptedNodeForContent(data)) { - // if we already have a decrypted node for this encrypted node, don't do the decryption again - return MessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), newNode, part.objectTreeParser()->showOnlyOneMimePart())); - } else { - mp->startDecryption(data); - if (!messagePart->inProgress) { - part.nodeHelper()->setNodeProcessed(data, false); // Set the data node to done to prevent it from being processed - if (messagePart->isDecryptable && messagePart->isSigned) { - part.nodeHelper()->setSignatureState(node, KMMsgFullySigned); - } - } - } - return mp; -} -- cgit v1.2.3