The following reply was made to PR mutt/2139; it has been noted by GNATS. From: Thomas Roessler <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Cc: Subject: Re: mutt/2139: messages with base64-encoded CRLF pgp bits can't be read Date: Tue, 22 Nov 2005 13:32:00 +0100
On 2005-11-21 21:41:36 +0100, [EMAIL PROTECTED] wrote: > Also, and with respect Daniel's original report, note that even > if mutt properly opens the message, it outputs somehow confusing > messages. First: > Could not decrypt PGP message > > And then, when displaying: > > PGP message successfully decrypted. *sigh* This patch complicates the spaghetti code in pgp.c a tiny bit more, but fixes this particular problem: diff -u -r3.60 pgp.c --- pgp.c 21 Oct 2005 04:35:37 -0000 3.60 +++ pgp.c 22 Nov 2005 12:30:15 -0000 @@ -243,6 +243,7 @@ int pgp_application_pgp_handler (BODY *m, STATE *s) { + int could_not_decrypt = 0; int needpass = -1, pgp_keyblock = 0; int clearsign = 0, rv, rc; int c = 1; /* silence GCC warning */ @@ -398,15 +399,16 @@ } if (!clearsign && (!pgpout || c == EOF)) { + could_not_decrypt = 1; + pgp_void_passphrase (); + } + + if (could_not_decrypt && !(s->flags & M_DISPLAY)) + { mutt_error _("Could not decrypt PGP message"); mutt_sleep (1); - pgp_void_passphrase (); - - if (!(s->flags & M_DISPLAY)) - { - rc = -1; - goto out; - } + rc = -1; + goto out; } } @@ -450,7 +452,10 @@ if (needpass) { state_attach_puts (_("[-- END PGP MESSAGE --]\n"), s); - mutt_message _("PGP message successfully decrypted."); + if (could_not_decrypt) + mutt_error _("Could not decrypt PGP message"); + else + mutt_message _("PGP message successfully decrypted."); } else if (pgp_keyblock) state_attach_puts (_("[-- END PGP PUBLIC KEY BLOCK --]\n"), s); -- Thomas Roessler <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]