aboutsummaryrefslogtreecommitdiff
path: root/mail/mutt
diff options
context:
space:
mode:
authorAlex Kozlov <ak@FreeBSD.org>2017-05-13 14:31:30 +0000
committerAlex Kozlov <ak@FreeBSD.org>2017-05-13 14:31:30 +0000
commit0c8e9332a5fda5f88b69ea76c9c5530d0e373d18 (patch)
tree386b24015173fe058cd2bd4feb3fb02e5677d2c9 /mail/mutt
parent05239a6f38c49065f0e58d397a77f6593b55779c (diff)
downloadports-0c8e9332a5fda5f88b69ea76c9c5530d0e373d18.tar.gz
ports-0c8e9332a5fda5f88b69ea76c9c5530d0e373d18.zip
Notes
Diffstat (limited to 'mail/mutt')
-rw-r--r--mail/mutt/Makefile20
-rw-r--r--mail/mutt/distinfo20
-rw-r--r--mail/mutt/files/extra-patch-doc-ref2
-rw-r--r--mail/mutt/files/extra-patch-pgp-dw1039
-rw-r--r--mail/mutt/files/patch-dgc-deepif30
-rw-r--r--mail/mutt/files/patch-doc_Muttrc2
-rw-r--r--mail/mutt/files/patch-muttlib.c2
-rw-r--r--mail/mutt/files/patch-smime-self6
8 files changed, 52 insertions, 1069 deletions
diff --git a/mail/mutt/Makefile b/mail/mutt/Makefile
index d077b82275b6..7e768de53413 100644
--- a/mail/mutt/Makefile
+++ b/mail/mutt/Makefile
@@ -3,7 +3,7 @@
PORTNAME= mutt
PORTVERSION= 1.8.2
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES+= mail ipv6
MASTER_SITES= ftp://ftp.mutt.org/pub/mutt/ \
ftp://ftp.fu-berlin.de/pub/unix/mail/mutt/ \
@@ -17,13 +17,10 @@ EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
PATCH_SITES+= http://www.mutt.org.ua/download/mutt-${VVV_PATCH_VERSION}/:vvv \
http://www2.mutt.org.ua/download/mutt-${VVV_PATCH_VERSION}/:vvv \
- https://web-beta.archive.org/web/20161116074212/http://home.uchicago.edu/~dgc/sw/mutt/:dgc \
- http://home.uchicago.edu/~dgc/sw/mutt/:dgc \
https://www.schrab.com/aaron/mutt/:ats \
http://vc.org.ua/mutt/:vc
PATCH_DIST_STRIP= -p1
-PATCHFILES= patch-1.5.1.dgc.deepif.1:dgc \
- patch-1.7.0.ats.date_conditional.1:ats
+PATCHFILES= patch-1.7.0.ats.date_conditional.1:ats
MAINTAINER?= dereks@lifeofadishwasher.com
COMMENT?= Small but powerful text based program for read/writing e-mail
@@ -78,7 +75,7 @@ FORCEBASE64_DESC= Option to force base64 encoding for compose
GPGME_DESC= Gpgme interface
GREETING_PATCH_DESC= Greeting support
HTML_DESC= HTML documentation
-IDN_DESC+= International Domain Names (implies ICONV)
+IDN_DESC= International Domain Names (implies ICONV)
IFDEF_PATCH_DESC= ifdef feature
LOCALES_FIX_DESC= Locales fix
MAILBOX_MANPAGES_DESC= Install mbox.5/mmdf.5 manpages
@@ -145,7 +142,6 @@ NCURSES_USES= ncurses
NLS_USES= gettext
NLS_CONFIGURE_ENABLE= nls
-#NLS_CONFIGURE_OFF= --disable-nls
NLS_IMPLIES= ICONV
# Handle GSSAPI from various places
@@ -216,7 +212,7 @@ DOCS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-doc-ref
.include <bsd.port.options.mk>
# un/comment as each VERSION is created for PORTVERSION
-VVV_PATCH_VERSION= 1.8.0
+#VVV_PATCH_VERSION= 1.8.0
#GREETING_PATCH_VERSION= 1.8.1
.if !defined(VVV_PATCH_VERSION)
@@ -296,11 +292,9 @@ pre-configure::
${WRKSRC}/imap/auth_gss.c
.endif
-.if ${PORT_OPTIONS:MHCACHE_BDB}
-CONFIGURE_SED= -e 's/BDB_VERSIONS="/&${BDB_LIB_NAME} db${BDB_VER} /'
-pre-configure::
- @${REINPLACE_CMD} -E ${CONFIGURE_SED} ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}.ac
-.endif
+pre-configure-HCACHE_BDB-on:
+ @${REINPLACE_CMD} -E -e 's/BDB_VERSIONS="/&${BDB_LIB_NAME} db${BDB_VER} /' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}.ac
.if defined (XML_NEEDED) && ${PORT_OPTIONS:MXML}
BUILD_DEPENDS+= xsltproc:textproc/libxslt \
diff --git a/mail/mutt/distinfo b/mail/mutt/distinfo
index 05e8d030982e..d9ef2eed9693 100644
--- a/mail/mutt/distinfo
+++ b/mail/mutt/distinfo
@@ -1,17 +1,15 @@
-TIMESTAMP = 1492629436
+TIMESTAMP = 1494678618
SHA256 (mutt/mutt-1.8.2.tar.gz) = 1d057bf1b565f2c38ee50c9a661654cbbe4165f98e25bfa361ebbd707d96f235
SIZE (mutt/mutt-1.8.2.tar.gz) = 4118429
-SHA256 (mutt/patch-1.8.0.vvv.nntp.gz) = 1bd4b83708bb664749a34a188f01bc541cc7ab51628a163d87da119152ed00b9
-SIZE (mutt/patch-1.8.0.vvv.nntp.gz) = 60675
-SHA256 (mutt/patch-1.8.0.vvv.nntp_ru.gz) = ec9be57cdd516748f9ee7ee27b137d6ef7d3346258198940cb3d1eabb12d13ea
-SIZE (mutt/patch-1.8.0.vvv.nntp_ru.gz) = 3465
-SHA256 (mutt/patch-1.5.1.dgc.deepif.1) = d655a2f0003bdb2efb7ee5a8c77c113da661110e9c63289f03eb622773fc7a34
-SIZE (mutt/patch-1.5.1.dgc.deepif.1) = 767
+SHA256 (mutt/patch-1.8.2.vvv.nntp.gz) = 940cf7fd4fbea39f48bd5594180a7be5c3cc6714d62eeb3f2e5fbc0ab4b3545b
+SIZE (mutt/patch-1.8.2.vvv.nntp.gz) = 60675
+SHA256 (mutt/patch-1.8.2.vvv.nntp_ru.gz) = c85a288ed6864c311cbc70b31bab9f0d0d1051846becb5e8fe737609fd939a9c
+SIZE (mutt/patch-1.8.2.vvv.nntp_ru.gz) = 3465
SHA256 (mutt/patch-1.7.0.ats.date_conditional.1) = a7f65e0b6e59713582b3b0a1c3d3c0e54e5875f5dfe3bda285e51a5b6d96e14e
SIZE (mutt/patch-1.7.0.ats.date_conditional.1) = 2415
SHA256 (mutt/mutt-1.8.2.vc.greeting) = 73113eb0a3eb761755315ab03c0b6bcb316c09603461a1f8a3f54bd870a576cc
SIZE (mutt/mutt-1.8.2.vc.greeting) = 4499
-SHA256 (mutt/patch-1.8.0.vvv.initials.gz) = 98c667c86028691ee0e9a8022977a7ba16972854c1f2fd87f83899c30598fedd
-SIZE (mutt/patch-1.8.0.vvv.initials.gz) = 686
-SHA256 (mutt/patch-1.8.0.vvv.quote.gz) = 18d50110ab38a4338284691e081aa06b1b52301eca49633d2c7639b46acf7e2c
-SIZE (mutt/patch-1.8.0.vvv.quote.gz) = 1282
+SHA256 (mutt/patch-1.8.2.vvv.initials.gz) = e929c863dd012624b2ac724cd296f346374cd2522f256020fa458e94890ca750
+SIZE (mutt/patch-1.8.2.vvv.initials.gz) = 686
+SHA256 (mutt/patch-1.8.2.vvv.quote.gz) = 03b1aa4aa9152b968fc1709e68207073df62b9b1a5da43ff1d680d6dfe17fe35
+SIZE (mutt/patch-1.8.2.vvv.quote.gz) = 1282
diff --git a/mail/mutt/files/extra-patch-doc-ref b/mail/mutt/files/extra-patch-doc-ref
index 38002304433d..a8d2b4888dc1 100644
--- a/mail/mutt/files/extra-patch-doc-ref
+++ b/mail/mutt/files/extra-patch-doc-ref
@@ -1,6 +1,6 @@
--- doc/mutt.man.orig 2009-02-06 13:52:38.000000000 +0100
+++ doc/mutt.man 2009-02-06 13:55:05.000000000 +0100
-@@ -69,7 +69,8 @@
+@@ -67,7 +67,8 @@
.PP
Mutt is a small but very powerful text based program for reading and sending electronic
mail under unix operating systems, including support for color terminals, MIME,
diff --git a/mail/mutt/files/extra-patch-pgp-dw b/mail/mutt/files/extra-patch-pgp-dw
deleted file mode 100644
index 95c0789b7424..000000000000
--- a/mail/mutt/files/extra-patch-pgp-dw
+++ /dev/null
@@ -1,1039 +0,0 @@
---- PATCHES Dec 2002 17:44:54 -0000 3.6
-+++ PATCHES Feb 2004 06:07:13 -0000
-@@ -0,0 +1,4 @@
-+patch-1.5.6.dw.multiple-crypt-hook.2
-+patch-1.5.6.dw.confirm-crypt-hook.1
-+patch-1.5.6.dw.crypt-autoselectkey.1
-+patch-1.5.6.dw.pgp-menu-traditional.2
---- compose.c Oct 2003 20:34:59 -0000 3.14
-+++ compose.c Feb 2004 06:07:13 -0000
-@@ -133,2 +133,9 @@ static void redraw_crypt_lines (HEADER *
- addstr (_("Clear"));
-+
-+ if ((WithCrypto & APPLICATION_PGP))
-+ if ((msg->security & (ENCRYPT | SIGN)))
-+ if ((msg->security & INLINE))
-+ addstr (_(" (inline)"));
-+ else
-+ addstr (_(" (PGP/MIME)"));
- clrtoeol ();
-@@ -158,2 +165,3 @@ static int pgp_send_menu (HEADER *msg, i
- {
-+ int use_autoinline = 0;
- pgp_key_t p;
-@@ -164,7 +172,10 @@ static int pgp_send_menu (HEADER *msg, i
-
-- switch (mutt_multi_choice (_("PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "),
-- N_("esabf")))
-+ if (!(msg->security & (SIGN | ENCRYPT)))
-+ use_autoinline = 1;
-+
-+ switch (mutt_multi_choice (_("PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "),
-+ N_("esabif")))
- {
- case 1: /* (e)ncrypt */
-- msg->security |= ENCRYPT;
-+ msg->security ^= ENCRYPT;
- break;
-@@ -172,3 +183,3 @@ static int pgp_send_menu (HEADER *msg, i
- case 2: /* (s)ign */
-- msg->security |= SIGN;
-+ msg->security ^= SIGN;
- break;
-@@ -199,6 +210,16 @@ static int pgp_send_menu (HEADER *msg, i
- case 4: /* (b)oth */
-- msg->security = ENCRYPT | SIGN;
-+ if ((msg->security & (ENCRYPT | SIGN)) == (ENCRYPT | SIGN))
-+ msg->security = 0;
-+ else
-+ msg->security |= (ENCRYPT | SIGN);
- break;
-
-- case 5: /* (f)orget it */
-+ case 5: /* (i)nline */
-+ if ((msg->security & (ENCRYPT | SIGN)))
-+ msg->security ^= INLINE;
-+ else
-+ msg->security &= ~INLINE;
-+ break;
-+
-+ case 6: /* (f)orget it */
- msg->security = 0;
-@@ -207,6 +228,16 @@ static int pgp_send_menu (HEADER *msg, i
-
-- if (msg->security && msg->security != APPLICATION_PGP)
-- msg->security |= APPLICATION_PGP;
-- else
-- msg->security = 0;
-+ if (msg->security)
-+ {
-+ if (!(msg->security & (ENCRYPT | SIGN)))
-+ {
-+ msg->security = 0;
-+ }
-+ else
-+ {
-+ msg->security |= APPLICATION_PGP;
-+
-+ if (use_autoinline && option (OPTPGPAUTOINLINE))
-+ msg->security |= INLINE;
-+ }
-+ }
-
---- crypt.c Jan 2004 19:59:38 -0000 3.22
-+++ crypt.c Feb 2004 06:07:13 -0000
-@@ -161,3 +161,3 @@ int crypt_valid_passphrase(int flags)
-
--int mutt_protect (HEADER *msg, HEADER *cur, char *keylist)
-+int mutt_protect (HEADER *msg, char *keylist)
- {
-@@ -166,3 +166,2 @@ int mutt_protect (HEADER *msg, HEADER *c
- BODY *tmp_pgp_pbody = NULL;
-- int traditional = 0;
- int flags = (WithCrypto & APPLICATION_PGP)? msg->security: 0;
-@@ -176,29 +175,9 @@ int mutt_protect (HEADER *msg, HEADER *c
-
-- if ((WithCrypto & APPLICATION_PGP) && (msg->security & APPLICATION_PGP))
-+ if ((WithCrypto & APPLICATION_PGP) && ((msg->security & PGPINLINE) == PGPINLINE))
- {
-- if ((msg->content->type == TYPETEXT) &&
-- !ascii_strcasecmp (msg->content->subtype, "plain"))
-- {
-- if (cur && cur->security && option (OPTPGPAUTOTRAD)
-- && (option (OPTCRYPTREPLYENCRYPT)
-- || option (OPTCRYPTREPLYSIGN)
-- || option (OPTCRYPTREPLYSIGNENCRYPTED)))
-- {
-- if(mutt_is_application_pgp(cur->content))
-- traditional = 1;
-- }
-- else
-- {
-- if ((i = query_quadoption (OPT_PGPTRADITIONAL, _("Create a traditional (inline) PGP message?"))) == -1)
-- return -1;
-- else if (i == M_YES)
-- traditional = 1;
-- }
-- }
-- if (traditional)
-+ /* they really want to send it inline... go for it */
-+ if (!isendwin ()) mutt_endwin _("Invoking PGP...");
-+ pbody = crypt_pgp_traditional_encryptsign (msg->content, flags, keylist);
-+ if (pbody)
- {
-- if (!isendwin ()) mutt_endwin _("Invoking PGP...");
-- if (!(pbody = crypt_pgp_traditional_encryptsign (msg->content, flags, keylist)))
-- return -1;
--
- msg->content = pbody;
-@@ -206,2 +185,8 @@ int mutt_protect (HEADER *msg, HEADER *c
- }
-+
-+ /* otherwise inline won't work...ask for revert */
-+ if ((i = query_quadoption (OPT_PGPMIMEASK, _("Message can't be sent inline. Revert to using PGP/MIME?"))) != MUTT_YES)
-+ return -1;
-+
-+ /* go ahead with PGP/MIME */
- }
-@@ -393,2 +378,5 @@ int mutt_is_application_pgp (BODY *m)
- }
-+ if (t)
-+ t |= PGPINLINE;
-+
- return t;
---- hook.c Jan 2004 09:52:55 -0000 3.8
-+++ hook.c Feb 2004 06:07:13 -0000
-@@ -119,3 +119,7 @@ int mutt_parse_hook (BUFFER *buf, BUFFER
- {
-+#ifdef MUTT_CRYPTHOOK
-+ if (data & (MUTT_FOLDERHOOK | MUTT_SENDHOOK | MUTT_MESSAGEHOOK | MUTT_ACCOUNTHOOK | MUTT_REPLYHOOK | MUTT_CRYPTHOOK))
-+#else
- if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK | M_REPLYHOOK))
-+#endif
- {
-@@ -445,5 +449,21 @@ char *mutt_iconv_hook (const char *chs)
-
--char *mutt_crypt_hook (ADDRESS *adr)
-+LIST *mutt_crypt_hook (ADDRESS *adr)
- {
-- return _mutt_string_hook (adr->mailbox, M_CRYPTHOOK);
-+ HOOK *hook;
-+ LIST *key_list = NULL;
-+
-+ if (!adr && !adr->mailbox)
-+ return (NULL);
-+
-+ for (hook = Hooks; hook; hook = hook->next)
-+ {
-+ if (!hook->command)
-+ continue;
-+ if (!(hook->type & MUTT_CRYPTHOOK))
-+ continue;
-+
-+ if ((regexec (hook->rx.rx, adr->mailbox, 0, NULL, 0) == 0) ^ hook->rx.not)
-+ key_list = mutt_add_list (key_list, hook->command);
-+ }
-+ return (key_list);
- }
---- init.h Feb 2004 17:10:43 -0000 3.43
-+++ init.h Feb 2004 06:07:14 -0000
-@@ -1205,2 +1205,12 @@ struct option_t MuttVars[] = {
- */
-+
-+
-+ { "pgp_autoselectkey", DT_SYN, R_NONE, UL "crypt_autoselectkey", 0 },
-+ { "crypt_autoselectkey", DT_BOOL, R_NONE, OPTCRYPTAUTOSELECT, 0 },
-+ /*
-+ ** .pp
-+ ** If set, then a list of keys is not presented for selection when only
-+ ** one matching key is available. This may be useful in conjunction with
-+ ** the \fIcrypt-hook\fP command.
-+ */
- { "pgp_autosign", DT_SYN, R_NONE, UL "crypt_autosign", 0 },
-@@ -1230,2 +1240,11 @@ struct option_t MuttVars[] = {
- */
-+ { "pgp_confirmhook", DT_SYN, R_NONE, UL "crypt_confirmhook", 1 },
-+ { "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.
-+ */
- { "pgp_ignore_subkeys", DT_BOOL, R_NONE, OPTPGPIGNORESUB, 1},
-@@ -1374,2 +1393,44 @@ struct option_t MuttVars[] = {
- */
-+ { "pgp_create_traditional", DT_SYN, R_NONE, UL "pgp_autoinline", 0 },
-+ { "pgp_autoinline", DT_BOOL, R_NONE, OPTPGPAUTOINLINE, 0 },
-+ /*
-+ ** .pp
-+ ** This option controls whether Mutt generates old-style inline
-+ ** (traditional) PGP encrypted or signed messages under certain
-+ ** circumstances. This can be overridden by use of the \fIpgp-menu\fP,
-+ ** when inline is not required.
-+ ** .pp
-+ ** Note that Mutt might automatically use PGP/MIME for messages
-+ ** which consist of more than a single MIME part. Mutt can be
-+ ** configured to ask before sending PGP/MIME messages when inline
-+ ** (traditional) would not work.
-+ ** See also: ``$$pgp_mime_ask''.
-+ ** .pp
-+ ** Also note that using the old-style PGP message format is \fBstrongly\fP
-+ ** \fBdeprecated\fP.
-+ ** (PGP only)
-+ */
-+ { "pgp_auto_traditional", DT_SYN, R_NONE, UL "pgp_replyinline", 0 },
-+ { "pgp_replyinline", DT_BOOL, R_NONE, OPTPGPREPLYINLINE, 0 },
-+ /*
-+ ** .pp
-+ ** Setting this variable will cause Mutt to always attempt to
-+ ** create an inline (traditional) message when replying to a
-+ ** message which is PGP encrypted/signed inline. This can be
-+ ** overridden by use of the \fIpgp-menu\fP, when inline is not
-+ ** required. This option does not automatically detect if the
-+ ** (replied-to) message is inline; instead it relies on Mutt
-+ ** internals for previously checked/flagged messages.
-+ ** .pp
-+ ** Note that Mutt might automatically use PGP/MIME for messages
-+ ** which consist of more than a single MIME part. Mutt can be
-+ ** configured to ask before sending PGP/MIME messages when inline
-+ ** (traditional) would not work.
-+ ** See also: ``$$pgp_mime_ask''.
-+ ** .pp
-+ ** Also note that using the old-style PGP message format is \fBstrongly\fP
-+ ** \fBdeprecated\fP.
-+ ** (PGP only)
-+ **
-+ */
- { "pgp_show_unusable", DT_BOOL, R_NONE, OPTPGPSHOWUNUSABLE, 1 },
-@@ -1423,11 +1484,8 @@ struct option_t MuttVars[] = {
- */
-- { "pgp_create_traditional", DT_QUAD, R_NONE, OPT_PGPTRADITIONAL, M_NO },
-+ { "pgp_mime_ask", DT_QUAD, R_NONE, OPT_PGPMIMEASK, MUTT_NO },
- /*
- ** .pp
-- ** This option controls whether Mutt generates old-style inline PGP
-- ** encrypted or signed messages.
-- ** .pp
-- ** Note that PGP/MIME will be used automatically for messages which have
-- ** a character set different from us-ascii, or which consist of more than
-- ** a single MIME part.
-+ ** This option controls whether Mutt will prompt you for
-+ ** automatically sending a (signed/encrypted) message using
-+ ** PGP/MIME when inline (traditional) fails (for any reason).
- ** .pp
-@@ -1435,19 +1493,2 @@ struct option_t MuttVars[] = {
- ** \fBdeprecated\fP.
-- ** (PGP only)
-- */
-- { "pgp_auto_traditional", DT_BOOL, R_NONE, OPTPGPAUTOTRAD, 0 },
-- /*
-- ** .pp
-- ** This option causes Mutt to generate an old-style inline PGP
-- ** encrypted or signed message when replying to an old-style
-- ** message, and a PGP/MIME message when replying to a PGP/MIME
-- ** message. Note that this option is only meaningful when using
-- ** ``$$crypt_replyencrypt'', ``$$crypt_replysign'', or
-- ** ``$$crypt_replysignencrypted''.
-- ** .pp
-- ** Also note that PGP/MIME will be used automatically for messages
-- ** which have a character set different from us-ascii, or which
-- ** consist of more than a single MIME part.
-- ** .pp
-- ** This option overrides ``$$pgp_create_traditional''
- ** (PGP only)
---- mutt.h Feb 2004 17:10:43 -0000 3.23
-+++ mutt.h Feb 2004 06:07:14 -0000
-@@ -278,3 +278,2 @@ enum
- OPT_MOVE,
-- OPT_PGPTRADITIONAL, /* create old-style PGP messages */
- #ifdef USE_POP
-@@ -284,2 +283,3 @@ enum
- OPT_POSTPONE,
-+ OPT_PGPMIMEASK, /* ask to revert to PGP/MIME when inline fails */
- OPT_PRINT,
-@@ -431,2 +431,3 @@ enum
-
-+ OPTCRYPTAUTOSELECT,
- OPTCRYPTAUTOSIGN,
-@@ -442,2 +443,3 @@ enum
- OPTSDEFAULTDECRYPTKEY,
-+ OPTCRYPTCONFIRMHOOK,
- OPTPGPIGNORESUB,
-@@ -445,3 +447,2 @@ enum
- OPTPGPLONGIDS,
-- OPTPGPAUTOTRAD,
- #if 0
-@@ -453,2 +454,4 @@ enum
- OPTPGPSHOWUNUSABLE,
-+ OPTPGPAUTOINLINE,
-+ OPTPGPREPLYINLINE,
-
-@@ -642,4 +645,4 @@ typedef struct header
- {
-- unsigned int security : 9; /* bit 0-6: flags, bit 7,8: application.
-- see: crypt.h pgplib.h, smime.h */
-+ unsigned int security : 10; /* bit 0-7: flags, bit 8,9: application.
-+ see: mutt_crypt.h */
-
---- mutt_crypt.h Dec 2003 13:04:20 -0000 3.5
-+++ mutt_crypt.h Feb 2004 06:07:14 -0000
-@@ -38,6 +38,7 @@
- #define SIGNOPAQUE (1 << 5)
--/* (1 << 6) is used by PGPKEY below. */
-+#define KEYBLOCK (1 << 6) /* KEY too generic? */
-+#define INLINE (1 << 7)
-
--#define APPLICATION_PGP (1 << 7)
--#define APPLICATION_SMIME (1 << 8)
-+#define APPLICATION_PGP (1 << 8)
-+#define APPLICATION_SMIME (1 << 9)
-
-@@ -46,3 +47,4 @@
- #define PGPGOODSIGN (APPLICATION_PGP | GOODSIGN)
--#define PGPKEY (APPLICATION_PGP | (1 << 6))
-+#define PGPKEY (APPLICATION_PGP | KEYBLOCK)
-+#define PGPINLINE (APPLICATION_PGP | INLINE)
-
-@@ -105,3 +107,3 @@ typedef struct pgp_keyinfo *pgp_key_t;
-
--int mutt_protect (HEADER *, HEADER *, char *);
-+int mutt_protect (HEADER *, char *);
-
---- pgp.c Sep 2003 13:03:26 -0000 3.26
-+++ pgp.c Feb 2004 06:07:14 -0000
-@@ -1018,2 +1018,4 @@ char *pgp_findKeys (ADDRESS *to, ADDRESS
- size_t keylist_used = 0;
-+ LIST *hook_list = NULL;
-+ LIST *hook = NULL;
- ADDRESS *tmp = NULL, *addr = NULL;
-@@ -1051,66 +1053,93 @@ char *pgp_findKeys (ADDRESS *to, ADDRESS
- q = p;
-- k_info = NULL;
-
-- if ((keyID = mutt_crypt_hook (p)) != NULL)
-+ /*
-+ * grab the list of matching hooks (matching on recipient address)
-+ * process each entry singly so that auto key selection still works
-+ */
-+ hook_list = mutt_crypt_hook (p);
-+ hook = hook_list;
-+ while (1)
- {
- int r;
-- snprintf (buf, sizeof (buf), _("Use keyID = \"%s\" for %s?"), keyID, p->mailbox);
-- if ((r = mutt_yesorno (buf, M_YES)) == M_YES)
-+
-+ k_info = NULL;
-+ key = NULL;
-+
-+ if (hook)
- {
-- if (is_numerical_keyid (keyID))
-+ keyID = (char *)hook->data;
-+ snprintf (buf, sizeof (buf), _("Use keyID = \"%s\" for %s?"), keyID, p->mailbox);
-+ if (!option(OPTCRYPTCONFIRMHOOK) || (r = mutt_yesorno (buf, MUTT_YES)) == MUTT_YES)
- {
-- if (strncmp (keyID, "0x", 2) == 0)
-- keyID += 2;
-- goto bypass_selection; /* you don't see this. */
-+ if (is_numerical_keyid (keyID))
-+ {
-+ if (strncmp (keyID, "0x", 2) == 0)
-+ keyID += 2;
-+ goto bypass_selection; /* you don't see this. */
-+ }
-+
-+ /* check for e-mail address */
-+ if ((t = strchr (keyID, '@')) &&
-+ (addr = rfc822_parse_adrlist (NULL, keyID)))
-+ {
-+ if (fqdn) rfc822_qualify (addr, fqdn);
-+ q = addr;
-+ }
-+ else
-+ k_info = pgp_getkeybystr (keyID, KEYFLAG_CANENCRYPT, PGP_PUBRING);
- }
--
-- /* check for e-mail address */
-- if ((t = strchr (keyID, '@')) &&
-- (addr = rfc822_parse_adrlist (NULL, keyID)))
-+ else if (r == -1)
- {
-- if (fqdn) rfc822_qualify (addr, fqdn);
-- q = addr;
-+ /*
-+ * yes, this implies that if one key fails they all do
-+ */
-+ FREE (&keylist);
-+ rfc822_free_address (&tmp);
-+ rfc822_free_address (&addr);
-+ mutt_free_list (&hook_list);
-+ return NULL;
- }
-- else
-- k_info = pgp_getkeybystr (keyID, KEYFLAG_CANENCRYPT, PGP_PUBRING);
- }
-- else if (r == -1)
-- {
-- FREE (&keylist);
-- rfc822_free_address (&tmp);
-- rfc822_free_address (&addr);
-- return NULL;
-- }
-- }
-
-- if (k_info == NULL)
-- pgp_invoke_getkeys (q);
--
-- if (k_info == NULL && (k_info = pgp_getkeybyaddr (q, KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL)
-- {
-- snprintf (buf, sizeof (buf), _("Enter keyID for %s: "), q->mailbox);
-+ if (k_info == NULL)
-+ pgp_invoke_getkeys (q);
-
-- if ((key = pgp_ask_for_key (buf, q->mailbox,
-- KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL)
-+ if (k_info == NULL && (k_info = pgp_getkeybyaddr (q, KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL)
- {
-- FREE (&keylist);
-- rfc822_free_address (&tmp);
-- rfc822_free_address (&addr);
-- return NULL;
-+ snprintf (buf, sizeof (buf), _("Enter keyID for %s: "), q->mailbox);
-+
-+ if ((key = pgp_ask_for_key (buf, q->mailbox,
-+ KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL)
-+ {
-+ FREE (&keylist);
-+ rfc822_free_address (&tmp);
-+ rfc822_free_address (&addr);
-+ mutt_free_list (&hook_list);
-+ return NULL;
-+ }
- }
-- }
-- else
-- key = k_info;
-+ else
-+ key = k_info;
-
-- keyID = pgp_keyid (key);
-+ keyID = pgp_keyid (key);
-
- bypass_selection:
-- keylist_size += mutt_strlen (keyID) + 4;
-- safe_realloc (&keylist, keylist_size);
-- sprintf (keylist + keylist_used, "%s0x%s", keylist_used ? " " : "", /* __SPRINTF_CHECKED__ */
-- keyID);
-- keylist_used = mutt_strlen (keylist);
-+ keylist_size += mutt_strlen (keyID) + 4;
-+ safe_realloc (&keylist, keylist_size);
-+ sprintf (keylist + keylist_used, "%s0x%s", keylist_used ? " " : "", /* __SPRINTF_CHECKED__ */
-+ keyID);
-+ keylist_used = mutt_strlen (keylist);
-
-- pgp_free_key (&key);
-- rfc822_free_address (&addr);
-+ pgp_free_key (&key);
-+ rfc822_free_address (&addr);
-+
-+ if (!hook_list)
-+ break;
-+
-+ hook = hook->next;
-+ if (!hook)
-+ break;
-+
-+ }
-+ mutt_free_list (&hook_list);
-
---- pgpkey.c Oct 2003 19:55:39 -0000 3.8
-+++ pgpkey.c Feb 2004 06:07:14 -0000
-@@ -437,4 +437,9 @@ static int pgp_id_matches_addr (ADDRESS
-
-+
-+#define pgp_trusted_id(uid) (!option(OPTPGPCHECKTRUST) \
-+ || (pgp_id_is_valid((uid)) \
-+ && pgp_id_is_strong((uid))))
-+
- static pgp_key_t pgp_select_key (pgp_key_t keys,
-- ADDRESS * p, const char *s)
-+ ADDRESS * p, const char *s)
- {
-@@ -452,2 +457,3 @@ static pgp_key_t pgp_select_key (pgp_key
-
-+ int keymatch = 0; /* count matching keys */
- int unusable = 0;
-@@ -481,2 +487,3 @@ static pgp_key_t pgp_select_key (pgp_key
- }
-+ keymatch++;
- }
-@@ -489,2 +496,17 @@ static pgp_key_t pgp_select_key (pgp_key
- }
-+ else if (keymatch == 1 && option(OPTCRYPTAUTOSELECT))
-+ {
-+ /*
-+ * Only one matching key...see if there's an id with enough trust to auto-select
-+ */
-+ kp = KeyTable[0]->parent;
-+ for (a = kp->address; a; a = a->next)
-+ {
-+ if (pgp_trusted_id(a))
-+ {
-+ safe_free ((void **) &KeyTable);
-+ return (kp);
-+ }
-+ }
-+ }
-
-@@ -599,5 +621,3 @@ static pgp_key_t pgp_select_key (pgp_key
-
-- if (option (OPTPGPCHECKTRUST) &&
-- (!pgp_id_is_valid (KeyTable[menu->current])
-- || !pgp_id_is_strong (KeyTable[menu->current])))
-+ if (!pgp_trusted_id(KeyTable[menu->current]))
- {
---- postpone.c Sep 2003 17:22:09 -0000 3.9
-+++ postpone.c Feb 2004 06:07:14 -0000
-@@ -486,2 +486,7 @@ int mutt_parse_crypt_hdr (char *p, int s
-
-+ case 'i':
-+ case 'I':
-+ pgp |= INLINE;
-+ break;
-+
- default:
---- protos.h Feb 2004 17:10:43 -0000 3.19
-+++ protos.h Feb 2004 06:07:14 -0000
-@@ -131,3 +131,3 @@ const char *mutt_get_name (ADDRESS *);
- char *mutt_get_parameter (const char *, PARAMETER *);
--char *mutt_crypt_hook (ADDRESS *);
-+LIST *mutt_crypt_hook (ADDRESS *);
- char *mutt_make_date (char *, size_t);
---- send.c Jan 2004 10:03:46 -0000 3.29
-+++ send.c Feb 2004 06:07:14 -0000
-@@ -1258,2 +1258,9 @@ ci_send_message (int flags, /* send mod
- msg->security |= SIGN;
-+ if ((WithCrypto & APPLICATION_PGP) && (msg->security & (ENCRYPT | SIGN)))
-+ {
-+ if (option (OPTPGPAUTOINLINE))
-+ msg->security |= INLINE;
-+ if (option (OPTPGPREPLYINLINE) && cur && (cur->security & INLINE))
-+ msg->security |= INLINE;
-+ }
- }
-@@ -1496,3 +1503,3 @@ main_loop:
- if ((crypt_get_keys (msg, &pgpkeylist) == -1) ||
-- mutt_protect (msg, cur, pgpkeylist) == -1)
-+ mutt_protect (msg, pgpkeylist) == -1)
- {
-@@ -1576,3 +1583,3 @@ main_loop:
-
-- if (mutt_protect (msg, cur, pgpkeylist) == -1)
-+ if (mutt_protect (msg, pgpkeylist) == -1)
- {
---- sendlib.c Sep 2003 13:03:26 -0000 3.24
-+++ sendlib.c Feb 2004 06:07:14 -0000
-@@ -2407,2 +2407,4 @@ int mutt_write_fcc (const char *path, HE
- }
-+ if (hdr->security & INLINE)
-+ fputc ('I', msg->fp);
- fputc ('\n', msg->fp);
---- doc/manual.sgml.head Feb 2004 17:45:33 -0000 3.26
-+++ doc/manual.sgml.head Feb 2004 06:07:15 -0000
-@@ -1450,3 +1450,5 @@ normally use. The crypt-hook command pr
- specify the ID of the public key to be used when encrypting messages to
--a certain recipient.
-+a certain recipient. You may use multiple pgp-hook's with the same
-+pattern; multiple matching pgp-hook's result in the use of multiple
-+keyids for recipient.
-
---- doc/muttrc.man.head Feb 2004 17:10:43 -0000 3.10
-+++ doc/muttrc.man.head Feb 2004 06:07:15 -0000
-@@ -297,3 +297,6 @@ to a certain recipient. The meaning of
- broadly: This can be a different e-mail address, a numerical key ID,
--or even just an arbitrary search string.
-+or even just an arbitrary search string. You may use multiple
-+\fBpgp-hook\fPs with the same \fIpattern\fP; multiple matching
-+\fBpgp-hook\fPs result in the use of multiple \fIkey-id\fPs for
-+recipient.
- .TP
---- po/ca.po Feb 2004 18:26:11 -0000 3.13
-+++ po/ca.po Feb 2004 06:07:15 -0000
-@@ -603,10 +603,10 @@ msgstr "Xifra amb: "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbds, o en (c)lar? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP: (x)ifra, (s)igna, s(i)gna com a, (a)mbds, en (l)nia, o en (c)lar? "
-
- # ivb (2003/03/26)
--# ivb (x)ifra, (s)igna, si(g)na com a, (a)mbds, (c)lar
-+# ivb (x)ifra, (s)igna, s(i)gna com a, (a)mbds, en (l)nia, o en (c)lar
- #: compose.c:166
--msgid "esabf"
--msgstr "xsgac"
-+msgid "esabif"
-+msgstr "xsialc"
-
---- po/cs.po Feb 2004 18:26:11 -0000 3.12
-+++ po/cs.po Feb 2004 06:07:16 -0000
-@@ -683,4 +683,4 @@ msgstr "Zaifrovat pomoc:"
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP - ()ifrovat, (p)odepsat, podepsat (j)ako, (o)boj, i (n)ic?"
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP - ()ifrovat, (p)odepsat, podepsat (j)ako, (o)boj, p(m), i (n)ic?"
-
-@@ -688,4 +688,4 @@ msgstr "PGP - ()ifrovat, (p)odepsat, po
- #: compose.c:166
--msgid "esabf"
--msgstr "pjon"
-+msgid "esabif"
-+msgstr "pjomn"
-
---- po/da.po Feb 2004 18:26:11 -0000 3.11
-+++ po/da.po Feb 2004 06:07:16 -0000
-@@ -578,8 +578,8 @@ msgstr "Kryptr"
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "(k)ryptr, (u)nderskriv, underskriv (s)om, (b)egge, (i)ngen PGP"
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "(k)ryptr, (u)nderskriv, underskriv (s)om, (b)egge, i(n)tegreret, (i)ngen PGP"
-
- #: compose.c:166
--msgid "esabf"
--msgstr "kusbi"
-+msgid "esabif"
-+msgstr "kusbni"
-
---- po/de.po Feb 2004 18:26:11 -0000 3.15
-+++ po/de.po Feb 2004 06:07:16 -0000
-@@ -569,8 +569,8 @@ msgstr "Verschlsseln mit: "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, (k)ein PGP? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, (i)nline, (k)ein PGP? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "vsabk"
-+msgid "esabif"
-+msgstr "vsabik"
-
---- po/el.po Feb 2004 18:26:11 -0000 3.12
-+++ po/el.po Feb 2004 06:07:17 -0000
-@@ -700,4 +700,4 @@ msgstr " : "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (f)orget it? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i), (f)orget it? "
-
-@@ -706,4 +706,4 @@ msgstr "PGP (e)ncrypt, (s)ign, sign (a)s
- #: compose.c:166
--msgid "esabf"
--msgstr "esabf"
-+msgid "esabif"
-+msgstr "esabif"
-
---- po/eo.po Feb 2004 18:26:11 -0000 3.13
-+++ po/eo.po Feb 2004 06:07:17 -0000
-@@ -571,8 +571,8 @@ msgstr "ifri per: "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP (i)fri, (s)ubskribi, subskribi (k)iel, (a)mba, a (f)orgesi? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP (i)fri, (s)ubskribi, subskribi (k)iel, (a)mba, \"i(n)line\", a (f)orgesi? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "iskaf"
-+msgid "esabif"
-+msgstr "iskanf"
-
---- po/es.po Feb 2004 18:26:11 -0000 3.14
-+++ po/es.po Feb 2004 06:07:17 -0000
-@@ -576,4 +576,4 @@ msgstr "Cifrar"
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "co(d)ificar, f(i)rmar (c)omo, amb(o)s o ca(n)celar? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "co(d)ificar, f(i)rmar (c)omo, amb(o)s, inc(l)uido, o ca(n)celar? "
-
-@@ -581,4 +581,4 @@ msgstr "co(d)ificar, f(i)rmar (c)omo, a
- #, fuzzy
--msgid "esabf"
--msgstr "dicon"
-+msgid "esabif"
-+msgstr "dicoln"
-
---- po/et.po Feb 2004 18:26:11 -0000 3.13
-+++ po/et.po Feb 2004 06:07:18 -0000
-@@ -571,8 +571,8 @@ msgstr "Krpti kasutades: "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP (k)rpti, (a)llkiri, allk. ku(i), (m)lemad vi (u)nusta? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP (k)rpti, (a)llkiri, allk. ku(i), (m)lemad, k(e)hasse, vi (u)nusta? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "kaimu"
-+msgid "esabif"
-+msgstr "kaimeu"
-
---- po/fr.po Feb 2004 18:26:11 -0000 3.23
-+++ po/fr.po Feb 2004 06:07:18 -0000
-@@ -596,8 +596,8 @@ msgstr "Chiffrer avec : "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "(c)hiffrer PGP, (s)igner, (e)n tant que, les (d)eux, ou (o)ublier ? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "(c)hiffrer PGP, (s)igner, (e)n tant que, les (d)eux, en (l)igne, ou (o)ublier ? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "csedo"
-+msgid "esabif"
-+msgstr "csedlo"
-
---- po/gl.po Feb 2004 18:26:11 -0000 3.11
-+++ po/gl.po Feb 2004 06:07:18 -0000
-@@ -580,8 +580,8 @@ msgstr "Encriptar"
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas ou (o)lvidar? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "efcao"
-+msgid "esabif"
-+msgstr "efcaio"
-
---- po/hu.po Feb 2004 18:26:11 -0000 3.12
-+++ po/hu.po Feb 2004 06:07:19 -0000
-@@ -571,8 +571,8 @@ msgstr "Titkosts: "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP (t)itkost, (a)lr, alr (m)int, titkost (s) alr, m(g)se? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP (t)itkost, (a)lr, alr (m)int, titkost (s) alr, (b)egyazott, m(g)se? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "tamsg"
-+msgid "esabif"
-+msgstr "tamsbg"
-
---- po/id.po Feb 2004 18:26:12 -0000 3.14
-+++ po/id.po Feb 2004 06:07:19 -0000
-@@ -572,8 +572,8 @@ msgstr "Enkrip dengan: "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, (b)atal? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, (i)nline, (b)atal? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "etsdb"
-+msgid "esabif"
-+msgstr "etsdib"
-
---- po/it.po Feb 2004 18:26:12 -0000 3.11
-+++ po/it.po Feb 2004 06:07:19 -0000
-@@ -582,8 +582,8 @@ msgstr "Crittografa"
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "cifra(e), firma(s), firma come(a), entrambi(b), annulla(f) "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "cifra(e), firma(s), firma come(a), entrambi(b), in l(i)nea , annulla(f) "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "esabf"
-+msgid "esabif"
-+msgstr "esabif"
-
---- po/ja.po Feb 2004 18:26:12 -0000 3.21
-+++ po/ja.po Feb 2004 06:07:20 -0000
-@@ -569,8 +569,8 @@ msgstr " Ź沽: "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP (e)Ź沽,(s)̾,(a)..Ȥƽ̾,(b)ξ,(f)?"
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP (e)Ź沽,(s)̾,(a)..Ȥƽ̾,(b)ξ,(i)nline,(f)?"
-
- #: compose.c:166
--msgid "esabf"
--msgstr "esabf"
-+msgid "esabif"
-+msgstr "esabif"
-
---- po/ko.po Feb 2004 18:26:12 -0000 3.15
-+++ po/ko.po Feb 2004 06:07:20 -0000
-@@ -570,8 +570,8 @@ msgstr "ȣȭ : "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP ȣȭ(e), (s), (a), (b), (f)? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP ȣȭ(e), (s), (a), (b), (i)nline, (f)? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "esabf"
-+msgid "esabif"
-+msgstr "esabif"
-
---- po/lt.po Feb 2004 18:26:12 -0000 3.11
-+++ po/lt.po Feb 2004 06:07:20 -0000
-@@ -578,5 +578,5 @@ msgstr "Uifruoti"
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
- msgstr ""
--"(u)ifruot, pa(s)irayt, pasirayt k(a)ip, a(b)u, rinktis (m)ic algoritm, "
-+"(u)ifruot, pa(s)irayt, pasirayt k(a)ip, a(b)u, (l)aike, "
- "ar (p)amirti?"
-@@ -585,4 +585,4 @@ msgstr ""
- #, fuzzy
--msgid "esabf"
--msgstr "usabmp"
-+msgid "esabif"
-+msgstr "usablp"
-
-@@ -598,4 +598,3 @@ msgid ""
- msgstr ""
--"(u)ifruot, pa(s)irayt, pasirayt k(a)ip, a(b)u, rinktis (m)ic algoritm, "
--"ar (p)amirti?"
-+"(u)ifruot, pa(s)irayt, uifruo(t) su, pasirayt k(a)ip, a(b)u, ar (p)amirti?"
-
-@@ -604,3 +603,3 @@ msgstr ""
- msgid "eswabf"
--msgstr "usabmp"
-+msgstr "ustabp"
-
---- po/nl.po Feb 2004 18:26:12 -0000 3.16
-+++ po/nl.po Feb 2004 06:07:21 -0000
-@@ -568,8 +568,8 @@ msgstr "Versleutelen met: "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP (v)ersleutel, (o)ndertekenen, ondert. (a)ls, (b)eiden, (g)een? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP (v)ersleutel, (o)ndertekenen, ondert. (a)ls, (b)eiden, ber(i)cht, (g)een? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "voabg"
-+msgid "esabif"
-+msgstr "voabig"
-
---- po/pl.po Feb 2004 18:26:12 -0000 3.17
-+++ po/pl.po Feb 2004 06:07:21 -0000
-@@ -571,8 +571,8 @@ msgstr "Zaszyfruj uywajc: "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP: (z)aszyfruj, podpi(s)z, podpisz j(a)ko, o(b)a, b(e)z PGP? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP: (z)aszyfruj, podpi(s)z, podpisz j(a)ko, o(b)a, (i)nline, b(e)z PGP? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "zsabe"
-+msgid "esabif"
-+msgstr "zsabie"
-
---- po/pt_BR.po Feb 2004 18:26:13 -0000 3.12
-+++ po/pt_BR.po Feb 2004 06:07:21 -0000
-@@ -581,5 +581,5 @@ msgstr "Encriptar"
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
- msgstr ""
--"(e)ncripa, a(s)sina, assina (c)omo, (a)mbos, escolhe (m)ic, ou es(q)uece? "
-+"(e)ncripa, a(s)sina, assina (c)omo, (a)mbos, em l(i)nha, ou es(q)uece? "
-
-@@ -587,4 +587,4 @@ msgstr ""
- #, fuzzy
--msgid "esabf"
--msgstr "escamq"
-+msgid "esabif"
-+msgstr "escaiq"
-
-@@ -600,3 +600,3 @@ msgid ""
- msgstr ""
--"(e)ncripa, a(s)sina, assina (c)omo, (a)mbos, escolhe (m)ic, ou es(q)uece? "
-+"(e)ncripa, a(s)sina, e(n)cripa com, assina (c)omo, (a)mbos, ou es(q)uece? "
-
-@@ -605,3 +605,3 @@ msgstr ""
- msgid "eswabf"
--msgstr "escamq"
-+msgstr "esncaq"
-
---- po/ru.po Feb 2004 18:26:13 -0000 3.19
-+++ po/ru.po Feb 2004 06:07:22 -0000
-@@ -577,8 +577,8 @@ msgstr ": "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP (e), (s), (a) , (b), (f)? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP (e), (s), (a) , (b), (i)nline, (f)? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr "esabf"
-+msgid "esabif"
-+msgstr "esabif"
-
---- po/sk.po Feb 2004 18:26:13 -0000 3.11
-+++ po/sk.po Feb 2004 06:07:22 -0000
-@@ -586,5 +586,5 @@ msgstr "Zaifruj"
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
- msgstr ""
--"(e)-ifr, (s)-podp, podp (a)ko, o(b)e, ozna alg. mi(c), alebo (f)-zabudn "
-+"(e)-ifr, (s)-podp, podp (a)ko, o(b)e, (i)nline, alebo (f)-zabudn "
- "na to? "
-@@ -593,4 +593,4 @@ msgstr ""
- #, fuzzy
--msgid "esabf"
--msgstr "esabmf"
-+msgid "esabif"
-+msgstr "esabif"
-
-@@ -606,4 +606,3 @@ msgid ""
- msgstr ""
--"(e)-ifr, (s)-podp, podp (a)ko, o(b)e, ozna alg. mi(c), alebo (f)-zabudn "
--"na to? "
-+"(e)-ifr, (s)-podp, (w)-ifr s, podp (a)ko, o(b)e, alebo (f)-zabudn na to? "
-
-@@ -612,3 +611,3 @@ msgstr ""
- msgid "eswabf"
--msgstr "esabmf"
-+msgstr "eswabf"
-
---- po/sv.po Feb 2004 18:26:13 -0000 3.12
-+++ po/sv.po Feb 2004 06:07:22 -0000
-@@ -568,8 +568,8 @@ msgstr "Kryptera med: "
- #: compose.c:165
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr "PGP: (k)ryptera, (s)ignera, signera s(o)m, (b)da, eller sk(i)ppa det?"
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr "PGP: (k)ryptera, (s)ignera, signera s(o)m, (b)da, i(n)fogat, eller sk(i)ppa det?"
-
- #: compose.c:166
--msgid "esabf"
--msgstr "ksobi"
-+msgid "esabif"
-+msgstr "ksobni"
-
---- po/tr.po Feb 2004 18:26:13 -0000 3.11
-+++ po/tr.po Feb 2004 06:07:22 -0000
-@@ -577,5 +577,5 @@ msgstr "ifrele"
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
- msgstr ""
--"(i)frele, i(m)zala, (f)arkl imzala, i(k)isi de, mi(c) algoritmini se "
-+"(i)frele, i(m)zala, (f)arkl imzala, i(k)isi de, (i)nline, "
- "yoksa i(p)talm? "
-@@ -583,4 +583,4 @@ msgstr ""
- #: compose.c:166
--msgid "esabf"
--msgstr "imfkcp"
-+msgid "esabif"
-+msgstr "imfkip"
-
---- po/uk.po Feb 2004 18:26:13 -0000 3.12
-+++ po/uk.po Feb 2004 06:07:23 -0000
-@@ -572,8 +572,8 @@ msgstr ""
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
--msgstr ".(e), Ц.(s), Ц. (a), (b) צͦ(f)? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
-+msgstr ".(e), Ц.(s), Ц. (a), (b), (i)nline צͦ(f)? "
-
- #: compose.c:166
--msgid "esabf"
--msgstr ""
-+msgid "esabif"
-+msgstr "esabif"
-
---- po/zh_CN.po Feb 2004 18:26:13 -0000 3.11
-+++ po/zh_CN.po Feb 2004 06:07:23 -0000
-@@ -585,5 +585,5 @@ msgstr ""
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
- msgstr ""
--"(e), (s)ǩ, (a)ñǩ, (b)߽Ҫ, ѡ (m)ic 㷨 (f)"
-+"(e), (s)ǩ, (a)ñǩ, (b)߽Ҫ, (i)nline, (f)"
- ""
-@@ -591,4 +591,4 @@ msgstr ""
- #: compose.c:166
--msgid "esabf"
--msgstr ""
-+msgid "esabif"
-+msgstr "esabif"
-
---- po/zh_TW.po Feb 2004 18:26:13 -0000 3.11
-+++ po/zh_TW.po Feb 2004 06:07:24 -0000
-@@ -577,3 +577,3 @@ msgstr "加密"
- #, fuzzy
--msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "
-+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "
- msgstr "(1)加密, (2)簽名, (3)用別的身份簽, (4)兩者皆要, 或 (5)放棄?"
-@@ -581,4 +581,4 @@ msgstr "(1)加密, (2)簽名, (3)用別
- #: compose.c:166
--msgid "esabf"
--msgstr "12345"
-+msgid "esabif"
-+msgstr "1234i5"
-
diff --git a/mail/mutt/files/patch-dgc-deepif b/mail/mutt/files/patch-dgc-deepif
new file mode 100644
index 000000000000..5977ccc3d2da
--- /dev/null
+++ b/mail/mutt/files/patch-dgc-deepif
@@ -0,0 +1,30 @@
+--- muttlib.c.orig 2017-04-19 01:05:29 UTC
++++ muttlib.c
+@@ -1369,6 +1369,12 @@
+ count = 0;
+ while (count < sizeof (ifstring) && *src && *src != '?' && *src != '&')
+ {
++ if (*src == '\\')
++ {
++ src++;
++ if (!*src)
++ break;
++ }
+ *cp++ = *src++;
+ count++;
+ }
+@@ -1381,7 +1387,13 @@
+ count = 0;
+ while (count < sizeof (elsestring) && *src && *src != '?')
+ {
+- *cp++ = *src++;
++ if (*src == '\\')
++ {
++ src++;
++ if (!*src)
++ break;
++ }
++ *cp++ = *src++;
+ count++;
+ }
+ *cp = 0;
diff --git a/mail/mutt/files/patch-doc_Muttrc b/mail/mutt/files/patch-doc_Muttrc
index 2bb4083167bf..a9794a8511b7 100644
--- a/mail/mutt/files/patch-doc_Muttrc
+++ b/mail/mutt/files/patch-doc_Muttrc
@@ -1,6 +1,6 @@
--- doc/Muttrc.orig 2016-10-08 19:48:13 UTC
+++ doc/Muttrc
-@@ -626,6 +626,7 @@ attachments -I message/external-body
+@@ -649,6 +649,7 @@ attachments -I message/external-body
# will be saved for later references. Also see $record,
# $save_name, $force_name and ``fcc-hook''.
#
diff --git a/mail/mutt/files/patch-muttlib.c b/mail/mutt/files/patch-muttlib.c
index 3ff48049efb4..0c781433eece 100644
--- a/mail/mutt/files/patch-muttlib.c
+++ b/mail/mutt/files/patch-muttlib.c
@@ -1,6 +1,6 @@
--- muttlib.c.orig 2016-10-08 19:35:50 UTC
+++ muttlib.c
-@@ -779,16 +779,15 @@ void mutt_merge_envelopes(ENVELOPE* base
+@@ -802,16 +802,15 @@ void mutt_merge_envelopes(ENVELOPE* base
void _mutt_mktemp (char *s, size_t slen, const char *prefix, const char *suffix,
const char *src, int line)
{
diff --git a/mail/mutt/files/patch-smime-self b/mail/mutt/files/patch-smime-self
index c6fc5121d30b..ab6fb6618d3e 100644
--- a/mail/mutt/files/patch-smime-self
+++ b/mail/mutt/files/patch-smime-self
@@ -16,7 +16,7 @@
# unset smime_decrypt_use_default_key
--- crypt.c.orig 2016-10-08 19:35:50 UTC
+++ crypt.c
-@@ -231,8 +231,18 @@ int mutt_protect (HEADER *msg, char *key
+@@ -229,8 +229,18 @@ int mutt_protect (HEADER *msg, char *key
if ((WithCrypto & APPLICATION_SMIME)
&& (msg->security & APPLICATION_SMIME))
{
@@ -39,7 +39,7 @@
return (-1);
--- init.h.orig 2016-10-08 19:35:50 UTC
+++ init.h
-@@ -2971,6 +2971,11 @@ struct option_t MuttVars[] = {
+@@ -2997,6 +2997,11 @@ struct option_t MuttVars[] = {
** possible \fCprintf(3)\fP-like sequences.
** (S/MIME only)
*/
@@ -53,7 +53,7 @@
** .pp
--- mutt.h.orig 2016-10-08 19:30:21 UTC
+++ mutt.h
-@@ -263,6 +263,7 @@ enum
+@@ -274,6 +274,7 @@ enum
OPT_FORWEDIT,
OPT_FCCATTACH,
OPT_INCLUDE,