dnsbl.m4 revision 159609
138032Speterdivert(-1)
238032Speter#
3132943Sgshapiro# Copyright (c) 1998-2002, 2005, 2006 Sendmail, Inc. and its suppliers.
464562Sgshapiro#	All rights reserved.
538032Speter#
638032Speter# By using this file, you agree to the terms and conditions set
738032Speter# forth in the LICENSE file which can be found at the top level of
838032Speter# the sendmail distribution.
938032Speter#
1038032Speter#
1138032Speter
1238032Speterifdef(`DNSBL_MAP', `', `define(`DNSBL_MAP', `dns -R A')')
13132943Sgshapirodivert(0)
1438032Speterifdef(`_DNSBL_R_',`dnl',`dnl
1538032SpeterVERSIONID(`$Id: dnsbl.m4,v 8.32 2006/03/29 22:50:16 ca Exp $')
1664562Sgshapirodefine(`_DNSBL_R_',`')
1764562Sgshapiroifelse(defn(`_ARG_'), `', 
1864562Sgshapiro	`errprint(`*** ERROR: missing argument for FEATURE(`dnsbl')')')
1964562SgshapiroLOCAL_CONFIG
2038032Speter# map for DNS based blacklist lookups
2164562SgshapiroKdnsbl DNSBL_MAP -T<TMP>ifdef(`DNSBL_MAP_OPT',` DNSBL_MAP_OPT')')
2238032Speterdivert(-1)
2338032Speterdefine(`_DNSBL_SRV_', `_ARG_')dnl
24132943Sgshapirodefine(`_DNSBL_MSG_', `ifelse(len(X`'_ARG2_),`1',`"550 Rejected: " $`'&{client_addr} " listed at '_DNSBL_SRV_`"',`_ARG2_')')dnl
25132943Sgshapirodefine(`_DNSBL_MSG_TMP_', `ifelse(_ARG3_,`t',`"451 Temporary lookup failure of " $`'&{client_addr} " at '_DNSBL_SRV_`"',`_ARG3_')')dnl
26132943Sgshapirodivert(8)
2764562Sgshapiro# DNS based IP address spam list _DNSBL_SRV_
2890792SgshapiroR$*			$: $&{client_addr}
29R$-.$-.$-.$-		$: <?> $(dnsbl $4.$3.$2.$1._DNSBL_SRV_. $: OK $)
30R<?>OK			$: OKSOFAR
31ifelse(len(X`'_ARG3_),`1',
32`R<?>$+<TMP>		$: TMPOK',
33`R<?>$+<TMP>		$#error $@ 4.4.3 $: _DNSBL_MSG_TMP_')
34R<?>$+			$#error $@ 5.7.1 $: _DNSBL_MSG_
35divert(-1)
36