uucp.m4 revision 38032
138032SpeterPUSHDIVERT(-1)
238032Speter#
338032Speter# Copyright (c) 1998 Sendmail, Inc.  All rights reserved.
438032Speter# Copyright (c) 1983 Eric P. Allman.  All rights reserved.
538032Speter# Copyright (c) 1988, 1993
638032Speter#	The Regents of the University of California.  All rights reserved.
738032Speter#
838032Speter# By using this file, you agree to the terms and conditions set
938032Speter# forth in the LICENSE file which can be found at the top level of
1038032Speter# the sendmail distribution.
1138032Speter#
1238032Speter#
1338032Speter
1438032Speterifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')
1538032Speterifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -a$g -gC $h!rmail ($u)')')
1638032Speterifdef(`UUCP_MAILER_FLAGS',, `define(`UUCP_MAILER_FLAGS', `')')
1738032Speterifdef(`UUCP_MAILER_MAX',,
1838032Speter	`define(`UUCP_MAILER_MAX',
1938032Speter		`ifdef(`UUCP_MAX_SIZE', `UUCP_MAX_SIZE', 100000)')')
2038032SpeterPOPDIVERT
2138032Speter#####################################
2238032Speter###   UUCP Mailer specification   ###
2338032Speter#####################################
2438032Speter
2538032SpeterVERSIONID(`@(#)uucp.m4	8.30 (Berkeley) 5/19/98')
2638032Speter
2738032Speter#
2838032Speter#  There are innumerable variations on the UUCP mailer.  It really
2938032Speter#  is rather absurd.
3038032Speter#
3138032Speter
3238032Speter# old UUCP mailer (two names)
3338032SpeterMuucp,		P=UUCP_MAILER_PATH, F=CONCAT(DFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAILER_MAX,
3438032Speter		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
3538032Speter		A=UUCP_MAILER_ARGS
3638032SpeterMuucp-old,	P=UUCP_MAILER_PATH, F=CONCAT(DFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAILER_MAX,
3738032Speter		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
3838032Speter		A=UUCP_MAILER_ARGS
3938032Speter
4038032Speter# smart UUCP mailer (handles multiple addresses) (two names)
4138032SpeterMsuucp,		P=UUCP_MAILER_PATH, F=CONCAT(mDFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAILER_MAX,
4238032Speter		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
4338032Speter		A=UUCP_MAILER_ARGS
4438032SpeterMuucp-new,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAILER_MAX,
4538032Speter		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
4638032Speter		A=UUCP_MAILER_ARGS
4738032Speter
4838032Speterifdef(`_MAILER_smtp_',
4938032Speter`# domain-ized UUCP mailer
5038032SpeterMuucp-dom,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhud, UUCP_MAILER_FLAGS), S=52/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'), M=UUCP_MAILER_MAX,
5138032Speter		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
5238032Speter		A=UUCP_MAILER_ARGS
5338032Speter
5438032Speter# domain-ized UUCP mailer with UUCP-style sender envelope
5538032SpeterMuucp-uudom,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhud, UUCP_MAILER_FLAGS), S=72/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'), M=UUCP_MAILER_MAX,
5638032Speter		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
5738032Speter		A=UUCP_MAILER_ARGS')
5838032Speter
5938032Speter
6038032Speter#
6138032Speter#  envelope and header sender rewriting
6238032Speter#
6338032SpeterS12
6438032Speter
6538032Speter# handle error address as a special case
6638032SpeterR<@>				$n			errors to mailer-daemon
6738032Speter
6838032Speter# list:; syntax should disappear
6938032SpeterR:; <@>				$@
7038032Speter
7138032SpeterR$* < @ $* . > $*		$1 < @ $2 > $3		strip trailing dots
7238032SpeterR$* < @ $=w >			$1			strip local name
7338032SpeterR<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
7438032SpeterR<@ $+ > : $+			$1 ! $2			convert to UUCP format
7538032SpeterR$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
7638032SpeterR$* < @ $+ >			$2 ! $1			convert to UUCP format
7738032SpeterR$&h ! $+ ! $+			$@ $1 ! $2		$h!...!user => ...!user
7838032SpeterR$&h ! $+			$@ $&h ! $1		$h!user => $h!user
7938032SpeterR$+				$: $U ! $1		prepend our name
8038032SpeterR! $+				$: $k ! $1		in case $U undefined
8138032Speter
8238032Speter#
8338032Speter#  envelope recipient rewriting
8438032Speter#
8538032SpeterS22
8638032Speter
8738032Speter# list:; should disappear
8838032SpeterR:; <@>				$@
8938032Speter
9038032SpeterR$* < @ $* . > $*		$1 < @ $2 > $3		strip trailing dots
9138032SpeterR$* < @ $=w >			$1			strip local name
9238032SpeterR<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
9338032SpeterR<@ $+ > : $+			$1 ! $2			convert to UUCP format
9438032SpeterR$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
9538032SpeterR$* < @ $+ >			$2 ! $1			convert to UUCP format
9638032Speter
9738032Speter#
9838032Speter#  header recipient rewriting
9938032Speter#
10038032SpeterS42
10138032Speter
10238032Speter# list:; syntax should disappear
10338032SpeterR:; <@>				$@
10438032Speter
10538032SpeterR$* < @ $* . > $*		$1 < @ $2 > $3		strip trailing dots
10638032SpeterR$* < @ $=w >			$1			strip local name
10738032SpeterR<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
10838032SpeterR<@ $+ > : $+			$1 ! $2			convert to UUCP format
10938032SpeterR$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
11038032SpeterR$* < @ $+ >			$2 ! $1			convert to UUCP format
11138032SpeterR$&h ! $+ ! $+			$@ $1 ! $2		$h!...!user => ...!user
11238032SpeterR$&h ! $+			$@ $&h ! $1		$h!user => $h!user
11338032SpeterR$+				$: $U ! $1		prepend our name
11438032SpeterR! $+				$: $k ! $1		in case $U undefined
11538032Speter
11638032Speter
11738032Speterifdef(`_MAILER_smtp_',
11838032Speter`#
11938032Speter#  envelope sender rewriting for uucp-dom mailer
12038032Speter#
12138032SpeterS52
12238032Speter
12338032Speter# handle error address as a special case
12438032SpeterR<@>				$n			errors to mailer-daemon
12538032Speter
12638032Speter# pass everything to standard SMTP mailer rewriting
12738032SpeterR$*				$@ $>11 $1
12838032Speter
12938032Speter#
13038032Speter#  envelope sender rewriting for uucp-uudom mailer
13138032Speter#
13238032SpeterS72
13338032Speter
13438032Speter# handle error address as a special case
13538032SpeterR<@>				$n			errors to mailer-daemon
13638032Speter
13738032Speter# do standard SMTP mailer rewriting
13838032SpeterR$*				$: $>11 $1
13938032Speter
14038032SpeterR$* < @ $* . > $*		$1 < @ $2 > $3		strip trailing dots
14138032SpeterR<@ $- . UUCP > : $+		$@ $1 ! $2		convert to UUCP format
14238032SpeterR<@ $+ > : $+			$@ $1 ! $2		convert to UUCP format
14338032SpeterR$* < @ $- . UUCP >		$@ $2 ! $1		convert to UUCP format
14438032SpeterR$* < @ $+ >			$@ $2 ! $1		convert to UUCP format')
14538032Speter
14638032Speter
14738032SpeterPUSHDIVERT(4)
14838032Speter# resolve locally connected UUCP links
14938032SpeterR$* < @ $=Z . UUCP. > $*	$#uucp-uudom $@ $2 $: $1 < @ $2 .UUCP. > $3
15038032SpeterR$* < @ $=Y . UUCP. > $*	$#uucp-new $@ $2 $: $1 < @ $2 .UUCP. > $3
15138032SpeterR$* < @ $=U . UUCP. > $*	$#uucp-old $@ $2 $: $1 < @ $2 .UUCP. > $3
15238032SpeterPOPDIVERT
153