FreeBSD Bugzilla – Attachment 24800 Details for
Bug 42328
maintainer update of mail/mutt-devel
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 14.93 KB, created by
Udo.Schweigert
on 2002-09-02 17:20:01 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Udo.Schweigert
Created:
2002-09-02 17:20:01 UTC
Size:
14.93 KB
patch
obsolete
>diff -ru /usr/ports/mail/mutt-devel/Makefile ./Makefile >--- /usr/ports/mail/mutt-devel/Makefile Fri Aug 30 14:32:58 2002 >+++ ./Makefile Mon Sep 2 17:58:32 2002 >@@ -56,12 +56,19 @@ > # If you want to use the signature menu define: > # WITH_MUTT_SIGNATURE_MENU > # >+# If you want to use enhanced pgp features define: >+# WITH_MUTT_PGP_PATCH >+# >+# If you want to use the printf-like enhancement to the mbox-hook command >+# define: >+# WITH_MUTT_MBOX_HOOK_PATCH >+# > # If you want to use the ifdef feature define: > # WITH_MUTT_IFDEF_PATCH > > PORTNAME= mutt-devel > PORTVERSION= 1.5.1 >-PORTREVISION?= 2 >+PORTREVISION?= 3 > CATEGORIES+= mail > .if defined(WITH_MUTT_NNTP) > CATEGORIES+= news >@@ -104,6 +111,9 @@ > defined(WITH_MUTT_IFDEF_PATCH) > PATCH_SITES+= http://cedricduval.free.fr/download/mutt/ > .endif >+.if defined(WITH_MUTT_MBOX_HOOK_PATCH) >+PATCH_SITES+= http://home.woolridge.ca/mutt/patches/ >+.endif > > # XXX > # this should be done automagically by aclocal but .... >@@ -167,6 +177,11 @@ > .if defined(WITH_MUTT_CYRUS_SASL) > LIB_DEPENDS+= sasl.8:${PORTSDIR}/security/cyrus-sasl > .endif >+.if defined(WITH_MUTT_PGP_PATCH) >+SGML_NEEDED= yes >+pre-configure:: >+ ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-pgp-dw >+.endif > .if defined(WITHOUT_MUTT_SMIME_OUTLOOK_COMPAT) > pre-configure:: > ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-smime-no-outlook >@@ -192,27 +207,33 @@ > .if defined(WITH_MUTT_COMPRESSED_FOLDERS) > PATCHFILES+= patch-${PATCH_VERSION}.rr.compressed.gz > CONFIGURE_ARGS+= --enable-compressed >-.if !defined(WITHOUT_MUTT_SGMLFORMAT) >-SGML_USED= yes >-.endif >+SGML_NEEDED= yes > .endif > .if defined(WITH_MUTT_NNTP) > PATCHFILES+= patch-${PATCH_VERSION}.vvv.nntp.gz > CONFIGURE_ARGS+= --enable-nntp >+SGML_NEEDED= yes > .endif > .if defined(WITH_MUTT_QUOTE_PATCH) > PATCHFILES+= patch-${PATCH_VERSION}.vvv.initials.gz \ > patch-${PATCH_VERSION}.vvv.quote.gz >+SGML_NEEDED= yes > .endif > .if defined(WITH_MUTT_EDIT_THREADS) > PATCHFILES+= patch-${PATCH_VERSION}.cd.edit_threads.9.2 > CONFIGURE_ARGS+= --enable-imap-edit-threads >+SGML_NEEDED= yes > .endif > .if defined(WITH_MUTT_SIGNATURE_MENU) > PATCHFILES+= patch-${PATCH_VERSION}.cd.signatures_menu.2.1 >+SGML_NEEDED= yes > .endif > .if defined(WITH_MUTT_IFDEF_PATCH) > PATCHFILES+= patch-${PATCH_VERSION}.cd.ifdef.1 >+SGML_NEEDED= yes >+.endif >+.if defined(WITH_MUTT_MBOX_HOOK_PATCH) >+PATCHFILES+= patch-1.5.1.dw.mbox-hook.1 > .endif > > WRKSRC= ${WRKDIR}/${DISTNAME:S/i$//} >@@ -245,6 +266,9 @@ > .if defined(WITH_MUTT_IFDEF_PATCH) > SCRIPTS_ENV+= MUTT_IFDEF_PATCH="yes" > .endif >+.if defined(WITH_MUTT_PGP_PATCH) >+SCRIPTS_ENV+= MUTT_PGP_PATCH="yes" >+.endif > .if defined(WITH_MUTT_HTML) > SCRIPTS_ENV+= MUTT_HTML="yes" > .endif >@@ -255,10 +279,10 @@ > ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-doc-ref > printf ",s|\$${PREFIX}|%s|g\nw\nq\n" ${PREFIX} | \ > ed -s ${WRKSRC}/doc/mutt.man >-.if defined(WITH_MUTT_NNTP) && !defined(WITHOUT_MUTT_SGMLFORMAT) >+.if defined(WITH_MUTT_HTML) > SGML_USED= yes > .endif >-.if defined(WITH_MUTT_HTML) >+.if defined(SGML_NEEDED) && !defined(WITHOUT_MUTT_SGMLFORMAT) > SGML_USED= yes > .endif > .else # ! NOPORTDOCS >diff -ru /usr/ports/mail/mutt-devel/distinfo ./distinfo >--- /usr/ports/mail/mutt-devel/distinfo Wed Aug 14 00:05:04 2002 >+++ ./distinfo Mon Sep 2 18:02:11 2002 >@@ -6,3 +6,4 @@ > MD5 (mutt/patch-1.5.1.cd.edit_threads.9.2) = cbbae803c62b3304cac76a6185745f8f > MD5 (mutt/patch-1.5.1.cd.signatures_menu.2.1) = 599637b340de9d57ce75545384ad51f3 > MD5 (mutt/patch-1.5.1.cd.ifdef.1) = 3ee107f5ce66f7fb6a5bab698c5b7f90 >+MD5 (mutt/patch-1.5.1.dw.mbox-hook.1) = 2a04bc3bae302ed106c1f320398b902f >diff -ru /usr/ports/mail/mutt-devel/files/extra-patch-pgp-dw ./files/extra-patch-pgp-dw >--- /usr/ports/mail/mutt-devel/files/extra-patch-pgp-dw Thu Jan 1 01:00:00 1970 >+++ ./files/extra-patch-pgp-dw Mon Sep 2 17:46:52 2002 >@@ -0,0 +1,342 @@ >+Base: http://home.woolridge.ca/mutt/patches/patch-1.5.1.dw.pgp-hook.3 >+--- PATCHES 24 Jan 2002 12:10:47 -0000 3.0 >++++ PATCHES 31 Aug 2002 22:01:56 -0000 >+@@ -0,0 +1 @@ >++patch-1.5.1.dw.pgp-hook.3 >+--- hook.c 5 Feb 2002 21:30:31 -0000 3.3 >++++ hook.c 31 Aug 2002 22:01:56 -0000 >+@@ -118,7 +118,11 @@ int mutt_parse_hook (BUFFER *buf, BUFFER >+ ptr->rx.not == not && >+ !mutt_strcmp (pattern.data, ptr->rx.pattern)) >+ { >++#ifdef M_CRYPTHOOK >++ if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK | M_CRYPTHOOK)) >++#else >+ if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK)) >++#endif /* M_CRYPTHOOK */ >+ { >+ /* these hooks allow multiple commands with the same >+ * pattern, so if we've already seen this pattern/command pair, just >+@@ -445,9 +449,25 @@ char *mutt_iconv_hook (const char *chs) >+ } >+ >+ #if defined(HAVE_PGP) || defined(HAVE_SMIME) >+-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 & M_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); >+ } >+ #endif /* HAVE_PGP */ >+ >+--- init.h 25 Apr 2002 13:26:26 -0000 3.15 >++++ init.h 31 Aug 2002 22:01:57 -0000 >+@@ -1180,6 +1180,16 @@ struct option_t MuttVars[] = { >+ >+ #if defined(HAVE_PGP) || defined(HAVE_SMIME) >+ # ifdef HAVE_PGP >++ { "pgp_autoselectkey", DT_SYN, R_NONE, UL "crypt_autoselectkey", 0 }, >++# endif >++ { "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 (with ``$$crypt_confirmhook'' set). >++ */ >++# ifdef HAVE_PGP >+ { "pgp_autosign", DT_SYN, R_NONE, UL "crypt_autosign", 0 }, >+ # endif >+ { "crypt_autosign", DT_BOOL, R_NONE, OPTCRYPTAUTOSIGN, 0 }, >+@@ -1205,6 +1215,17 @@ struct option_t MuttVars[] = { >+ ** requested as well. IF ``$$smime_is_default'' is set, then >+ ** OpenSSL is used instead to create S/MIME messages and settings can >+ ** be overridden by use of the \fIsmime-menu\fP. >++ */ >++# ifdef HAVE_PGP >++ { "pgp_confirmhook", DT_SYN, R_NONE, UL "crypt_confirmhook", 1 }, >++# endif >++ { "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. >+ */ >+ #ifdef HAVE_PGP >+ { "pgp_ignore_subkeys", DT_BOOL, R_NONE, OPTPGPIGNORESUB, 1}, >+--- mutt.h 20 Apr 2002 08:11:13 -0000 3.8 >++++ mutt.h 31 Aug 2002 22:01:58 -0000 >+@@ -422,6 +422,7 @@ enum >+ /* PGP options */ >+ >+ #if defined(HAVE_PGP) || defined(HAVE_SMIME) >++ OPTCRYPTAUTOSELECT, >+ OPTCRYPTAUTOSIGN, >+ OPTCRYPTAUTOENCRYPT, >+ OPTCRYPTREPLYENCRYPT, >+@@ -433,6 +434,7 @@ enum >+ OPTASKCERTLABEL, >+ OPTSDEFAULTDECRYPTKEY, >+ #endif >++ OPTCRYPTCONFIRMHOOK, >+ #ifdef HAVE_PGP >+ OPTPGPIGNORESUB, >+ OPTPGPLONGIDS, >+--- pgp.c 4 Apr 2002 06:50:12 -0000 3.13 >++++ pgp.c 31 Aug 2002 22:01:58 -0000 >+@@ -1037,6 +1037,8 @@ char *pgp_findKeys (ADDRESS *to, ADDRESS >+ char *keyID, *keylist = NULL, *t; >+ size_t keylist_size = 0; >+ size_t keylist_used = 0; >++ LIST *hook_list = NULL; >++ LIST *hook = NULL; >+ ADDRESS *tmp = NULL, *addr = NULL; >+ ADDRESS **last = &tmp; >+ ADDRESS *p, *q; >+@@ -1070,62 +1072,88 @@ char *pgp_findKeys (ADDRESS *to, ADDRESS >+ char buf[LONG_STRING]; >+ >+ 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; >++ >++ if (hook) >+ { >+- /* check for e-mail address */ >+- if ((t = strchr (keyID, '@')) && >+- (addr = rfc822_parse_adrlist (NULL, keyID))) >++ keyID = (char *)hook->data; >++ snprintf (buf, sizeof (buf), _("Use keyID = \"%s\" for %s?"), keyID, p->mailbox); >++ if (!option(OPTCRYPTCONFIRMHOOK) || (r = mutt_yesorno (buf, M_YES)) == M_YES) >+ { >+- if (fqdn) rfc822_qualify (addr, fqdn); >+- q = addr; >++ /* 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); >++ } >++ else if (r == -1) >++ { >++ /* >++ * yes, this implies that if one key fails they all do >++ */ >++ safe_free ((void **) &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) >++ >++ if (k_info == NULL) >++ pgp_invoke_getkeys (q); >++ >++ if (k_info == NULL && (k_info = pgp_getkeybyaddr (q, KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) >+ { >+- safe_free ((void **) &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) >++ { >++ safe_free ((void **)&keylist); >++ rfc822_free_address (&tmp); >++ rfc822_free_address (&addr); >++ mutt_free_list (&hook_list); >++ return NULL; >++ } >+ } >+- } >++ else >++ key = k_info; >+ >+- if (k_info == NULL) >+- pgp_invoke_getkeys (q); >++ keyID = pgp_keyid (key); >++ >++ keylist_size += mutt_strlen (keyID) + 4; >++ safe_realloc ((void **)&keylist, keylist_size); >++ sprintf (keylist + keylist_used, "%s0x%s", keylist_used ? " " : "", /* __SPRINTF_CHECKED__ */ >++ keyID); >++ keylist_used = mutt_strlen (keylist); >+ >+- if (k_info == NULL && (k_info = pgp_getkeybyaddr (q, KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) >+- { >+- snprintf (buf, sizeof (buf), _("Enter keyID for %s: "), q->mailbox); >++ pgp_free_key (&key); >++ rfc822_free_address (&addr); >+ >+- if ((key = pgp_ask_for_key (buf, q->mailbox, >+- KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) >+- { >+- safe_free ((void **)&keylist); >+- rfc822_free_address (&tmp); >+- rfc822_free_address (&addr); >+- return NULL; >+- } >+- } >+- else >+- key = k_info; >++ if (!hook_list) >++ break; >+ >+- keyID = pgp_keyid (key); >+- >+- keylist_size += mutt_strlen (keyID) + 4; >+- safe_realloc ((void **)&keylist, keylist_size); >+- sprintf (keylist + keylist_used, "%s0x%s", keylist_used ? " " : "", /* __SPRINTF_CHECKED__ */ >+- keyID); >+- keylist_used = mutt_strlen (keylist); >++ hook = hook->next; >++ if (!hook) >++ break; >+ >+- pgp_free_key (&key); >+- rfc822_free_address (&addr); >++ } >++ mutt_free_list (&hook_list); >+ >+ } >+ rfc822_free_address (&tmp); >+--- pgpkey.c 24 Jan 2002 12:10:51 -0000 3.0 >++++ pgpkey.c 31 Aug 2002 22:01:58 -0000 >+@@ -435,6 +435,11 @@ static int pgp_id_matches_addr (ADDRESS >+ return rv; >+ } >+ >++ >++#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) >+ { >+@@ -450,6 +455,7 @@ static pgp_key_t *pgp_select_key (pgp_ke >+ pgp_uid_t *a; >+ int (*f) (const void *, const void *); >+ >++ int keymatch = 0; /* count matching keys */ >+ int unusable = 0; >+ >+ keymax = 0; >+@@ -479,6 +485,7 @@ static pgp_key_t *pgp_select_key (pgp_ke >+ >+ KeyTable[i++] = a; >+ } >++ keymatch++; >+ } >+ >+ if (!i && unusable) >+@@ -487,6 +494,21 @@ static pgp_key_t *pgp_select_key (pgp_ke >+ mutt_sleep (1); >+ return NULL; >+ } >++ 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); >++ } >++ } >++ } >+ >+ switch (PgpSortKeys & SORT_MASK) >+ { >+@@ -597,9 +619,7 @@ static pgp_key_t *pgp_select_key (pgp_ke >+ break; >+ } >+ >+- if (option (OPTPGPCHECKTRUST) && >+- (!pgp_id_is_valid (KeyTable[menu->current]) >+- || !pgp_id_is_strong (KeyTable[menu->current]))) >++ if (!pgp_trusted_id(KeyTable[menu->current])) >+ { >+ char *s = ""; >+ char buff[LONG_STRING]; >+--- protos.h 29 Apr 2002 17:12:00 -0000 3.7 >++++ protos.h 31 Aug 2002 22:01:59 -0000 >+@@ -130,7 +130,7 @@ char *mutt_get_body_charset (char *, siz >+ char *mutt_get_name (ADDRESS *); >+ char *mutt_get_parameter (const char *, PARAMETER *); >+ #if defined(HAVE_PGP) || defined(HAVE_SMIME) >+-char *mutt_crypt_hook (ADDRESS *); >++LIST *mutt_crypt_hook (ADDRESS *); >+ #endif /* HAVE_PGP */ >+ char *mutt_make_date (char *, size_t); >+ >+--- doc/manual.sgml.head 25 Apr 2002 13:28:23 -0000 3.3 >++++ doc/manual.sgml.head 31 Aug 2002 22:02:00 -0000 >+@@ -1388,7 +1388,9 @@ recipient's public key can't be deduced >+ or because, for some reasons, you need to override the key Mutt would >+ normally use. The pgp-hook command provides a method by which you can >+ 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. >+ >+ <sect1>Adding key sequences to the keyboard buffer<label id="push"> >+ <p> >+--- doc/muttrc.man.head.orig2 Mon Sep 2 17:36:11 2002 >++++ doc/muttrc.man.head Mon Sep 2 17:37:22 2002 >+@@ -272,5 +272,7 @@ >+ The pgp-hook command provides a method by which you can >+ specify the ID of the public key to be used when encrypting messages >+-to a certain recipient. >++to a certain recipient. 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. >+ .PP >+ .nf >diff -ru /usr/ports/mail/mutt-devel/scripts/generate-plist ./scripts/generate-plist >--- /usr/ports/mail/mutt-devel/scripts/generate-plist Fri Aug 30 14:32:59 2002 >+++ ./scripts/generate-plist Mon Sep 2 17:03:33 2002 >@@ -140,6 +140,9 @@ > if [ "$MUTT_IFDEF_PATCH" = "yes" ]; then > html=$(($html + 1)) > fi >+ if [ "$MUTT_PGP_PATCH" = "yes" ]; then >+ html=$(($html + 2)) >+ fi > echo "share/doc/mutt/html/manual.html" >> $tmp_first > echo "share/doc/mutt/html/manual_toc.html" >> $tmp_first > i=1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 42328
: 24800