#1812: pgp-hook cannot be auto accepted
-------------------------------------------------------------------+--------
Reporter: Bas Wijnen <shevek@…> |
Owner: mutt-dev
Type: enhancement |
Status: new
Priority: trivial |
Milestone:
Component: mutt |
Version: 1.3.28i
Keywords: patch |
-------------------------------------------------------------------+--------
Changes (by me):
* type: defect => enhancement
Old description:
> {{{
> Package: mutt
> Version: 1.3.28-2.2
> Severity: wishlist
>
> -- Please type your report below this line
> I send pgp encrypted mail to someone. Every time I try this, mutt shows
> me a
> dialog with only one entry, asking me to choose the key to use.
>
> I hoped to get rid of that dialog using the pgp-hook command in the
> config
> file. This didn't quite work, since I still have to press enter, this
> time
> to the question "use this key?"
>
> I checked the documentation and the source, and found that this question
> cannot
> be disabled. I wrote a patch to add it as a quadoption, with the default
> the
> same as it is now. I included it in the report (it is a patch against
> the
> source I got from apt-get source mutt in debian unstable.)
>
> I didn't quite understand what R_NONE does, so it may need to be a
> different
> value.
>
> I compiled the code with this patch (it gave quite a number of warnings
> by the
> way, not related to this patch, using gcc 3.3) and that resulted in a
> valid
> executable, and it seemed to behave reasonable at a little testing as
> well.
> However, with a nonexisting key in the hook, and the value set to "yes",
> it
> didn't ask me to enter a keyID at all, which surprised me. Perhaps some
> more
> testing is needed.
>
> The specifications below are not what I used to compile mutt, by the way,
> but
> they are what I use to run it normally (Debian stable)
>
> Thanks,
> Bas Wijnen
>
> diff -rup mutt-1.5.5.1/init.h mutt-shevek/init.h
> --- mutt-1.5.5.1/init.h 2003-11-05 10:41:32.000000000 +0100
> +++ mutt-shevek/init.h 2004-02-19 19:56:02.000000000 +0100
> @@ -117,6 +117,12 @@ struct option_t MuttVars[] = {
> ** check only happens after the \fIfirst\fP edit of the file). When
> set
> ** to \fIno\fP, composition will never be aborted.
> */
> + { "accept_pgphook", DT_QUAD, R_NONE, OPT_ACCEPTPGPHOOK, M_ASKYES },
> + /*
> + ** .pp
> + ** If set to \fIyes\fP, pgp-hook keys will be accepted without
> question.
> + ** Setting this to \fIno\fP effectively disables the pgp-hook command.
> + */
> { "alias_file", DT_PATH, R_NONE, UL &AliasFile, UL "~/.muttrc" },
> /*
> ** .pp
> diff -rup mutt-1.5.5.1/mutt.h mutt-shevek/mutt.h
> --- mutt-1.5.5.1/mutt.h 2003-11-05 10:41:32.000000000 +0100
> +++ mutt-shevek/mutt.h 2004-02-19 19:44:14.000000000 +0100
> @@ -289,6 +289,7 @@ enum
> #endif
> OPT_SUBJECT,
> OPT_VERIFYSIG, /* verify PGP signatures */
> + OPT_ACCEPTPGPHOOK, /* accept a key from a pgp-hook */
>
> /* THIS MUST BE THE LAST VALUE. */
> OPT_MAX
> diff -rup mutt-1.5.5.1/pgp.c mutt-shevek/pgp.c
> --- mutt-1.5.5.1/pgp.c 2003-11-05 10:41:33.000000000 +0100
> +++ mutt-shevek/pgp.c 2004-02-19 19:49:35.000000000 +0100
> @@ -1055,7 +1055,7 @@ char *pgp_findKeys (ADDRESS *to, ADDRESS
> {
> int r;
> snprintf (buf, sizeof (buf), _("Use keyID = \"%s\" for %s?"),
> keyID, p->mailbox);
> - if ((r = mutt_yesorno (buf, M_YES)) == M_YES)
> + if ((r = query_quadoption (OPT_ACCEPTPGPHOOK, buf)) == M_YES)
> {
> if (is_numerical_keyid (keyID))
> {
>
> -- Build environment information
>
> (Note: This is the build environment installed on the system
> muttbug is run on. Information may or may not match the environment
> used to build mutt.)
>
> - gcc version information
> cc
> Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.4/specs
> gcc version 2.95.4 20011002 (Debian prerelease)
>
> - CFLAGS
> -Wall -pedantic -g -O2
>
> -- Mutt Version Information
>
> Mutt 1.3.28i (2002-03-13)
> Copyright (C) 1996-2001 Michael R. Elkins and others.
> Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
> Mutt is free software, and you are welcome to redistribute it
> under certain conditions; type `mutt -vv' for details.
>
> System: Linux 2.4.20 (i586) [using ncurses 5.2]
> Compile options:
> -DOMAIN
> -DEBUG
> -HOMESPOOL +USE_SETGID +USE_DOTLOCK +DL_STANDALONE
> +USE_FCNTL -USE_FLOCK
> +USE_POP +USE_IMAP -USE_GSS -USE_SSL +USE_GNUTLS +USE_SASL
> +HAVE_REGCOMP -USE_GNU_REGEX
> +HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET
> +HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM
> +HAVE_PGP -BUFFY_SIZE -EXACT_ADDRESS -SUN_ATTACHMENT
> +ENABLE_NLS -LOCALES_HACK +COMPRESSED +HAVE_WC_FUNCS
> +HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR
> +HAVE_ICONV -ICONV_NONTRANS +HAVE_GETSID +HAVE_GETADDRINFO
> ISPELL="/usr/bin/ispell"
> SENDMAIL="/usr/sbin/sendmail"
> MAILPATH="/var/mail"
> PKGDATADIR="/usr/share/mutt"
> SYSCONFDIR="/etc"
> EXECSHELL="/bin/sh"
> MIXMASTER="mixmaster"
> To contact the developers, please mail to <[email protected]>.
> To report a bug, please use the flea(1) utility.
>
> patch-1.5.tlr.mx_open_append.2
> patch-1.3.28.cvs.indexsegfault
> patch-1.3.27.bse.xtitles.1
> patch-1.3.26.appoct.3
> patch-1.3.15.sw.pgp-outlook.1
> patch-1.3.27.admcd.gnutls.19
> Md.use_editor
> Md.paths_mutt.man
> Md.muttbug_no_list
> Md.use_etc_mailname
> Md.muttbug_warning
> Md.gpg_status_fd
> patch-1.3.24.rr.compressed.1
> patch-1.3.25.cd.edit_threads.9.1
> patch-1.3.23.1.ametzler.pgp_good_sign
>
> >How-To-Repeat:
>
> >Fix:
> }}}
New description:
{{{
Package: mutt
Version: 1.3.28-2.2
Severity: wishlist
-- Please type your report below this line
I send pgp encrypted mail to someone. Every time I try this, mutt shows
me a
dialog with only one entry, asking me to choose the key to use.
I hoped to get rid of that dialog using the pgp-hook command in the config
file. This didn't quite work, since I still have to press enter, this
time
to the question "use this key?"
I checked the documentation and the source, and found that this question
cannot
be disabled. I wrote a patch to add it as a quadoption, with the default
the
same as it is now. I included it in the report (it is a patch against the
source I got from apt-get source mutt in debian unstable.)
I didn't quite understand what R_NONE does, so it may need to be a
different
value.
I compiled the code with this patch (it gave quite a number of warnings by
the
way, not related to this patch, using gcc 3.3) and that resulted in a
valid
executable, and it seemed to behave reasonable at a little testing as
well.
However, with a nonexisting key in the hook, and the value set to "yes",
it
didn't ask me to enter a keyID at all, which surprised me. Perhaps some
more
testing is needed.
The specifications below are not what I used to compile mutt, by the way,
but
they are what I use to run it normally (Debian stable)
Thanks,
Bas Wijnen
diff -rup mutt-1.5.5.1/init.h mutt-shevek/init.h
--- mutt-1.5.5.1/init.h 2003-11-05 10:41:32.000000000 +0100
+++ mutt-shevek/init.h 2004-02-19 19:56:02.000000000 +0100
@@ -117,6 +117,12 @@ struct option_t MuttVars[] = {
** check only happens after the \fIfirst\fP edit of the file). When
set
** to \fIno\fP, composition will never be aborted.
*/
+ { "accept_pgphook", DT_QUAD, R_NONE, OPT_ACCEPTPGPHOOK, M_ASKYES },
+ /*
+ ** .pp
+ ** If set to \fIyes\fP, pgp-hook keys will be accepted without
question.
+ ** Setting this to \fIno\fP effectively disables the pgp-hook command.
+ */
{ "alias_file", DT_PATH, R_NONE, UL &AliasFile, UL "~/.muttrc" },
/*
** .pp
diff -rup mutt-1.5.5.1/mutt.h mutt-shevek/mutt.h
--- mutt-1.5.5.1/mutt.h 2003-11-05 10:41:32.000000000 +0100
+++ mutt-shevek/mutt.h 2004-02-19 19:44:14.000000000 +0100
@@ -289,6 +289,7 @@ enum
#endif
OPT_SUBJECT,
OPT_VERIFYSIG, /* verify PGP signatures */
+ OPT_ACCEPTPGPHOOK, /* accept a key from a pgp-hook */
/* THIS MUST BE THE LAST VALUE. */
OPT_MAX
diff -rup mutt-1.5.5.1/pgp.c mutt-shevek/pgp.c
--- mutt-1.5.5.1/pgp.c 2003-11-05 10:41:33.000000000 +0100
+++ mutt-shevek/pgp.c 2004-02-19 19:49:35.000000000 +0100
@@ -1055,7 +1055,7 @@ char *pgp_findKeys (ADDRESS *to, ADDRESS
{
int r;
snprintf (buf, sizeof (buf), _("Use keyID = \"%s\" for %s?"),
keyID, p->mailbox);
- if ((r = mutt_yesorno (buf, M_YES)) == M_YES)
+ if ((r = query_quadoption (OPT_ACCEPTPGPHOOK, buf)) == M_YES)
{
if (is_numerical_keyid (keyID))
{
-- Build environment information
(Note: This is the build environment installed on the system
muttbug is run on. Information may or may not match the environment
used to build mutt.)
- gcc version information
cc
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.4/specs
gcc version 2.95.4 20011002 (Debian prerelease)
- CFLAGS
-Wall -pedantic -g -O2
-- Mutt Version Information
Mutt 1.3.28i (2002-03-13)
Copyright (C) 1996-2001 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.
System: Linux 2.4.20 (i586) [using ncurses 5.2]
Compile options:
-DOMAIN
-DEBUG
-HOMESPOOL +USE_SETGID +USE_DOTLOCK +DL_STANDALONE
+USE_FCNTL -USE_FLOCK
+USE_POP +USE_IMAP -USE_GSS -USE_SSL +USE_GNUTLS +USE_SASL
+HAVE_REGCOMP -USE_GNU_REGEX
+HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET
+HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM
+HAVE_PGP -BUFFY_SIZE -EXACT_ADDRESS -SUN_ATTACHMENT
+ENABLE_NLS -LOCALES_HACK +COMPRESSED +HAVE_WC_FUNCS
+HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR
+HAVE_ICONV -ICONV_NONTRANS +HAVE_GETSID +HAVE_GETADDRINFO
ISPELL="/usr/bin/ispell"
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/mail"
PKGDATADIR="/usr/share/mutt"
SYSCONFDIR="/etc"
EXECSHELL="/bin/sh"
MIXMASTER="mixmaster"
To contact the developers, please mail to <[email protected]>.
To report a bug, please use the flea(1) utility.
patch-1.5.tlr.mx_open_append.2
patch-1.3.28.cvs.indexsegfault
patch-1.3.27.bse.xtitles.1
patch-1.3.26.appoct.3
patch-1.3.15.sw.pgp-outlook.1
patch-1.3.27.admcd.gnutls.19
Md.use_editor
Md.paths_mutt.man
Md.muttbug_no_list
Md.use_etc_mailname
Md.muttbug_warning
Md.gpg_status_fd
patch-1.3.24.rr.compressed.1
patch-1.3.25.cd.edit_threads.9.1
patch-1.3.23.1.ametzler.pgp_good_sign
>How-To-Repeat:
>Fix:
}}}
--
--
Ticket URL: <http://dev.mutt.org/trac/ticket/1812#comment:3>
Mutt <http://www.mutt.org/>
The Mutt mail user agent