From 74f4cb56b87554a520eb94b02b91a3ea09c8a564 Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Wed, 4 Apr 2007 01:39:04 +0200 Subject: [PATCH] more simplifications. also fix gpgme crypt menu Signed-off-by: Pierre Habouzit --- compose.c | 4 ++-- lib-crypt/crypt-gpgme.c | 46 +++++++++-------------------------------- lib-crypt/crypt.c | 21 +++++++++++++------ lib-crypt/crypt.h | 12 +++++------ 4 files changed, 33 insertions(+), 50 deletions(-) diff --git a/compose.c b/compose.c index 22af265..a5f7094 100644 --- a/compose.c +++ b/compose.c @@ -1263,7 +1263,7 @@ int mutt_compose_menu (HEADER * msg, /* structure for new message */ } msg->security = 0; } - msg->security = crypt_pgp_send_menu (msg, &menu->redraw); + msg->security = crypt_send_menu (msg, &menu->redraw, 0); redraw_crypt_lines (msg); mutt_message_hook (NULL, msg, M_SEND2HOOK); break; @@ -1277,7 +1277,7 @@ int mutt_compose_menu (HEADER * msg, /* structure for new message */ } msg->security = 0; } - msg->security = crypt_smime_send_menu (msg, &menu->redraw); + msg->security = crypt_send_menu (msg, &menu->redraw, 1); redraw_crypt_lines (msg); mutt_message_hook (NULL, msg, M_SEND2HOOK); break; diff --git a/lib-crypt/crypt-gpgme.c b/lib-crypt/crypt-gpgme.c index e575b3b..07bc706 100644 --- a/lib-crypt/crypt-gpgme.c +++ b/lib-crypt/crypt-gpgme.c @@ -6,10 +6,9 @@ * Copyright (C) 2001 Thomas Roessler * Oliver Ehli * Copyright (C) 2002, 2003, 2004 g10 Code GmbH - * - * This file is part of mutt-ng, see http://www.muttng.org/. - * It's licensed under the GNU General Public License, - * please see the file GPL in the top level source directory. + */ +/* + * Copyright © 2006 Pierre Habouzit */ #include @@ -72,17 +71,6 @@ typedef struct crypt_entry { static struct crypt_cache *id_defaults = NULL; static gpgme_key_t signature_key = NULL; -/* Show a message that a backend will be invoked. */ -void crypt_invoke_message (int type) -{ - if (type & APPLICATION_PGP) { - mutt_message _("Invoking PGP..."); - } - else if (type & APPLICATION_SMIME) { - mutt_message _("Invoking S/MIME..."); - } -} - /* * General helper functions. */ @@ -3711,7 +3699,7 @@ char *crypt_smime_findkeys (address_t * to, address_t * cc, address_t * bcc) return find_keys (to, cc, bcc, APPLICATION_SMIME); } -static int gpgme_send_menu (HEADER * msg, int *redraw, int is_smime) +int crypt_send_menu (HEADER * msg, int *redraw, int is_smime) { crypt_key_t *p; char input_signas[STRING]; @@ -3726,12 +3714,12 @@ static int gpgme_send_menu (HEADER * msg, int *redraw, int is_smime) choice = mutt_multi_choice (_ ("S/MIME (e)ncrypt, (s)ign, sign (a)s, (b)oth, (p)gp or (c)lear?"), - _("esabpfc")); + _("esabpc")); else choice = mutt_multi_choice (_ ("PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, s/(m)ime or (c)lear?"), - _("esabmfc")); + _("esabmc")); switch (choice) { case 1: /* (e)ncrypt */ @@ -3745,7 +3733,6 @@ static int gpgme_send_menu (HEADER * msg, int *redraw, int is_smime) break; case 3: /* sign (a)s */ -/* unset_option(OPTCRYPTCHECKTRUST); */ if ((p = crypt_ask_for_key (_("Sign as: "), NULL, KEYFLAG_CANSIGN, is_smime ? APPLICATION_SMIME : APPLICATION_PGP, NULL))) { @@ -3769,31 +3756,18 @@ static int gpgme_send_menu (HEADER * msg, int *redraw, int is_smime) break; case 6: /* (c)lear */ - msg->security = 0; - break; + return msg->security = 0; } - if (choice == 6 || choice == 7); - else if (is_smime) { + if (is_smime) { msg->security &= ~APPLICATION_PGP; msg->security |= APPLICATION_SMIME; - } - else { + } else { msg->security &= ~APPLICATION_SMIME; msg->security |= APPLICATION_PGP; } - return (msg->security); -} - -int crypt_pgp_send_menu(HEADER * msg, int *redraw) -{ - return gpgme_send_menu(msg, redraw, 0); -} - -int crypt_smime_send_menu(HEADER * msg, int *redraw) -{ - return gpgme_send_menu (msg, redraw, 1); + return msg->security; } int crypt_smime_verify_sender (HEADER * h) diff --git a/lib-crypt/crypt.c b/lib-crypt/crypt.c index f2e0178..a413c50 100644 --- a/lib-crypt/crypt.c +++ b/lib-crypt/crypt.c @@ -1,15 +1,14 @@ /* * Copyright notice from original mutt: * Copyright (C) 1996,1997 Michael R. Elkins - * Copyright (C) 1999-2000 Thomas Roessler + * Copyright (C) 1998-2000 Thomas Roessler * Copyright (C) 2001 Thomas Roessler * Oliver Ehli * Copyright (C) 2003 Werner Koch - * Copyright (C) 2004 g10code GmbH - * - * This file is part of mutt-ng, see http://www.muttng.org/. - * It's licensed under the GNU General Public License, - * please see the file GPL in the top level source directory. + * Copyright (C) 2002, 2003, 2004 g10 Code GmbH + */ +/* + * Copyright © 2006 Pierre Habouzit */ #include @@ -23,6 +22,16 @@ #include "copy.h" #include "crypt.h" +void crypt_invoke_message (int type) +{ + if (type & APPLICATION_PGP) { + mutt_message _("Invoking PGP..."); + } + else if (type & APPLICATION_SMIME) { + mutt_message _("Invoking S/MIME..."); + } +} + int mutt_protect (HEADER * msg, char *keylist) { BODY *pbody = NULL, *tmp_pbody = NULL; diff --git a/lib-crypt/crypt.h b/lib-crypt/crypt.h index 247232b..6f7730d 100644 --- a/lib-crypt/crypt.h +++ b/lib-crypt/crypt.h @@ -89,6 +89,12 @@ int mutt_parse_crypt_hdr (char *, int); void convert_to_7bit (BODY *); +/*-- new API --*/ + +void crypt_invoke_import(FILE *stream, int smime); +int crypt_send_menu(HEADER *msg, int *redraw, int smime); + + /*-- crypt.c --*/ /* Check out the type of encryption used and set the cached status @@ -151,10 +157,6 @@ BODY *crypt_pgp_sign_message (BODY * a); later. This is necessary for $fcc_attach. */ BODY *crypt_pgp_encrypt_message (BODY * a, char *keylist, int sign); -void crypt_invoke_import(FILE *stream, int smime); - -int crypt_pgp_send_menu (HEADER * msg, int *redraw); - /* fixme: needs documentation */ int crypt_pgp_verify_one (BODY * sigbdy, STATE * s, const char *tempf); @@ -191,8 +193,6 @@ BODY *crypt_smime_sign_message (BODY * a); /* fixme: needs documentation. */ BODY *crypt_smime_build_smime_entity (BODY * a, char *certlist); -int crypt_smime_send_menu (HEADER * msg, int *redraw); - /* fixme: needs documentation */ int crypt_smime_verify_one (BODY * sigbdy, STATE * s, const char *tempf); -- 2.20.1