mutt_message _("PGP passphrase forgotten.");
}
-int pgp_use_gpg_agent (void)
-{
- return option (OPTUSEGPGAGENT) && getenv ("GPG_TTY")
- && getenv ("GPG_AGENT_INFO");
+int pgp_use_gpg_agent (void) {
+ char *tty;
+
+ if (!option (OPTUSEGPGAGENT) || !getenv ("GPG_AGENT_INFO"))
+ return 0;
+
+ if ((tty = ttyname(0)))
+ setenv ("GPG_TTY", tty, 0);
+
+ return 1;
}
char *pgp_keyid (pgp_key_t k)
}
/* treat empty result as sign of failure */
+ /* TODO: maybe on failure mutt should include the original undecoded text. */
if (pgpout) {
rewind (pgpout);
c = fgetc (pgpout);
mutt_error _("Could not decrypt PGP message");
mutt_sleep (1);
pgp_void_passphrase ();
- rc = -1;
- goto out;
+ if (!(s->flags & M_DISPLAY)) {
+ rc = -1;
+ goto out;
+ }
}
}