#include "mutt.h"
#include "crypt.h"
-#include "crypt-mod.h"
-
-/*
- Generic
-*/
-
-extern struct crypt_module_specs crypt_mod_pgp_gpgme;
-extern struct crypt_module_specs crypt_mod_smime_gpgme;
+#include "crypt-gpgme.h"
+
+struct crypt_module_specs crypt_mod_SMIME_gpgme = {
+ smime_gpgme_init,
+ smime_gpgme_decrypt_mime,
+ smime_gpgme_application_handler,
+ NULL, /* encrypted_handler */
+ smime_gpgme_findkeys,
+ smime_gpgme_sign_message,
+ smime_gpgme_verify_one,
+ smime_gpgme_send_menu,
+
+ NULL, /* pgp_encrypt_message */
+ NULL, /* pgp_make_key_attachment */
+ NULL, /* pgp_check_traditional */
+ NULL, /* pgp_traditional_encryptsign */
+ NULL, /* pgp_invoke_getkeys */
+ NULL, /* pgp_invoke_import */
+ NULL, /* pgp_extract_keys_from_attachment_list */
+
+ NULL, /* smime_getkeys */
+ smime_gpgme_verify_sender,
+ smime_gpgme_build_smime_entity,
+ NULL, /* smime_invoke_import */
+};
+
+struct crypt_module_specs crypt_mod_PGP_gpgme = {
+ pgp_gpgme_init,
+ pgp_gpgme_decrypt_mime,
+ pgp_gpgme_application_handler,
+ pgp_gpgme_encrypted_handler,
+ pgp_gpgme_findkeys,
+ pgp_gpgme_sign_message,
+ pgp_gpgme_verify_one,
+ pgp_gpgme_send_menu,
+
+ /* PGP specific. */
+ pgp_gpgme_encrypt_message,
+ NULL, /* pgp_make_key_attachment, */
+ pgp_gpgme_check_traditional,
+ NULL, /* pgp_traditional_encryptsign */
+ NULL, /* pgp_invoke_getkeys */
+ pgp_gpgme_invoke_import, /* pgp_invoke_import */
+ pgp_gpgme_from_attachment_list,
+ /* pgp_extract_keys_from_attachment_list */
+
+ NULL, /* smime_getkeys */
+ NULL, /* smime_verify_sender */
+ NULL, /* smime_build_smime_entity */
+ NULL, /* smime_invoke_import */
+};
void crypt_init (void)
{
- crypto_module_register (&crypt_mod_pgp_gpgme);
- crypto_module_register (&crypt_mod_smime_gpgme);
-
(CRYPT_MOD_CALL(PGP, init))();
- (CRYPT_MOD_CALL (SMIME, init)) ();
+ (CRYPT_MOD_CALL(SMIME, init))();
}
/* Show a message that a backend will be invoked. */
}
-/*
-
- PGP
-
-*/
-
+/* PGP */
/* Decrypt a PGP/MIME message. */
int crypt_pgp_decrypt_mime (FILE * a, FILE ** b, BODY * c, BODY ** d)