1N/APUSHDIVERT(-1)
1N/A#
1N/A# Copyright (c) 1998-2000, 2004 Sendmail, Inc. and its suppliers.
1N/A# All rights reserved.
1N/A# Copyright (c) 1983 Eric P. Allman. All rights reserved.
1N/A# Copyright (c) 1988, 1993
1N/A# The Regents of the University of California. All rights reserved.
1N/A#
1N/A# By using this file, you agree to the terms and conditions set
1N/A# forth in the LICENSE file which can be found at the top level of
1N/A# the sendmail distribution.
1N/A#
1N/A# ident "%Z%%M% %I% %E% SMI"
1N/A#
1N/A_DEFIFNOT(`_DEF_LOCAL_MAILER_FLAGS', `lsDFMAw5:/|@q')
1N/A_DEFIFNOT(`LOCAL_MAILER_FLAGS', `Prmn9')
1N/Aifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /bin/mail)')
1N/Aifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -d $u')')
1N/Aifdef(`LOCAL_MAILER_DSN_DIAGNOSTIC_CODE',, `define(`LOCAL_MAILER_DSN_DIAGNOSTIC_CODE', `X-Unix')')
1N/A_DEFIFNOT(`_DEF_LOCAL_SHELL_FLAGS', `lsDFMoq')
1N/A_DEFIFNOT(`LOCAL_SHELL_FLAGS', `eu9')
1N/Aifdef(`LOCAL_SHELL_PATH',, `define(`LOCAL_SHELL_PATH', /bin/sh)')
1N/Aifdef(`LOCAL_SHELL_ARGS',, `define(`LOCAL_SHELL_ARGS', `sh -c $u')')
1N/Aifdef(`LOCAL_SHELL_DIR',, `define(`LOCAL_SHELL_DIR', `$z:/')')
1N/Adefine(`LOCAL_RWR', `ifdef(`_LOCAL_LMTP_',
1N/A`S=EnvFromSMTP/HdrFromL, R=EnvToL/HdrToL',
1N/A`S=EnvFromL/HdrFromL, R=EnvToL/HdrToL')')
1N/Adefine(`_LOCAL_QGRP', `ifelse(defn(`LOCAL_MAILER_QGRP'),`',`', ` Q=LOCAL_MAILER_QGRP,')')dnl
1N/Adefine(`_PROG_QGRP', `ifelse(defn(`LOCAL_PROG_QGRP'),`',`', ` Q=LOCAL_PROG_QGRP,')')dnl
1N/APOPDIVERT
1N/A
1N/A##################################################
1N/A### Local and Program Mailer specification ###
1N/A##################################################
1N/A
1N/AVERSIONID(`$Id: local.m4,v 8.59 2004/11/23 00:37:25 ca Exp $')
1N/A
1N/A#
1N/A# Envelope sender rewriting
1N/A#
1N/ASEnvFromL
1N/AR<@> $n errors to mailer-daemon
1N/AR@ <@ $*> $n temporarily bypass Sun bogosity
1N/AR$+ $: $>AddDomain $1 add local domain if needed
1N/Aifdef(`_LOCAL_NO_MASQUERADE_', `dnl', `dnl
1N/AR$* $: $>MasqEnv $1 do masquerading')
1N/A
1N/A#
1N/A# Envelope recipient rewriting
1N/A#
1N/ASEnvToL
1N/AR$+ < @ $* > $: $1 strip host part
1N/Aifdef(`confUSERDB_SPEC', `dnl', `dnl
1N/AR$+ + $* $: < $&{addr_type} > $1 + $2 mark with addr type
1N/AR<e s> $+ + $* $: $1 remove +detail for sender
1N/AR< $* > $+ $: $2 else remove mark')
1N/A
1N/A#
1N/A# Header sender rewriting
1N/A#
1N/ASHdrFromL
1N/AR<@> $n errors to mailer-daemon
1N/AR@ <@ $*> $n temporarily bypass Sun bogosity
1N/AR$+ $: $>AddDomain $1 add local domain if needed
1N/Aifdef(`_LOCAL_NO_MASQUERADE_', `dnl', `dnl
1N/AR$* $: $>MasqHdr $1 do masquerading')
1N/A
1N/A#
1N/A# Header recipient rewriting
1N/A#
1N/ASHdrToL
1N/AR$+ $: $>AddDomain $1 add local domain if needed
1N/Aifdef(`_ALL_MASQUERADE_', `dnl
1N/Aifdef(`_LOCAL_NO_MASQUERADE_', `dnl', `dnl
1N/AR$* $: $>MasqHdr $1 do all-masquerading')',
1N/A`R$* < @ *LOCAL* > $* $: $1 < @ $j . > $2')
1N/A
1N/A#
1N/A# Common code to add local domain name (only if always-add-domain)
1N/A#
1N/ASAddDomain
1N/Aifdef(`_ALWAYS_ADD_DOMAIN_', `dnl
1N/AR$* < @ $* > $* $@ $1 < @ $2 > $3 already fully qualified
1N/Aifelse(len(X`'_ALWAYS_ADD_DOMAIN_),`1',`
1N/AR$+ $@ $1 < @ *LOCAL* > add local qualification',
1N/A`R$+ $@ $1 < @ _ALWAYS_ADD_DOMAIN_ > add qualification')',
1N/A`dnl')
1N/A
1N/AMlocal, P=LOCAL_MAILER_PATH, F=_MODMF_(CONCAT(_DEF_LOCAL_MAILER_FLAGS, LOCAL_MAILER_FLAGS), `LOCAL'), LOCAL_RWR,_OPTINS(`LOCAL_MAILER_EOL', ` E=', `, ')
1N/A _OPTINS(`LOCAL_MAILER_MAX', `M=', `, ')_OPTINS(`LOCAL_MAILER_MAXMSGS', `m=', `, ')_OPTINS(`LOCAL_MAILER_MAXRCPTS', `r=', `, ')_OPTINS(`LOCAL_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/LOCAL_MAILER_DSN_DIAGNOSTIC_CODE,_LOCAL_QGRP
1N/A A=LOCAL_MAILER_ARGS
1N/AMprog, P=LOCAL_SHELL_PATH, F=_MODMF_(CONCAT(_DEF_LOCAL_SHELL_FLAGS, LOCAL_SHELL_FLAGS), `SHELL'), S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=LOCAL_SHELL_DIR,
1N/A _OPTINS(`LOCAL_MAILER_MAX', `M=', `, ')T=X-Unix/X-Unix/X-Unix,_PROG_QGRP
1N/A A=LOCAL_SHELL_ARGS