char *p, buffer[STRING];
int need_pause = 0;
struct Buffer err;
+ char *tty;
mutt_buffer_init(&err);
err.dsize = STRING;
unset_option(OPTSUSPEND);
#endif
+ /* GPG_TTY is used by the ncurses pinentry program for GPG. GPG is
+ * sometimes also used to decrypt passwords in programs launched by
+ * mutt, such as using msmtp as $sendmail, so we set it here as
+ * opposed to inside pgp.c
+ *
+ * We also call setenv() because send_msg() is not converted to use
+ * the mutt envlist.
+ */
+ if ((tty = ttyname(0)))
+ {
+ setenv("GPG_TTY", tty, 0);
+ mutt_envlist_set("GPG_TTY", tty, 0);
+ }
+
mutt_init_history();
/* RFC2368, "4. Unsafe headers"
return 0;
}
+/* This function used to do more: check GPG_AGENT_INFO,
+ * set GPG_TTY. GPG_AGENT_INFO is no longer exported, and GPG_TTY
+ * is now set in mutt_init().
+ */
bool pgp_use_gpg_agent(void)
{
- char *tty = NULL;
-
- /* GnuPG 2.1 no longer exports GPG_AGENT_INFO */
- if (!option(OPTUSEGPGAGENT))
- return false;
-
- if ((tty = ttyname(0)))
- {
- setenv("GPG_TTY", tty, 0);
- mutt_envlist_set("GPG_TTY", tty, false);
- }
-
- return true;
+ return option (OPTUSEGPGAGENT);
}
static struct PgpKeyInfo *_pgp_parent(struct PgpKeyInfo *k)