Link Here
|
1 |
http://www.woolridge.ca/mutt/patches/p0-patch-1.5.x.dw.pgp-menu-traditional.2 |
1 |
http://www.woolridge.ca/mutt/patches/p0-patch-1.5.x.dw.pgp-menu-traditional.2 |
2 |
--- PATCHES Dec 2002 17:44:54 -0000 3.6 |
2 |
--- PATCHES.old Tue Apr 15 15:18:34 2003 |
3 |
+++ PATCHES Oct 2003 15:05:24 -0000 |
3 |
+++ PATCHES Fri Dec 19 15:00:56 2003 |
4 |
@@ -0,0 +1 @@ |
4 |
@@ -0,0 +1,3 @@ |
5 |
+patch-1.5.x.dw.pgp-menu-traditional.2 |
5 |
+patch-1.5.5.dw.multiple-crypt-hook.2 |
6 |
--- compose.c.orig Thu Nov 6 08:28:10 2003 |
6 |
+patch-1.5.5.dw.crypt-autoselectkey.1 |
7 |
+++ compose.c Thu Nov 6 08:32:17 2003 |
7 |
+patch-1.5.5.dw.confirm-crypt-hook.1 |
8 |
@@ -131,6 +131,13 @@ |
8 |
--- doc/manual.sgml.head.old Wed Nov 5 10:41:34 2003 |
9 |
addstr (_("Sign")); |
9 |
+++ doc/manual.sgml.head Fri Dec 19 15:00:56 2003 |
10 |
else |
10 |
@@ -1421,7 +1421,9 @@ |
11 |
addstr (_("Clear")); |
11 |
or because, for some reasons, you need to override the key Mutt would |
12 |
+ |
12 |
normally use. The crypt-hook command provides a method by which you can |
13 |
+ if ((WithCrypto & APPLICATION_PGP)) |
13 |
specify the ID of the public key to be used when encrypting messages to |
14 |
+ if ((msg->security & (ENCRYPT | SIGN))) |
14 |
-a certain recipient. |
15 |
+ if ((msg->security & INLINE)) |
15 |
+a certain recipient. You may use multiple pgp-hook's with the same |
16 |
+ addstr (_(" (inline)")); |
16 |
+pattern; multiple matching pgp-hook's result in the use of multiple |
17 |
+ else |
17 |
+keyids for recipient. |
18 |
+ addstr (_(" (PGP/MIME)")); |
18 |
|
19 |
clrtoeol (); |
19 |
The meaning of "key id" is to be taken broadly in this context: You |
20 |
|
20 |
can either put a numerical key ID here, an e-mail address, or even |
21 |
move (HDR_CRYPTINFO, 0); |
21 |
--- doc/muttrc.man.head.orig Fri Dec 19 15:14:55 2003 |
22 |
@@ -156,21 +163,25 @@ |
22 |
+++ doc/muttrc.man.head Fri Dec 19 15:19:05 2003 |
|
|
23 |
@@ -290 +290,4 @@ |
24 |
-or even just an arbitrary search string. |
25 |
+or even just an arbitrary search string. You may use multiple |
26 |
+\fBpgp-hook\fPs with the same \fIpattern\fP; multiple matching |
27 |
+\fBpgp-hook\fPs result in the use of multiple \fIkey-id\fPs for |
28 |
+recipient. |
29 |
--- hook.c Tue Jan 21 13:25:21 2003 |
30 |
+++ hook.c Fri Dec 19 15:00:56 2003 |
31 |
@@ -117,7 +117,11 @@ |
32 |
ptr->rx.not == not && |
33 |
!mutt_strcmp (pattern.data, ptr->rx.pattern)) |
34 |
{ |
35 |
+#ifdef M_CRYPTHOOK |
36 |
+ if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK | M_REPLYHOOK | M_CRYPTHOOK)) |
37 |
+#else |
38 |
if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK | M_REPLYHOOK)) |
39 |
+#endif |
40 |
{ |
41 |
/* these hooks allow multiple commands with the same |
42 |
* pattern, so if we've already seen this pattern/command pair, just |
43 |
@@ -443,9 +447,25 @@ |
44 |
return _mutt_string_hook (chs, M_ICONVHOOK); |
45 |
} |
23 |
|
46 |
|
24 |
static int pgp_send_menu (HEADER *msg, int *redraw) |
47 |
-char *mutt_crypt_hook (ADDRESS *adr) |
|
|
48 |
+LIST *mutt_crypt_hook (ADDRESS *adr) |
25 |
{ |
49 |
{ |
26 |
+ int use_autoinline = 0; |
50 |
- return _mutt_string_hook (adr->mailbox, M_CRYPTHOOK); |
27 |
pgp_key_t p; |
51 |
+ HOOK *hook; |
28 |
char input_signas[SHORT_STRING]; |
52 |
+ LIST *key_list = NULL; |
29 |
|
|
|
30 |
if (!(WithCrypto & APPLICATION_PGP)) |
31 |
return msg->security; |
32 |
|
33 |
- switch (mutt_multi_choice (_("PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? "), |
34 |
- N_("esabf"))) |
35 |
+ if (! (msg->security & (SIGN | ENCRYPT))) |
36 |
+ use_autoinline = 1; |
37 |
+ |
53 |
+ |
38 |
+ switch (mutt_multi_choice (_("PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "), |
54 |
+ if (!adr && !adr->mailbox) |
39 |
+ _("esabif"))) |
55 |
+ return (NULL); |
40 |
{ |
|
|
41 |
case 1: /* (e)ncrypt */ |
42 |
- msg->security |= ENCRYPT; |
43 |
+ msg->security ^= ENCRYPT; |
44 |
break; |
45 |
|
46 |
case 2: /* (s)ign */ |
47 |
- msg->security |= SIGN; |
48 |
+ msg->security ^= SIGN; |
49 |
break; |
50 |
|
51 |
case 3: /* sign (a)s */ |
52 |
@@ -197,18 +208,38 @@ |
53 |
break; |
54 |
|
55 |
case 4: /* (b)oth */ |
56 |
- msg->security = ENCRYPT | SIGN; |
57 |
+ if ((msg->security & (ENCRYPT | SIGN)) == (ENCRYPT | SIGN)) |
58 |
+ msg->security = 0; |
59 |
+ else |
60 |
+ msg->security |= (ENCRYPT | SIGN); |
61 |
+ break; |
62 |
+ |
56 |
+ |
63 |
+ case 5: /* (i)nline */ |
57 |
+ for (hook = Hooks; hook; hook = hook->next) |
64 |
+ if ((msg->security & (ENCRYPT | SIGN))) |
|
|
65 |
+ msg->security ^= INLINE; |
66 |
+ else |
67 |
+ msg->security &= ~INLINE; |
68 |
break; |
69 |
|
70 |
- case 5: /* (f)orget it */ |
71 |
+ case 6: /* (f)orget it */ |
72 |
msg->security = 0; |
73 |
break; |
74 |
} |
75 |
|
76 |
- if (msg->security && msg->security != APPLICATION_PGP) |
77 |
- msg->security |= APPLICATION_PGP; |
78 |
- else |
79 |
- msg->security = 0; |
80 |
+ if (msg->security) |
81 |
+ { |
58 |
+ { |
82 |
+ if (! (msg->security & (ENCRYPT | SIGN))) |
59 |
+ if (!hook->command) |
83 |
+ { |
60 |
+ continue; |
84 |
+ msg->security = 0; |
61 |
+ if (!(hook->type & M_CRYPTHOOK)) |
85 |
+ } |
62 |
+ continue; |
86 |
+ else |
|
|
87 |
+ { |
88 |
+ msg->security |= APPLICATION_PGP; |
89 |
+ |
63 |
+ |
90 |
+ if (use_autoinline && option (OPTPGPAUTOINLINE)) |
64 |
+ if ((regexec (hook->rx.rx, adr->mailbox, 0, NULL, 0) == 0) ^ hook->rx.not) |
91 |
+ msg->security |= INLINE; |
65 |
+ key_list = mutt_add_list (key_list, hook->command); |
92 |
+ } |
|
|
93 |
+ } |
66 |
+ } |
|
|
67 |
+ return (key_list); |
68 |
} |
94 |
|
69 |
|
95 |
if(*redraw) |
70 |
#ifdef USE_SOCKET |
96 |
redraw_crypt_lines (msg); |
71 |
--- init.h Wed Nov 5 10:41:32 2003 |
97 |
--- crypt.c Sep 2003 13:03:25 -0000 3.19 |
72 |
+++ init.h Fri Dec 19 15:00:46 2003 |
98 |
+++ crypt.c Oct 2003 15:05:24 -0000 |
73 |
@@ -1209,6 +1209,16 @@ |
99 |
@@ -161,3 +161,3 @@ int crypt_valid_passphrase(int flags) |
74 |
** when you are at the end of a message and invoke the \fInext-page\fP |
100 |
|
75 |
** function. |
101 |
-int mutt_protect (HEADER *msg, HEADER *cur, char *keylist) |
|
|
102 |
+int mutt_protect (HEADER *msg, char *keylist) |
103 |
{ |
104 |
@@ -166,3 +166,2 @@ int mutt_protect (HEADER *msg, HEADER *c |
105 |
BODY *tmp_pgp_pbody = NULL; |
106 |
- int traditional = 0; |
107 |
int flags = (WithCrypto & APPLICATION_PGP)? msg->security: 0; |
108 |
@@ -176,29 +175,9 @@ int mutt_protect (HEADER *msg, HEADER *c |
109 |
|
110 |
- if ((WithCrypto & APPLICATION_PGP) && (msg->security & APPLICATION_PGP)) |
111 |
+ if ((WithCrypto & APPLICATION_PGP) && ((msg->security & PGPINLINE) == PGPINLINE)) |
112 |
{ |
113 |
- if ((msg->content->type == TYPETEXT) && |
114 |
- !ascii_strcasecmp (msg->content->subtype, "plain")) |
115 |
- { |
116 |
- if (cur && cur->security && option (OPTPGPAUTOTRAD) |
117 |
- && (option (OPTCRYPTREPLYENCRYPT) |
118 |
- || option (OPTCRYPTREPLYSIGN) |
119 |
- || option (OPTCRYPTREPLYSIGNENCRYPTED))) |
120 |
- { |
121 |
- if(mutt_is_application_pgp(cur->content)) |
122 |
- traditional = 1; |
123 |
- } |
124 |
- else |
125 |
- { |
126 |
- if ((i = query_quadoption (OPT_PGPTRADITIONAL, _("Create a traditional (inline) PGP message?"))) == -1) |
127 |
- return -1; |
128 |
- else if (i == M_YES) |
129 |
- traditional = 1; |
130 |
- } |
131 |
- } |
132 |
- if (traditional) |
133 |
+ /* they really want to send it inline... go for it */ |
134 |
+ if (!isendwin ()) mutt_endwin _("Invoking PGP..."); |
135 |
+ pbody = crypt_pgp_traditional_encryptsign (msg->content, flags, keylist); |
136 |
+ if (pbody) |
137 |
{ |
138 |
- if (!isendwin ()) mutt_endwin _("Invoking PGP..."); |
139 |
- if (!(pbody = crypt_pgp_traditional_encryptsign (msg->content, flags, keylist))) |
140 |
- return -1; |
141 |
- |
142 |
msg->content = pbody; |
143 |
@@ -206,2 +185,8 @@ int mutt_protect (HEADER *msg, HEADER *c |
144 |
} |
145 |
+ |
146 |
+ /* otherwise inline won't work...ask for revert */ |
147 |
+ if ((i = query_quadoption (OPT_PGPMIMEASK, _("Message can't be sent inline. Revert to using PGP/MIME?"))) != M_YES) |
148 |
+ return -1; |
149 |
+ |
150 |
+ /* go ahead with PGP/MIME */ |
151 |
} |
152 |
@@ -391,2 +376,5 @@ int mutt_is_application_pgp (BODY *m) |
153 |
} |
154 |
+ if (t) |
155 |
+ t |= PGPINLINE; |
156 |
+ |
157 |
return t; |
158 |
--- init.h Sep 2003 15:10:09 -0000 3.40 |
159 |
+++ init.h Oct 2003 15:05:25 -0000 |
160 |
@@ -1380,2 +1380,44 @@ struct option_t MuttVars[] = { |
161 |
*/ |
76 |
*/ |
162 |
+ { "pgp_create_traditional", DT_SYN, R_NONE, UL "pgp_autoinline", 0 }, |
77 |
+ |
163 |
+ { "pgp_autoinline", DT_BOOL, R_NONE, OPTPGPAUTOINLINE, 0 }, |
78 |
+ |
|
|
79 |
+ { "pgp_autoselectkey", DT_SYN, R_NONE, UL "crypt_autoselectkey", 0 }, |
80 |
+ { "crypt_autoselectkey", DT_BOOL, R_NONE, OPTCRYPTAUTOSELECT, 0 }, |
164 |
+ /* |
81 |
+ /* |
165 |
+ ** .pp |
82 |
+ ** .pp |
166 |
+ ** This option controls whether Mutt generates old-style inline |
83 |
+ ** If set, then a list of keys is not presented for selection when only |
167 |
+ ** (traditional) PGP encrypted or signed messages under certain |
84 |
+ ** one matching key is available. This may be useful in conjunction with |
168 |
+ ** circumstances. This can be overridden by use of the \fIpgp-menu\fP, |
85 |
+ ** the \fIcrypt-hook\fP command. |
169 |
+ ** when inline is not required. |
|
|
170 |
+ ** .pp |
171 |
+ ** Note that Mutt might automatically use PGP/MIME for messages |
172 |
+ ** which consist of more than a single MIME part. Mutt can be |
173 |
+ ** configured to ask before sending PGP/MIME messages when inline |
174 |
+ ** (traditional) would not work. |
175 |
+ ** See also: ``$$pgp_mime_ask''. |
176 |
+ ** .pp |
177 |
+ ** Also note that using the old-style PGP message format is \fBstrongly\fP |
178 |
+ ** \fBdeprecated\fP. |
179 |
+ ** (PGP only) |
180 |
+ */ |
86 |
+ */ |
181 |
+ { "pgp_auto_traditional", DT_SYN, R_NONE, UL "pgp_replyinline", 0 }, |
87 |
{ "pgp_autosign", DT_SYN, R_NONE, UL "crypt_autosign", 0 }, |
182 |
+ { "pgp_replyinline", DT_BOOL, R_NONE, OPTPGPREPLYINLINE, 0 }, |
88 |
{ "crypt_autosign", DT_BOOL, R_NONE, OPTCRYPTAUTOSIGN, 0 }, |
|
|
89 |
/* |
90 |
@@ -1233,6 +1243,15 @@ |
91 |
** then OpenSSL is used instead to create S/MIME messages and |
92 |
** settings can be overridden by use of the \fIsmime-menu\fP. |
93 |
** (Crypto only) |
94 |
+ */ |
95 |
+ { "pgp_confirmhook", DT_SYN, R_NONE, UL "crypt_confirmhook", 1 }, |
96 |
+ { "crypt_confirmhook", DT_BOOL, R_NONE, OPTCRYPTCONFIRMHOOK, 1 }, |
183 |
+ /* |
97 |
+ /* |
184 |
+ ** .pp |
98 |
+ ** .pp |
185 |
+ ** Setting this variable will cause Mutt to always attempt to |
99 |
+ ** If set, then you will be prompted for confirmation of keys when using |
186 |
+ ** create an inline (traditional) message when replying to a |
100 |
+ ** the \fIcrypt-hook\fP command. If unset, no such confirmation prompt will |
187 |
+ ** message which is PGP encrypted/signed inline. This can be |
101 |
+ ** be presented. This is generally considered unsafe, especially where |
188 |
+ ** overridden by use of the \fIpgp-menu\fP, when inline is not |
102 |
+ ** typos are concerned. |
189 |
+ ** required. This option does not automatically detect if the |
|
|
190 |
+ ** (replied-to) message is inline; instead it relies on Mutt |
191 |
+ ** internals for previously checked/flagged messages. |
192 |
+ ** .pp |
193 |
+ ** Note that Mutt might automatically use PGP/MIME for messages |
194 |
+ ** which consist of more than a single MIME part. Mutt can be |
195 |
+ ** configured to ask before sending PGP/MIME messages when inline |
196 |
+ ** (traditional) would not work. |
197 |
+ ** See also: ``$$pgp_mime_ask''. |
198 |
+ ** .pp |
199 |
+ ** Also note that using the old-style PGP message format is \fBstrongly\fP |
200 |
+ ** \fBdeprecated\fP. |
201 |
+ ** (PGP only) |
202 |
+ ** |
203 |
+ */ |
204 |
{ "pgp_show_unusable", DT_BOOL, R_NONE, OPTPGPSHOWUNUSABLE, 1 }, |
205 |
@@ -1429,11 +1471,8 @@ struct option_t MuttVars[] = { |
206 |
*/ |
103 |
*/ |
207 |
- { "pgp_create_traditional", DT_QUAD, R_NONE, OPT_PGPTRADITIONAL, M_NO }, |
104 |
{ "pgp_ignore_subkeys", DT_BOOL, R_NONE, OPTPGPIGNORESUB, 1}, |
208 |
+ { "pgp_mime_ask", DT_QUAD, R_NONE, OPT_PGPMIMEASK, M_NO }, |
|
|
209 |
/* |
105 |
/* |
210 |
** .pp |
106 |
--- mutt.h Wed Nov 5 10:41:32 2003 |
211 |
- ** This option controls whether Mutt generates old-style inline PGP |
107 |
+++ mutt.h Fri Dec 19 15:00:46 2003 |
212 |
- ** encrypted or signed messages. |
108 |
@@ -427,6 +427,7 @@ |
213 |
- ** .pp |
109 |
|
214 |
- ** Note that PGP/MIME will be used automatically for messages which have |
110 |
/* PGP options */ |
215 |
- ** a character set different from us-ascii, or which consist of more than |
111 |
|
216 |
- ** a single MIME part. |
112 |
+ OPTCRYPTAUTOSELECT, |
217 |
+ ** This option controls whether Mutt will prompt you for |
113 |
OPTCRYPTAUTOSIGN, |
218 |
+ ** automatically sending a (signed/encrypted) message using |
114 |
OPTCRYPTAUTOENCRYPT, |
219 |
+ ** PGP/MIME when inline (traditional) fails (for any reason). |
115 |
OPTCRYPTAUTOPGP, |
220 |
** .pp |
116 |
@@ -438,6 +439,7 @@ |
221 |
@@ -1441,19 +1480,2 @@ struct option_t MuttVars[] = { |
117 |
OPTSMIMEISDEFAULT, |
222 |
** \fBdeprecated\fP. |
118 |
OPTASKCERTLABEL, |
223 |
- ** (PGP only) |
119 |
OPTSDEFAULTDECRYPTKEY, |
224 |
- */ |
120 |
+ OPTCRYPTCONFIRMHOOK, |
225 |
- { "pgp_auto_traditional", DT_BOOL, R_NONE, OPTPGPAUTOTRAD, 0 }, |
121 |
OPTPGPIGNORESUB, |
226 |
- /* |
122 |
OPTPGPCHECKEXIT, |
227 |
- ** .pp |
|
|
228 |
- ** This option causes Mutt to generate an old-style inline PGP |
229 |
- ** encrypted or signed message when replying to an old-style |
230 |
- ** message, and a PGP/MIME message when replying to a PGP/MIME |
231 |
- ** message. Note that this option is only meaningful when using |
232 |
- ** ``$$crypt_replyencrypt'', ``$$crypt_replysign'', or |
233 |
- ** ``$$crypt_replysignencrypted''. |
234 |
- ** .pp |
235 |
- ** Also note that PGP/MIME will be used automatically for messages |
236 |
- ** which have a character set different from us-ascii, or which |
237 |
- ** consist of more than a single MIME part. |
238 |
- ** .pp |
239 |
- ** This option overrides ``$$pgp_create_traditional'' |
240 |
** (PGP only) |
241 |
--- mutt.h Oct 2003 20:34:59 -0000 3.21 |
242 |
+++ mutt.h Oct 2003 15:05:25 -0000 |
243 |
@@ -276,2 +276,3 @@ enum |
244 |
OPT_MOVE, |
245 |
+ OPT_PGPMIMEASK, /* ask to revert to PGP/MIME when inline fails */ |
246 |
OPT_PGPTRADITIONAL, /* create old-style PGP messages */ |
247 |
@@ -443,3 +444,2 @@ enum |
248 |
OPTPGPLONGIDS, |
123 |
OPTPGPLONGIDS, |
249 |
- OPTPGPAUTOTRAD, |
124 |
--- pgp.c Wed Nov 5 10:41:33 2003 |
250 |
#if 0 |
125 |
+++ pgp.c Fri Dec 19 15:00:56 2003 |
251 |
@@ -451,2 +451,4 @@ enum |
126 |
@@ -1016,6 +1016,8 @@ |
252 |
OPTPGPSHOWUNUSABLE, |
127 |
char *keyID, *keylist = NULL, *t; |
253 |
+ OPTPGPAUTOINLINE, |
128 |
size_t keylist_size = 0; |
254 |
+ OPTPGPREPLYINLINE, |
129 |
size_t keylist_used = 0; |
255 |
|
130 |
+ LIST *hook_list = NULL; |
256 |
@@ -632,4 +634,4 @@ typedef struct header |
131 |
+ LIST *hook = NULL; |
|
|
132 |
ADDRESS *tmp = NULL, *addr = NULL; |
133 |
ADDRESS **last = &tmp; |
134 |
ADDRESS *p, *q; |
135 |
@@ -1055,7 +1057,7 @@ |
136 |
{ |
137 |
int r; |
138 |
snprintf (buf, sizeof (buf), _("Use keyID = \"%s\" for %s?"), keyID, p->mailbox); |
139 |
- if ((r = mutt_yesorno (buf, M_YES)) == M_YES) |
140 |
+ if (!option(OPTCRYPTCONFIRMHOOK) || (r = mutt_yesorno (buf, M_YES)) == M_YES) |
141 |
{ |
142 |
if (is_numerical_keyid (keyID)) |
143 |
{ |
144 |
--- pgpkey.c Wed Nov 5 10:41:33 2003 |
145 |
+++ pgpkey.c Fri Dec 19 15:00:46 2003 |
146 |
@@ -435,8 +435,13 @@ |
147 |
return rv; |
148 |
} |
149 |
|
150 |
+ |
151 |
+#define pgp_trusted_id(uid) (!option(OPTPGPCHECKTRUST) \ |
152 |
+ || (pgp_id_is_valid((uid)) \ |
153 |
+ && pgp_id_is_strong((uid)))) |
154 |
+ |
155 |
static pgp_key_t pgp_select_key (pgp_key_t keys, |
156 |
- ADDRESS * p, const char *s) |
157 |
+ ADDRESS * p, const char *s) |
257 |
{ |
158 |
{ |
258 |
- unsigned int security : 7; /* bit 0-4: flags, bit 5,6: application. |
159 |
int keymax; |
259 |
- see: crypt.h pgplib.h, smime.h */ |
160 |
pgp_uid_t **KeyTable; |
260 |
+ unsigned int security : 9; /* bit 0-6: flags, bit 7,8: application. |
161 |
@@ -450,6 +455,7 @@ |
261 |
+ see: mutt_crypt.h */ |
162 |
pgp_uid_t *a; |
262 |
|
163 |
int (*f) (const void *, const void *); |
263 |
--- mutt_crypt.h Jan 2003 23:54:30 -0000 3.4 |
164 |
|
264 |
+++ mutt_crypt.h Oct 2003 15:05:25 -0000 |
165 |
+ int keymatch = 0; /* count matching keys */ |
265 |
@@ -35,7 +35,9 @@ |
166 |
int unusable = 0; |
266 |
#define GOODSIGN (1 << 2) |
167 |
|
267 |
-#define BADSIGN (1 << 3) /* FIXME: value also used below for PGPKEY */ |
168 |
keymax = 0; |
268 |
+#define BADSIGN (1 << 3) |
169 |
@@ -479,6 +485,7 @@ |
269 |
#define SIGNOPAQUE (1 << 4) |
170 |
|
270 |
+#define KEYBLOCK (1 << 5) /* KEY too generic? */ |
171 |
KeyTable[i++] = a; |
271 |
+#define INLINE (1 << 6) |
172 |
} |
272 |
|
173 |
+ keymatch++; |
273 |
-#define APPLICATION_PGP (1 << 5) |
174 |
} |
274 |
-#define APPLICATION_SMIME (1 << 6) |
|
|
275 |
+#define APPLICATION_PGP (1 << 7) |
276 |
+#define APPLICATION_SMIME (1 << 8) |
277 |
|
278 |
@@ -44,3 +46,4 @@ |
279 |
#define PGPGOODSIGN (APPLICATION_PGP | GOODSIGN) |
280 |
-#define PGPKEY (APPLICATION_PGP | (1 << 3)) |
281 |
+#define PGPKEY (APPLICATION_PGP | KEYBLOCK) |
282 |
+#define PGPINLINE (APPLICATION_PGP | INLINE) |
283 |
|
284 |
@@ -103,3 +106,3 @@ typedef struct pgp_keyinfo *pgp_key_t; |
285 |
|
286 |
-int mutt_protect (HEADER *, HEADER *, char *); |
287 |
+int mutt_protect (HEADER *, char *); |
288 |
|
289 |
--- postpone.c Sep 2003 17:22:09 -0000 3.9 |
290 |
+++ postpone.c Oct 2003 15:05:25 -0000 |
291 |
@@ -486,2 +486,7 @@ int mutt_parse_crypt_hdr (char *p, int s |
292 |
|
175 |
|
293 |
+ case 'i': |
176 |
if (!i && unusable) |
294 |
+ case 'I': |
177 |
@@ -487,6 +494,21 @@ |
295 |
+ pgp |= INLINE; |
178 |
mutt_sleep (1); |
296 |
+ break; |
179 |
return NULL; |
297 |
+ |
180 |
} |
298 |
default: |
181 |
+ else if (keymatch == 1 && option(OPTCRYPTAUTOSELECT)) |
299 |
--- send.c Sep 2003 12:56:49 -0000 3.26 |
182 |
+ { |
300 |
+++ send.c Oct 2003 15:05:25 -0000 |
183 |
+ /* |
301 |
@@ -1256,3 +1256,10 @@ ci_send_message (int flags, /* send mod |
184 |
+ * Only one matching key...see if there's an id with enough trust to auto-select |
302 |
msg->security |= SIGN; |
185 |
+ */ |
303 |
- } |
186 |
+ kp = KeyTable[0]->parent; |
304 |
+ if (WithCrypto & APPLICATION_PGP && (msg->security & (ENCRYPT | SIGN))) |
187 |
+ for (a = kp->address; a; a = a->next) |
|
|
188 |
+ { |
189 |
+ if (pgp_trusted_id(a)) |
305 |
+ { |
190 |
+ { |
306 |
+ if (option (OPTPGPAUTOINLINE)) |
191 |
+ safe_free ((void **) &KeyTable); |
307 |
+ msg->security |= INLINE; |
192 |
+ return (kp); |
308 |
+ if (option (OPTPGPREPLYINLINE) && cur && (cur->security & INLINE)) |
|
|
309 |
+ msg->security |= INLINE; |
310 |
+ } |
193 |
+ } |
311 |
+ } |
194 |
+ } |
|
|
195 |
+ } |
312 |
|
196 |
|
313 |
@@ -1494,3 +1501,3 @@ main_loop: |
197 |
switch (PgpSortKeys & SORT_MASK) |
314 |
if ((crypt_get_keys (msg, &pgpkeylist) == -1) || |
198 |
{ |
315 |
- mutt_protect (msg, cur, pgpkeylist) == -1) |
199 |
@@ -597,9 +619,7 @@ |
316 |
+ mutt_protect (msg, pgpkeylist) == -1) |
200 |
break; |
|
|
201 |
} |
202 |
|
203 |
- if (option (OPTPGPCHECKTRUST) && |
204 |
- (!pgp_id_is_valid (KeyTable[menu->current]) |
205 |
- || !pgp_id_is_strong (KeyTable[menu->current]))) |
206 |
+ if (!pgp_trusted_id(KeyTable[menu->current])) |
317 |
{ |
207 |
{ |
318 |
@@ -1574,3 +1581,3 @@ main_loop: |
208 |
char *s = ""; |
319 |
|
209 |
char buff[LONG_STRING]; |
320 |
- if (mutt_protect (msg, cur, pgpkeylist) == -1) |
210 |
--- protos.h Wed Nov 5 10:41:33 2003 |
321 |
+ if (mutt_protect (msg, pgpkeylist) == -1) |
211 |
+++ protos.h Fri Dec 19 15:00:56 2003 |
322 |
{ |
212 |
@@ -129,7 +129,7 @@ |
323 |
--- sendlib.c Sep 2003 13:03:26 -0000 3.24 |
213 |
char *mutt_get_body_charset (char *, size_t, BODY *); |
324 |
+++ sendlib.c Oct 2003 15:05:25 -0000 |
214 |
const char *mutt_get_name (ADDRESS *); |
325 |
@@ -2407,2 +2407,4 @@ int mutt_write_fcc (const char *path, HE |
215 |
char *mutt_get_parameter (const char *, PARAMETER *); |
326 |
} |
216 |
-char *mutt_crypt_hook (ADDRESS *); |
327 |
+ if (hdr->security & INLINE) |
217 |
+LIST *mutt_crypt_hook (ADDRESS *); |
328 |
+ fputc ('I', msg->fp); |
218 |
char *mutt_make_date (char *, size_t); |
329 |
fputc ('\n', msg->fp); |
|
|
330 |
--- po/ca.po Apr 2003 11:00:59 -0000 3.10 |
331 |
+++ po/ca.po Oct 2003 15:05:26 -0000 |
332 |
@@ -602,10 +602,10 @@ msgstr "Xifra amb: " |
333 |
#: compose.c:165 |
334 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
335 |
-msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, o en (c)lar? " |
336 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
337 |
+msgstr "PGP: (x)ifra, (s)igna, si(g)na com a, (a)mbdós, en (l)ínia, o en (c)lar? " |
338 |
|
339 |
# ivb (2003/03/26) |
340 |
-# ivb (x)ifra, (s)igna, si(g)na com a, (a)mbdós, (c)lar |
341 |
+# ivb (x)ifra, (s)igna, si(g)na com a, (a)mbdós, en (l)ínia, o en (c)lar |
342 |
#: compose.c:166 |
343 |
-msgid "esabf" |
344 |
-msgstr "xsgac" |
345 |
+msgid "esabif" |
346 |
+msgstr "xsgalc" |
347 |
|
348 |
--- po/cs.po Mar 2003 22:43:06 -0000 3.8 |
349 |
+++ po/cs.po Oct 2003 15:05:26 -0000 |
350 |
@@ -687,4 +687,4 @@ msgstr "Za¹ifrovat" |
351 |
#, fuzzy |
352 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
353 |
-msgstr "(¹)ifrovat, (p)odepsat, podepsat (j)ako, (o)bojí, èi (n)ic?" |
354 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
355 |
+msgstr "(¹)ifrovat, (p)odepsat, podepsat (j)ako, (o)bojí, pøí(m)ý, èi (n)ic?" |
356 |
|
357 |
@@ -692,4 +692,4 @@ msgstr "(¹)ifrovat, (p)odepsat, podepsat |
358 |
#: compose.c:166 |
359 |
-msgid "esabf" |
360 |
-msgstr "¹pjon" |
361 |
+msgid "esabif" |
362 |
+msgstr "¹pjomn" |
363 |
|
364 |
--- po/da.po Mar 2003 22:43:06 -0000 3.8 |
365 |
+++ po/da.po Oct 2003 15:05:26 -0000 |
366 |
@@ -577,8 +577,8 @@ msgstr "Kryptér" |
367 |
#, fuzzy |
368 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
369 |
-msgstr "(k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge, (i)ngen PGP" |
370 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
371 |
+msgstr "(k)ryptér, (u)nderskriv, underskriv (s)om, (b)egge, i(n)tegreret, (i)ngen PGP" |
372 |
|
373 |
#: compose.c:166 |
374 |
-msgid "esabf" |
375 |
-msgstr "kusbi" |
376 |
+msgid "esabif" |
377 |
+msgstr "kusbni" |
378 |
|
379 |
--- po/de.po Apr 2003 08:31:00 -0000 3.11 |
380 |
+++ po/de.po Oct 2003 15:05:27 -0000 |
381 |
@@ -568,8 +568,8 @@ msgstr "Verschlüsseln mit: " |
382 |
#: compose.c:165 |
383 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
384 |
-msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, (k)ein PGP? " |
385 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
386 |
+msgstr "PGP (v)erschl., (s)ign., sign. (a)ls, (b)eides, (i)nline, (k)ein PGP? " |
387 |
|
388 |
#: compose.c:166 |
389 |
-msgid "esabf" |
390 |
-msgstr "vsabk" |
391 |
+msgid "esabif" |
392 |
+msgstr "vsabik" |
393 |
|
394 |
--- po/el.po Mar 2003 22:43:06 -0000 3.9 |
395 |
+++ po/el.po Oct 2003 15:05:27 -0000 |
396 |
@@ -700,4 +700,4 @@ msgstr "ÊñõðôïãñÜöçóç ìå: " |
397 |
#: compose.c:165 |
398 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
399 |
-msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, Þ (f)orget it? " |
400 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
401 |
+msgstr "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)êåßìåíï, Þ (f)orget it? " |
402 |
|
403 |
@@ -706,4 +706,4 @@ msgstr "PGP (e)ncrypt, (s)ign, sign (a)s |
404 |
#: compose.c:166 |
405 |
-msgid "esabf" |
406 |
-msgstr "esabf" |
407 |
+msgid "esabif" |
408 |
+msgstr "esabif" |
409 |
|
410 |
--- po/eo.po May 2003 17:48:28 -0000 3.9 |
411 |
+++ po/eo.po Oct 2003 15:05:27 -0000 |
412 |
@@ -570,8 +570,8 @@ msgstr "Æifri per: " |
413 |
#: compose.c:165 |
414 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
415 |
-msgstr "PGP æ(i)fri, (s)ubskribi, subskribi (k)iel, (a)mbaý, aý (f)orgesi? " |
416 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
417 |
+msgstr "PGP æ(i)fri, (s)ubskribi, subskribi (k)iel, (a)mbaý, \"i(n)line\", aý (f)orgesi? " |
418 |
|
419 |
#: compose.c:166 |
420 |
-msgid "esabf" |
421 |
-msgstr "iskaf" |
422 |
+msgid "esabif" |
423 |
+msgstr "iskanf" |
424 |
|
425 |
--- po/es.po Apr 2003 10:18:15 -0000 3.11 |
426 |
+++ po/es.po Oct 2003 15:05:27 -0000 |
427 |
@@ -575,4 +575,5 @@ msgstr "Cifrar" |
428 |
#, fuzzy |
429 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
430 |
-msgstr "¿co(d)ificar, f(i)rmar (c)omo, amb(o)s o ca(n)celar? " |
431 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
432 |
+msgstr "¿co(d)ificar, f(i)rmar (c)omo, amb(o)s, inc(l)uido, o ca(n)celar? " |
433 |
+ |
434 |
|
435 |
@@ -580,4 +581,4 @@ msgstr "¿co(d)ificar, f(i)rmar (c)omo, a |
436 |
#, fuzzy |
437 |
-msgid "esabf" |
438 |
-msgstr "dicon" |
439 |
+msgid "esabif" |
440 |
+msgstr "dicoln" |
441 |
|
442 |
--- po/et.po Mar 2003 22:43:07 -0000 3.10 |
443 |
+++ po/et.po Oct 2003 15:05:28 -0000 |
444 |
@@ -570,8 +570,8 @@ msgstr "Krüpti kasutades: " |
445 |
#: compose.c:165 |
446 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
447 |
-msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad või (u)nusta? " |
448 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
449 |
+msgstr "PGP (k)rüpti, (a)llkiri, allk. ku(i), (m)õlemad, k(e)hasse, või (u)nusta? " |
450 |
|
451 |
#: compose.c:166 |
452 |
-msgid "esabf" |
453 |
-msgstr "kaimu" |
454 |
+msgid "esabif" |
455 |
+msgstr "kaimeu" |
456 |
|
457 |
--- po/fr.po Apr 2003 08:38:13 -0000 3.19 |
458 |
+++ po/fr.po Oct 2003 15:05:28 -0000 |
459 |
@@ -594,8 +594,8 @@ msgstr "Chiffrer avec : " |
460 |
#: compose.c:165 |
461 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
462 |
-msgstr "(c)hiffrer PGP, (s)igner, (e)n tant que, les (d)eux, ou (o)ublier ? " |
463 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
464 |
+msgstr "(c)hiffrer PGP, (s)igner, (e)n tant que, les (d)eux, en (l)igne, ou (o)ublier ? " |
465 |
|
466 |
#: compose.c:166 |
467 |
-msgid "esabf" |
468 |
-msgstr "csedo" |
469 |
+msgid "esabif" |
470 |
+msgstr "csedlo" |
471 |
|
472 |
--- po/gl.po Mar 2003 22:43:07 -0000 3.8 |
473 |
+++ po/gl.po Oct 2003 15:05:28 -0000 |
474 |
@@ -579,8 +579,8 @@ msgstr "Encriptar" |
475 |
#, fuzzy |
476 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
477 |
-msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas ou (o)lvidar? " |
478 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
479 |
+msgstr "¿(e)ncriptar, (f)irmar, firmar (c)omo, (a)mbas, (i)nterior, ou (o)lvidar? " |
480 |
|
481 |
#: compose.c:166 |
482 |
-msgid "esabf" |
483 |
-msgstr "efcao" |
484 |
+msgid "esabif" |
485 |
+msgstr "efcaio" |
486 |
|
487 |
--- po/hu.po Aug 2003 11:01:09 -0000 3.9 |
488 |
+++ po/hu.po Oct 2003 15:05:29 -0000 |
489 |
@@ -563,8 +563,8 @@ msgstr "Titkosítás: " |
490 |
#: compose.c:165 |
491 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
492 |
-msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, mé(g)se? " |
493 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
494 |
+msgstr "PGP (t)itkosít, (a)láír, aláír (m)int, titkosít é(s) aláír, (b)eágyazott, mé(g)se? " |
495 |
|
496 |
#: compose.c:166 |
497 |
-msgid "esabf" |
498 |
-msgstr "tamsg" |
499 |
+msgid "esabif" |
500 |
+msgstr "tamsbg" |
501 |
|
502 |
--- po/id.po May 2003 17:48:28 -0000 3.10 |
503 |
+++ po/id.po Oct 2003 15:05:29 -0000 |
504 |
@@ -571,8 +571,8 @@ msgstr "Enkrip dengan: " |
505 |
#: compose.c:165 |
506 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
507 |
-msgstr "PGP (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, (b)atal? " |
508 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
509 |
+msgstr "PGP (e)nkrip, (t)andatangan, tandatangan (s)bg, ke(d)uanya, (i)nline, (b)atal? " |
510 |
|
511 |
#: compose.c:166 |
512 |
-msgid "esabf" |
513 |
-msgstr "etsdb" |
514 |
+msgid "esabif" |
515 |
+msgstr "etsdib" |
516 |
|
517 |
--- po/it.po Mar 2003 22:43:07 -0000 3.8 |
518 |
+++ po/it.po Oct 2003 15:05:29 -0000 |
519 |
@@ -581,8 +581,8 @@ msgstr "Crittografa" |
520 |
#, fuzzy |
521 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
522 |
-msgstr "cifra(e), firma(s), firma come(a), entrambi(b), annulla(f) " |
523 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
524 |
+msgstr "cifra(e), firma(s), firma come(a), entrambi(b), in l(i)nea , annulla(f) " |
525 |
|
526 |
#: compose.c:166 |
527 |
-msgid "esabf" |
528 |
-msgstr "esabf" |
529 |
+msgid "esabif" |
530 |
+msgstr "esabif" |
531 |
|
532 |
--- po/ja.po Sep 2003 17:15:20 -0000 3.17 |
533 |
+++ po/ja.po Oct 2003 15:05:30 -0000 |
534 |
@@ -568,8 +568,8 @@ msgstr " °Å¹æ²½Êý¼°: " |
535 |
#: compose.c:165 |
536 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
537 |
-msgstr "PGP (e)°Å¹æ²½,(s)½ð̾,(a)..¤È¤·¤Æ½ð̾,(b)ξ¼Ô,(f)²ò½ü?" |
538 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
539 |
+msgstr "PGP (e)°Å¹æ²½,(s)½ð̾,(a)..¤È¤·¤Æ½ð̾,(b)ξ¼Ô,(i)nline,(f)²ò½ü?" |
540 |
|
541 |
#: compose.c:166 |
542 |
-msgid "esabf" |
543 |
-msgstr "esabf" |
544 |
+msgid "esabif" |
545 |
+msgstr "esabif" |
546 |
|
547 |
--- po/ko.po Sep 2003 10:11:49 -0000 3.12 |
548 |
+++ po/ko.po Oct 2003 15:05:30 -0000 |
549 |
@@ -569,8 +569,8 @@ msgstr "¾ÏÈ£È ¹æ½Ä: " |
550 |
#: compose.c:165 |
551 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
552 |
-msgstr "PGP ¾ÏÈ£È(e), ¼¸í(s), »ç¿ë ¼¸í(a), µÑ ´Ù(b), Ãë¼Ò(f)? " |
553 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
554 |
+msgstr "PGP ¾ÏÈ£È(e), ¼¸í(s), »ç¿ë ¼¸í(a), µÑ ´Ù(b), (i)nline, Ãë¼Ò(f)? " |
555 |
|
556 |
#: compose.c:166 |
557 |
-msgid "esabf" |
558 |
-msgstr "esabf" |
559 |
+msgid "esabif" |
560 |
+msgstr "esabif" |
561 |
|
562 |
--- po/lt.po Mar 2003 22:43:07 -0000 3.8 |
563 |
+++ po/lt.po Oct 2003 15:05:30 -0000 |
564 |
@@ -577,5 +577,5 @@ msgstr "Uþðifruoti" |
565 |
#, fuzzy |
566 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
567 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
568 |
msgstr "" |
569 |
-"(u)þðifruot, pa(s)iraðyt, pasiraðyt k(a)ip, a(b)u, rinktis (m)ic algoritmà, " |
570 |
+"(u)þðifruot, pa(s)iraðyt, pasiraðyt k(a)ip, a(b)u, (l)aiðke, " |
571 |
"ar (p)amirðti?" |
572 |
@@ -584,4 +584,4 @@ msgstr "" |
573 |
#, fuzzy |
574 |
-msgid "esabf" |
575 |
-msgstr "usabmp" |
576 |
+msgid "esabif" |
577 |
+msgstr "usablp" |
578 |
|
579 |
@@ -597,4 +597,3 @@ msgid "" |
580 |
msgstr "" |
581 |
-"(u)þðifruot, pa(s)iraðyt, pasiraðyt k(a)ip, a(b)u, rinktis (m)ic algoritmà, " |
582 |
-"ar (p)amirðti?" |
583 |
+"(u)þðifruot, pa(s)iraðyt, uþðifruo(t) su, pasiraðyt k(a)ip, a(b)u, ar (p)amirðti?" |
584 |
|
585 |
@@ -603,3 +602,3 @@ msgstr "" |
586 |
msgid "eswabf" |
587 |
-msgstr "usabmp" |
588 |
+msgstr "ustabp" |
589 |
|
590 |
--- po/nl.po Sep 2003 13:09:59 -0000 3.12 |
591 |
+++ po/nl.po Oct 2003 15:05:31 -0000 |
592 |
@@ -565,8 +565,8 @@ msgstr "Versleutelen met: " |
593 |
#: compose.c:165 |
594 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
595 |
-msgstr "PGP (v)ersleutel, (o)ndertekenen, ondert. (a)ls, (b)eide, (g)een? " |
596 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
597 |
+msgstr "PGP (v)ersleutel, (o)ndertekenen, ondert. (a)ls, (b)eide, ber(i)cht, (g)een? " |
598 |
|
599 |
#: compose.c:166 |
600 |
-msgid "esabf" |
601 |
-msgstr "voabg" |
602 |
+msgid "esabif" |
603 |
+msgstr "voabig" |
604 |
|
605 |
--- po/pl.po Sep 2003 17:20:56 -0000 3.13 |
606 |
+++ po/pl.po Oct 2003 15:05:31 -0000 |
607 |
@@ -566,8 +566,8 @@ msgstr "Zaszyfruj u¿ywaj±c: " |
608 |
#: compose.c:165 |
609 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
610 |
-msgstr "PGP: (z)aszyfruj, podpi(s)z, podpisz j(a)ko, o(b)a, b(e)z PGP? " |
611 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
612 |
+msgstr "PGP: (z)aszyfruj, podpi(s)z, podpisz j(a)ko, o(b)a, (i)nline, b(e)z PGP? " |
613 |
|
614 |
#: compose.c:166 |
615 |
-msgid "esabf" |
616 |
-msgstr "zsabe" |
617 |
+msgid "esabif" |
618 |
+msgstr "zsabie" |
619 |
|
620 |
--- po/pt_BR.po Mar 2003 22:43:08 -0000 3.9 |
621 |
+++ po/pt_BR.po Oct 2003 15:05:31 -0000 |
622 |
@@ -580,5 +580,5 @@ msgstr "Encriptar" |
623 |
#, fuzzy |
624 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
625 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
626 |
msgstr "" |
627 |
-"(e)ncripa, a(s)sina, assina (c)omo, (a)mbos, escolhe (m)ic, ou es(q)uece? " |
628 |
+"(e)ncripa, a(s)sina, assina (c)omo, (a)mbos, em l(i)nha, ou es(q)uece? " |
629 |
|
630 |
@@ -586,4 +586,4 @@ msgstr "" |
631 |
#, fuzzy |
632 |
-msgid "esabf" |
633 |
-msgstr "escamq" |
634 |
+msgid "esabif" |
635 |
+msgstr "escaiq" |
636 |
|
637 |
@@ -599,3 +599,3 @@ msgid "" |
638 |
msgstr "" |
639 |
-"(e)ncripa, a(s)sina, assina (c)omo, (a)mbos, escolhe (m)ic, ou es(q)uece? " |
640 |
+"(e)ncripa, a(s)sina, e(n)cripa com, assina (c)omo, (a)mbos, ou es(q)uece? " |
641 |
|
642 |
@@ -604,3 +604,3 @@ msgstr "" |
643 |
msgid "eswabf" |
644 |
-msgstr "escamq" |
645 |
+msgstr "esncaq" |
646 |
|
647 |
--- po/ru.po Apr 2003 08:21:09 -0000 3.14 |
648 |
+++ po/ru.po Oct 2003 15:05:32 -0000 |
649 |
@@ -576,8 +576,8 @@ msgstr "úÁÛÉÆÒÏ×ÁÔØ: " |
650 |
#: compose.c:165 |
651 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
652 |
-msgstr "PGP (e)ÛÉÆÒ, (s)ÐÏÄÐÉÓØ, (a)ÐÏÄÐÉÓØ ËÁË, (b)ÏÂÁ, (f)ÏÔËÁÚÁÔØÓÑ? " |
653 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
654 |
+msgstr "PGP (e)ÛÉÆÒ, (s)ÐÏÄÐÉÓØ, (a)ÐÏÄÐÉÓØ ËÁË, (b)ÏÂÁ, (i)nline, (f)ÏÔËÁÚÁÔØÓÑ? " |
655 |
|
656 |
#: compose.c:166 |
657 |
-msgid "esabf" |
658 |
-msgstr "esabf" |
659 |
+msgid "esabif" |
660 |
+msgstr "esabif" |
661 |
|
662 |
--- po/sk.po Mar 2003 22:43:08 -0000 3.8 |
663 |
+++ po/sk.po Oct 2003 15:05:32 -0000 |
664 |
@@ -585,5 +585,5 @@ msgstr "Za¹ifruj" |
665 |
#, fuzzy |
666 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
667 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
668 |
msgstr "" |
669 |
-"(e)-¹ifr, (s)-podp, podp (a)ko, o(b)e, oznaè alg. mi(c), alebo (f)-zabudnú» " |
670 |
+"(e)-¹ifr, (s)-podp, podp (a)ko, o(b)e, (i)nline, alebo (f)-zabudnú» " |
671 |
"na to? " |
672 |
@@ -592,4 +592,4 @@ msgstr "" |
673 |
#, fuzzy |
674 |
-msgid "esabf" |
675 |
-msgstr "esabmf" |
676 |
+msgid "esabif" |
677 |
+msgstr "esabif" |
678 |
|
679 |
@@ -605,4 +605,3 @@ msgid "" |
680 |
msgstr "" |
681 |
-"(e)-¹ifr, (s)-podp, podp (a)ko, o(b)e, oznaè alg. mi(c), alebo (f)-zabudnú» " |
682 |
-"na to? " |
683 |
+"(e)-¹ifr, (s)-podp, (w)-¹ifr s, podp (a)ko, o(b)e, alebo (f)-zabudnú» na to? " |
684 |
|
685 |
@@ -611,3 +610,3 @@ msgstr "" |
686 |
msgid "eswabf" |
687 |
-msgstr "esabmf" |
688 |
+msgstr "eswabf" |
689 |
|
690 |
--- po/sv.po Mar 2003 22:43:08 -0000 3.9 |
691 |
+++ po/sv.po Oct 2003 15:05:32 -0000 |
692 |
@@ -567,8 +567,8 @@ msgstr "Kryptera med: " |
693 |
#: compose.c:165 |
694 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
695 |
-msgstr "PGP: (k)ryptera, (s)ignera, signera s(o)m, (b)åda, eller sk(i)ppa det?" |
696 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
697 |
+msgstr "PGP: (k)ryptera, (s)ignera, signera s(o)m, (b)åda, i(n)fogat, eller sk(i)ppa det?" |
698 |
|
699 |
#: compose.c:166 |
700 |
-msgid "esabf" |
701 |
-msgstr "ksobi" |
702 |
+msgid "esabif" |
703 |
+msgstr "ksobni" |
704 |
|
705 |
--- po/tr.po Mar 2003 22:43:08 -0000 3.8 |
706 |
+++ po/tr.po Oct 2003 15:05:33 -0000 |
707 |
@@ -576,5 +576,5 @@ msgstr "Þifrele" |
708 |
#, fuzzy |
709 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
710 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
711 |
msgstr "" |
712 |
-"þ(i)frele, i(m)zala, (f)arklý imzala, i(k)isi de, mi(c) algoritmini seç " |
713 |
+"þ(i)frele, i(m)zala, (f)arklý imzala, i(k)isi de, (i)nline, " |
714 |
"yoksa i(p)talmý? " |
715 |
@@ -582,4 +582,4 @@ msgstr "" |
716 |
#: compose.c:166 |
717 |
-msgid "esabf" |
718 |
-msgstr "imfkcp" |
719 |
+msgid "esabif" |
720 |
+msgstr "imfkip" |
721 |
|
722 |
--- po/uk.po Mar 2003 22:43:08 -0000 3.9 |
723 |
+++ po/uk.po Oct 2003 15:05:33 -0000 |
724 |
@@ -571,8 +571,8 @@ msgstr "ûÉÆÒÕ×ÁÎÎÑ" |
725 |
#, fuzzy |
726 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
727 |
-msgstr "ÛÉÆÒ.(e), ЦÄÐ.(s), ЦÄÐ. ÑË(a), ÕÓÅ(b) ÞÉ ×¦ÄͦÎÁ(f)? " |
728 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
729 |
+msgstr "ÛÉÆÒ.(e), ЦÄÐ.(s), ЦÄÐ. ÑË(a), ÕÓÅ(b), (i)nline ÞÉ ×¦ÄͦÎÁ(f)? " |
730 |
|
731 |
#: compose.c:166 |
732 |
-msgid "esabf" |
733 |
-msgstr "" |
734 |
+msgid "esabif" |
735 |
+msgstr "esabif" |
736 |
|
737 |
--- po/zh_CN.po Mar 2003 22:43:08 -0000 3.8 |
738 |
+++ po/zh_CN.po Oct 2003 15:05:33 -0000 |
739 |
@@ -584,5 +584,5 @@ msgstr "¼ÓÃÜ" |
740 |
#, fuzzy |
741 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
742 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
743 |
msgstr "" |
744 |
-"(e)¼ÓÃÜ, (s)Ç©Ãû, (a)ÓñðµÄÉí·ÝÇ©, (b)Á½Õß½ÔÒª, Ñ¡Ôñ (m)ic ÑÝËã·¨ »ò (f)·Å" |
745 |
+"(e)¼ÓÃÜ, (s)Ç©Ãû, (a)ÓñðµÄÉí·ÝÇ©, (b)Á½Õß½ÔÒª, (i)nline, »ò (f)·Å" |
746 |
"Æú£¿" |
747 |
@@ -590,4 +590,4 @@ msgstr "" |
748 |
#: compose.c:166 |
749 |
-msgid "esabf" |
750 |
-msgstr "" |
751 |
+msgid "esabif" |
752 |
+msgstr "esabif" |
753 |
|
754 |
--- po/zh_TW.po Mar 2003 22:43:08 -0000 3.8 |
755 |
+++ po/zh_TW.po Oct 2003 15:05:34 -0000 |
756 |
@@ -576,3 +576,3 @@ msgstr "å å¯" |
757 |
#, fuzzy |
758 |
-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " |
759 |
+msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? " |
760 |
msgstr "(1)å å¯, (2)ç°½å, (3)ç¨å¥ç身份簽, (4)å
©è
çè¦, æ (5)æ¾æ£ï¼" |
761 |
@@ -580,4 +580,4 @@ msgstr "(1)å å¯, (2)ç°½å, (3)ç¨å¥ç |
762 |
#: compose.c:166 |
763 |
-msgid "esabf" |
764 |
-msgstr "12345" |
765 |
+msgid "esabif" |
766 |
+msgstr "1234i5" |
767 |
|
219 |
|
|
|
220 |
const char *mutt_make_version (void); |