#3742: Handle 'corrupted' (multipart/mixed) PGP-MIME bodies
--------------------------+----------------------
Reporter: Feandil | Owner: mutt-dev
Type: enhancement | Status: closed
Priority: minor | Milestone:
Component: mutt | Version:
Resolution: fixed | Keywords:
--------------------------+----------------------
Changes (by Kevin McCarthy <kevin@…>):
* status: new => closed
* resolution: => fixed
Comment:
In [21a08f9abc80d7ea0b3dc0a9f8fa2013c7446f5a]:
{{{
#!CommitTicketReference repository=""
revision="21a08f9abc80d7ea0b3dc0a9f8fa2013c7446f5a"
Handle malformed ms-exchange pgp-encrypted block. (closes #3742)
In certain circumstances, Exchange corrupts a multipart/encrypted block
into:
<multipart/mixed>
<text/plain>
<application/pgp-encrypted> [BASE64-encoded]
<application/octet-stream> [BASE64-encoded]
This patch pulls the full detection of valid/invalid multiparts
into mutt_body_handler(). It extracts a run_decode_and_handler()
function, which is reused by new intermediate handlers to decode
the application/octet-stream part before passing it directly to
crypt_pgp_encrypted_handler. These intermediate handlers then check
and set any GOODSIG flags back into the parent part.
This change may result in less error messages for invalid
multipart/encrypted parts. Instead, mutt will default to the
multipart_handler if it isn't fully "correct".
Viewing attachments uses crypt_pgp_decrypt_mime() which bypasses the
handler mechanism. Add decoding to the decrypt_mime() functions for pgp
and gpgme.
Thanks to Vincent Brillault for his analysis and initial patch.
}}}
--
Ticket URL: <http://dev.mutt.org/trac/ticket/3742#comment:7>
Mutt <http://www.mutt.org/>
The Mutt mail user agent