projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
we're grownups now. don't care about stupid OS'es that don't know what an
[apps/madmutt.git]
/
pgp.c
diff --git
a/pgp.c
b/pgp.c
index
4b586e9
..
da199ce
100644
(file)
--- a/
pgp.c
+++ b/
pgp.c
@@
-233,12
+233,13
@@
static void pgp_copy_clearsigned (FILE * fpin, STATE * s, char *charset)
int pgp_application_pgp_handler (BODY * m, STATE * s)
{
int pgp_application_pgp_handler (BODY * m, STATE * s)
{
+ int could_not_decrypt = 0;
int needpass = -1, pgp_keyblock = 0;
int c = 1;
int clearsign = 0, rv, rc;
long start_pos = 0;
long bytes;
int needpass = -1, pgp_keyblock = 0;
int c = 1;
int clearsign = 0, rv, rc;
long start_pos = 0;
long bytes;
-
LOFF_T
last_pos, offset;
+
off_t
last_pos, offset;
char buf[HUGE_STRING];
char outfile[_POSIX_PATH_MAX];
char tmpfname[_POSIX_PATH_MAX];
char buf[HUGE_STRING];
char outfile[_POSIX_PATH_MAX];
char tmpfname[_POSIX_PATH_MAX];
@@
-383,13
+384,15
@@
int pgp_application_pgp_handler (BODY * m, STATE * s)
ungetc (c, pgpout);
}
if (!clearsign && (!pgpout || c == EOF)) {
ungetc (c, pgpout);
}
if (!clearsign && (!pgpout || c == EOF)) {
- mutt_error _("Could not decrypt PGP message");
- mutt_sleep (1);
- pgp_void_passphrase ();
- if (!(s->flags & M_DISPLAY)) {
- rc = -1;
- goto out;
- }
+ 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);
+ rc = -1;
+ goto out;
}
}
}
}
@@
-429,7
+432,10
@@
int pgp_application_pgp_handler (BODY * m, STATE * s)
state_putc ('\n', s);
if (needpass) {
state_attach_puts (_("[-- END PGP MESSAGE --]\n"), s);
state_putc ('\n', s);
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);
}
else if (pgp_keyblock)
state_attach_puts (_("[-- END PGP PUBLIC KEY BLOCK --]\n"), s);