Expand the documentation about the new submission mode behaviour.
[exim.git] / src / src / dk.h
CommitLineData
fb2274d4
TK
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
30typedef 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
42int dk_receive_getc(void);
43int dk_receive_ungetc(int);
44void dk_exim_verify_init(void);
45void dk_exim_verify_finish(void);
46int dk_exim_verify_result(uschar **);
47uschar *dk_exim_sign(int, uschar *, uschar *, uschar *, uschar *);
48
49extern dk_exim_verify_block *dk_verify_block;
50
51#endif