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 -a$g -gC $h!rmail ($u)')')
12ifdef(`UUCP_MAILER_FLAGS',, `define(`UUCP_MAILER_FLAGS', `')')
13ifdef(`UUCP_MAILER_MAX',,
14	`define(`UUCP_MAILER_MAX',
15		`ifdef(`UUCP_MAX_SIZE', `UUCP_MAX_SIZE', 100000)')')
16POPDIVERT
17#####################################
18###   UUCP Mailer specification   ###
19#####################################
20
21VERSIONID(`@(#)uucp.m4	8.22 (Berkeley) 04/26/95')
22
23#
24#  There are innumerable variations on the UUCP mailer.  It really
25#  is rather absurd.
26#
27
28# old UUCP mailer (two names)
29Muucp,		P=UUCP_MAILER_PATH, F=CONCAT(DFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAILER_MAX,
30		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
31		A=UUCP_MAILER_ARGS
32Muucp-old,	P=UUCP_MAILER_PATH, F=CONCAT(DFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAILER_MAX,
33		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
34		A=UUCP_MAILER_ARGS
35
36# smart UUCP mailer (handles multiple addresses) (two names)
37Msuucp,		P=UUCP_MAILER_PATH, F=CONCAT(mDFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAILER_MAX,
38		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
39		A=UUCP_MAILER_ARGS
40Muucp-new,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhuUd, UUCP_MAILER_FLAGS), S=12, R=22/42, M=UUCP_MAILER_MAX,
41		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
42		A=UUCP_MAILER_ARGS
43
44ifdef(`_MAILER_smtp_',
45`# domain-ized UUCP mailer
46Muucp-dom,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhud, UUCP_MAILER_FLAGS), S=52/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), M=UUCP_MAILER_MAX,
47		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
48		A=UUCP_MAILER_ARGS
49
50# domain-ized UUCP mailer with UUCP-style sender envelope
51Muucp-uudom,	P=UUCP_MAILER_PATH, F=CONCAT(mDFMhud, UUCP_MAILER_FLAGS), S=72/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), M=UUCP_MAILER_MAX,
52		_OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,
53		A=UUCP_MAILER_ARGS')
54
55
56#
57#  envelope and header sender rewriting
58#
59S12
60
61# handle error address as a special case
62R<@>				$n			errors to mailer-daemon
63
64# list:; syntax should disappear
65R:; <@>				$@
66
67R$* < @ $* . >			$1 < @ $2 >		strip trailing dots
68R$* < @ $=w >			$1			strip local name
69R<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
70R<@ $+ > : $+			$1 ! $2			convert to UUCP format
71R$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
72R$* < @ $+ >			$2 ! $1			convert to UUCP format
73R$&h ! $+ ! $+			$@ $1 ! $2		$h!...!user => ...!user
74R$&h ! $+			$@ $&h ! $1		$h!user => $h!user
75R$+				$: $U ! $1		prepend our name
76R! $+				$: $k ! $1		in case $U undefined
77
78#
79#  envelope recipient rewriting
80#
81S22
82
83# list:; should disappear
84R:; <@>				$@
85
86R$* < @ $* . >			$1 < @ $2 >		strip trailing dots
87R$* < @ $j >			$1			strip local name
88R<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
89R<@ $+ > : $+			$1 ! $2			convert to UUCP format
90R$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
91R$* < @ $+ >			$2 ! $1			convert to UUCP format
92
93#
94#  header recipient rewriting
95#
96S42
97
98# list:; syntax should disappear
99R:; <@>				$@
100
101R$* < @ $* . >			$1 < @ $2 >		strip trailing dots
102R$* < @ $j >			$1			strip local name
103R<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
104R<@ $+ > : $+			$1 ! $2			convert to UUCP format
105R$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
106R$* < @ $+ >			$2 ! $1			convert to UUCP format
107R$&h ! $+ ! $+			$@ $1 ! $2		$h!...!user => ...!user
108R$&h ! $+			$@ $&h ! $1		$h!user => $h!user
109R$+				$: $U ! $1		prepend our name
110R! $+				$: $k ! $1		in case $U undefined
111
112
113ifdef(`_MAILER_smtp_',
114`#
115#  envelope sender rewriting for uucp-dom mailer
116#
117S52
118
119# handle error address as a special case
120R<@>				$n			errors to mailer-daemon
121
122# pass everything to standard SMTP mailer rewriting
123R$*				$@ $>11 $1
124
125#
126#  envelope sender rewriting for uucp-uudom mailer
127#
128S72
129
130# handle error address as a special case
131R<@>				$n			errors to mailer-daemon
132
133# list:; syntax should disappear
134R:; <@>				$@
135
136R$* < @ $* . >			$1 < @ $2 >		strip trailing dots
137R$* < @ $=w >			$1			strip local name
138R<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
139R<@ $+ > : $+			$1 ! $2			convert to UUCP format
140R$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
141R$* < @ $+ >			$@ $2 ! $1		convert to UUCP format
142
143R$&h ! $+ ! $+			$@ $1 ! $2		$h!...!user => ...!user
144R$&h ! $+			$@ $&h ! $1		$h!user => $h!user
145R$+				$: $M ! $1		prepend masquerade name
146R! $+				$: $j ! $1		in case $M undefined')
147
148
149PUSHDIVERT(4)
150# resolve locally connected UUCP links
151R$* < @ $=Z . UUCP. > $*	$#uucp-uudom $@ $2 $: $1 < @ $2 .UUCP. > $3
152R$* < @ $=Y . UUCP. > $*	$#uucp-new $@ $2 $: $1 < @ $2 .UUCP. > $3
153R$* < @ $=U . UUCP. > $*	$#uucp-old $@ $2 $: $1 < @ $2 .UUCP. > $3
154POPDIVERT
155