diff options
author | Tom Kistner <tom@duncanthrax.net> | 2005-03-08 15:32:02 +0000 |
---|---|---|
committer | Tom Kistner <tom@duncanthrax.net> | 2005-03-08 15:32:02 +0000 |
commit | fb2274d4a2c4398a497fbec5cacebaab7d20a127 (patch) | |
tree | 122606197e4c69828498b14a5e00718ee3936e4e /src/src/dk.h | |
parent | b5aea5e16720f8b17bcbbf54af966ba034432db9 (diff) |
Added DomainKeys support. See doc/experimental-spec.txt for documentation.
Diffstat (limited to 'src/src/dk.h')
-rw-r--r-- | src/src/dk.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/src/dk.h b/src/src/dk.h new file mode 100644 index 000000000..0837ebc5d --- /dev/null +++ b/src/src/dk.h @@ -0,0 +1,51 @@ +/* $Cambridge: exim/src/src/dk.h,v 1.1 2005/03/08 15:32:02 tom Exp $ */ + +/************************************************* +* Exim - an Internet mail transport agent * +*************************************************/ + +/* Copyright (c) University of Cambridge 1995 - 2005 */ +/* See the file NOTICE for conditions of use and distribution. */ + +/* Code for DomainKeys support. Other DK relevant code is in + receive.c, transport.c and transports/smtp.c */ + +#ifdef EXPERIMENTAL_DOMAINKEYS + +#include <domainkeys.h> + +#define DK_EXIM_ADDRESS_NONE 0 +#define DK_EXIM_ADDRESS_FROM_FROM 1 +#define DK_EXIM_ADDRESS_FROM_SENDER 2 + +#define DK_EXIM_RESULT_ERR 0 +#define DK_EXIM_RESULT_BAD_FORMAT 1 +#define DK_EXIM_RESULT_NO_KEY 2 +#define DK_EXIM_RESULT_NO_SIGNATURE 3 +#define DK_EXIM_RESULT_REVOKED 4 +#define DK_EXIM_RESULT_NON_PARTICIPANT 5 +#define DK_EXIM_RESULT_GOOD 6 +#define DK_EXIM_RESULT_BAD 7 + +typedef struct dk_exim_verify_block { + int result; + int address_source; + uschar *result_string; + uschar *address; + uschar *domain; + uschar *local_part; + BOOL is_signed; + BOOL signsall; + BOOL testing; +} dk_exim_verify_block; + +int dk_receive_getc(void); +int dk_receive_ungetc(int); +void dk_exim_verify_init(void); +void dk_exim_verify_finish(void); +int dk_exim_verify_result(uschar **); +uschar *dk_exim_sign(int, uschar *, uschar *, uschar *, uschar *); + +extern dk_exim_verify_block *dk_verify_block; + +#endif |