diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:44:07 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 09:44:07 +0000 |
commit | 39ce00b8d520cbecbd6af87257e8fb11df0ec273 (patch) | |
tree | 4c21a2674c19e5c44be3b3550b476b9e63d8ae3d /src/dmarc.h | |
parent | Initial commit. (diff) | |
download | exim4-upstream/4.94.2.tar.xz exim4-upstream/4.94.2.zip |
Adding upstream version 4.94.2.upstream/4.94.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/dmarc.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/dmarc.h b/src/dmarc.h new file mode 100644 index 0000000..c94d939 --- /dev/null +++ b/src/dmarc.h @@ -0,0 +1,61 @@ +/************************************************* +* Exim - an Internet mail transport agent * +*************************************************/ + +/* Experimental DMARC support. + Copyright (c) Todd Lyons <tlyons@exim.org> 2012 - 2014 + License: GPL */ + +/* Portions Copyright (c) 2012, 2013, The Trusted Domain Project; + All rights reserved, licensed for use per LICENSE.opendmarc. */ + +#ifdef SUPPORT_DMARC + +# include "opendmarc/dmarc.h" +# ifdef SUPPORT_SPF +# include "spf2/spf.h" +# endif /* SUPPORT_SPF */ + +/* prototypes */ +int dmarc_init(); +int dmarc_store_data(header_line *); +int dmarc_process(); +uschar *dmarc_exim_expand_query(int); +uschar *dmarc_exim_expand_defaults(int); +uschar *dmarc_auth_results_header(header_line *,uschar *); +static int dmarc_write_history_file(); + +#define DMARC_AR_HEADER US"Authentication-Results:" +#define DMARC_VERIFY_STATUS 1 + +#define DMARC_HIST_OK 1 +#define DMARC_HIST_DISABLED 2 +#define DMARC_HIST_EMPTY 3 +#define DMARC_HIST_FILE_ERR 4 +#define DMARC_HIST_WRITE_ERR 5 + +/* From opendmarc.c */ +#define DMARC_RESULT_REJECT 0 +#define DMARC_RESULT_DISCARD 1 +#define DMARC_RESULT_ACCEPT 2 +#define DMARC_RESULT_TEMPFAIL 3 +#define DMARC_RESULT_QUARANTINE 4 + +/* From opendmarc-ar.h */ +/* ARES_RESULT_T -- type for specifying an authentication result */ +#define ARES_RESULT_UNDEFINED (-1) +#define ARES_RESULT_PASS 0 +#define ARES_RESULT_UNUSED 1 +#define ARES_RESULT_SOFTFAIL 2 +#define ARES_RESULT_NEUTRAL 3 +#define ARES_RESULT_TEMPERROR 4 +#define ARES_RESULT_PERMERROR 5 +#define ARES_RESULT_NONE 6 +#define ARES_RESULT_FAIL 7 +#define ARES_RESULT_POLICY 8 +#define ARES_RESULT_NXDOMAIN 9 +#define ARES_RESULT_SIGNED 10 +#define ARES_RESULT_UNKNOWN 11 +#define ARES_RESULT_DISCARD 12 + +#endif /* SUPPORT_DMARC */ |