0
|
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 */ |