Link Here
|
1 |
Base: http://home.woolridge.ca/mutt/patches/patch-1.5.1.dw.pgp-hook.3 |
1 |
Base: http://home.woolridge.ca/mutt/patches/patch-1.5.3.dw.confirm-crypt-hook.1 |
2 |
--- PATCHES 24 Jan 2002 12:10:47 -0000 3.0 |
2 |
http://home.woolridge.ca/mutt/patches/patch-1.5.3.dw.multiple-crypt-hook.1 |
3 |
+++ PATCHES 31 Aug 2002 22:01:56 -0000 |
3 |
http://home.woolridge.ca/mutt/patches/patch-1.5.3.dw.crypt-autoselectkey.1 |
4 |
@@ -0,0 +1 @@ |
4 |
|
5 |
+patch-1.5.1.dw.pgp-hook.3 |
5 |
--- PATCHES Tue Dec 17 10:47:20 2002 |
6 |
--- hook.c 5 Feb 2002 21:30:31 -0000 3.3 |
6 |
+++ PATCHES Fri Jan 24 11:27:21 2003 |
7 |
+++ hook.c 31 Aug 2002 22:01:56 -0000 |
7 |
@@ -0,0 +1,3 @@ |
8 |
@@ -118,7 +118,11 @@ int mutt_parse_hook (BUFFER *buf, BUFFER |
8 |
+patch-1.5.3.dw.crypt-autoselectkey.1 |
|
|
9 |
+patch-1.5.3.dw.confirm-crypt-hook.1 |
10 |
+patch-1.5.3.dw.multiple-crypt-hook.1 |
11 |
--- doc/manual.sgml.head Tue Dec 17 10:36:42 2002 |
12 |
+++ doc/manual.sgml.head Fri Jan 24 11:26:59 2003 |
13 |
@@ -1423,7 +1423,9 @@ |
14 |
or because, for some reasons, you need to override the key Mutt would |
15 |
normally use. The crypt-hook command provides a method by which you can |
16 |
specify the ID of the public key to be used when encrypting messages to |
17 |
-a certain recipient. |
18 |
+a certain recipient. You may use multiple pgp-hook's with the same |
19 |
+pattern; multiple matching pgp-hook's result in the use of multiple |
20 |
+keyids for recipient. |
21 |
|
22 |
<sect1>Adding key sequences to the keyboard buffer<label id="push"> |
23 |
<p> |
24 |
--- doc/muttrc.man.head Mon Sep 9 21:28:35 2002 |
25 |
+++ doc/muttrc.man.head Fri Jan 24 11:26:59 2003 |
26 |
@@ -287 +287,3 @@ |
27 |
-to a certain recipient. |
28 |
+to a certain recipient. You may use multiple \fBpgp-hook\fPs with the |
29 |
+same \fIpattern\fP; multiple matching \fBpgp-hook\fPs result in the use |
30 |
+of multiple \fIkey-id\fPs for recipient. |
31 |
--- hook.c Wed Dec 11 16:13:11 2002 |
32 |
+++ hook.c Fri Jan 24 11:26:59 2003 |
33 |
@@ -118,7 +118,11 @@ |
9 |
ptr->rx.not == not && |
34 |
ptr->rx.not == not && |
10 |
!mutt_strcmp (pattern.data, ptr->rx.pattern)) |
35 |
!mutt_strcmp (pattern.data, ptr->rx.pattern)) |
11 |
{ |
36 |
{ |
12 |
+#ifdef M_CRYPTHOOK |
37 |
+#ifdef M_CRYPTHOOK |
13 |
+ if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK | M_CRYPTHOOK)) |
38 |
+ if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK | M_REPLYHOOK | M_CRYPTHOOK)) |
14 |
+#else |
39 |
+#else |
15 |
if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK)) |
40 |
if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK | M_REPLYHOOK)) |
16 |
+#endif /* M_CRYPTHOOK */ |
41 |
+#endif |
17 |
{ |
42 |
{ |
18 |
/* these hooks allow multiple commands with the same |
43 |
/* these hooks allow multiple commands with the same |
19 |
* pattern, so if we've already seen this pattern/command pair, just |
44 |
* pattern, so if we've already seen this pattern/command pair, just |
20 |
@@ -445,9 +449,25 @@ char *mutt_iconv_hook (const char *chs) |
45 |
@@ -445,9 +449,25 @@ |
21 |
} |
46 |
} |
22 |
|
47 |
|
23 |
#if defined(HAVE_PGP) || defined(HAVE_SMIME) |
48 |
#if defined(HAVE_PGP) || defined(HAVE_SMIME) |
Link Here
|
45 |
} |
70 |
} |
46 |
#endif /* HAVE_PGP */ |
71 |
#endif /* HAVE_PGP */ |
47 |
|
72 |
|
48 |
--- init.h 25 Apr 2002 13:26:26 -0000 3.15 |
73 |
--- init.h Mon Dec 9 19:09:21 2002 |
49 |
+++ init.h 31 Aug 2002 22:01:57 -0000 |
74 |
+++ init.h Fri Jan 24 11:27:21 2003 |
50 |
@@ -1180,6 +1180,16 @@ struct option_t MuttVars[] = { |
75 |
@@ -1195,6 +1195,16 @@ |
51 |
|
76 |
|
52 |
#if defined(HAVE_PGP) || defined(HAVE_SMIME) |
77 |
#if defined(HAVE_PGP) || defined(HAVE_SMIME) |
53 |
# ifdef HAVE_PGP |
78 |
# ifdef HAVE_PGP |
Link Here
|
58 |
+ ** .pp |
83 |
+ ** .pp |
59 |
+ ** If set, then a list of keys is not presented for selection when only |
84 |
+ ** If set, then a list of keys is not presented for selection when only |
60 |
+ ** one matching key is available. This may be useful in conjunction with |
85 |
+ ** one matching key is available. This may be useful in conjunction with |
61 |
+ ** the \fIcrypt-hook\fP command (with ``$$crypt_confirmhook'' set). |
86 |
+ ** the \fIcrypt-hook\fP command. |
62 |
+ */ |
87 |
+ */ |
63 |
+# ifdef HAVE_PGP |
88 |
+# ifdef HAVE_PGP |
64 |
{ "pgp_autosign", DT_SYN, R_NONE, UL "crypt_autosign", 0 }, |
89 |
{ "pgp_autosign", DT_SYN, R_NONE, UL "crypt_autosign", 0 }, |
65 |
# endif |
90 |
# endif |
66 |
{ "crypt_autosign", DT_BOOL, R_NONE, OPTCRYPTAUTOSIGN, 0 }, |
91 |
{ "crypt_autosign", DT_BOOL, R_NONE, OPTCRYPTAUTOSIGN, 0 }, |
67 |
@@ -1205,6 +1215,17 @@ struct option_t MuttVars[] = { |
92 |
@@ -1220,6 +1230,17 @@ |
68 |
** requested as well. IF ``$$smime_is_default'' is set, then |
93 |
** requested as well. IF ``$$smime_is_default'' is set, then |
69 |
** OpenSSL is used instead to create S/MIME messages and settings can |
94 |
** OpenSSL is used instead to create S/MIME messages and settings can |
70 |
** be overridden by use of the \fIsmime-menu\fP. |
95 |
** be overridden by use of the \fIsmime-menu\fP. |
Link Here
|
82 |
*/ |
107 |
*/ |
83 |
#ifdef HAVE_PGP |
108 |
#ifdef HAVE_PGP |
84 |
{ "pgp_ignore_subkeys", DT_BOOL, R_NONE, OPTPGPIGNORESUB, 1}, |
109 |
{ "pgp_ignore_subkeys", DT_BOOL, R_NONE, OPTPGPIGNORESUB, 1}, |
85 |
--- mutt.h 20 Apr 2002 08:11:13 -0000 3.8 |
110 |
--- mutt.h Fri Dec 6 17:37:21 2002 |
86 |
+++ mutt.h 31 Aug 2002 22:01:58 -0000 |
111 |
+++ mutt.h Fri Jan 24 11:27:21 2003 |
87 |
@@ -422,6 +422,7 @@ enum |
112 |
@@ -431,6 +431,7 @@ |
88 |
/* PGP options */ |
113 |
/* PGP options */ |
89 |
|
114 |
|
90 |
#if defined(HAVE_PGP) || defined(HAVE_SMIME) |
115 |
#if defined(HAVE_PGP) || defined(HAVE_SMIME) |
Link Here
|
92 |
OPTCRYPTAUTOSIGN, |
117 |
OPTCRYPTAUTOSIGN, |
93 |
OPTCRYPTAUTOENCRYPT, |
118 |
OPTCRYPTAUTOENCRYPT, |
94 |
OPTCRYPTREPLYENCRYPT, |
119 |
OPTCRYPTREPLYENCRYPT, |
95 |
@@ -433,6 +434,7 @@ enum |
120 |
@@ -442,6 +443,7 @@ |
96 |
OPTASKCERTLABEL, |
121 |
OPTASKCERTLABEL, |
97 |
OPTSDEFAULTDECRYPTKEY, |
122 |
OPTSDEFAULTDECRYPTKEY, |
98 |
#endif |
123 |
#endif |
Link Here
|
100 |
#ifdef HAVE_PGP |
125 |
#ifdef HAVE_PGP |
101 |
OPTPGPIGNORESUB, |
126 |
OPTPGPIGNORESUB, |
102 |
OPTPGPLONGIDS, |
127 |
OPTPGPLONGIDS, |
103 |
--- pgp.c 4 Apr 2002 06:50:12 -0000 3.13 |
128 |
--- pgp.c Mon Dec 16 16:27:26 2002 |
104 |
+++ pgp.c 31 Aug 2002 22:01:58 -0000 |
129 |
+++ pgp.c Fri Jan 24 11:27:04 2003 |
105 |
@@ -1037,6 +1037,8 @@ char *pgp_findKeys (ADDRESS *to, ADDRESS |
130 |
@@ -1051,6 +1051,8 @@ |
106 |
char *keyID, *keylist = NULL, *t; |
131 |
char *keyID, *keylist = NULL, *t; |
107 |
size_t keylist_size = 0; |
132 |
size_t keylist_size = 0; |
108 |
size_t keylist_used = 0; |
133 |
size_t keylist_used = 0; |
Link Here
|
111 |
ADDRESS *tmp = NULL, *addr = NULL; |
136 |
ADDRESS *tmp = NULL, *addr = NULL; |
112 |
ADDRESS **last = &tmp; |
137 |
ADDRESS **last = &tmp; |
113 |
ADDRESS *p, *q; |
138 |
ADDRESS *p, *q; |
114 |
@@ -1070,62 +1072,88 @@ char *pgp_findKeys (ADDRESS *to, ADDRESS |
139 |
@@ -1084,70 +1086,96 @@ |
115 |
char buf[LONG_STRING]; |
140 |
char buf[LONG_STRING]; |
116 |
|
141 |
|
117 |
q = p; |
142 |
q = p; |
Link Here
|
134 |
+ |
159 |
+ |
135 |
+ if (hook) |
160 |
+ if (hook) |
136 |
{ |
161 |
{ |
137 |
- /* check for e-mail address */ |
162 |
- if (is_numerical_keyid (keyID)) |
138 |
- if ((t = strchr (keyID, '@')) && |
|
|
139 |
- (addr = rfc822_parse_adrlist (NULL, keyID))) |
140 |
+ keyID = (char *)hook->data; |
163 |
+ keyID = (char *)hook->data; |
141 |
+ snprintf (buf, sizeof (buf), _("Use keyID = \"%s\" for %s?"), keyID, p->mailbox); |
164 |
+ snprintf (buf, sizeof (buf), _("Use keyID = \"%s\" for %s?"), keyID, p->mailbox); |
142 |
+ if (!option(OPTCRYPTCONFIRMHOOK) || (r = mutt_yesorno (buf, M_YES)) == M_YES) |
165 |
+ if (!option(OPTCRYPTCONFIRMHOOK) || (r = mutt_yesorno (buf, M_YES)) == M_YES) |
143 |
{ |
166 |
{ |
144 |
- if (fqdn) rfc822_qualify (addr, fqdn); |
167 |
- if (strncmp (keyID, "0x", 2) == 0) |
145 |
- q = addr; |
168 |
- keyID += 2; |
|
|
169 |
- goto bypass_selection; /* you don't see this. */ |
170 |
+ if (is_numerical_keyid (keyID)) |
171 |
+ { |
172 |
+ if (strncmp (keyID, "0x", 2) == 0) |
173 |
+ keyID += 2; |
174 |
+ goto bypass_selection; /* you don't see this. */ |
175 |
+ } |
176 |
+ |
146 |
+ /* check for e-mail address */ |
177 |
+ /* check for e-mail address */ |
147 |
+ if ((t = strchr (keyID, '@')) && |
178 |
+ if ((t = strchr (keyID, '@')) && |
148 |
+ (addr = rfc822_parse_adrlist (NULL, keyID))) |
179 |
+ (addr = rfc822_parse_adrlist (NULL, keyID))) |
Link Here
|
152 |
+ } |
183 |
+ } |
153 |
+ else |
184 |
+ else |
154 |
+ k_info = pgp_getkeybystr (keyID, KEYFLAG_CANENCRYPT, PGP_PUBRING); |
185 |
+ k_info = pgp_getkeybystr (keyID, KEYFLAG_CANENCRYPT, PGP_PUBRING); |
155 |
+ } |
186 |
} |
|
|
187 |
- |
188 |
- /* check for e-mail address */ |
189 |
- if ((t = strchr (keyID, '@')) && |
190 |
- (addr = rfc822_parse_adrlist (NULL, keyID))) |
156 |
+ else if (r == -1) |
191 |
+ else if (r == -1) |
157 |
+ { |
192 |
{ |
|
|
193 |
- if (fqdn) rfc822_qualify (addr, fqdn); |
194 |
- q = addr; |
158 |
+ /* |
195 |
+ /* |
159 |
+ * yes, this implies that if one key fails they all do |
196 |
+ * yes, this implies that if one key fails they all do |
160 |
+ */ |
197 |
+ */ |
161 |
+ safe_free ((void **) &keylist); |
198 |
+ FREE (&keylist); |
162 |
+ rfc822_free_address (&tmp); |
199 |
+ rfc822_free_address (&tmp); |
163 |
+ rfc822_free_address (&addr); |
200 |
+ rfc822_free_address (&addr); |
164 |
+ mutt_free_list (&hook_list); |
201 |
+ mutt_free_list (&hook_list); |
Link Here
|
166 |
} |
203 |
} |
167 |
- else |
204 |
- else |
168 |
- k_info = pgp_getkeybystr (keyID, KEYFLAG_CANENCRYPT, PGP_PUBRING); |
205 |
- k_info = pgp_getkeybystr (keyID, KEYFLAG_CANENCRYPT, PGP_PUBRING); |
169 |
} |
206 |
- } |
170 |
- else if (r == -1) |
207 |
- else if (r == -1) |
171 |
+ |
208 |
- { |
|
|
209 |
- FREE (&keylist); |
210 |
- rfc822_free_address (&tmp); |
211 |
- rfc822_free_address (&addr); |
212 |
- return NULL; |
213 |
} |
214 |
- } |
215 |
- |
216 |
- if (k_info == NULL) |
217 |
- pgp_invoke_getkeys (q); |
218 |
|
219 |
- if (k_info == NULL && (k_info = pgp_getkeybyaddr (q, KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) |
220 |
- { |
221 |
- snprintf (buf, sizeof (buf), _("Enter keyID for %s: "), q->mailbox); |
172 |
+ if (k_info == NULL) |
222 |
+ if (k_info == NULL) |
173 |
+ pgp_invoke_getkeys (q); |
223 |
+ pgp_invoke_getkeys (q); |
174 |
+ |
224 |
|
|
|
225 |
- if ((key = pgp_ask_for_key (buf, q->mailbox, |
226 |
- KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) |
175 |
+ if (k_info == NULL && (k_info = pgp_getkeybyaddr (q, KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) |
227 |
+ if (k_info == NULL && (k_info = pgp_getkeybyaddr (q, KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) |
176 |
{ |
228 |
{ |
177 |
- safe_free ((void **) &keylist); |
229 |
- FREE (&keylist); |
178 |
- rfc822_free_address (&tmp); |
230 |
- rfc822_free_address (&tmp); |
179 |
- rfc822_free_address (&addr); |
231 |
- rfc822_free_address (&addr); |
180 |
- return NULL; |
232 |
- return NULL; |
Link Here
|
183 |
+ if ((key = pgp_ask_for_key (buf, q->mailbox, |
235 |
+ if ((key = pgp_ask_for_key (buf, q->mailbox, |
184 |
+ KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) |
236 |
+ KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) |
185 |
+ { |
237 |
+ { |
186 |
+ safe_free ((void **)&keylist); |
238 |
+ FREE (&keylist); |
187 |
+ rfc822_free_address (&tmp); |
239 |
+ rfc822_free_address (&tmp); |
188 |
+ rfc822_free_address (&addr); |
240 |
+ rfc822_free_address (&addr); |
189 |
+ mutt_free_list (&hook_list); |
241 |
+ mutt_free_list (&hook_list); |
Link Here
|
191 |
+ } |
243 |
+ } |
192 |
} |
244 |
} |
193 |
- } |
245 |
- } |
|
|
246 |
- else |
247 |
- key = k_info; |
194 |
+ else |
248 |
+ else |
195 |
+ key = k_info; |
249 |
+ key = k_info; |
196 |
|
250 |
|
197 |
- if (k_info == NULL) |
251 |
- keyID = pgp_keyid (key); |
198 |
- pgp_invoke_getkeys (q); |
|
|
199 |
+ keyID = pgp_keyid (key); |
252 |
+ keyID = pgp_keyid (key); |
200 |
+ |
253 |
|
|
|
254 |
bypass_selection: |
255 |
- keylist_size += mutt_strlen (keyID) + 4; |
256 |
- safe_realloc ((void **)&keylist, keylist_size); |
257 |
- sprintf (keylist + keylist_used, "%s0x%s", keylist_used ? " " : "", /* __SPRINTF_CHECKED__ */ |
258 |
- keyID); |
259 |
- keylist_used = mutt_strlen (keylist); |
201 |
+ keylist_size += mutt_strlen (keyID) + 4; |
260 |
+ keylist_size += mutt_strlen (keyID) + 4; |
202 |
+ safe_realloc ((void **)&keylist, keylist_size); |
261 |
+ safe_realloc ((void **)&keylist, keylist_size); |
203 |
+ sprintf (keylist + keylist_used, "%s0x%s", keylist_used ? " " : "", /* __SPRINTF_CHECKED__ */ |
262 |
+ sprintf (keylist + keylist_used, "%s0x%s", keylist_used ? " " : "", /* __SPRINTF_CHECKED__ */ |
204 |
+ keyID); |
263 |
+ keyID); |
205 |
+ keylist_used = mutt_strlen (keylist); |
264 |
+ keylist_used = mutt_strlen (keylist); |
206 |
|
265 |
+ |
207 |
- if (k_info == NULL && (k_info = pgp_getkeybyaddr (q, KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) |
|
|
208 |
- { |
209 |
- snprintf (buf, sizeof (buf), _("Enter keyID for %s: "), q->mailbox); |
210 |
+ pgp_free_key (&key); |
266 |
+ pgp_free_key (&key); |
211 |
+ rfc822_free_address (&addr); |
267 |
+ rfc822_free_address (&addr); |
212 |
|
268 |
+ |
213 |
- if ((key = pgp_ask_for_key (buf, q->mailbox, |
|
|
214 |
- KEYFLAG_CANENCRYPT, PGP_PUBRING)) == NULL) |
215 |
- { |
216 |
- safe_free ((void **)&keylist); |
217 |
- rfc822_free_address (&tmp); |
218 |
- rfc822_free_address (&addr); |
219 |
- return NULL; |
220 |
- } |
221 |
- } |
222 |
- else |
223 |
- key = k_info; |
224 |
+ if (!hook_list) |
269 |
+ if (!hook_list) |
225 |
+ break; |
270 |
+ break; |
226 |
|
271 |
+ |
227 |
- keyID = pgp_keyid (key); |
|
|
228 |
- |
229 |
- keylist_size += mutt_strlen (keyID) + 4; |
230 |
- safe_realloc ((void **)&keylist, keylist_size); |
231 |
- sprintf (keylist + keylist_used, "%s0x%s", keylist_used ? " " : "", /* __SPRINTF_CHECKED__ */ |
232 |
- keyID); |
233 |
- keylist_used = mutt_strlen (keylist); |
234 |
+ hook = hook->next; |
272 |
+ hook = hook->next; |
235 |
+ if (!hook) |
273 |
+ if (!hook) |
236 |
+ break; |
274 |
+ break; |
Link Here
|
242 |
|
280 |
|
243 |
} |
281 |
} |
244 |
rfc822_free_address (&tmp); |
282 |
rfc822_free_address (&tmp); |
245 |
--- pgpkey.c 24 Jan 2002 12:10:51 -0000 3.0 |
283 |
diff -ru work.orig/mutt-1.5.3/pgpkey.c work/mutt-1.5.3/pgpkey.c |
246 |
+++ pgpkey.c 31 Aug 2002 22:01:58 -0000 |
284 |
--- pgpkey.c Wed Dec 11 12:20:05 2002 |
247 |
@@ -435,6 +435,11 @@ static int pgp_id_matches_addr (ADDRESS |
285 |
+++ pgpkey.c Fri Jan 24 11:27:21 2003 |
|
|
286 |
@@ -435,6 +435,11 @@ |
248 |
return rv; |
287 |
return rv; |
249 |
} |
288 |
} |
250 |
|
289 |
|
Link Here
|
256 |
static pgp_key_t *pgp_select_key (pgp_key_t *keys, |
295 |
static pgp_key_t *pgp_select_key (pgp_key_t *keys, |
257 |
ADDRESS * p, const char *s) |
296 |
ADDRESS * p, const char *s) |
258 |
{ |
297 |
{ |
259 |
@@ -450,6 +455,7 @@ static pgp_key_t *pgp_select_key (pgp_ke |
298 |
@@ -450,6 +455,7 @@ |
260 |
pgp_uid_t *a; |
299 |
pgp_uid_t *a; |
261 |
int (*f) (const void *, const void *); |
300 |
int (*f) (const void *, const void *); |
262 |
|
301 |
|
Link Here
|
264 |
int unusable = 0; |
303 |
int unusable = 0; |
265 |
|
304 |
|
266 |
keymax = 0; |
305 |
keymax = 0; |
267 |
@@ -479,6 +485,7 @@ static pgp_key_t *pgp_select_key (pgp_ke |
306 |
@@ -479,6 +485,7 @@ |
268 |
|
307 |
|
269 |
KeyTable[i++] = a; |
308 |
KeyTable[i++] = a; |
270 |
} |
309 |
} |
Link Here
|
272 |
} |
311 |
} |
273 |
|
312 |
|
274 |
if (!i && unusable) |
313 |
if (!i && unusable) |
275 |
@@ -487,6 +494,21 @@ static pgp_key_t *pgp_select_key (pgp_ke |
314 |
@@ -487,6 +494,21 @@ |
276 |
mutt_sleep (1); |
315 |
mutt_sleep (1); |
277 |
return NULL; |
316 |
return NULL; |
278 |
} |
317 |
} |
Link Here
|
294 |
|
333 |
|
295 |
switch (PgpSortKeys & SORT_MASK) |
334 |
switch (PgpSortKeys & SORT_MASK) |
296 |
{ |
335 |
{ |
297 |
@@ -597,9 +619,7 @@ static pgp_key_t *pgp_select_key (pgp_ke |
336 |
@@ -597,9 +619,7 @@ |
298 |
break; |
337 |
break; |
299 |
} |
338 |
} |
300 |
|
339 |
|
Link Here
|
305 |
{ |
344 |
{ |
306 |
char *s = ""; |
345 |
char *s = ""; |
307 |
char buff[LONG_STRING]; |
346 |
char buff[LONG_STRING]; |
308 |
--- protos.h 29 Apr 2002 17:12:00 -0000 3.7 |
347 |
--- protos.h Wed Dec 11 23:31:25 2002 |
309 |
+++ protos.h 31 Aug 2002 22:01:59 -0000 |
348 |
+++ protos.h Fri Jan 24 11:26:59 2003 |
310 |
@@ -130,7 +130,7 @@ char *mutt_get_body_charset (char *, siz |
349 |
@@ -130,7 +130,7 @@ |
311 |
char *mutt_get_name (ADDRESS *); |
350 |
char *mutt_get_name (ADDRESS *); |
312 |
char *mutt_get_parameter (const char *, PARAMETER *); |
351 |
char *mutt_get_parameter (const char *, PARAMETER *); |
313 |
#if defined(HAVE_PGP) || defined(HAVE_SMIME) |
352 |
#if defined(HAVE_PGP) || defined(HAVE_SMIME) |
Link Here
|
316 |
#endif /* HAVE_PGP */ |
355 |
#endif /* HAVE_PGP */ |
317 |
char *mutt_make_date (char *, size_t); |
356 |
char *mutt_make_date (char *, size_t); |
318 |
|
357 |
|
319 |
--- doc/manual.sgml.head 25 Apr 2002 13:28:23 -0000 3.3 |
|
|
320 |
+++ doc/manual.sgml.head 31 Aug 2002 22:02:00 -0000 |
321 |
@@ -1388,7 +1388,9 @@ recipient's public key can't be deduced |
322 |
or because, for some reasons, you need to override the key Mutt would |
323 |
normally use. The pgp-hook command provides a method by which you can |
324 |
specify the ID of the public key to be used when encrypting messages to |
325 |
-a certain recipient. |
326 |
+a certain recipient. You may use multiple pgp-hook's with the same |
327 |
+pattern; multiple matching pgp-hook's result in the use of multiple |
328 |
+keyids for recipient. |
329 |
|
330 |
<sect1>Adding key sequences to the keyboard buffer<label id="push"> |
331 |
<p> |
332 |
--- doc/muttrc.man.head.orig2 Mon Sep 2 17:36:11 2002 |
333 |
+++ doc/muttrc.man.head Mon Sep 2 17:37:22 2002 |
334 |
@@ -272,5 +272,7 @@ |
335 |
The pgp-hook command provides a method by which you can |
336 |
specify the ID of the public key to be used when encrypting messages |
337 |
-to a certain recipient. |
338 |
+to a certain recipient. You may use multiple \fBpgp-hook\fPs with the |
339 |
+same \fIpattern\fP; multiple matching \fBpgp-hook\fPs result in the use |
340 |
+of multiple \fIkey-id\fPs for recipient. |
341 |
.PP |
342 |
.nf |