1# CHECK-RECEIVED-DOMAINS.RC
2#
3#  Function to analyze the domains from the Received: headers
4#  to see if they belong to the specified spammer.
5#
6
7# Check first Received domain (FIRSTEXDOMAIN).
8#
9LOCALBUFFER=`${GREP} -i -x "${FIRSTEXDOMAIN}" ${TESTDOMAINS}`
10
11# Check for exempt source hosts
12#
13:0
14* ! FIRSTEXHOST ?? ^host\.example\.com$
15* ! LOCALBUFFER ?? ^^^^
16{
17 TESTNAME2=${TESTNAME}
18 LT2=no
19 TESTHOSTS=`${LS} ${SBDIR}/white/exempt-hosts.txt`
20 TESTHOST=${FIRSTEXHOST}
21 TESTNAME='Exempt Source Host'
22 LOCALBUFFER2=`${GREP} -i -x "${TESTHOST}" ${TESTHOSTS}`
23
24 :0
25 * ! LOCALBUFFER2 ?? ^^^^
26 {
27  LT2=yes
28  SBLOG="L3-${TESTNAME} (FIRSTEXHOST: ${FIRSTEXHOST})"
29  INCLUDERC=${SBDIR}/functions/loglevel.rc
30 }
31
32 :0
33 * LT2 ?? no
34 {
35  TESTHOST=${FIRSTEXDOMAIN}
36  TESTNAME='Exempt Source Domain'
37  LOCALBUFFER2=`${GREP} -i -x "${TESTHOST}" ${TESTHOSTS}`
38
39  :0
40  * ! LOCALBUFFER2 ?? ^^^^
41  {
42   LT2=yes
43   SBLOG="L3-${TESTNAME} (FIRSTEXDOMAIN: ${FIRSTEXDOMAIN})"
44   INCLUDERC=${SBDIR}/functions/loglevel.rc
45  }
46 }
47
48 TESTNAME=${TESTNAME2}
49}
50
51# If matched, and not exempt, score and tag.
52#
53:0
54* LT2 ?? no
55* ! FIRSTEXDOMAIN ?? ^example\.com$
56* ! LOCALBUFFER ?? ^^^^
57{
58 LOCALTAG=yes
59 HD1=yes
60 SBLOG="C3R-${TESTNAME} (Received Domain: ${FIRSTEXDOMAIN})"
61 INCLUDERC=${SBDIR}/functions/loglevel.rc
62}
63
64
65# Check second Received domain (SECONDEXDOMAIN).
66#
67LOCALBUFFER=`${GREP} -i -x "${SECONDEXDOMAIN}" ${TESTDOMAINS}`
68
69# Check for exempt source hosts
70#
71:0
72* ! FIRSTEXHOST ?? ^host\.example\.com$
73* ! LOCALBUFFER ?? ^^^^
74{
75 TESTNAME2=${TESTNAME}
76 LT2=no
77 TESTHOSTS=`${LS} ${SBDIR}/white/exempt-hosts.txt`
78 TESTHOST=${SECONDEXHOST}
79 TESTNAME='Exempt Source Host'
80 LOCALBUFFER2=`${GREP} -i -x "${TESTHOST}" ${TESTHOSTS}`
81
82 :0
83 * ! LOCALBUFFER2 ?? ^^^^
84 {
85  LT2=yes
86  SBLOG="L3-${TESTNAME} (SECONDEXHOST: ${SECONDEXHOST})"
87  INCLUDERC=${SBDIR}/functions/loglevel.rc
88 }
89
90 :0
91 * LT2 ?? no
92 {
93  TESTHOST=${SECONDEXDOMAIN}
94  TESTNAME='Exempt Source Domain'
95  LOCALBUFFER2=`${GREP} -i -x "${TESTHOST}" ${TESTHOSTS}`
96
97  :0
98  * ! LOCALBUFFER2 ?? ^^^^
99  {
100   LT2=yes
101   SBLOG="L3-${TESTNAME} (SECONDEXDOMAIN: ${SECONDEXDOMAIN})"
102   INCLUDERC=${SBDIR}/functions/loglevel.rc
103  }
104 }
105
106 TESTNAME=${TESTNAME2}
107}
108
109# If matched, and not exempt, score and tag.
110#
111:0
112* LT2 ?? no
113* ! SECONDEXDOMAIN ?? ^example\.com$
114* ! LOCALBUFFER ?? ^^^^
115{
116 LOCALTAG=yes
117 HD1=yes
118 SBLOG="C3R-${TESTNAME} (Received Domain: ${SECONDEXDOMAIN})"
119 INCLUDERC=${SBDIR}/functions/loglevel.rc
120}
121
122
123# Check third Received domain (THIRDEXDOMAIN).
124#
125LOCALBUFFER=`${GREP} -i -x "${THIRDEXDOMAIN}" ${TESTDOMAINS}`
126
127# Check for exempt source hosts
128#
129:0
130* ! FIRSTEXHOST ?? ^host\.example\.com$
131* ! LOCALBUFFER ?? ^^^^
132{
133 TESTNAME2=${TESTNAME}
134 LT2=no
135 TESTHOSTS=`${LS} ${SBDIR}/white/exempt-hosts.txt`
136 TESTHOST=${THIRDEXHOST}
137 TESTNAME='Exempt Source Host'
138 LOCALBUFFER2=`${GREP} -i -x "${TESTHOST}" ${TESTHOSTS}`
139
140 :0
141 * ! LOCALBUFFER2 ?? ^^^^
142 {
143  LT2=yes
144  SBLOG="L3-${TESTNAME} (THIRDEXHOST: ${THIRDEXHOST})"
145  INCLUDERC=${SBDIR}/functions/loglevel.rc
146 }
147
148 :0
149 * LT2 ?? no
150 {
151  TESTHOST=${THIRDEXDOMAIN}
152  TESTNAME='Exempt Source Domain'
153  LOCALBUFFER2=`${GREP} -i -x "${TESTHOST}" ${TESTHOSTS}`
154
155  :0
156  * ! LOCALBUFFER2 ?? ^^^^
157  {
158   LT2=yes
159   SBLOG="L3-${TESTNAME} (THIRDEXDOMAIN: ${THIRDEXDOMAIN})"
160   INCLUDERC=${SBDIR}/functions/loglevel.rc
161  }
162 }
163
164 TESTNAME=${TESTNAME2}
165}
166
167# If matched, and not exempt, score and tag.
168#
169:0
170* LT2 ?? no
171* ! THIRDEXDOMAIN ?? ^example\.com$
172* ! LOCALBUFFER ?? ^^^^
173{
174 LOCALTAG=yes
175 HD1=yes
176 SBLOG="C3R-${TESTNAME} (Received Domain: ${THIRDEXDOMAIN})"
177 INCLUDERC=${SBDIR}/functions/loglevel.rc
178}
179
180# Check fourth Received domain (FOURTHEXDOMAIN).
181#
182LOCALBUFFER=`${GREP} -i -x "${FOURTHEXDOMAIN}" ${TESTDOMAINS}`
183
184# Check for exempt source hosts
185#
186:0
187* ! FIRSTEXHOST ?? ^host\.example\.com$
188* ! LOCALBUFFER ?? ^^^^
189{
190 TESTNAME2=${TESTNAME}
191 LT2=no
192 TESTHOSTS=`${LS} ${SBDIR}/white/exempt-hosts.txt`
193 TESTHOST=${FOURTHEXHOST}
194 TESTNAME='Exempt Source Host'
195 LOCALBUFFER2=`${GREP} -i -x "${TESTHOST}" ${TESTHOSTS}`
196
197 :0
198 * ! LOCALBUFFER2 ?? ^^^^
199 {
200  LT2=yes
201  SBLOG="L3-${TESTNAME} (FOURTHEXHOST: ${FOURTHEXHOST})"
202  INCLUDERC=${SBDIR}/functions/loglevel.rc
203 }
204
205 :0
206 * LT2 ?? no
207 {
208  TESTHOST=${FOURTHEXDOMAIN}
209  TESTNAME='Exempt Source Domain'
210  LOCALBUFFER2=`${GREP} -i -x "${TESTHOST}" ${TESTHOSTS}`
211
212  :0
213  * ! LOCALBUFFER2 ?? ^^^^
214  {
215   LT2=yes
216   SBLOG="L3-${TESTNAME} (FOURTHEXDOMAIN: ${FOURTHEXDOMAIN})"
217   INCLUDERC=${SBDIR}/functions/loglevel.rc
218  }
219 }
220
221 TESTNAME=${TESTNAME2}
222}
223
224# If matched, and not exempt, score and tag.
225#
226:0
227* LT2 ?? no
228* ! FOURTHEXDOMAIN ?? ^example\.com$
229* ! LOCALBUFFER ?? ^^^^
230{
231 LOCALTAG=yes
232 HD1=yes
233 SBLOG="C3R-${TESTNAME} (Received Domain: ${FOURTHEXDOMAIN})"
234 INCLUDERC=${SBDIR}/functions/loglevel.rc
235}
236