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