151226SericPUSHDIVERT(-1)
251226Seric#
351226Seric# Copyright (c) 1983 Eric P. Allman
462501Sbostic# Copyright (c) 1988, 1993
562501Sbostic#	The Regents of the University of California.  All rights reserved.
651226Seric#
751226Seric# %sccs.include.redist.sh%
851226Seric#
958088Seric
1058088Sericifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')
1168056Sericifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -a$g -gC $h!rmail ($u)')')
1259765Sericifdef(`UUCP_MAILER_FLAGS',, `define(`UUCP_MAILER_FLAGS', `')')
1363790Sericifdef(`UUCP_MAX_SIZE',, `define(`UUCP_MAX_SIZE', 100000)')
1451226SericPOPDIVERT
1551226Seric#####################################
1651226Seric###   UUCP Mailer specification   ###
1751226Seric#####################################
1851226Seric
19*68081SericVERSIONID(`@(#)uucp.m4	8.19 (Berkeley) 12/11/94')
2051226Seric
2165083Seric#
2265083Seric#  There are innumerable variations on the UUCP mailer.  It really
2365083Seric#  is rather absurd.
2465083Seric#
2565083Seric
2665083Seric# old UUCP mailer (two names)
27*68081SericMuucp,		P=UUCP_MAILER_PATH, F=CONCAT(DFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAX_SIZE, T=X-UUCP,
2863755Seric		A=UUCP_MAILER_ARGS
29*68081SericMuucp-old,	P=UUCP_MAILER_PATH, F=CONCAT(DFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAX_SIZE, T=X-UUCP,
3065083Seric		A=UUCP_MAILER_ARGS
3151226Seric
3265083Seric# smart UUCP mailer (handles multiple addresses) (two names)
33*68081SericMsuucp,		P=UUCP_MAILER_PATH, F=CONCAT(mDFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAX_SIZE, T=X-UUCP,
3463755Seric		A=UUCP_MAILER_ARGS
35*68081SericMuucp-new,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAX_SIZE, T=X-UUCP,
3665083Seric		A=UUCP_MAILER_ARGS
3751226Seric
3863790Sericifdef(`_MAILER_smtp_',
3963790Seric`# domain-ized UUCP mailer
40*68081SericMuucp-dom,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhud, UUCP_MAILER_FLAGS), S=52/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), M=UUCP_MAX_SIZE, T=X-UUCP,
4165083Seric		A=UUCP_MAILER_ARGS
4265083Seric
4365083Seric# domain-ized UUCP mailer with UUCP-style sender envelope
44*68081SericMuucp-uudom,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhud, UUCP_MAILER_FLAGS), S=72/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), M=UUCP_MAX_SIZE, T=X-UUCP,
4563790Seric		A=UUCP_MAILER_ARGS')
4663790Seric
4763790Seric
4864804Seric#
4964804Seric#  envelope and header sender rewriting
5064804Seric#
5151226SericS12
5251226Seric
5358117Seric# handle error address as a special case
5458500SericR<@>				$n			errors to mailer-daemon
5558117Seric
5663759Seric# do not qualify list:; syntax
5758500SericR$* :; <@>			$@ $1 :;
5854018Seric
5958797SericR$* < @ $* . >			$1 < @ $2 >		strip trailing dots
6064973SericR$* < @ $=w >			$1			strip local name
6165592SericR<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
6265556SericR<@ $+ > : $+			$1 ! $2			convert to UUCP format
6365592SericR$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
6451245SericR$* < @ $+ >			$2 ! $1			convert to UUCP format
6565217SericR$&h ! $+ ! $+			$@ $1 ! $2		$h!...!user => ...!user
6665217SericR$&h ! $+			$@ $&h ! $1		$h!user => $h!user
6763755SericR$+				$: $U ! $1		prepend our name
6865184SericR! $+				$: $k ! $1		in case $U undefined
6951259Seric
7064804Seric#
7166791Seric#  envelope recipient rewriting
7264804Seric#
7358023SericS22
7458023Seric
7558023Seric# don't touch list:; syntax
7664930SericR$* :; <@>			$@ $1 :;
7758023Seric
7858797SericR$* < @ $* . >			$1 < @ $2 >		strip trailing dots
7958758SericR$* < @ $j >			$1			strip local name
8065592SericR<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
8165556SericR<@ $+ > : $+			$1 ! $2			convert to UUCP format
8265592SericR$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
8358023SericR$* < @ $+ >			$2 ! $1			convert to UUCP format
8466791Seric
8566791Seric#
8666791Seric#  header recipient rewriting
8766791Seric#
8866791SericS42
8966791Seric
9066791Seric# don't touch list:; syntax
9166791SericR$* :; <@>			$@ $1 :;
9266791Seric
9366791SericR$* < @ $* . >			$1 < @ $2 >		strip trailing dots
9466791SericR$* < @ $j >			$1			strip local name
9566791SericR<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
9666791SericR<@ $+ > : $+			$1 ! $2			convert to UUCP format
9766791SericR$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
9866791SericR$* < @ $+ >			$2 ! $1			convert to UUCP format
9965217SericR$&h ! $+ ! $+			$@ $1 ! $2		$h!...!user => ...!user
10065217SericR$&h ! $+			$@ $&h ! $1		$h!user => $h!user
10165217SericR$+				$: $U ! $1		prepend our name
10265217SericR! $+				$: $k ! $1		in case $U undefined
10358023Seric
10464804Seric
10565083Sericifdef(`_MAILER_smtp_',
10665083Seric`#
10764804Seric#  envelope sender rewriting for uucp-dom mailer
10864804Seric#
10964804SericS52
11064804Seric
11164804Seric# handle error address as a special case
11264804SericR<@>				$n			errors to mailer-daemon
11364804Seric
11464804Seric# pass everything to standard SMTP mailer rewriting
11564804SericR$*				$@ $>11 $1
11664804Seric
11765083Seric#
11865083Seric#  envelope sender rewriting for uucp-uudom mailer
11965083Seric#
12065083SericS72
12164804Seric
12265217Seric# handle error address as a special case
12365217SericR<@>				$n			errors to mailer-daemon
12465217Seric
12565217Seric# do not qualify list:; syntax
12665217SericR$* :; <@>			$@ $1 :;
12765217Seric
12865217SericR$* < @ $* . >			$1 < @ $2 >		strip trailing dots
12965217SericR$* < @ $=w >			$1			strip local name
13065592SericR<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
13165556SericR<@ $+ > : $+			$1 ! $2			convert to UUCP format
13265592SericR$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
13365217SericR$* < @ $+ >			$@ $2 ! $1		convert to UUCP format
13465217Seric
13565217SericR$&h ! $+ ! $+			$@ $1 ! $2		$h!...!user => ...!user
13665217SericR$&h ! $+			$@ $&h ! $1		$h!user => $h!user
13765184SericR$+				$: $M ! $1		prepend masquerade name
13865184SericR! $+				$: $j ! $1		in case $M undefined')
13965083Seric
14065083Seric
14151259SericPUSHDIVERT(4)
14251259Seric# resolve locally connected UUCP links
14366096SericR$* < @ $=Z . UUCP. > $*	$#uucp-uudom $@ $2 $: $1 < @ $2 .UUCP. > $3
14465556SericR$* < @ $=Y . UUCP. > $*	$#uucp-new $@ $2 $: $1 < @ $2 .UUCP. > $3
14565556SericR$* < @ $=U . UUCP. > $*	$#uucp-old $@ $2 $: $1 < @ $2 .UUCP. > $3
14651259SericPOPDIVERT
147