1divert(-1)
2#
3# Copyright (c) 1998-2002, 2004, 2006 Sendmail, Inc. and its suppliers.
4#	All rights reserved.
5#
6# By using this file, you agree to the terms and conditions set
7# forth in the LICENSE file which can be found at the top level of
8# the sendmail distribution.
9#
10#
11
12divert(0)
13VERSIONID(`$Id: access_db.m4,v 8.27 2006/07/06 21:10:10 ca Exp $')
14divert(-1)
15
16define(`_ACCESS_TABLE_', `')
17define(`_TAG_DELIM_', `:')dnl should be in OperatorChars
18ifelse(lower(_ARG2_),`skip',`define(`_ACCESS_SKIP_', `1')')
19ifelse(lower(_ARG2_),`lookupdotdomain',`define(`_LOOKUPDOTDOMAIN_', `1')')
20ifelse(lower(_ARG2_),`relaytofulladdress',`define(`_RELAY_FULL_ADDR_', `1')')
21ifelse(lower(_ARG3_),`skip',`define(`_ACCESS_SKIP_', `1')')
22ifelse(lower(_ARG3_),`lookupdotdomain',`define(`_LOOKUPDOTDOMAIN_', `1')')
23ifelse(lower(_ARG3_),`relaytofulladdress',`define(`_RELAY_FULL_ADDR_', `1')')
24ifelse(lower(_ARG4_),`skip',`define(`_ACCESS_SKIP_', `1')')
25ifelse(lower(_ARG4_),`lookupdotdomain',`define(`_LOOKUPDOTDOMAIN_', `1')')
26ifelse(lower(_ARG4_),`relaytofulladdress',`define(`_RELAY_FULL_ADDR_', `1')')
27define(`_ATMPF_', `<TMPF>')dnl
28dnl check whether arg contains -T`'_ATMPF_
29dnl unless it is a sequence map
30ifelse(defn(`_ARG_'), `', `',
31  defn(`_ARG_'), `LDAP', `',
32  `ifelse(index(_ARG_, `sequence '), `0', `',
33    `ifelse(index(_ARG_, _ATMPF_), `-1',
34      `errprint(`*** WARNING: missing -T'_ATMPF_` in argument of FEATURE(`access_db',' defn(`_ARG_')`)
35')
36      define(`_ABP_', index(_ARG_, ` '))
37      define(`_NARG_', `substr(_ARG_, 0, _ABP_) -T'_ATMPF_` substr(_ARG_, _ABP_)')
38      ')
39    ')
40  ')
41ifdef(`_GREET_PAUSE_',
42	`errprint(`*** WARNING: FEATURE(`greet_pause') before FEATURE(`access_db')
43	greet_pause will not use access_db!')')
44
45LOCAL_CONFIG
46# Access list database (for spam stomping)
47Kaccess ifelse(defn(`_ARG_'), `', DATABASE_MAP_TYPE -T`'_ATMPF_ MAIL_SETTINGS_DIR`access',
48	       defn(`_ARG_'), `LDAP', `ldap -T`'_ATMPF_ -1 -v sendmailMTAMapValue,sendmailMTAMapSearch:FILTER:sendmailMTAMapObject,sendmailMTAMapURL:URL:sendmailMTAMapObject -k (&(objectClass=sendmailMTAMapObject)(|(sendmailMTACluster=${sendmailMTACluster})(sendmailMTAHost=$j))(sendmailMTAMapName=access)(sendmailMTAKey=%0))',
49	       defn(`_NARG_'), `', `_ARG_', `_NARG_')
50