Update version number and copyright year.
[exim.git] / src / src / dk.h
1 /* $Cambridge: exim/src/src/dk.h,v 1.3 2007/01/08 10:50:18 ph10 Exp $ */
2
3 /*************************************************
4 *     Exim - an Internet mail transport agent    *
5 *************************************************/
6
7 /* Copyright (c) University of Cambridge 1995 - 2007 */
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