diff options
Diffstat (limited to 'mail/mutt-devel/files/extra-patch-pgp-dw')
-rw-r--r-- | mail/mutt-devel/files/extra-patch-pgp-dw | 1072 |
1 files changed, 741 insertions, 331 deletions
diff --git a/mail/mutt-devel/files/extra-patch-pgp-dw b/mail/mutt-devel/files/extra-patch-pgp-dw index d31fdd78f693..c6fb1044cb49 100644 --- a/mail/mutt-devel/files/extra-patch-pgp-dw +++ b/mail/mutt-devel/files/extra-patch-pgp-dw @@ -1,357 +1,767 @@ ---- PATCHES Wed Mar 19 22:33:37 2003 -+++ PATCHES Thu Mar 20 21:38:55 2003 -@@ -0,0 +1,3 @@ -+patch-1.5.4.dw.confirm-crypt-hook.1 -+patch-1.5.4.dw.multiple-crypt-hook.2 -+patch-1.5.4.dw.crypt-autoselectkey.1 ---- doc/manual.sgml.head Tue Mar 4 08:49:49 2003 -+++ doc/manual.sgml.head Thu Mar 20 21:38:47 2003 -@@ -1422,7 +1422,9 @@ - or because, for some reasons, you need to override the key Mutt would - normally use. The crypt-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. - - The meaning of "key id" is to be taken broadly in this context: You - can either put a numerical key ID here, an e-mail address, or even ---- doc/muttrc.man.head.orig Sun Dec 22 20:50:22 2002 -+++ doc/muttrc.man.head Sat Mar 22 23:43:27 2003 -@@ -288,3 +288,6 @@ - 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 ---- hook.c Tue Jan 21 13:25:21 2003 -+++ hook.c Thu Mar 20 21:38:47 2003 -@@ -117,7 +117,11 @@ - 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_REPLYHOOK | M_CRYPTHOOK)) -+#else - if (data & (M_FOLDERHOOK | M_SENDHOOK | M_MESSAGEHOOK | M_ACCOUNTHOOK | M_REPLYHOOK)) -+#endif - { - /* these hooks allow multiple commands with the same - * pattern, so if we've already seen this pattern/command pair, just -@@ -443,9 +447,25 @@ - return _mutt_string_hook (chs, M_ICONVHOOK); - } - --char *mutt_crypt_hook (ADDRESS *adr) -+LIST *mutt_crypt_hook (ADDRESS *adr) +http://www.woolridge.ca/mutt/patches/p0-patch-1.5.x.dw.pgp-menu-traditional.2 +--- PATCHES Dec 2002 17:44:54 -0000 3.6 ++++ PATCHES Oct 2003 15:05:24 -0000 +@@ -0,0 +1 @@ ++patch-1.5.x.dw.pgp-menu-traditional.2 +--- compose.c.orig Thu Nov 6 08:28:10 2003 ++++ compose.c Thu Nov 6 08:32:17 2003 +@@ -131,6 +131,13 @@ + addstr (_("Sign")); + else + addstr (_("Clear")); ++ ++ if ((WithCrypto & APPLICATION_PGP)) ++ if ((msg->security & (ENCRYPT | SIGN))) ++ if ((msg->security & INLINE)) ++ addstr (_(" (inline)")); ++ else ++ addstr (_(" (PGP/MIME)")); + clrtoeol (); + + move (HDR_CRYPTINFO, 0); +@@ -156,21 +163,25 @@ + + static int pgp_send_menu (HEADER *msg, int *redraw) { -- return _mutt_string_hook (adr->mailbox, M_CRYPTHOOK); -+ HOOK *hook; -+ LIST *key_list = NULL; ++ int use_autoinline = 0; + pgp_key_t p; + char input_signas[SHORT_STRING]; + + if (!(WithCrypto & APPLICATION_PGP)) + return msg->security; + +- 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; + -+ if (!adr && !adr->mailbox) -+ return (NULL); ++ switch (mutt_multi_choice (_("PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (f)orget it? "), ++ _("esabif"))) + { + case 1: /* (e)ncrypt */ +- msg->security |= ENCRYPT; ++ msg->security ^= ENCRYPT; + break; + + case 2: /* (s)ign */ +- msg->security |= SIGN; ++ msg->security ^= SIGN; + break; + + case 3: /* sign (a)s */ +@@ -197,18 +208,38 @@ + break; + + case 4: /* (b)oth */ +- msg->security = ENCRYPT | SIGN; ++ if ((msg->security & (ENCRYPT | SIGN)) == (ENCRYPT | SIGN)) ++ msg->security = 0; ++ else ++ msg->security |= (ENCRYPT | SIGN); ++ break; + -+ for (hook = Hooks; hook; hook = hook->next) ++ case 5: /* (i)nline */ ++ if ((msg->security & (ENCRYPT | SIGN))) ++ msg->security ^= INLINE; ++ else ++ msg->security &= ~INLINE; + break; + +- case 5: /* (f)orget it */ ++ case 6: /* (f)orget it */ + msg->security = 0; + break; + } + +- if (msg->security && msg->security != APPLICATION_PGP) +- msg->security |= APPLICATION_PGP; +- else +- msg->security = 0; ++ if (msg->security) + { -+ if (!hook->command) -+ continue; -+ if (!(hook->type & M_CRYPTHOOK)) -+ continue; ++ if (! (msg->security & (ENCRYPT | SIGN))) ++ { ++ msg->security = 0; ++ } ++ else ++ { ++ msg->security |= APPLICATION_PGP; + -+ if ((regexec (hook->rx.rx, adr->mailbox, 0, NULL, 0) == 0) ^ hook->rx.not) -+ key_list = mutt_add_list (key_list, hook->command); ++ if (use_autoinline && option (OPTPGPAUTOINLINE)) ++ msg->security |= INLINE; ++ } + } -+ return (key_list); - } - - #ifdef USE_SOCKET ---- init.h Tue Mar 4 10:28:12 2003 -+++ init.h Thu Mar 20 21:38:55 2003 -@@ -1192,6 +1192,16 @@ - ** when you are at the end of a message and invoke the \fInext-page\fP - ** function. - */ -+ + + if(*redraw) + redraw_crypt_lines (msg); +--- crypt.c Sep 2003 13:03:25 -0000 3.19 ++++ crypt.c Oct 2003 15:05:24 -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?"))) != M_YES) ++ return -1; ++ ++ /* go ahead with PGP/MIME */ + } +@@ -391,2 +376,5 @@ int mutt_is_application_pgp (BODY *m) + } ++ if (t) ++ t |= PGPINLINE; + -+ { "pgp_autoselectkey", DT_SYN, R_NONE, UL "crypt_autoselectkey", 0 }, -+ { "crypt_autoselectkey", DT_BOOL, R_NONE, OPTCRYPTAUTOSELECT, 0 }, + return t; +--- init.h Sep 2003 15:10:09 -0000 3.40 ++++ init.h Oct 2003 15:05:25 -0000 +@@ -1380,2 +1380,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 -+ ** 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 }, - { "crypt_autosign", DT_BOOL, R_NONE, OPTCRYPTAUTOSIGN, 0 }, - /* -@@ -1216,6 +1226,15 @@ - ** then OpenSSL is used instead to create S/MIME messages and - ** settings can be overridden by use of the \fIsmime-menu\fP. - ** (Crypto only) ++ ** 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_confirmhook", DT_SYN, R_NONE, UL "crypt_confirmhook", 1 }, -+ { "crypt_confirmhook", DT_BOOL, R_NONE, OPTCRYPTCONFIRMHOOK, 1 }, ++ { "pgp_auto_traditional", DT_SYN, R_NONE, UL "pgp_replyinline", 0 }, ++ { "pgp_replyinline", DT_BOOL, R_NONE, OPTPGPREPLYINLINE, 0 }, + /* + ** .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. ++ ** 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 }, +@@ -1429,11 +1471,8 @@ struct option_t MuttVars[] = { */ - { "pgp_ignore_subkeys", DT_BOOL, R_NONE, OPTPGPIGNORESUB, 1}, +- { "pgp_create_traditional", DT_QUAD, R_NONE, OPT_PGPTRADITIONAL, M_NO }, ++ { "pgp_mime_ask", DT_QUAD, R_NONE, OPT_PGPMIMEASK, M_NO }, /* ---- mutt.h Tue Mar 4 08:49:48 2003 -+++ mutt.h Thu Mar 20 21:38:55 2003 -@@ -425,6 +425,7 @@ - - /* PGP options */ - -+ OPTCRYPTAUTOSELECT, - OPTCRYPTAUTOSIGN, - OPTCRYPTAUTOENCRYPT, - OPTCRYPTREPLYENCRYPT, -@@ -434,6 +435,7 @@ - OPTSMIMEISDEFAULT, - OPTASKCERTLABEL, - OPTSDEFAULTDECRYPTKEY, -+ OPTCRYPTCONFIRMHOOK, - OPTPGPIGNORESUB, + ** .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 +@@ -1441,19 +1480,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 Oct 2003 20:34:59 -0000 3.21 ++++ mutt.h Oct 2003 15:05:25 -0000 +@@ -276,2 +276,3 @@ enum + OPT_MOVE, ++ OPT_PGPMIMEASK, /* ask to revert to PGP/MIME when inline fails */ + OPT_PGPTRADITIONAL, /* create old-style PGP messages */ +@@ -443,3 +444,2 @@ enum OPTPGPLONGIDS, - OPTPGPAUTOTRAD, ---- pgp.c Tue Feb 25 22:28:54 2003 -+++ pgp.c Thu Mar 20 21:40:39 2003 -@@ -1014,6 +1014,8 @@ - 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; -@@ -1047,70 +1049,97 @@ - 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; -+ 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, M_YES)) == M_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); +- OPTPGPAUTOTRAD, + #if 0 +@@ -451,2 +451,4 @@ enum + OPTPGPSHOWUNUSABLE, ++ OPTPGPAUTOINLINE, ++ OPTPGPREPLYINLINE, -- 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); +@@ -632,4 +634,4 @@ typedef struct header + { +- unsigned int security : 7; /* bit 0-4: flags, bit 5,6: application. +- see: crypt.h pgplib.h, smime.h */ ++ unsigned int security : 9; /* bit 0-6: flags, bit 7,8: application. ++ see: mutt_crypt.h */ -- 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 ((void **)&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 ((void **)&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); -+ -+ if (!hook_list) -+ break; -+ -+ hook = hook->next; -+ if (!hook) -+ break; +--- mutt_crypt.h Jan 2003 23:54:30 -0000 3.4 ++++ mutt_crypt.h Oct 2003 15:05:25 -0000 +@@ -35,7 +35,9 @@ + #define GOODSIGN (1 << 2) +-#define BADSIGN (1 << 3) /* FIXME: value also used below for PGPKEY */ ++#define BADSIGN (1 << 3) + #define SIGNOPAQUE (1 << 4) ++#define KEYBLOCK (1 << 5) /* KEY too generic? */ ++#define INLINE (1 << 6) -- pgp_free_key (&key); -- rfc822_free_address (&addr); -+ } -+ mutt_free_list (&hook_list); +-#define APPLICATION_PGP (1 << 5) +-#define APPLICATION_SMIME (1 << 6) ++#define APPLICATION_PGP (1 << 7) ++#define APPLICATION_SMIME (1 << 8) - } - rfc822_free_address (&tmp); ---- pgpkey.c Tue Jan 21 13:25:21 2003 -+++ pgpkey.c Thu Mar 20 21:38:32 2003 -@@ -435,8 +435,13 @@ - return rv; - } +@@ -44,3 +46,4 @@ + #define PGPGOODSIGN (APPLICATION_PGP | GOODSIGN) +-#define PGPKEY (APPLICATION_PGP | (1 << 3)) ++#define PGPKEY (APPLICATION_PGP | KEYBLOCK) ++#define PGPINLINE (APPLICATION_PGP | INLINE) -+ -+#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) - { - int keymax; - pgp_uid_t **KeyTable; -@@ -450,6 +455,7 @@ - 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 @@ - - KeyTable[i++] = a; - } -+ keymatch++; - } +@@ -103,3 +106,3 @@ typedef struct pgp_keyinfo *pgp_key_t; - if (!i && unusable) -@@ -487,6 +494,21 @@ - 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)) +-int mutt_protect (HEADER *, HEADER *, char *); ++int mutt_protect (HEADER *, char *); + +--- postpone.c Sep 2003 17:22:09 -0000 3.9 ++++ postpone.c Oct 2003 15:05:25 -0000 +@@ -486,2 +486,7 @@ int mutt_parse_crypt_hdr (char *p, int s + ++ case 'i': ++ case 'I': ++ pgp |= INLINE; ++ break; ++ + default: +--- send.c Sep 2003 12:56:49 -0000 3.26 ++++ send.c Oct 2003 15:05:25 -0000 +@@ -1256,3 +1256,10 @@ ci_send_message (int flags, /* send mod + msg->security |= SIGN; +- } ++ if (WithCrypto & APPLICATION_PGP && (msg->security & (ENCRYPT | SIGN))) + { -+ safe_free ((void **) &KeyTable); -+ return (kp); ++ if (option (OPTPGPAUTOINLINE)) ++ msg->security |= INLINE; ++ if (option (OPTPGPREPLYINLINE) && cur && (cur->security & INLINE)) ++ msg->security |= INLINE; + } + } -+ } - switch (PgpSortKeys & SORT_MASK) - { -@@ -597,9 +619,7 @@ - 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])) +@@ -1494,3 +1501,3 @@ main_loop: + if ((crypt_get_keys (msg, &pgpkeylist) == -1) || +- mutt_protect (msg, cur, pgpkeylist) == -1) ++ mutt_protect (msg, pgpkeylist) == -1) { - char *s = ""; - char buff[LONG_STRING]; ---- protos.h Thu Mar 6 22:24:46 2003 -+++ protos.h Thu Mar 20 21:38:47 2003 -@@ -129,7 +129,7 @@ - char *mutt_get_body_charset (char *, size_t, BODY *); - 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); - - const char *mutt_make_version (void); +@@ -1574,3 +1581,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 Oct 2003 15:05:25 -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); +--- po/ca.po Apr 2003 11:00:59 -0000 3.10 ++++ po/ca.po Oct 2003 15:05:26 -0000 +@@ -602,10 +602,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, si(g)na 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, si(g)na com a, (a)mbds, en (l)nia, o en (c)lar + #: compose.c:166 +-msgid "esabf" +-msgstr "xsgac" ++msgid "esabif" ++msgstr "xsgalc" + +--- po/cs.po Mar 2003 22:43:06 -0000 3.8 ++++ po/cs.po Oct 2003 15:05:26 -0000 +@@ -687,4 +687,4 @@ msgstr "Zaifrovat" + #, fuzzy +-msgid "PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, or (f)orget it? " +-msgstr "()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 "()ifrovat, (p)odepsat, podepsat (j)ako, (o)boj, p(m), i (n)ic?" + +@@ -692,4 +692,4 @@ msgstr "()ifrovat, (p)odepsat, podepsat + #: compose.c:166 +-msgid "esabf" +-msgstr "pjon" ++msgid "esabif" ++msgstr "pjomn" + +--- po/da.po Mar 2003 22:43:06 -0000 3.8 ++++ po/da.po Oct 2003 15:05:26 -0000 +@@ -577,8 +577,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 Apr 2003 08:31:00 -0000 3.11 ++++ po/de.po Oct 2003 15:05:27 -0000 +@@ -568,8 +568,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 Mar 2003 22:43:06 -0000 3.9 ++++ po/el.po Oct 2003 15:05:27 -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 May 2003 17:48:28 -0000 3.9 ++++ po/eo.po Oct 2003 15:05:27 -0000 +@@ -570,8 +570,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 Apr 2003 10:18:15 -0000 3.11 ++++ po/es.po Oct 2003 15:05:27 -0000 +@@ -575,4 +575,5 @@ 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? " ++ + +@@ -580,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 Mar 2003 22:43:07 -0000 3.10 ++++ po/et.po Oct 2003 15:05:28 -0000 +@@ -570,8 +570,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 Apr 2003 08:38:13 -0000 3.19 ++++ po/fr.po Oct 2003 15:05:28 -0000 +@@ -594,8 +594,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 Mar 2003 22:43:07 -0000 3.8 ++++ po/gl.po Oct 2003 15:05:28 -0000 +@@ -579,8 +579,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 Aug 2003 11:01:09 -0000 3.9 ++++ po/hu.po Oct 2003 15:05:29 -0000 +@@ -563,8 +563,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 May 2003 17:48:28 -0000 3.10 ++++ po/id.po Oct 2003 15:05:29 -0000 +@@ -571,8 +571,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 Mar 2003 22:43:07 -0000 3.8 ++++ po/it.po Oct 2003 15:05:29 -0000 +@@ -581,8 +581,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 Sep 2003 17:15:20 -0000 3.17 ++++ po/ja.po Oct 2003 15:05:30 -0000 +@@ -568,8 +568,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 Sep 2003 10:11:49 -0000 3.12 ++++ po/ko.po Oct 2003 15:05:30 -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/lt.po Mar 2003 22:43:07 -0000 3.8 ++++ po/lt.po Oct 2003 15:05:30 -0000 +@@ -577,5 +577,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?" +@@ -584,4 +584,4 @@ msgstr "" + #, fuzzy +-msgid "esabf" +-msgstr "usabmp" ++msgid "esabif" ++msgstr "usablp" + +@@ -597,4 +597,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?" + +@@ -603,3 +602,3 @@ msgstr "" + msgid "eswabf" +-msgstr "usabmp" ++msgstr "ustabp" + +--- po/nl.po Sep 2003 13:09:59 -0000 3.12 ++++ po/nl.po Oct 2003 15:05:31 -0000 +@@ -565,8 +565,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)eide, (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)eide, ber(i)cht, (g)een? " + + #: compose.c:166 +-msgid "esabf" +-msgstr "voabg" ++msgid "esabif" ++msgstr "voabig" + +--- po/pl.po Sep 2003 17:20:56 -0000 3.13 ++++ po/pl.po Oct 2003 15:05:31 -0000 +@@ -566,8 +566,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 Mar 2003 22:43:08 -0000 3.9 ++++ po/pt_BR.po Oct 2003 15:05:31 -0000 +@@ -580,5 +580,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? " + +@@ -586,4 +586,4 @@ msgstr "" + #, fuzzy +-msgid "esabf" +-msgstr "escamq" ++msgid "esabif" ++msgstr "escaiq" + +@@ -599,3 +599,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? " + +@@ -604,3 +604,3 @@ msgstr "" + msgid "eswabf" +-msgstr "escamq" ++msgstr "esncaq" + +--- po/ru.po Apr 2003 08:21:09 -0000 3.14 ++++ po/ru.po Oct 2003 15:05:32 -0000 +@@ -576,8 +576,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 Mar 2003 22:43:08 -0000 3.8 ++++ po/sk.po Oct 2003 15:05:32 -0000 +@@ -585,5 +585,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? " +@@ -592,4 +592,4 @@ msgstr "" + #, fuzzy +-msgid "esabf" +-msgstr "esabmf" ++msgid "esabif" ++msgstr "esabif" + +@@ -605,4 +605,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? " + +@@ -611,3 +610,3 @@ msgstr "" + msgid "eswabf" +-msgstr "esabmf" ++msgstr "eswabf" + +--- po/sv.po Mar 2003 22:43:08 -0000 3.9 ++++ po/sv.po Oct 2003 15:05:32 -0000 +@@ -567,8 +567,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 Mar 2003 22:43:08 -0000 3.8 ++++ po/tr.po Oct 2003 15:05:33 -0000 +@@ -576,5 +576,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? " +@@ -582,4 +582,4 @@ msgstr "" + #: compose.c:166 +-msgid "esabf" +-msgstr "imfkcp" ++msgid "esabif" ++msgstr "imfkip" + +--- po/uk.po Mar 2003 22:43:08 -0000 3.9 ++++ po/uk.po Oct 2003 15:05:33 -0000 +@@ -571,8 +571,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 Mar 2003 22:43:08 -0000 3.8 ++++ po/zh_CN.po Oct 2003 15:05:33 -0000 +@@ -584,5 +584,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)" + "" +@@ -590,4 +590,4 @@ msgstr "" + #: compose.c:166 +-msgid "esabf" +-msgstr "" ++msgid "esabif" ++msgstr "esabif" + +--- po/zh_TW.po Mar 2003 22:43:08 -0000 3.8 ++++ po/zh_TW.po Oct 2003 15:05:34 -0000 +@@ -576,3 +576,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)放棄?" +@@ -580,4 +580,4 @@ msgstr "(1)加密, (2)簽名, (3)用別 + #: compose.c:166 +-msgid "esabf" +-msgstr "12345" ++msgid "esabif" ++msgstr "1234i5" + |