| 1 | /* $Cambridge: exim/src/src/dk.h,v 1.1 2005/03/08 15:32:02 tom Exp $ */ |
| 2 | |
| 3 | /************************************************* |
| 4 | * Exim - an Internet mail transport agent * |
| 5 | *************************************************/ |
| 6 | |
| 7 | /* Copyright (c) University of Cambridge 1995 - 2005 */ |
| 8 | /* See the file NOTICE for conditions of use and distribution. */ |
| 9 | |
| 10 | /* Code for DomainKeys support. Other DK relevant code is in |
| 11 | receive.c, transport.c and transports/smtp.c */ |
| 12 | |
| 13 | #ifdef EXPERIMENTAL_DOMAINKEYS |
| 14 | |
| 15 | #include <domainkeys.h> |
| 16 | |
| 17 | #define DK_EXIM_ADDRESS_NONE 0 |
| 18 | #define DK_EXIM_ADDRESS_FROM_FROM 1 |
| 19 | #define DK_EXIM_ADDRESS_FROM_SENDER 2 |
| 20 | |
| 21 | #define DK_EXIM_RESULT_ERR 0 |
| 22 | #define DK_EXIM_RESULT_BAD_FORMAT 1 |
| 23 | #define DK_EXIM_RESULT_NO_KEY 2 |
| 24 | #define DK_EXIM_RESULT_NO_SIGNATURE 3 |
| 25 | #define DK_EXIM_RESULT_REVOKED 4 |
| 26 | #define DK_EXIM_RESULT_NON_PARTICIPANT 5 |
| 27 | #define DK_EXIM_RESULT_GOOD 6 |
| 28 | #define DK_EXIM_RESULT_BAD 7 |
| 29 | |
| 30 | typedef struct dk_exim_verify_block { |
| 31 | int result; |
| 32 | int address_source; |
| 33 | uschar *result_string; |
| 34 | uschar *address; |
| 35 | uschar *domain; |
| 36 | uschar *local_part; |
| 37 | BOOL is_signed; |
| 38 | BOOL signsall; |
| 39 | BOOL testing; |
| 40 | } dk_exim_verify_block; |
| 41 | |
| 42 | int dk_receive_getc(void); |
| 43 | int dk_receive_ungetc(int); |
| 44 | void dk_exim_verify_init(void); |
| 45 | void dk_exim_verify_finish(void); |
| 46 | int dk_exim_verify_result(uschar **); |
| 47 | uschar *dk_exim_sign(int, uschar *, uschar *, uschar *, uschar *); |
| 48 | |
| 49 | extern dk_exim_verify_block *dk_verify_block; |
| 50 | |
| 51 | #endif |