#ifndef MUTT_CRYPT_H
#define MUTT_CRYPT_H
-#include "mutt.h" /* Need this to declare BODY, ADDRESS. STATE etc. */
+#include "mutt.h" /* Need this to declare BODY, address_t. STATE etc. */
#include "state.h"
/* FIXME: They should be pointer to anonymous structures for better
#define SMIMEBADSIGN (APPLICATION_SMIME | BADSIGN)
#define SMIMEOPAQUE (APPLICATION_SMIME | SIGNOPAQUE)
-
-/* WITHCRYPTO actually replaces ifdefs so make the code more readable.
- Because it is defined as a constant and known at compile time, the
- compiler can do dead code elimination and thus it behaves
- effectively as a conditional compile directive. It is set to false
- if no crypto backend is configures or to a bit vector denoting the
- configured backends. */
-#if (defined(CRYPT_BACKEND_CLASSIC_PGP) && defined(CRYPT_BACKEND_CLASSIC_SMIME)) || defined (CRYPT_BACKEND_GPGME)
-# define WithCrypto (APPLICATION_PGP | APPLICATION_SMIME)
-#elif defined(CRYPT_BACKEND_CLASSIC_PGP)
-# define WithCrypto APPLICATION_PGP
-#elif defined(CRYPT_BACKEND_CLASSIC_SMIME)
-# define WithCrypto APPLICATION_SMIME
-#else
-# define WithCrypto 0
-#endif
-
-
#define KEYFLAG_CANSIGN (1 << 0)
#define KEYFLAG_CANENCRYPT (1 << 1)
#define KEYFLAG_ISX509 (1 << 2)
int mutt_is_application_smime (BODY *);
-void mutt_signed_handler (BODY *, STATE *);
+int mutt_signed_handler (BODY *, STATE *);
int mutt_parse_crypt_hdr (char *, int);
/*-- crypt.c --*/
/* Print the current time. */
-void crypt_current_time (STATE * s, char *app_name);
+void crypt_current_time (STATE * s, const char *app_name);
/* Check out the type of encryption used and set the cached status
values if there are any. */
int crypt_pgp_decrypt_mime (FILE * a, FILE ** b, BODY * c, BODY ** d);
/* MIME handler for the application/pgp content-type. */
-void crypt_pgp_application_pgp_handler (BODY * m, STATE * s);
+int crypt_pgp_application_pgp_handler (BODY * m, STATE * s);
/* MIME handler for an PGP/MIME encrypted message. */
-void crypt_pgp_encrypted_handler (BODY * a, STATE * s);
+int crypt_pgp_encrypted_handler (BODY * a, STATE * s);
/* fixme: needs documentation. */
-void crypt_pgp_invoke_getkeys (ADDRESS * addr);
+void crypt_pgp_invoke_getkeys (address_t * addr);
/* Ask for a PGP key. */
pgp_key_t crypt_pgp_ask_for_key (char *tag, char *whatfor,
/* This routine attempts to find the keyids of the recipients of a
message. It returns NULL if any of the keys can not be found. */
-char *crypt_pgp_findkeys (ADDRESS * to, ADDRESS * cc, ADDRESS * bcc);
+char *crypt_pgp_findkeys (address_t * to, address_t * cc, address_t * bcc);
/* Create a new body with a PGP signed message from A. */
BODY *crypt_pgp_sign_message (BODY * a);
int crypt_smime_decrypt_mime (FILE * a, FILE ** b, BODY * c, BODY ** d);
/* MIME handler for the application/smime content-type. */
-void crypt_smime_application_smime_handler (BODY * m, STATE * s);
+int crypt_smime_application_smime_handler (BODY * m, STATE * s);
/* fixme: Needs documentation. */
void crypt_smime_getkeys (ENVELOPE * env);
/* This routine attempts to find the keyids of the recipients of a
message. It returns NULL if any of the keys can not be found. */
-char *crypt_smime_findkeys (ADDRESS * to, ADDRESS * cc, ADDRESS * bcc);
+char *crypt_smime_findkeys (address_t * to, address_t * cc, address_t * bcc);
/* fixme: Needs documentation. */
BODY *crypt_smime_sign_message (BODY * a);