xref: /freebsd/contrib/sendmail/cf/m4/cfhead.m4 (revision 5b0945b57059d1cde0831d3afea7ec56c7d79508)
1c2aa98e2SPeter Wemm#
25dd76dd0SGregory Neil Shapiro# Copyright (c) 1998-2004, 2009, 2010 Proofpoint, Inc. and its suppliers.
33299c2f1SGregory Neil Shapiro#	All rights reserved.
4c2aa98e2SPeter Wemm# Copyright (c) 1983, 1995 Eric P. Allman.  All rights reserved.
5c2aa98e2SPeter Wemm# Copyright (c) 1988, 1993
6c2aa98e2SPeter Wemm#	The Regents of the University of California.  All rights reserved.
7c2aa98e2SPeter Wemm#
8c2aa98e2SPeter Wemm# By using this file, you agree to the terms and conditions set
9c2aa98e2SPeter Wemm# forth in the LICENSE file which can be found at the top level of
10c2aa98e2SPeter Wemm# the sendmail distribution.
11c2aa98e2SPeter Wemm#
123299c2f1SGregory Neil Shapiro# $FreeBSD$
13c2aa98e2SPeter Wemm#
14c2aa98e2SPeter Wemm
15c2aa98e2SPeter Wemm######################################################################
16c2aa98e2SPeter Wemm######################################################################
17c2aa98e2SPeter Wemm#####
18c2aa98e2SPeter Wemm#####		SENDMAIL CONFIGURATION FILE
19c2aa98e2SPeter Wemm#####
20da7d7b9cSGregory Neil Shapiroifdef(`_NO_MAKEINFO_', `dnl', `dnl
213299c2f1SGregory Neil Shapiroifdef(`TEMPFILE', `dnl', `define(`TEMPFILE', maketemp(/tmp/cfXXXXXX))dnl
22c2aa98e2SPeter Wemmsyscmd(sh _CF_DIR_`'sh/makeinfo.sh _CF_DIR_ > TEMPFILE)dnl
23e1848069SGregory Neil Shapiroifdef(`_NO_MAKEINFO_',, `include(TEMPFILE)')dnl
242ef40764SGregory Neil Shapirosyscmd(rm -f TEMPFILE)dnl')')
25c2aa98e2SPeter Wemm#####
26c2aa98e2SPeter Wemm######################################################################
2712ed1c7cSGregory Neil Shapiro#####
2812ed1c7cSGregory Neil Shapiro#####	DO NOT EDIT THIS FILE!  Only edit the source .mc file.
2912ed1c7cSGregory Neil Shapiro#####
3012ed1c7cSGregory Neil Shapiro######################################################################
31c2aa98e2SPeter Wemm######################################################################
32c2aa98e2SPeter Wemm
33c2aa98e2SPeter Wemmdivert(-1)
34c2aa98e2SPeter Wemm
35c2aa98e2SPeter Wemmchangecom()
36c2aa98e2SPeter Wemmundefine(`format')
37c2aa98e2SPeter Wemmundefine(`hpux')
38c2aa98e2SPeter Wemmifdef(`pushdef', `',
39c2aa98e2SPeter Wemm	`errprint(`You need a newer version of M4, at least as new as
40c2aa98e2SPeter WemmSystem V or GNU')
41c2aa98e2SPeter Wemm	include(NoSuchFile)')
42c2aa98e2SPeter Wemmdefine(`PUSHDIVERT', `pushdef(`__D__', divnum)divert($1)')
43c2aa98e2SPeter Wemmdefine(`POPDIVERT', `divert(__D__)popdef(`__D__')')
44c2aa98e2SPeter Wemmdefine(`OSTYPE',
45c2aa98e2SPeter Wemm	`PUSHDIVERT(-1)
463299c2f1SGregory Neil Shapiro	ifdef(`__OSTYPE__', `errprint(`duplicate OSTYPE'($1)
473299c2f1SGregory Neil Shapiro)')
48c2aa98e2SPeter Wemm	define(`__OSTYPE__', $1)
49c2aa98e2SPeter Wemm	define(`_ARG_', $2)
50c2aa98e2SPeter Wemm	include(_CF_DIR_`'ostype/$1.m4)POPDIVERT`'')
513299c2f1SGregory Neil Shapiro## helpful functions
529bd497b8SGregory Neil Shapirodefine(`lower', `translit(`$1', `ABCDEFGHIJKLMNOPQRSTUVWXYZ', `abcdefghijklmnopqrstuvwxyz')')
533299c2f1SGregory Neil Shapirodefine(`strcasecmp', `ifelse(lower($1), lower($2), `1', `0')')
543299c2f1SGregory Neil Shapiro## access to further arguments in FEATURE/HACK
553299c2f1SGregory Neil Shapirodefine(`_ACC_ARG_1_',`$1')
563299c2f1SGregory Neil Shapirodefine(`_ACC_ARG_2_',`$2')
573299c2f1SGregory Neil Shapirodefine(`_ACC_ARG_3_',`$3')
583299c2f1SGregory Neil Shapirodefine(`_ACC_ARG_4_',`$4')
593299c2f1SGregory Neil Shapirodefine(`_ACC_ARG_5_',`$5')
603299c2f1SGregory Neil Shapirodefine(`_ACC_ARG_6_',`$6')
613299c2f1SGregory Neil Shapirodefine(`_ACC_ARG_7_',`$7')
623299c2f1SGregory Neil Shapirodefine(`_ACC_ARG_8_',`$8')
633299c2f1SGregory Neil Shapirodefine(`_ACC_ARG_9_',`$9')
643299c2f1SGregory Neil Shapirodefine(`_ARG1_',`_ACC_ARG_1_(_ARGS_)')
653299c2f1SGregory Neil Shapirodefine(`_ARG2_',`_ACC_ARG_2_(_ARGS_)')
663299c2f1SGregory Neil Shapirodefine(`_ARG3_',`_ACC_ARG_3_(_ARGS_)')
673299c2f1SGregory Neil Shapirodefine(`_ARG4_',`_ACC_ARG_4_(_ARGS_)')
683299c2f1SGregory Neil Shapirodefine(`_ARG5_',`_ACC_ARG_5_(_ARGS_)')
693299c2f1SGregory Neil Shapirodefine(`_ARG6_',`_ACC_ARG_6_(_ARGS_)')
703299c2f1SGregory Neil Shapirodefine(`_ARG7_',`_ACC_ARG_7_(_ARGS_)')
713299c2f1SGregory Neil Shapirodefine(`_ARG8_',`_ACC_ARG_8_(_ARGS_)')
723299c2f1SGregory Neil Shapirodefine(`_ARG9_',`_ACC_ARG_9_(_ARGS_)')
733299c2f1SGregory Neil Shapirodnl define if not yet defined: if `$1' is not defined it will be `$2'
743299c2f1SGregory Neil Shapirodefine(`_DEFIFNOT',`ifdef(`$1',`',`define(`$1',`$2')')')
753299c2f1SGregory Neil Shapirodnl ----------------------------------------
76*5b0945b5SGregory Neil Shapirodnl Use a "token" for this error message to make them unique?
77*5b0945b5SGregory Neil Shapirodnl Note: this is not a documented option. To enable it, use:
78*5b0945b5SGregory Neil Shapirodnl define(`_USETMPFTOKEN_', `1')dnl
79*5b0945b5SGregory Neil Shapiroifdef(`_USETMPFTOKEN_', `
80*5b0945b5SGregory Neil Shapirodefine(_TMPFMSG_, `"451 Temporary system failure $1. Please try again later."')
81*5b0945b5SGregory Neil Shapiro', `dnl
82*5b0945b5SGregory Neil Shapirodefine(_TMPFMSG_, `"451 Temporary system failure. Please try again later."')
83*5b0945b5SGregory Neil Shapiro')
84*5b0945b5SGregory Neil Shapirodnl ----------------------------------------
853299c2f1SGregory Neil Shapirodnl add a char $2 to a string $1 if it is not there
863299c2f1SGregory Neil Shapirodefine(`_ADDCHAR_',`define(`_I_',`eval(index(`$1',`$2') >= 0)')`'ifelse(_I_,`1',`$1',`$1$2')')
873299c2f1SGregory Neil Shapirodnl ----
883299c2f1SGregory Neil Shapirodnl delete a char $2 from a string $1 if it is there
893299c2f1SGregory Neil Shapirodefine(`_DELCHAR_',`define(`_IDX_',`index(`$1',`$2')')`'define(`_I_',`eval(_IDX_ >= 0)')`'ifelse(_I_,`1',`substr(`$1',0,_IDX_)`'substr(`$1',eval(_IDX_+1))',`$1')')
903299c2f1SGregory Neil Shapirodnl ----
913299c2f1SGregory Neil Shapirodnl apply a macro to a whole string by recursion (one char at a time)
923299c2f1SGregory Neil Shapirodnl $1: macro
933299c2f1SGregory Neil Shapirodnl $2: first argument to macro
943299c2f1SGregory Neil Shapirodnl $3: list that is split up into characters
953299c2f1SGregory Neil Shapirodefine(`_AP_',`ifelse(`$3',`',`$2',`_AP_(`$1',$1(`$2',substr(`$3',0,1)),substr(`$3',1))')')
963299c2f1SGregory Neil Shapirodnl ----
973299c2f1SGregory Neil Shapirodnl MODIFY_MAILER_FLAGS: append tail of $2 to $1_MF_A/D_
983299c2f1SGregory Neil Shapirodnl A if head($2) = +
993299c2f1SGregory Neil Shapirodnl D if head($2) = -
1003299c2f1SGregory Neil Shapirodnl $1_MF_ is set otherwise; set _A/D_ to `'
1013299c2f1SGregory Neil Shapirodefine(`MODIFY_MAILER_FLAGS',`define(`_hd_',`substr(`$2',0,1)')define(`_tl_',`substr(`$2',1)')`'ifelse(_hd_,`+',`ifdef($1`'_MF_A_, `define($1`'_MF_A_,$1_MF_A_`'_tl_)', `define($1`'_MF_A_, _tl_)')',_hd_,`-',`ifdef($1`'_MF_D_, `define($1`'_MF_D_,$1_MF_D_`'_tl_)', `define($1`'_MF_D_,_tl_)')',`define($1`'_MF_,`$2')define($1`'_MF_A_,`')define($1`'_MF_D_,`')')')
1023299c2f1SGregory Neil Shapirodnl ----
1033299c2f1SGregory Neil Shapirodnl actually modify flags:
1043299c2f1SGregory Neil Shapirodnl $1: flags (strings) to modify
1053299c2f1SGregory Neil Shapirodnl $2: name of flags (just first part) to modify
1063299c2f1SGregory Neil Shapirodnl WARNING: the order might be important: if someone adds and delete the
1073299c2f1SGregory Neil Shapirodnl same characters, he does not deserve any better, does he?
1083299c2f1SGregory Neil Shapirodnl this could be coded more efficiently... (do not apply the macro if _MF_A/D_ is undefined)
1093299c2f1SGregory Neil Shapirodefine(`_MODMF_',`ifdef($2`'_MF_,`$2_MF_',`_AP_(`_ADDCHAR_',_AP_(`_DELCHAR_',$1,ifdef($2`'_MF_D_,`$2_MF_D_',`')),ifdef($2`'_MF_A_,`$2_MF_A_',`'))')')
1103299c2f1SGregory Neil Shapirodnl usage:
1113299c2f1SGregory Neil Shapirodnl MODIFY_MAILER_FLAGS(`LOCAL',`+FlaGs')dnl
1123299c2f1SGregory Neil Shapirodnl in MAILER.m4: _MODMF_(LMF,`LOCAL')
1133299c2f1SGregory Neil Shapirodnl ----------------------------------------
114c2aa98e2SPeter Wemmdefine(`MAILER',
1153299c2f1SGregory Neil Shapiro`define(`_M_N_', `ifelse(`$2', `', `$1', `$2')')dnl
11612ed1c7cSGregory Neil Shapiroifdef(`_MAILER_DEFINED_', `', `define(`_MAILER_DEFINED_', `1')')dnl
11712ed1c7cSGregory Neil Shapiroifdef(_MAILER_`'_M_N_`'_,
11812ed1c7cSGregory Neil Shapiro`errprint(`*** ERROR: MAILER('_M_N_`) already included
11912ed1c7cSGregory Neil Shapiro')',
1203299c2f1SGregory Neil Shapiro`define(_MAILER_`'_M_N_`'_, `')define(`_ARG_', `$2')define(`_ARGS_', `shift($@)')PUSHDIVERT(7)include(_CF_DIR_`'mailer/$1.m4)POPDIVERT`'')')
1213299c2f1SGregory Neil Shapirodefine(`DOMAIN', `PUSHDIVERT(-1)define(`_ARG_', `$2')include(_CF_DIR_`'domain/$1.m4)POPDIVERT`'')
12212ed1c7cSGregory Neil Shapirodefine(`FEATURE', `PUSHDIVERT(-1)ifdef(`_MAILER_DEFINED_',`errprint(`*** ERROR: FEATURE() should be before MAILER()
12312ed1c7cSGregory Neil Shapiro')')define(`_ARG_', `$2')define(`_ARGS_', `shift($@)')include(_CF_DIR_`'feature/$1.m4)POPDIVERT`'')
1243299c2f1SGregory Neil Shapirodefine(`HACK', `PUSHDIVERT(-1)define(`_ARG_', `$2')define(`_ARGS_', `shift($@)')include(_CF_DIR_`'hack/$1.m4)POPDIVERT`'')
1253299c2f1SGregory Neil Shapirodefine(`_DPO_',`')
1263299c2f1SGregory Neil Shapirodefine(`DAEMON_OPTIONS', `define(`_DPO_', defn(`_DPO_')
1273299c2f1SGregory Neil ShapiroO DaemonPortOptions=`$1')')
12812ed1c7cSGregory Neil Shapirodefine(`_CPO_',`')
12912ed1c7cSGregory Neil Shapirodefine(`CLIENT_OPTIONS', `define(`_CPO_', defn(`_CPO_')
13012ed1c7cSGregory Neil ShapiroO ClientPortOptions=`$1')')
1313299c2f1SGregory Neil Shapirodefine(`_MAIL_FILTERS_', `')
132f848909fSGregory Neil Shapirodefine(`_MAIL_FILTERS_DEF', `')
1333299c2f1SGregory Neil Shapirodefine(`MAIL_FILTER', `define(`_MAIL_FILTERS_', defn(`_MAIL_FILTERS_')
134f848909fSGregory Neil ShapiroX`'$1`, '`$2')
135f848909fSGregory Neil Shapirodefine(`_MAIL_FILTERS_DEF', defn(`_MAIL_FILTERS_DEF')`X')')
1363299c2f1SGregory Neil Shapirodefine(`INPUT_MAIL_FILTER', `MAIL_FILTER(`$1', `$2')
1373299c2f1SGregory Neil Shapiroifelse(defn(`confINPUT_MAIL_FILTERS')X, `X',
1383299c2f1SGregory Neil Shapiro`define(`confINPUT_MAIL_FILTERS', $1)',
1393299c2f1SGregory Neil Shapiro`define(`confINPUT_MAIL_FILTERS', defn(`confINPUT_MAIL_FILTERS')`, '`$1')')')
14012ed1c7cSGregory Neil Shapirodefine(`_QUEUE_GROUP_', `')
14112ed1c7cSGregory Neil Shapirodefine(`QUEUE_GROUP', `define(`_QUEUE_GROUP_', defn(`_QUEUE_GROUP_')
14212ed1c7cSGregory Neil ShapiroQ`'$1`, '`$2')')
14312ed1c7cSGregory Neil Shapirodefine(`CF_LEVEL', `10')dnl
144c2aa98e2SPeter Wemmdefine(`VERSIONID', ``#####  $1  #####'')
145c2aa98e2SPeter Wemmdefine(`LOCAL_RULE_0', `divert(3)')
14672936242SGregory Neil Shapirodnl for UUCP...
14772936242SGregory Neil Shapirodefine(`LOCAL_UUCP', `divert(4)')
148c2aa98e2SPeter Wemmdefine(`LOCAL_RULE_1',
149c2aa98e2SPeter Wemm`divert(9)dnl
150c2aa98e2SPeter Wemm#######################################
151c2aa98e2SPeter Wemm###  Ruleset 1 -- Sender Rewriting  ###
152c2aa98e2SPeter Wemm#######################################
153c2aa98e2SPeter Wemm
1543299c2f1SGregory Neil ShapiroSsender=1
155c2aa98e2SPeter Wemm')
156c2aa98e2SPeter Wemmdefine(`LOCAL_RULE_2',
157c2aa98e2SPeter Wemm`divert(9)dnl
158c2aa98e2SPeter Wemm##########################################
159c2aa98e2SPeter Wemm###  Ruleset 2 -- Recipient Rewriting  ###
160c2aa98e2SPeter Wemm##########################################
161c2aa98e2SPeter Wemm
1623299c2f1SGregory Neil ShapiroSrecipient=2
163c2aa98e2SPeter Wemm')
164c2aa98e2SPeter Wemmdefine(`LOCAL_RULESETS',
165c2aa98e2SPeter Wemm`divert(9)
166c2aa98e2SPeter Wemm
167c2aa98e2SPeter Wemm')
16812ed1c7cSGregory Neil Shapirodefine(`LOCAL_SRV_FEATURES',
16912ed1c7cSGregory Neil Shapiro`define(`_LOCAL_SRV_FEATURES_')
17012ed1c7cSGregory Neil Shapiroifdef(`_MAILER_DEFINED_',,`errprint(`*** WARNING: MAILER() should be before LOCAL_SRV_FEATURES
17112ed1c7cSGregory Neil Shapiro')')
17212ed1c7cSGregory Neil Shapirodivert(9)
17312ed1c7cSGregory Neil ShapiroSLocal_srv_features')
17412ed1c7cSGregory Neil Shapirodefine(`LOCAL_TRY_TLS',
17512ed1c7cSGregory Neil Shapiro`define(`_LOCAL_TRY_TLS_')
17612ed1c7cSGregory Neil Shapiroifdef(`_MAILER_DEFINED_',,`errprint(`*** WARNING: MAILER() should be before LOCAL_TRY_TLS
17712ed1c7cSGregory Neil Shapiro')')
17812ed1c7cSGregory Neil Shapirodivert(9)
17912ed1c7cSGregory Neil ShapiroSLocal_try_tls')
18012ed1c7cSGregory Neil Shapirodefine(`LOCAL_TLS_RCPT',
18112ed1c7cSGregory Neil Shapiro`define(`_LOCAL_TLS_RCPT_')
18212ed1c7cSGregory Neil Shapiroifdef(`_MAILER_DEFINED_',,`errprint(`*** WARNING: MAILER() should be before LOCAL_TLS_RCPT
18312ed1c7cSGregory Neil Shapiro')')
18412ed1c7cSGregory Neil Shapirodivert(9)
18512ed1c7cSGregory Neil ShapiroSLocal_tls_rcpt')
18612ed1c7cSGregory Neil Shapirodefine(`LOCAL_TLS_CLIENT',
18712ed1c7cSGregory Neil Shapiro`define(`_LOCAL_TLS_CLIENT_')
18812ed1c7cSGregory Neil Shapiroifdef(`_MAILER_DEFINED_',,`errprint(`*** WARNING: MAILER() should be before LOCAL_TLS_CLIENT
18912ed1c7cSGregory Neil Shapiro')')
19012ed1c7cSGregory Neil Shapirodivert(9)
19112ed1c7cSGregory Neil ShapiroSLocal_tls_client')
19212ed1c7cSGregory Neil Shapirodefine(`LOCAL_TLS_SERVER',
19312ed1c7cSGregory Neil Shapiro`define(`_LOCAL_TLS_SERVER_')
19412ed1c7cSGregory Neil Shapiroifdef(`_MAILER_DEFINED_',,`errprint(`*** WARNING: MAILER() should be before LOCAL_TLS_SERVER
19512ed1c7cSGregory Neil Shapiro')')
19612ed1c7cSGregory Neil Shapirodivert(9)
19712ed1c7cSGregory Neil ShapiroSLocal_tls_server')
198c2aa98e2SPeter Wemmdefine(`LOCAL_RULE_3', `divert(2)')
199c2aa98e2SPeter Wemmdefine(`LOCAL_CONFIG', `divert(6)')
200c2aa98e2SPeter Wemmdefine(`MAILER_DEFINITIONS', `divert(7)')
2016f9c8e5bSGregory Neil Shapirodefine(`LOCAL_DNSBL', `divert(8)')
202c2aa98e2SPeter Wemmdefine(`LOCAL_NET_CONFIG', `define(`_LOCAL_RULES_', 1)divert(1)')
203c2aa98e2SPeter Wemmdefine(`UUCPSMTP', `R DOL(*) < @ $1 .UUCP > DOL(*)	DOL(1) < @ $2 > DOL(2)')
204c2aa98e2SPeter Wemmdefine(`CONCAT', `$1$2$3$4$5$6$7')
205c2aa98e2SPeter Wemmdefine(`DOL', ``$'$1')
206c2aa98e2SPeter Wemmdefine(`SITECONFIG',
207c2aa98e2SPeter Wemm`CONCAT(D, $3, $2)
208c2aa98e2SPeter Wemmdefine(`_CLASS_$3_', `')dnl
20912ed1c7cSGregory Neil Shapiroifelse($3, U, C{w}$2 $2.UUCP, `dnl')
210c2aa98e2SPeter Wemmdefine(`SITE', `ifelse(CONCAT($'2`, $3), SU,
211c2aa98e2SPeter Wemm		CONCAT(CY, $'1`),
212c2aa98e2SPeter Wemm		CONCAT(C, $3, $'1`))')
213c2aa98e2SPeter Wemmsinclude(_CF_DIR_`'siteconfig/$1.m4)')
214b4662009SGregory Neil Shapirodefine(`EXPOSED_USER', `PUSHDIVERT(5)C{E}$1
215c2aa98e2SPeter WemmPOPDIVERT`'dnl`'')
21612ed1c7cSGregory Neil Shapirodefine(`EXPOSED_USER_FILE', `PUSHDIVERT(5)F{E}$1
21712ed1c7cSGregory Neil ShapiroPOPDIVERT`'dnl`'')
218b4662009SGregory Neil Shapirodefine(`LOCAL_USER', `PUSHDIVERT(5)C{L}$1
219c2aa98e2SPeter WemmPOPDIVERT`'dnl`'')
22012ed1c7cSGregory Neil Shapirodefine(`LOCAL_USER_FILE', `PUSHDIVERT(5)F{L}$1
22112ed1c7cSGregory Neil ShapiroPOPDIVERT`'dnl`'')
222c2aa98e2SPeter Wemmdefine(`MASQUERADE_AS', `define(`MASQUERADE_NAME', $1)')
223b4662009SGregory Neil Shapirodefine(`MASQUERADE_DOMAIN', `PUSHDIVERT(5)C{M}$1
224c2aa98e2SPeter WemmPOPDIVERT`'dnl`'')
225b4662009SGregory Neil Shapirodefine(`MASQUERADE_EXCEPTION', `PUSHDIVERT(5)C{N}$1
2263299c2f1SGregory Neil ShapiroPOPDIVERT`'dnl`'')
227b4662009SGregory Neil Shapirodefine(`MASQUERADE_DOMAIN_FILE', `PUSHDIVERT(5)F{M}$1
228c2aa98e2SPeter WemmPOPDIVERT`'dnl`'')
22912ed1c7cSGregory Neil Shapirodefine(`MASQUERADE_EXCEPTION_FILE', `PUSHDIVERT(5)F{N}$1
23012ed1c7cSGregory Neil ShapiroPOPDIVERT`'dnl`'')
231b4662009SGregory Neil Shapirodefine(`LOCAL_DOMAIN', `PUSHDIVERT(5)C{w}$1
2323299c2f1SGregory Neil ShapiroPOPDIVERT`'dnl`'')
2333299c2f1SGregory Neil Shapirodefine(`CANONIFY_DOMAIN', `PUSHDIVERT(5)C{Canonify}$1
2343299c2f1SGregory Neil ShapiroPOPDIVERT`'dnl`'')
2353299c2f1SGregory Neil Shapirodefine(`CANONIFY_DOMAIN_FILE', `PUSHDIVERT(5)F{Canonify}$1
2363299c2f1SGregory Neil ShapiroPOPDIVERT`'dnl`'')
237b4662009SGregory Neil Shapirodefine(`GENERICS_DOMAIN', `PUSHDIVERT(5)C{G}$1
238c2aa98e2SPeter WemmPOPDIVERT`'dnl`'')
239b4662009SGregory Neil Shapirodefine(`GENERICS_DOMAIN_FILE', `PUSHDIVERT(5)F{G}$1
240c2aa98e2SPeter WemmPOPDIVERT`'dnl`'')
2413299c2f1SGregory Neil Shapirodefine(`LDAPROUTE_DOMAIN', `PUSHDIVERT(5)C{LDAPRoute}$1
2423299c2f1SGregory Neil ShapiroPOPDIVERT`'dnl`'')
2433299c2f1SGregory Neil Shapirodefine(`LDAPROUTE_DOMAIN_FILE', `PUSHDIVERT(5)F{LDAPRoute}$1
2443299c2f1SGregory Neil ShapiroPOPDIVERT`'dnl`'')
24512ed1c7cSGregory Neil Shapirodefine(`LDAPROUTE_EQUIVALENT', `PUSHDIVERT(5)C{LDAPRouteEquiv}$1
24612ed1c7cSGregory Neil ShapiroPOPDIVERT`'dnl`'')
24712ed1c7cSGregory Neil Shapirodefine(`LDAPROUTE_EQUIVALENT_FILE', `PUSHDIVERT(5)F{LDAPRouteEquiv}$1
24812ed1c7cSGregory Neil ShapiroPOPDIVERT`'dnl`'')
2493299c2f1SGregory Neil Shapirodefine(`VIRTUSER_DOMAIN', `PUSHDIVERT(5)C{VirtHost}$1
2503299c2f1SGregory Neil Shapirodefine(`_VIRTHOSTS_')
2513299c2f1SGregory Neil ShapiroPOPDIVERT`'dnl`'')
2523299c2f1SGregory Neil Shapirodefine(`VIRTUSER_DOMAIN_FILE', `PUSHDIVERT(5)F{VirtHost}$1
2533299c2f1SGregory Neil Shapirodefine(`_VIRTHOSTS_')
2543299c2f1SGregory Neil ShapiroPOPDIVERT`'dnl`'')
255b4662009SGregory Neil Shapirodefine(`RELAY_DOMAIN', `PUSHDIVERT(5)C{R}$1
256c2aa98e2SPeter WemmPOPDIVERT`'dnl`'')
257b4662009SGregory Neil Shapirodefine(`RELAY_DOMAIN_FILE', `PUSHDIVERT(5)F{R}$1
258c2aa98e2SPeter WemmPOPDIVERT`'dnl`'')
25912ed1c7cSGregory Neil Shapirodefine(`TRUST_AUTH_MECH', `_DEFIFNOT(`_USE_AUTH_',`1')PUSHDIVERT(5)C{TrustAuthMech}$1
2603299c2f1SGregory Neil ShapiroPOPDIVERT`'dnl`'')
261c2aa98e2SPeter Wemmdefine(`_OPTINS', `ifdef(`$1', `$2$1$3')')
262c2aa98e2SPeter Wemm
2633299c2f1SGregory Neil Shapiro
264c2aa98e2SPeter Wemmm4wrap(`include(_CF_DIR_`m4/proto.m4')')
265c2aa98e2SPeter Wemm
2663299c2f1SGregory Neil Shapiro# default location for files
2673299c2f1SGregory Neil Shapiroifdef(`MAIL_SETTINGS_DIR', , `define(`MAIL_SETTINGS_DIR', `/etc/mail/')')
2683299c2f1SGregory Neil Shapiro
2693299c2f1SGregory Neil Shapiro# set our default hashed database type
2703299c2f1SGregory Neil Shapirodefine(`DATABASE_MAP_TYPE', `hash')
2713299c2f1SGregory Neil Shapiro
272c2aa98e2SPeter Wemm# set up default values for options
2733299c2f1SGregory Neil Shapirodefine(`ALIAS_FILE', `MAIL_SETTINGS_DIR`'aliases')
274c2aa98e2SPeter Wemmdefine(`confMAILER_NAME', ``MAILER-DAEMON'')
275c2aa98e2SPeter Wemmdefine(`confFROM_LINE', `From $g $d')
276c2aa98e2SPeter Wemmdefine(`confOPERATORS', `.:%@!^/[]+')
277c2aa98e2SPeter Wemmdefine(`confSMTP_LOGIN_MSG', `$j Sendmail $v/$Z; $b')
2783299c2f1SGregory Neil Shapirodefine(`_REC_AUTH_', `$.$?{auth_type}(authenticated')
27912ed1c7cSGregory Neil Shapirodefine(`_REC_FULL_AUTH_', `$.$?{auth_type}(user=${auth_authen} $?{auth_author}author=${auth_author} $.mech=${auth_type}')
2803299c2f1SGregory Neil Shapirodefine(`_REC_HDR_', `$?sfrom $s $.$?_($?s$|from $.$_)')
2813299c2f1SGregory Neil Shapirodefine(`_REC_END_', `for $u; $|;
2829350bdc3SGregory Neil Shapiro	$.$b$?g
2833299c2f1SGregory Neil Shapiro	(envelope-from $g)$.')
28412ed1c7cSGregory Neil Shapirodefine(`_REC_TLS_', `(version=${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify})$.$?u')
2853299c2f1SGregory Neil Shapirodefine(`_REC_BY_', `$.by $j ($v/$Z)$?r with $r$. id $i$?{tls_version}')
2863299c2f1SGregory Neil Shapirodefine(`confRECEIVED_HEADER', `_REC_HDR_
28712ed1c7cSGregory Neil Shapiro	_REC_AUTH_$?{auth_ssf} bits=${auth_ssf}$.)
2883299c2f1SGregory Neil Shapiro	_REC_BY_
2893299c2f1SGregory Neil Shapiro	_REC_TLS_
2903299c2f1SGregory Neil Shapiro	_REC_END_')
291c2aa98e2SPeter Wemmdefine(`confSEVEN_BIT_INPUT', `False')
292c2aa98e2SPeter Wemmdefine(`confALIAS_WAIT', `10')
293c2aa98e2SPeter Wemmdefine(`confMIN_FREE_BLOCKS', `100')
294c2aa98e2SPeter Wemmdefine(`confBLANK_SUB', `.')
295c2aa98e2SPeter Wemmdefine(`confCON_EXPENSIVE', `False')
296c2aa98e2SPeter Wemmdefine(`confDELIVERY_MODE', `background')
297c2aa98e2SPeter Wemmdefine(`confTEMP_FILE_MODE', `0600')
298c2aa98e2SPeter Wemmdefine(`confMCI_CACHE_SIZE', `2')
299c2aa98e2SPeter Wemmdefine(`confMCI_CACHE_TIMEOUT', `5m')
300c2aa98e2SPeter Wemmdefine(`confUSE_ERRORS_TO', `False')
301c2aa98e2SPeter Wemmdefine(`confLOG_LEVEL', `9')
302c2aa98e2SPeter Wemmdefine(`confCHECK_ALIASES', `False')
303c2aa98e2SPeter Wemmdefine(`confOLD_STYLE_HEADERS', `True')
304c2aa98e2SPeter Wemmdefine(`confPRIVACY_FLAGS', `authwarnings')
305c2aa98e2SPeter Wemmdefine(`confSAFE_QUEUE', `True')
306c2aa98e2SPeter Wemmdefine(`confTO_QUEUERETURN', `5d')
307c2aa98e2SPeter Wemmdefine(`confTO_QUEUEWARN', `4h')
308c2aa98e2SPeter Wemmdefine(`confTIME_ZONE', `USE_SYSTEM')
3093299c2f1SGregory Neil Shapirodefine(`confCW_FILE', `MAIL_SETTINGS_DIR`'local-host-names')
310c2aa98e2SPeter Wemmdefine(`confMIME_FORMAT_ERRORS', `True')
311c2aa98e2SPeter Wemmdefine(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward')
3123299c2f1SGregory Neil Shapirodefine(`confCR_FILE', `-o MAIL_SETTINGS_DIR`'relay-domains')
3133299c2f1SGregory Neil Shapirodefine(`confMILTER_MACROS_CONNECT', ``j, _, {daemon_name}, {if_name}, {if_addr}'')
3143299c2f1SGregory Neil Shapirodefine(`confMILTER_MACROS_HELO', ``{tls_version}, {cipher}, {cipher_bits}, {cert_subject}, {cert_issuer}'')
3153299c2f1SGregory Neil Shapirodefine(`confMILTER_MACROS_ENVFROM', ``i, {auth_type}, {auth_authen}, {auth_ssf}, {auth_author}, {mail_mailer}, {mail_host}, {mail_addr}'')
3163299c2f1SGregory Neil Shapirodefine(`confMILTER_MACROS_ENVRCPT', ``{rcpt_mailer}, {rcpt_host}, {rcpt_addr}'')
317bfb62e91SGregory Neil Shapirodefine(`confMILTER_MACROS_EOM', `{msg_id}')
3183299c2f1SGregory Neil Shapiro
319c2aa98e2SPeter Wemm
320c2aa98e2SPeter Wemmdivert(0)dnl
3214313cc83SGregory Neil ShapiroVERSIONID(`$Id: cfhead.m4,v 8.122 2013-11-22 20:51:13 ca Exp $')
322