xref: /freebsd/contrib/sendmail/cf/feature/ldap_routing.m4 (revision d39bd2c1388b520fcba9abed1932acacead60fba)
106f25ae9SGregory Neil Shapirodivert(-1)
206f25ae9SGregory Neil Shapiro#
35dd76dd0SGregory Neil Shapiro# Copyright (c) 1999-2002, 2004, 2007 Proofpoint, Inc. and its suppliers.
406f25ae9SGregory Neil Shapiro#	All rights reserved.
506f25ae9SGregory Neil Shapiro#
606f25ae9SGregory Neil Shapiro# By using this file, you agree to the terms and conditions set
706f25ae9SGregory Neil Shapiro# forth in the LICENSE file which can be found at the top level of
806f25ae9SGregory Neil Shapiro# the sendmail distribution.
906f25ae9SGregory Neil Shapiro#
1006f25ae9SGregory Neil Shapiro#
1106f25ae9SGregory Neil Shapiro
1206f25ae9SGregory Neil Shapirodivert(0)
134313cc83SGregory Neil ShapiroVERSIONID(`$Id: ldap_routing.m4,v 8.21 2013-11-22 20:51:11 ca Exp $')
1406f25ae9SGregory Neil Shapirodivert(-1)
1506f25ae9SGregory Neil Shapiro
1606f25ae9SGregory Neil Shapiro# Check first two arguments.  If they aren't set, may need to warn in proto.m4
1706f25ae9SGregory Neil Shapiroifelse(len(X`'_ARG1_), `1', `define(`_LDAP_ROUTING_WARN_', `yes')')
1806f25ae9SGregory Neil Shapiroifelse(len(X`'_ARG2_), `1', `define(`_LDAP_ROUTING_WARN_', `yes')')
19e92d3f3fSGregory Neil Shapiroifelse(len(X`'_ARG5_), `1', `', `define(`_LDAP_ROUTE_NODOMAIN_', `yes')')
2006f25ae9SGregory Neil Shapiro
21*d39bd2c1SGregory Neil Shapiro# Check for third argument to indicate how to deal with non-existent
2206f25ae9SGregory Neil Shapiro# LDAP records
2306f25ae9SGregory Neil Shapiroifelse(len(X`'_ARG3_), `1', `define(`_LDAP_ROUTING_', `_PASS_THROUGH_')',
2406f25ae9SGregory Neil Shapiro       _ARG3_, `passthru', `define(`_LDAP_ROUTING_', `_PASS_THROUGH_')',
25e92d3f3fSGregory Neil Shapiro       _ARG3_, `sendertoo', `define(`_LDAP_ROUTING_', `_MUST_EXIST_')define(`_LDAP_SENDER_MUST_EXIST_')',
2606f25ae9SGregory Neil Shapiro       `define(`_LDAP_ROUTING_', `_MUST_EXIST_')')
2706f25ae9SGregory Neil Shapiro
28e92d3f3fSGregory Neil Shapiro# Check for fourth argument to indicate how to deal with +detail info
2940266059SGregory Neil Shapiroifelse(len(X`'_ARG4_), `1', `',
3040266059SGregory Neil Shapiro       _ARG4_, `strip', `define(`_LDAP_ROUTE_DETAIL_', `_STRIP_')',
3140266059SGregory Neil Shapiro       _ARG4_, `preserve', `define(`_LDAP_ROUTE_DETAIL_', `_PRESERVE_')')
3240266059SGregory Neil Shapiro
33e92d3f3fSGregory Neil Shapiro# Check for sixth argument to indicate how to deal with tempfails
34e92d3f3fSGregory Neil Shapiroifelse(len(X`'_ARG6_), `1', `define(`_LDAP_ROUTE_MAPTEMP_', `_QUEUE_')',
35e92d3f3fSGregory Neil Shapiro       _ARG6_, `tempfail', `define(`_LDAP_ROUTE_MAPTEMP_', `_TEMPFAIL_')',
36e92d3f3fSGregory Neil Shapiro       _ARG6_, `queue', `define(`_LDAP_ROUTE_MAPTEMP_', `_QUEUE_')')
37e92d3f3fSGregory Neil Shapiro
38da7d7b9cSGregory Neil Shapirodefine(`_NEED_SMTPOPMODES_', `1')
39da7d7b9cSGregory Neil Shapiro
4006f25ae9SGregory Neil ShapiroLOCAL_CONFIG
4106f25ae9SGregory Neil Shapiro# LDAP routing maps
4206f25ae9SGregory Neil ShapiroKldapmh ifelse(len(X`'_ARG1_), `1',
43605302a5SGregory Neil Shapiro	       `ldap -1 -T<TMPF> -v mailHost -k (&(objectClass=inetLocalMailRecipient)(mailLocalAddress=%0))',
446f9c8e5bSGregory Neil Shapiro	       `_ARG1_')
4506f25ae9SGregory Neil Shapiro
4606f25ae9SGregory Neil ShapiroKldapmra ifelse(len(X`'_ARG2_), `1',
47605302a5SGregory Neil Shapiro		`ldap -1 -T<TMPF> -v mailRoutingAddress -k (&(objectClass=inetLocalMailRecipient)(mailLocalAddress=%0))',
486f9c8e5bSGregory Neil Shapiro		`_ARG2_')
49