diff --git a/messageviewer/autotests/data/openpgp-signed-mailinglist+childs.mbox b/messageviewer/autotests/data/openpgp-signed-mailinglist+childs.mbox new file mode 100644 --- /dev/null +++ b/messageviewer/autotests/data/openpgp-signed-mailinglist+childs.mbox @@ -0,0 +1,126 @@ +Return-Path: +Delivered-To: einar@heavensinferno.net +Received: from localhost (localhost.localdomain [127.0.0.1]) + by akihabara.dennogumi.org (Postfix) with ESMTP id 15AB75CD846 + for ; Mon, 8 Apr 2013 12:15:03 +0200 (CEST) +Authentication-Results: akihabara.dennogumi.org; dkim=pass + (1024-bit key; insecure key) header.i=@kde.org header.b=vQ0NnJ9g; + dkim-adsp=pass +X-Virus-Scanned: Debian amavisd-new at akihabara.dennogumi.org +X-Spam-Flag: NO +X-Spam-Score: -3.818 +X-Spam-Level: +X-Spam-Status: No, score=-3.818 required=5 tests=[BAYES_50=0.8, + RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-2.328, T_DKIM_INVALID=0.01] + autolearn=unavailable +Received: from akihabara.dennogumi.org ([127.0.0.1]) + by localhost (akihabara.dennogumi.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id RMAq-XNJ040f for ; + Mon, 8 Apr 2013 12:14:44 +0200 (CEST) +Received: from postbox.kde.org (postbox.kde.org [46.4.96.248]) + by akihabara.dennogumi.org (Postfix) with ESMTP id 321675CD845 + for ; Mon, 8 Apr 2013 12:14:44 +0200 (CEST) +Authentication-Results: akihabara.dennogumi.org; dkim=pass + (1024-bit key; insecure key) header.i=@kde.org header.b=vQ0NnJ9g; + dkim-adsp=pass +Received: from postbox.kde.org (localhost [IPv6:::1]) + by postbox.kde.org (Postfix) with ESMTP id 9F5E1B37F95; + Mon, 8 Apr 2013 10:13:32 +0000 (UTC) +DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=kde.org; s=default; + t=1365416012; bh=ZJtmtbDLoGFwSyJUINdTk4UpuX+xzxcjGp7LSPrKNUs=; + h=From:To:Subject:Date:Message-ID:MIME-Version:Reply-To:List-Id: + List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: + Content-Type:Sender; b=vQ0NnJ9gjeyPLhPbQx6o9UxmILkS9KrhaKG6luAS/GR + 6iR3HKXR3HE0BCkTMD5xmKL5ztFMGcU5e79fz0ch0sd2pnZ0y1WVw7KjCxsv/YtO9HM + OplAHmhwRI5zH8KKQbyvdPULvssI/ISdViAXmHw04hNPsBjsIGkTPgvNbPFuk= +X-Original-To: plasma-devel@kde.org +Delivered-To: plasma-devel@localhost.kde.org +Received: from mail.bddf.ca (unknown [64.141.113.219]) + by postbox.kde.org (Postfix) with ESMTP id 782C6B37BE6 + for ; Mon, 8 Apr 2013 09:51:17 +0000 (UTC) +Received: from freedom.localnet (242.13.24.31.ftth.as8758.net [31.24.13.242]) + (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) + (No client certificate requested) + by mail.bddf.ca (Postfix) with ESMTPSA id 0CB712DC040 + for ; Mon, 8 Apr 2013 03:51:16 -0600 (MDT) +From: "Aaron J. Seigo" +To: plasma-devel@kde.org +Subject: activities_optional branch in kde-workspace +Date: Mon, 08 Apr 2013 11:51:11 +0200 +Message-ID: <4143483.eqrJjo7JEn@freedom> +User-Agent: KMail/4.11 pre (Linux/3.6.3-1-desktop; KDE/4.10.60; i686; + git-da50be0; 2013-03-12) +MIME-Version: 1.0 +X-Scanned-By: MIMEDefang 2.71 on 46.4.96.248 +X-BeenThere: plasma-devel@kde.org +X-Mailman-Version: 2.1.14 +Precedence: list +Reply-To: plasma-devel@kde.org +List-Id: +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Content-Type: multipart/mixed; boundary="===============6664737512143839854==" +Errors-To: plasma-devel-bounces@kde.org +Sender: plasma-devel-bounces@kde.org + + +--===============6664737512143839854== +Content-Type: multipart/signed; boundary="nextPart1996263.NlFDv9GTkA"; micalg="pgp-sha1"; protocol="application/pgp-signature" + + +--nextPart1996263.NlFDv9GTkA +Content-Transfer-Encoding: 7Bit +Content-Type: text/plain; charset="us-ascii" + +hi.. + +i noticed a new branch when i pulled kde-workspace today (finally!): +activities_optional + +the lone commit in it was pushed on april 1, so maybe it's an april fools +joke, but if it isn't, it looks like someone is trying to do something that +makes no sense (and has no chance of being merged into master). so if this is +a "for reals" branch, perhaps the motivation behind it can be shared? + +-- +Aaron J. Seigo +--nextPart1996263.NlFDv9GTkA +Content-Type: application/pgp-signature; name="signature.asc" +Content-Description: This is a digitally signed message part. +Content-Transfer-Encoding: 7Bit + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iEUEABECAAYFAlFikxAACgkQ1rcusafx20MHbwCfeXOgTDwtR81XJwAdcQB40Lt7 +t2IAmJpIZxdU+SSruySeEfbQs3VXq/8= +=BQPF +-----END PGP SIGNATURE----- +--nextPart1996263.NlFDv9GTkA +Content-Type: text/plain; name="broken.attachment" +Content-Transfer-Encoding: 7Bit + +Let's break a signed message - This messageblock should not be here :D + +--nextPart1996263.NlFDv9GTkA-- + + +--===============6664737512143839854== +Content-Type: text/plain; charset="us-ascii" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Content-Disposition: inline + +_______________________________________________ +Plasma-devel mailing list +Plasma-devel@kde.org +https://mail.kde.org/mailman/listinfo/plasma-devel + +--===============6664737512143839854==-- + + diff --git a/messageviewer/autotests/data/openpgp-signed-mailinglist+childs.mbox.html b/messageviewer/autotests/data/openpgp-signed-mailinglist+childs.mbox.html new file mode 100644 --- /dev/null +++ b/messageviewer/autotests/data/openpgp-signed-mailinglist+childs.mbox.html @@ -0,0 +1,435 @@ + + + + + + <style> +div.header { + margin-bottom: 10pt ! important; +} + +table.textAtm { + margin-top: 10pt ! important; + margin-bottom: 10pt ! important; +} + +tr.textAtmH, +tr.textAtmB, +tr.rfc822B { + font-weight: normal ! important; +} + +tr.signInProgressH, +tr.rfc822H, +tr.encrH, +tr.signOkKeyOkH, +tr.signOkKeyBadH, +tr.signWarnH, +tr.signErrH { + font-weight: bold ! important; +} + +tr.textAtmH td, +tr.textAtmB td { + padding: 3px ! important; +} + +table.rfc822 { + width: 100% ! important; + border: solid 1px black ! important; + margin-top: 10pt ! important; + margin-bottom: 10pt ! important; +} + +table.textAtm, +table.encr, +table.signWarn, +table.signErr, +table.signOkKeyBad, +table.signOkKeyOk, +table.signInProgress, +div.fancy.header table { + width: 100% ! important; + border-width: 0px ! important; + line-height: normal; +} + +div.htmlWarn { + margin: 0px 5% ! important; + padding: 10px ! important; + text-align: left ! important; + line-height: normal; +} + +div.fancy.header > div { + font-weight: bold ! important; + padding: 4px ! important; + line-height: normal; +} + +div.fancy.header table { + padding: 2px ! important; + text-align: left ! important; + border-collapse: separate ! important; +} + +div.fancy.header table th { + font-family: "Sans Serif" ! important; + font-size: 0px ! important; + + padding: 0px ! important; + white-space: nowrap ! important; + border-spacing: 0px ! important; + text-align: left ! important; + vertical-align: top ! important; + background-color: #d6d2d0 ! important; + color: #221f1e ! important; + border: 1px ! important; +} + +div.fancy.header table td { + font-family: "Sans Serif" ! important; + font-size: 0px ! important; + + padding: 0px ! important; + border-spacing: 0px ! important; + text-align: left ! important; + vertical-align: top ! important; + width: 100% ! important; + background-color: #d6d2d0 ! important; + color: #221f1e ! important; + border: 1px ! important; +} + +div.fancy.header table a:hover { + background-color: transparent ! important; +} + +span.pimsmileytext { + position: absolute; + top: 0px; + left: 0px; + visibility: hidden; +} + +img.pimsmileyimg { +} + +div.quotelevelmark { + position: absolute; + margin-left:-10px; +} + +@media screen { + +body { + font-family: "Sans Serif" ! important; + font-size: 0px ! important; + color: #1f1c1b ! important; + background-color: #ffffff ! important; +} + +a { + color: #0057ae ! important; + text-decoration: none ! important; +} + +a.white { + color: white ! important; +} + +a.black { + color: black ! important; +} + +table.textAtm { background-color: #1f1c1b ! important; } + +tr.textAtmH { + background-color: #ffffff ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.textAtmB { + background-color: #ffffff ! important; +} + +table.signInProgress, +table.rfc822 { + background-color: #ffffff ! important; +} + +tr.signInProgressH, +tr.rfc822H { + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +table.encr { + background-color: #0069cc ! important; +} + +tr.encrH { + background-color: #0080ff ! important; + color: #ffffff ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.encrB { background-color: #e0f0ff ! important; } + +table.signOkKeyOk { + background-color: #33cc33 ! important; +} + +tr.signOkKeyOkH { + background-color: #40ff40 ! important; + color: #27ae60 ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.signOkKeyOkB { background-color: #e8ffe8 ! important; } + +table.signOkKeyBad { + background-color: #cccc33 ! important; +} + +tr.signOkKeyBadH { + background-color: #ffff40 ! important; + color: #f67400 ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.signOkKeyBadB { background-color: #ffffe8 ! important; } + +table.signWarn { + background-color: #cccc33 ! important; +} + +tr.signWarnH { + background-color: #ffff40 ! important; + color: #f67400 ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.signWarnB { background-color: #ffffe8 ! important; } + +table.signErr { + background-color: #cc0000 ! important; +} + +tr.signErrH { + background-color: #ff0000 ! important; + color: #da4453 ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.signErrB { background-color: #ffe0e0 ! important; } + +div.htmlWarn { + border: 2px solid #ff4040 ! important; + line-height: normal; +} + +div.header { + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +div.fancy.header > div { + background-color: #43ace8 ! important; + color: #ffffff ! important; + border: solid #221f1e 1px ! important; + line-height: normal; +} + +div.fancy.header > div a[href] { color: #ffffff ! important; } + +div.fancy.header > div a[href]:hover { text-decoration: underline ! important; } + +div.fancy.header > div.spamheader { + background-color: #cdcdcd ! important; + border-top: 0px ! important; + padding: 3px ! important; + color: black ! important; + font-weight: bold ! important; + font-size: smaller ! important; +} + +div.fancy.header > table.outer { + background-color: #d6d2d0 ! important; + color: #221f1e ! important; + border-bottom: solid #221f1e 1px ! important; + border-left: solid #221f1e 1px ! important; + border-right: solid #221f1e 1px ! important; +} + +div.senderpic{ + padding: 0px ! important; + font-size:0.8em ! important; + border:1px solid #b3aba7 ! important; + background-color:#d6d2d0 ! important; +} + +div.senderstatus{ + text-align:center ! important; +} + +div.quotelevel1 { + color: #008000 ! important; + font-style: italic ! important; +} + +div.quotelevel2 { + color: #007000 ! important; + font-style: italic ! important; +} + +div.quotelevel3 { + color: #006000 ! important; + font-style: italic ! important; +} + +div.deepquotelevel1 { + color: #008000 ! important; + font-style: italic ! important; +} + +div.deepquotelevel2 { + color: #007000 ! important; + font-style: italic ! important; +} + +div.deepquotelevel3 { + color: #006000 ! important; + font-style: italic ! important; +} + +} +@media print { + +body { + font-family: "Sans Serif" ! important; + font-size: 9pt ! important; + color: #000000 ! important; + background-color: #ffffff ! important +} + +tr.textAtmH, +tr.signInProgressH, +tr.rfc822H, +tr.encrH, +tr.signOkKeyOkH, +tr.signOkKeyBadH, +tr.signWarnH, +tr.signErrH, +div.header { + font-family: "Sans Serif" ! important; + font-size: 9pt ! important; +} + +div.fancy.header > div { + background-color: #d6d2d0 ! important; + color: #221f1e ! important; + padding: 4px ! important; + border: solid #221f1e 1px ! important; + line-height: normal; +} + +div.fancy.header > div a[href] { color: #221f1e ! important; } + +div.fancy.header > table.outer{ + background-color: #d6d2d0 ! important; + color: #221f1e ! important; + border-bottom: solid #221f1e 1px ! important; + border-left: solid #221f1e 1px ! important; + border-right: solid #221f1e 1px ! important; +} + +div.spamheader { + display:none ! important; +} + +div.htmlWarn { + border: 2px solid #ffffff ! important; + line-height: normal; +} + +div.senderpic{ + font-size:0.8em ! important; + border:1px solid black ! important; + background-color:#d6d2d0 ! important; +} + +div.senderstatus{ + text-align:center ! important; +} + +div.noprint { + display:none ! important; +} + + +</style> + </head> + <body> + <div style="position: relative; word-wrap: break-word"> + <a name="att"/> + <div id="attachmentDiv"> + <a name="att1"/> + <div id="attachmentDiv1"> + <a name="att1.1"/> + <div id="attachmentDiv1.1"> + <div class="noquote"> + <div dir="ltr">hi..</div> + <br/> + <div dir="ltr">i noticed a new branch when i pulled kde-workspace today (finally!): </div> + <div dir="ltr">activities_optional</div> + <br/> + <div dir="ltr">the lone commit in it was pushed on april 1, so maybe it's an april fools </div> + <div dir="ltr">joke, but if it isn't, it looks like someone is trying to do something that </div> + <div dir="ltr">makes no sense (and has no chance of being merged into master). so if this is </div> + <div dir="ltr">a "for reals" branch, perhaps the motivation behind it can be shared?</div> + <br/> + <div dir="ltr">-- </div> + <div dir="ltr">Aaron J. Seigo</div> + </div> + </div> + <a name="att1.2"/> + <div id="attachmentDiv1.2"> + <div> + <a href="attachment:1.2?place=body"><img src="file:" border="0" style="max-width: 100%" alt=""/>signature.asc</a> + </div> + <div>This is a digitally signed message part.</div> + <br/> + </div> + <a name="att1.3"/> + <div id="attachmentDiv1.3"> + <div> + <a href="attachment:1.3?place=body"><img src="file:" border="0" style="max-width: 100%" alt=""/>broken.attachment</a> + </div> + <div/> + <br/> + </div> + </div> + <a name="att2"/> + <div id="attachmentDiv2"> + <div class="noquote"> + <div dir="ltr">_______________________________________________</div> + <div dir="ltr">Plasma-devel mailing list</div> + <div dir="ltr"> + <a href="mailto:Plasma-devel@kde.org">Plasma-devel@kde.org</a> + </div> + <div dir="ltr"> + <a href="https://mail.kde.org/mailman/listinfo/plasma-devel">https://mail.kde.org/mailman/listinfo/plasma-devel</a> + </div> + </div> + </div> + </div> + </div> + </body> +</html> diff --git a/messageviewer/autotests/data/openpgp-signed-no-protocol.mbox b/messageviewer/autotests/data/openpgp-signed-no-protocol.mbox new file mode 100644 --- /dev/null +++ b/messageviewer/autotests/data/openpgp-signed-no-protocol.mbox @@ -0,0 +1,35 @@ +Return-Path: <plasma-devel-bounces@kde.org> +Delivered-To: einar@heavensinferno.net +Content-Type: multipart/signed; boundary="nextPart1996263.NlFDv9GTkA"; micalg="pgp-sha1"; protocol="application/broken-signature" + + +--nextPart1996263.NlFDv9GTkA +Content-Transfer-Encoding: 7Bit +Content-Type: text/plain; charset="us-ascii" + +hi.. + +i noticed a new branch when i pulled kde-workspace today (finally!): +activities_optional + +the lone commit in it was pushed on april 1, so maybe it's an april fools +joke, but if it isn't, it looks like someone is trying to do something that +makes no sense (and has no chance of being merged into master). so if this is +a "for reals" branch, perhaps the motivation behind it can be shared? + +-- +Aaron J. Seigo +--nextPart1996263.NlFDv9GTkA +Content-Type: application/broken-signature; name="signature.asc" +Content-Description: This is a digitally signed message part. +Content-Transfer-Encoding: 7Bit + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iEUEABECAAYFAlFikxAACgkQ1rcusafx20MHbwCfeXOgTDwtR81XJwAdcQB40Lt7 +t2IAmJpIZxdU+SSruySeEfbQs3VXq/8= +=BQPF +-----END PGP SIGNATURE----- + +--nextPart1996263.NlFDv9GTkA-- diff --git a/messageviewer/autotests/data/openpgp-signed-no-protocol.mbox.html b/messageviewer/autotests/data/openpgp-signed-no-protocol.mbox.html new file mode 100644 --- /dev/null +++ b/messageviewer/autotests/data/openpgp-signed-no-protocol.mbox.html @@ -0,0 +1,411 @@ +<?xml version="1.0" encoding="UTF8"?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> + <head> + <title/> + <style> +div.header { + margin-bottom: 10pt ! important; +} + +table.textAtm { + margin-top: 10pt ! important; + margin-bottom: 10pt ! important; +} + +tr.textAtmH, +tr.textAtmB, +tr.rfc822B { + font-weight: normal ! important; +} + +tr.signInProgressH, +tr.rfc822H, +tr.encrH, +tr.signOkKeyOkH, +tr.signOkKeyBadH, +tr.signWarnH, +tr.signErrH { + font-weight: bold ! important; +} + +tr.textAtmH td, +tr.textAtmB td { + padding: 3px ! important; +} + +table.rfc822 { + width: 100% ! important; + border: solid 1px black ! important; + margin-top: 10pt ! important; + margin-bottom: 10pt ! important; +} + +table.textAtm, +table.encr, +table.signWarn, +table.signErr, +table.signOkKeyBad, +table.signOkKeyOk, +table.signInProgress, +div.fancy.header table { + width: 100% ! important; + border-width: 0px ! important; + line-height: normal; +} + +div.htmlWarn { + margin: 0px 5% ! important; + padding: 10px ! important; + text-align: left ! important; + line-height: normal; +} + +div.fancy.header > div { + font-weight: bold ! important; + padding: 4px ! important; + line-height: normal; +} + +div.fancy.header table { + padding: 2px ! important; + text-align: left ! important; + border-collapse: separate ! important; +} + +div.fancy.header table th { + font-family: "Sans Serif" ! important; + font-size: 0px ! important; + + padding: 0px ! important; + white-space: nowrap ! important; + border-spacing: 0px ! important; + text-align: left ! important; + vertical-align: top ! important; + background-color: #d6d2d0 ! important; + color: #221f1e ! important; + border: 1px ! important; +} + +div.fancy.header table td { + font-family: "Sans Serif" ! important; + font-size: 0px ! important; + + padding: 0px ! important; + border-spacing: 0px ! important; + text-align: left ! important; + vertical-align: top ! important; + width: 100% ! important; + background-color: #d6d2d0 ! important; + color: #221f1e ! important; + border: 1px ! important; +} + +div.fancy.header table a:hover { + background-color: transparent ! important; +} + +span.pimsmileytext { + position: absolute; + top: 0px; + left: 0px; + visibility: hidden; +} + +img.pimsmileyimg { +} + +div.quotelevelmark { + position: absolute; + margin-left:-10px; +} + +@media screen { + +body { + font-family: "Sans Serif" ! important; + font-size: 0px ! important; + color: #1f1c1b ! important; + background-color: #ffffff ! important; +} + +a { + color: #0057ae ! important; + text-decoration: none ! important; +} + +a.white { + color: white ! important; +} + +a.black { + color: black ! important; +} + +table.textAtm { background-color: #1f1c1b ! important; } + +tr.textAtmH { + background-color: #ffffff ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.textAtmB { + background-color: #ffffff ! important; +} + +table.signInProgress, +table.rfc822 { + background-color: #ffffff ! important; +} + +tr.signInProgressH, +tr.rfc822H { + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +table.encr { + background-color: #0069cc ! important; +} + +tr.encrH { + background-color: #0080ff ! important; + color: #ffffff ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.encrB { background-color: #e0f0ff ! important; } + +table.signOkKeyOk { + background-color: #33cc33 ! important; +} + +tr.signOkKeyOkH { + background-color: #40ff40 ! important; + color: #27ae60 ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.signOkKeyOkB { background-color: #e8ffe8 ! important; } + +table.signOkKeyBad { + background-color: #cccc33 ! important; +} + +tr.signOkKeyBadH { + background-color: #ffff40 ! important; + color: #f67400 ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.signOkKeyBadB { background-color: #ffffe8 ! important; } + +table.signWarn { + background-color: #cccc33 ! important; +} + +tr.signWarnH { + background-color: #ffff40 ! important; + color: #f67400 ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.signWarnB { background-color: #ffffe8 ! important; } + +table.signErr { + background-color: #cc0000 ! important; +} + +tr.signErrH { + background-color: #ff0000 ! important; + color: #da4453 ! important; + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +tr.signErrB { background-color: #ffe0e0 ! important; } + +div.htmlWarn { + border: 2px solid #ff4040 ! important; + line-height: normal; +} + +div.header { + font-family: "Sans Serif" ! important; + font-size: 0px ! important; +} + +div.fancy.header > div { + background-color: #43ace8 ! important; + color: #ffffff ! important; + border: solid #221f1e 1px ! important; + line-height: normal; +} + +div.fancy.header > div a[href] { color: #ffffff ! important; } + +div.fancy.header > div a[href]:hover { text-decoration: underline ! important; } + +div.fancy.header > div.spamheader { + background-color: #cdcdcd ! important; + border-top: 0px ! important; + padding: 3px ! important; + color: black ! important; + font-weight: bold ! important; + font-size: smaller ! important; +} + +div.fancy.header > table.outer { + background-color: #d6d2d0 ! important; + color: #221f1e ! important; + border-bottom: solid #221f1e 1px ! important; + border-left: solid #221f1e 1px ! important; + border-right: solid #221f1e 1px ! important; +} + +div.senderpic{ + padding: 0px ! important; + font-size:0.8em ! important; + border:1px solid #b3aba7 ! important; + background-color:#d6d2d0 ! important; +} + +div.senderstatus{ + text-align:center ! important; +} + +div.quotelevel1 { + color: #008000 ! important; + font-style: italic ! important; +} + +div.quotelevel2 { + color: #007000 ! important; + font-style: italic ! important; +} + +div.quotelevel3 { + color: #006000 ! important; + font-style: italic ! important; +} + +div.deepquotelevel1 { + color: #008000 ! important; + font-style: italic ! important; +} + +div.deepquotelevel2 { + color: #007000 ! important; + font-style: italic ! important; +} + +div.deepquotelevel3 { + color: #006000 ! important; + font-style: italic ! important; +} + +} +@media print { + +body { + font-family: "Sans Serif" ! important; + font-size: 9pt ! important; + color: #000000 ! important; + background-color: #ffffff ! important +} + +tr.textAtmH, +tr.signInProgressH, +tr.rfc822H, +tr.encrH, +tr.signOkKeyOkH, +tr.signOkKeyBadH, +tr.signWarnH, +tr.signErrH, +div.header { + font-family: "Sans Serif" ! important; + font-size: 9pt ! important; +} + +div.fancy.header > div { + background-color: #d6d2d0 ! important; + color: #221f1e ! important; + padding: 4px ! important; + border: solid #221f1e 1px ! important; + line-height: normal; +} + +div.fancy.header > div a[href] { color: #221f1e ! important; } + +div.fancy.header > table.outer{ + background-color: #d6d2d0 ! important; + color: #221f1e ! important; + border-bottom: solid #221f1e 1px ! important; + border-left: solid #221f1e 1px ! important; + border-right: solid #221f1e 1px ! important; +} + +div.spamheader { + display:none ! important; +} + +div.htmlWarn { + border: 2px solid #ffffff ! important; + line-height: normal; +} + +div.senderpic{ + font-size:0.8em ! important; + border:1px solid black ! important; + background-color:#d6d2d0 ! important; +} + +div.senderstatus{ + text-align:center ! important; +} + +div.noprint { + display:none ! important; +} + + +</style> + </head> + <body> + <div style="position: relative; word-wrap: break-word"> + <a name="att"/> + <div id="attachmentDiv"> + <a name="att1"/> + <div id="attachmentDiv1"> + <div class="noquote"> + <div dir="ltr">hi..</div> + <br/> + <div dir="ltr">i noticed a new branch when i pulled kde-workspace today (finally!): </div> + <div dir="ltr">activities_optional</div> + <br/> + <div dir="ltr">the lone commit in it was pushed on april 1, so maybe it's an april fools </div> + <div dir="ltr">joke, but if it isn't, it looks like someone is trying to do something that </div> + <div dir="ltr">makes no sense (and has no chance of being merged into master). so if this is </div> + <div dir="ltr">a "for reals" branch, perhaps the motivation behind it can be shared?</div> + <br/> + <div dir="ltr">-- </div> + <div dir="ltr">Aaron J. Seigo</div> + </div> + </div> + <a name="att2"/> + <div id="attachmentDiv2"> + <div> + <a href="attachment:2?place=body"><img src="file:" border="0" style="max-width: 100%" alt=""/>signature.asc</a> + </div> + <div>This is a digitally signed message part.</div> + <br/> + </div> + </div> + </div> + </body> +</html> diff --git a/messageviewer/src/viewer/objecttreeparser.cpp b/messageviewer/src/viewer/objecttreeparser.cpp --- a/messageviewer/src/viewer/objecttreeparser.cpp +++ b/messageviewer/src/viewer/objecttreeparser.cpp @@ -1170,26 +1170,18 @@ MessagePart::Ptr ObjectTreeParser::processMultiPartSignedSubtype(KMime::Content *node, ProcessResult &) { - KMime::Content *child = MessageCore::NodeHelper::firstChild(node); + KMime::Content *signedData = MessageCore::NodeHelper::firstChild(node); + assert(signedData); if (node->contents().size() != 2) { qCDebug(MESSAGEVIEWER_LOG) << "mulitpart/signed must have exactly two child parts!" << endl << "processing as multipart/mixed"; - return MessagePart::Ptr(new MimeMessagePart(this, child, false)); + return MessagePart::Ptr(new MimeMessagePart(this, signedData, false)); } - KMime::Content *signedData = child; - assert(signedData); - KMime::Content *signature = node->contents().at(1); assert(signature); - mNodeHelper->setNodeProcessed(signature, true); - - if (!includeSignatures()) { - return MessagePart::Ptr(new MimeMessagePart(this, signedData, false)); - } - QString protocolContentType = node->contentType()->parameter(QStringLiteral("protocol")).toLower(); const QString signatureContentType = QLatin1String(signature->contentType()->mimeType().toLower()); if (protocolContentType.isEmpty()) { @@ -1208,10 +1200,11 @@ } if (!protocol) { - mNodeHelper->setNodeProcessed(signature, true); return MessagePart::Ptr(new MimeMessagePart(this, signedData, false)); } + mNodeHelper->setNodeProcessed(signature, true); + CryptoProtocolSaver saver(this, protocol); mNodeHelper->setSignatureState(node, KMMsgFullySigned);