1PUSHDIVERT(-1)
2#
3# Copyright (c) 1983 Eric P. Allman
4# Copyright (c) 1988, 1993
5#	The Regents of the University of California.  All rights reserved.
6#
7# %sccs.include.redist.sh%
8#
9
10ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')
11ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -z -a$f -gC $h!rmail ($u)')')
12ifdef(`UUCP_MAILER_FLAGS',, `define(`UUCP_MAILER_FLAGS', `')')
13ifdef(`UUCP_MAX_SIZE',, `define(`UUCP_MAX_SIZE', 100000)')
14POPDIVERT
15#####################################
16###   UUCP Mailer specification   ###
17#####################################
18
19VERSIONID(`@(#)uucp.m4	8.9 (Berkeley) 12/10/93')
20
21#
22#  There are innumerable variations on the UUCP mailer.  It really
23#  is rather absurd.
24#
25
26# old UUCP mailer (two names)
27Muucp,		P=UUCP_MAILER_PATH, F=CONCAT(DFMhuU, UUCP_MAILER_FLAGS), S=12, R=22, M=UUCP_MAX_SIZE,
28		A=UUCP_MAILER_ARGS
29Muucp-old,	P=UUCP_MAILER_PATH, F=CONCAT(DFMhuU, UUCP_MAILER_FLAGS), S=12, R=22, M=UUCP_MAX_SIZE,
30		A=UUCP_MAILER_ARGS
31
32# smart UUCP mailer (handles multiple addresses) (two names)
33Msuucp,		P=UUCP_MAILER_PATH, F=CONCAT(mDFMhuU, UUCP_MAILER_FLAGS), S=12, R=22, M=UUCP_MAX_SIZE,
34		A=UUCP_MAILER_ARGS
35Muucp-new,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhuU, UUCP_MAILER_FLAGS), S=12, R=22, M=UUCP_MAX_SIZE,
36		A=UUCP_MAILER_ARGS
37
38ifdef(`_MAILER_smtp_',
39`# domain-ized UUCP mailer
40Muucp-dom,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhu, UUCP_MAILER_FLAGS), S=52/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), M=UUCP_MAX_SIZE,
41		A=UUCP_MAILER_ARGS
42
43# domain-ized UUCP mailer with UUCP-style sender envelope
44Muucp-uudom,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhu, UUCP_MAILER_FLAGS), S=72/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), M=UUCP_MAX_SIZE,
45		A=UUCP_MAILER_ARGS')
46
47
48#
49#  envelope and header sender rewriting
50#
51S12
52
53# handle error address as a special case
54R<@>				$n			errors to mailer-daemon
55
56# do not qualify list:; syntax
57R$* :; <@>			$@ $1 :;
58
59R$* < @ $* . >			$1 < @ $2 >		strip trailing dots
60R$* < @ $=w >			$1			strip local name
61R$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
62R$* < @ $+ >			$2 ! $1			convert to UUCP format
63R$+				$: $U ! $1		prepend our name
64
65#
66#  envelope and header recipient rewriting
67#
68S22
69
70# don't touch list:; syntax
71R$* :; <@>			$@ $1 :;
72
73R$* < @ $* . >			$1 < @ $2 >		strip trailing dots
74R$* < @ $j >			$1			strip local name
75R$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
76R$* < @ $+ >			$2 ! $1			convert to UUCP format
77
78
79ifdef(`_MAILER_smtp_',
80`#
81#  envelope sender rewriting for uucp-dom mailer
82#
83S52
84
85# handle error address as a special case
86R<@>				$n			errors to mailer-daemon
87
88# pass everything to standard SMTP mailer rewriting
89R$*				$@ $>11 $1
90
91#
92#  envelope sender rewriting for uucp-uudom mailer
93#
94S72
95
96R$+				$: $>12 $1		uucp-ify
97R $=w ! $+			$2			prepare for following
98R $+				$: $M ! $1		prepend masquerade name
99R ! $+				$: $j ! $1		in case $M undefined')
100
101
102PUSHDIVERT(4)
103# resolve locally connected UUCP links
104R< @ $=Z . UUCP. > : $+		$#uucp-dom $@ $1 $: $2	@host.UUCP: ...
105R$+ < @ $=Z . UUCP. >		$#uucp-dom $@ $2 $: $1	user@host.UUCP
106R< @ $=Y . UUCP. > : $+		$#uucp-new $@ $1 $: $2	@host.UUCP: ...
107R$+ < @ $=Y . UUCP. >		$#uucp-new $@ $2 $: $1	user@host.UUCP
108R< @ $=U . UUCP. > : $+		$#uucp-old $@ $1 $: $2	@host.UUCP: ...
109R$+ < @ $=U . UUCP. >		$#uucp-old $@ $2 $: $1	user@host.UUCP
110POPDIVERT
111