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-existent 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