]> granicus.if.org Git - mutt/commitdiff
Add $crypt_confirmhook option. (see #3727)
authorKevin McCarthy <kevin@8t8.us>
Sun, 19 Apr 2015 20:15:50 +0000 (13:15 -0700)
committerKevin McCarthy <kevin@8t8.us>
Sun, 19 Apr 2015 20:15:50 +0000 (13:15 -0700)
Allow the confirmation prompt for crypt-hooks to be disabled.  This is
useful for multiple crypt-hook users (e.g. encrypted mailing lists), or
just for people who are certain of their crypt-hooks and don't want to
be prompted every time.

Thanks to Dale Woolridge for the original patch.

crypt-gpgme.c
doc/manual.xml.head
init.h
mutt.h
pgp.c

index 7bb1997f4b341190f92387b5c9519b5d54fe4296..8a39fd9ccd902a6d3d786009a1da60434be3b829 100644 (file)
@@ -4386,14 +4386,14 @@ static char *find_keys (ADDRESS *adrlist, unsigned int app, int oppenc_mode)
         if (crypt_hook != NULL)
           {
             crypt_hook_val = crypt_hook->data;
-            r = M_NO;
-            if (! oppenc_mode)
+            r = M_YES;
+            if (! oppenc_mode && option(OPTCRYPTCONFIRMHOOK))
               {
                 snprintf (buf, sizeof (buf), _("Use keyID = \"%s\" for %s?"),
                           crypt_hook_val, p->mailbox);
                 r = mutt_yesorno (buf, M_YES);
               }
-            if (oppenc_mode || (r == M_YES))
+            if (r == M_YES)
               {
                 if (crypt_is_numerical_keyid (crypt_hook_val))
                   {
index cb1ed626daf741495829305de94583ffbe0e2916..f8d80324af34d735b700bcb42509340f4e66f9a9 100644 (file)
@@ -3636,9 +3636,10 @@ key to be used when encrypting messages to a certain recipient.
 You may use multiple crypt-hooks with the same regexp; multiple
 matching crypt-hooks result in the use of multiple keyids for
 a recipient.  During key selection, Mutt will confirm whether each
-crypt-hook is to be used.  If all crypt-hooks for a recipient are
-declined, Mutt will use the original recipient address for key selection
-instead.
+crypt-hook is to be used (unless the <link
+linkend="crypt-confirmhook">$crypt_confirmhook</link> option is unset).
+If all crypt-hooks for a recipient are declined, Mutt will use the
+original recipient address for key selection instead.
 </para>
 
 <para>
diff --git a/init.h b/init.h
index 9d938f75eeb77f1a5e1051a0e3137591e06c3eac..9a683b7110d9ffe94d636de90502fd611a5e49d5 100644 (file)
--- a/init.h
+++ b/init.h
@@ -491,6 +491,14 @@ struct option_t MuttVars[] = {
   ** $$crypt_replyencrypt,
   ** $$crypt_autosign, $$crypt_replysign and $$smime_is_default.
   */
+  { "crypt_confirmhook",       DT_BOOL, R_NONE, OPTCRYPTCONFIRMHOOK, 1 },
+  /*
+  ** .pp
+  ** If set, then you will be prompted for confirmation of keys when using
+  ** the \fIcrypt-hook\fP command.  If unset, no such confirmation prompt will
+  ** be presented.  This is generally considered unsafe, especially where
+  ** typos are concerned.
+  */
   { "crypt_opportunistic_encrypt", DT_BOOL, R_NONE, OPTCRYPTOPPORTUNISTICENCRYPT, 0 },
   /*
   ** .pp
diff --git a/mutt.h b/mutt.h
index 41a3637c624376c97d382fdccb57ae07de086140..fa8f3c82ce08a0e5feeca4ffd923bab849ab76c3 100644 (file)
--- a/mutt.h
+++ b/mutt.h
@@ -461,6 +461,7 @@ enum
   OPTCRYPTAUTOENCRYPT,
   OPTCRYPTAUTOPGP,
   OPTCRYPTAUTOSMIME,
+  OPTCRYPTCONFIRMHOOK,
   OPTCRYPTOPPORTUNISTICENCRYPT,
   OPTCRYPTREPLYENCRYPT,
   OPTCRYPTREPLYSIGN,
diff --git a/pgp.c b/pgp.c
index 11e42543135f4ef2a2f20445a44f4a845cf44707..1d718861ee6762762e9c41b81c2fceddfc00a1da 100644 (file)
--- a/pgp.c
+++ b/pgp.c
@@ -1220,13 +1220,13 @@ char *pgp_findKeys (ADDRESS *adrlist, int oppenc_mode)
       if (crypt_hook != NULL)
       {
         keyID = crypt_hook->data;
-        r = M_NO;
-        if (! oppenc_mode)
+        r = M_YES;
+        if (! oppenc_mode && option(OPTCRYPTCONFIRMHOOK))
         {
           snprintf (buf, sizeof (buf), _("Use keyID = \"%s\" for %s?"), keyID, p->mailbox);
           r = mutt_yesorno (buf, M_YES);
         }
-        if (oppenc_mode || (r == M_YES))
+        if (r == M_YES)
         {
           if (crypt_is_numerical_keyid (keyID))
           {