xref: /freebsd/contrib/sendmail/cf/feature/ldap_routing.m4 (revision 63d1fd5970ec814904aa0f4580b10a0d302d08b2)
1divert(-1)
2#
3# Copyright (c) 1999-2002, 2004, 2007 Proofpoint, 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: ldap_routing.m4,v 8.21 2013-11-22 20:51:11 ca Exp $')
14divert(-1)
15
16# Check first two arguments.  If they aren't set, may need to warn in proto.m4
17ifelse(len(X`'_ARG1_), `1', `define(`_LDAP_ROUTING_WARN_', `yes')')
18ifelse(len(X`'_ARG2_), `1', `define(`_LDAP_ROUTING_WARN_', `yes')')
19ifelse(len(X`'_ARG5_), `1', `', `define(`_LDAP_ROUTE_NODOMAIN_', `yes')')
20
21# Check for third argument to indicate how to deal with non-existant
22# LDAP records
23ifelse(len(X`'_ARG3_), `1', `define(`_LDAP_ROUTING_', `_PASS_THROUGH_')',
24       _ARG3_, `passthru', `define(`_LDAP_ROUTING_', `_PASS_THROUGH_')',
25       _ARG3_, `sendertoo', `define(`_LDAP_ROUTING_', `_MUST_EXIST_')define(`_LDAP_SENDER_MUST_EXIST_')',
26       `define(`_LDAP_ROUTING_', `_MUST_EXIST_')')
27
28# Check for fourth argument to indicate how to deal with +detail info
29ifelse(len(X`'_ARG4_), `1', `',
30       _ARG4_, `strip', `define(`_LDAP_ROUTE_DETAIL_', `_STRIP_')',
31       _ARG4_, `preserve', `define(`_LDAP_ROUTE_DETAIL_', `_PRESERVE_')')
32
33# Check for sixth argument to indicate how to deal with tempfails
34ifelse(len(X`'_ARG6_), `1', `define(`_LDAP_ROUTE_MAPTEMP_', `_QUEUE_')',
35       _ARG6_, `tempfail', `define(`_LDAP_ROUTE_MAPTEMP_', `_TEMPFAIL_')',
36       _ARG6_, `queue', `define(`_LDAP_ROUTE_MAPTEMP_', `_QUEUE_')')
37
38define(`_NEED_SMTPOPMODES_', `1')
39
40LOCAL_CONFIG
41# LDAP routing maps
42Kldapmh ifelse(len(X`'_ARG1_), `1',
43	       `ldap -1 -T<TMPF> -v mailHost -k (&(objectClass=inetLocalMailRecipient)(mailLocalAddress=%0))',
44	       `_ARG1_')
45
46Kldapmra ifelse(len(X`'_ARG2_), `1',
47		`ldap -1 -T<TMPF> -v mailRoutingAddress -k (&(objectClass=inetLocalMailRecipient)(mailLocalAddress=%0))',
48		`_ARG2_')
49