X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=crypt-mod.h;fp=crypt-mod.h;h=0000000000000000000000000000000000000000;hp=c6846f62a5a5a1e85c0822ce922beab1c796d4b7;hb=4761fa78a6dfc9437caa6e6e0aac806e50e01c83;hpb=b8c71f93b0296f815a6538182343ba67e88c0012 diff --git a/crypt-mod.h b/crypt-mod.h deleted file mode 100644 index c6846f6..0000000 --- a/crypt-mod.h +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright notice from original mutt: - * Copyright (C) 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. - */ - -#ifndef CRYPTOGRAPHY_H -#define CRYPTOGRAPHY_H - -#include "mutt.h" -#include "mutt_crypt.h" - -/* - Type defintions for crypto module functions. - */ -typedef void (*crypt_func_void_passphrase_t) (void); -typedef int (*crypt_func_valid_passphrase_t) (void); - -typedef int (*crypt_func_decrypt_mime_t) (FILE * a, FILE ** b, - BODY * c, BODY ** d); - -typedef int (*crypt_func_application_handler_t) (BODY * m, STATE * s); -typedef int (*crypt_func_encrypted_handler_t) (BODY * m, STATE * s); - -typedef void (*crypt_func_pgp_invoke_getkeys_t) (address_t * addr); -typedef int (*crypt_func_pgp_check_traditional_t) (FILE * fp, BODY * b, - int tagged_only); -typedef BODY *(*crypt_func_pgp_traditional_encryptsign_t) (BODY * a, - int flags, - char *keylist); -typedef BODY *(*crypt_func_pgp_make_key_attachment_t) (char *tempf); -typedef char *(*crypt_func_findkeys_t) (address_t * to, - address_t * cc, address_t * bcc); -typedef BODY *(*crypt_func_sign_message_t) (BODY * a); -typedef BODY *(*crypt_func_pgp_encrypt_message_t) (BODY * a, char *keylist, - int sign); -typedef void (*crypt_func_pgp_invoke_import_t) (const char *fname); -typedef int (*crypt_func_verify_one_t) (BODY * sigbdy, STATE * s, - const char *tempf); -typedef void (*crypt_func_pgp_extract_keys_from_attachment_list_t) - (FILE * fp, int tag, BODY * top); - -typedef int (*crypt_func_send_menu_t) (HEADER * msg, int *redraw); - - /* (SMIME) */ -typedef void (*crypt_func_smime_getkeys_t) (ENVELOPE * env); -typedef int (*crypt_func_smime_verify_sender_t) (HEADER * h); - -typedef BODY *(*crypt_func_smime_build_smime_entity_t) (BODY * a, - char *certlist); - -typedef void (*crypt_func_smime_invoke_import_t) (char *infile, - char *mailbox); - -typedef void (*crypt_func_init_t) (void); - - -/* - A structure to keep all crypto module fucntions together. - */ -typedef struct crypt_module_functions { - /* Common/General functions. */ - crypt_func_init_t init; - crypt_func_void_passphrase_t void_passphrase; - crypt_func_valid_passphrase_t valid_passphrase; - crypt_func_decrypt_mime_t decrypt_mime; - crypt_func_application_handler_t application_handler; - crypt_func_encrypted_handler_t encrypted_handler; - crypt_func_findkeys_t findkeys; - crypt_func_sign_message_t sign_message; - crypt_func_verify_one_t verify_one; - crypt_func_send_menu_t send_menu; - - /* PGP specific functions. */ - crypt_func_pgp_encrypt_message_t pgp_encrypt_message; - crypt_func_pgp_make_key_attachment_t pgp_make_key_attachment; - crypt_func_pgp_check_traditional_t pgp_check_traditional; - crypt_func_pgp_traditional_encryptsign_t pgp_traditional_encryptsign; - crypt_func_pgp_invoke_getkeys_t pgp_invoke_getkeys; - crypt_func_pgp_invoke_import_t pgp_invoke_import; - - crypt_func_pgp_extract_keys_from_attachment_list_t - pgp_extract_keys_from_attachment_list; - - /* S/MIME specific functions. */ - - crypt_func_smime_getkeys_t smime_getkeys; - crypt_func_smime_verify_sender_t smime_verify_sender; - crypt_func_smime_build_smime_entity_t smime_build_smime_entity; - crypt_func_smime_invoke_import_t smime_invoke_import; -} crypt_module_functions_t; - - -/* - A structure to decribe a crypto module. - */ -typedef struct crypt_module_specs { - int identifier; /* Identifying bit. */ - crypt_module_functions_t functions; -} *crypt_module_specs_t; - - - -/* - High Level crypto module interface. - */ - -void crypto_module_register (crypt_module_specs_t specs); -crypt_module_specs_t crypto_module_lookup (int identifier); - -/* If the crypto module identifier by IDENTIFIER has been registered, - call its function FUNC. Do nothing else. This may be used as an - expression. */ -#define CRYPT_MOD_CALL_CHECK(identifier, func) \ - (crypto_module_lookup (APPLICATION_ ## identifier) \ - && (crypto_module_lookup (APPLICATION_ ## identifier))->functions.func) - -/* Call the function FUNC in the crypto module identified by - IDENTIFIER. This may be used as an expression. */ -#define CRYPT_MOD_CALL(identifier, func) \ - *(crypto_module_lookup (APPLICATION_ ## identifier))->functions.func - -#endif