comparison include/dcc_xhdr.h @ 0:c7f6b056b673

First import of vendor version
author Peter Gervai <grin@grin.hu>
date Tue, 10 Mar 2009 13:49:58 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:c7f6b056b673
1 /* Distributed Checksum Clearinghouse
2 *
3 * X-DCC-Warning header definitions
4 *
5 * Copyright (c) 2008 by Rhyolite Software, LLC
6 *
7 * This agreement is not applicable to any entity which sells anti-spam
8 * solutions to others or provides an anti-spam solution as part of a
9 * security solution sold to other entities, or to a private network
10 * which employs the DCC or uses data provided by operation of the DCC
11 * but does not provide corresponding data to other users.
12 *
13 * Permission to use, copy, modify, and distribute this software without
14 * changes for any purpose with or without fee is hereby granted, provided
15 * that the above copyright notice and this permission notice appear in all
16 * copies and any distributed versions or copies are either unchanged
17 * or not called anything similar to "DCC" or "Distributed Checksum
18 * Clearinghouse".
19 *
20 * Parties not eligible to receive a license under this agreement can
21 * obtain a commercial license to use DCC by contacting Rhyolite Software
22 * at sales@rhyolite.com.
23 *
24 * A commercial license would be for Distributed Checksum and Reputation
25 * Clearinghouse software. That software includes additional features. This
26 * free license for Distributed ChecksumClearinghouse Software does not in any
27 * way grant permision to use Distributed Checksum and Reputation Clearinghouse
28 * software
29 *
30 * THE SOFTWARE IS PROVIDED "AS IS" AND RHYOLITE SOFTWARE, LLC DISCLAIMS ALL
31 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
32 * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL RHYOLITE SOFTWARE, LLC
33 * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
34 * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
35 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
36 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
37 * SOFTWARE.
38 *
39 * Rhyolite Software DCC 1.3.103-1.66 $Revision$
40 */
41
42 #ifndef DCC_XHDR_H
43 #define DCC_XHDR_H
44
45 /* the DCC SMTP X- header is of the form
46 *
47 * X-DCC-name-Metrics: host_addr server-ID; [bulk] cknm1=cnt1 cknm2=cnt2 ...
48 *
49 * where
50 * chost is the FQDN of the DCC client that added the header
51 * server-ID is the ID of the DCC server providing the counts
52 * cknm1, cknm2, ... are names of checksums
53 * cnt1, cnt2, ... are counts or special counts
54 */
55 #define DCC_XHDR_START "X-DCC-"
56 #define DCC_XHDR_END "-Metrics"
57 #define DCC_XHDR_PAT DCC_XHDR_START"%.*s"DCC_XHDR_END
58
59 /* minimum length of X-DCC field name */
60 #define DCC_XHDR_WHITELIST_FNAME_LEN LITZ(DCC_XHDR_START DCC_XHDR_END)
61
62 #define DCC_XHDR_BULK "bulk"
63 #define DCC_XHDR_BULK_REP "bulk rep"
64 #define DCC_XHDR_WHITELIST "whitelist"
65
66 #define DCC_XHDR_REPORTED "reported:" /* header for block of checksums */
67
68 /* names of checksums */
69 #define DCC_XHDR_TYPE_IP "IP" /* binary source IP addr */
70 #define DCC_XHDR_TYPE_ENV_FROM "env_From" /* envelope Mail From */
71 #define DCC_XHDR_TYPE_FROM "From" /* header line */
72 #define DCC_XHDR_TYPE_SUB "substitute" /* random header line */
73 #define DCC_XHDR_TYPE_MESSAGE_ID "Message-ID" /* header line */
74 #define DCC_XHDR_TYPE_RECEIVED "Received" /* last header line */
75 #define DCC_XHDR_TYPE_BODY "Body" /* body */
76 #define DCC_XHDR_TYPE_FUZ1 "Fuz1" /* filtered body */
77 #define DCC_XHDR_TYPE_FUZ2 "Fuz2" /* " " */
78 #define DCC_XHDR_TYPE_GREY_MSG "Grey_Msg" /* greylist msg checksum */
79 #define DCC_XHDR_TYPE_GREY_TRIPLE "Grey3" /* greylist triple cksum */
80 #define DCC_XHDR_TYPE_REP_TOTAL "rep-total"
81 #define DCC_XHDR_TYPE_REP_BULK "rep"
82 #define DCC_XHDR_TYPE_SRVR_ID "server-ID"
83 #define DCC_XHDR_TYPE_ENV_TO "env_To" /* envelope Rcpt To */
84 #define DCC_XHDR_TYPE_FLOD_PATH "flood path"
85 #define DCC_XHDR_MAX_TYPE_LEN (ISZ("unknown xxx"))
86
87 /* special target values */
88 #define DCC_XHDR_TOO_MANY "many" /* too many targets to number */
89 #define DCC_XHDR_THOLD_NEVER "never"
90 #define DCC_XHDR_GREY_PASS "pass" /* embargo has ended */
91 #define DCC_XHDR_OK "ok" /* certified not spam */
92 #define DCC_XHDR_OK2 "ok2" /* half certified not spam */
93 #define DCC_XHDR_OK_MX "mx" /* semi-trusted MX server */
94 #define DCC_XHDR_OK_MXDCC "mxdcc" /* semi-trusted MX server w/DCC */
95 #define DCC_XHDR_SUBMIT_CLIENT "submit" /* SMTP submission client */
96 #define DCC_XHDR_DEL "del-req" /* delete request */
97 #define DCC_XHDR_TGTS_REP_ADJ "rep-adj" /* adjust reputation total */
98 #define DCC_XHDR_INVALID "-"
99 #define DCC_XHDR_MAX_TGTS_LEN 12
100
101 /* special server-IDs */
102 #define DCC_XHDR_ID_INVALID "invalid" /* DCC_ID_INVALID */
103 #define DCC_XHDR_ID_ANON "anon" /* DCC_ID_ANON */
104 #define DCC_XHDR_ID_WHITE DCC_XHDR_WHITELIST /* DCC_ID_WHITE */
105 #define DCC_XHDR_ID_COMP "compressed" /* DCC_ID_COMP */
106 #define DCC_XHDR_ID_DELETED "deleted" /* DCC_ID_DELETED */
107 #define DCC_XHDR_ID_SIMPLE "simple" /* DCC_ID_SRVR_SIMPLE */
108 #define DCC_XHDR_ID_REP_OK "commercial" /* DCC_ID_SRVR_REP_OK */
109 #define DCC_XHDR_ID_IGNORE "ignore" /* DCC_ID_SRVR_IGNORE */
110 #define DCC_XHDR_ID_ROGUE "rogue" /* DCC_ID_SRVR_ROGUE */
111
112 #define DCC_XHDR_REJ_DATA_MSG "rejection message: "
113 #define DCC_XHDR_RESULT "result: "
114 #define DCC_XHDR_RESULT_I_A "ignore and accept"
115 #define DCC_XHDR_RESULT_A_GREY "after greylist embargo"
116 #define DCC_XHDR_RESULT_DISCARD "discard"
117 #define DCC_XHDR_RESULT_ACCEPT "accept"
118 #define DCC_XHDR_RESULT_REJECT "reject"
119 #define DCC_XHDR_RESULT_FORCED " forced by other recipients"
120 #define DCC_XHDR_RESULT_DCC_FAIL "DCC failure"
121 #define DCC_XHDR_REJ_RCPT_MSG "Rcpt To rejected with: "
122 #define DCC_XHDR_INCOMPAT_WLIST "reject temporarily for incompatible whitelists"
123 #define DCC_XHDR_MTA_REJECTION "MTA rejection"
124 #define DCC_XHDR_TOO_MANY_RCPTS "reject temporarily for too many recipients"
125
126 #define DCC_XHDR_ISOK "-->OK"
127 #define DCC_XHDR_ISSPAM "-->spam"
128
129 #define DCC_XHDR_TRAP_ACC "spam-trap-accept"
130 #define DCC_XHDR_TRAP_REJ "spam-trap-reject"
131
132 /* greylist embargo results that are recognized by other programs */
133 #define DCC_XHDR_GREY_RECIP "greylist recipient"
134 #define DCC_XHDR_EMBARGO_FAIL "Sys Failure"
135 #define DCC_XHDR_EMBARGO_ENDED "Embargo Ended"
136 #define DCC_XHDR_EMBARGO "Embargo"
137 #define DCC_XHDR_EMBARGO_NUM "Embargo #%d"
138 #define DCC_XHDR_EMBARGO_PASS "Pass"
139 #define DCC_XHDR_EMBARGO_OK "Recognized OK"
140 #define DCC_XHDR_EMBARGO_RESET "Embargo #%d reset"
141
142 #endif /* DCC_XHDR_H */