xref: /illumos-gate/usr/src/cmd/sendmail/cf/mailer/uucp.m4 (revision 7c478bd9)
1*7c478bd9Sstevel@tonic-gatePUSHDIVERT(-1)
2*7c478bd9Sstevel@tonic-gate#
3*7c478bd9Sstevel@tonic-gate# Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers.
4*7c478bd9Sstevel@tonic-gate#	All rights reserved.
5*7c478bd9Sstevel@tonic-gate# Copyright (c) 1983 Eric P. Allman.  All rights reserved.
6*7c478bd9Sstevel@tonic-gate# Copyright (c) 1988, 1993
7*7c478bd9Sstevel@tonic-gate#	The Regents of the University of California.  All rights reserved.
8*7c478bd9Sstevel@tonic-gate#
9*7c478bd9Sstevel@tonic-gate# By using this file, you agree to the terms and conditions set
10*7c478bd9Sstevel@tonic-gate# forth in the LICENSE file which can be found at the top level of
11*7c478bd9Sstevel@tonic-gate# the sendmail distribution.
12*7c478bd9Sstevel@tonic-gate#
13*7c478bd9Sstevel@tonic-gate#ident	"%Z%%M%	%I%	%E% SMI"
14*7c478bd9Sstevel@tonic-gate#
15*7c478bd9Sstevel@tonic-gate
16*7c478bd9Sstevel@tonic-gateifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')
17*7c478bd9Sstevel@tonic-gateifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -a$g -gC $h!rmail ($u)')')
18*7c478bd9Sstevel@tonic-gate_DEFIFNOT(`UUCP_MAILER_FLAGS', `')
19*7c478bd9Sstevel@tonic-gateifdef(`UUCP_MAILER_MAX',,
20*7c478bd9Sstevel@tonic-gate	`define(`UUCP_MAILER_MAX',
21*7c478bd9Sstevel@tonic-gate		`ifdef(`UUCP_MAX_SIZE', `UUCP_MAX_SIZE', 100000)')')
22*7c478bd9Sstevel@tonic-gatedefine(`_UUCP_QGRP', `ifelse(defn(`UUCP_MAILER_QGRP'),`',`', ` Q=UUCP_MAILER_QGRP,')')dnl
23*7c478bd9Sstevel@tonic-gatePOPDIVERT
24*7c478bd9Sstevel@tonic-gate#####################################
25*7c478bd9Sstevel@tonic-gate###   UUCP Mailer specification   ###
26*7c478bd9Sstevel@tonic-gate#####################################
27*7c478bd9Sstevel@tonic-gate
28*7c478bd9Sstevel@tonic-gateVERSIONID(`$Id: uucp.m4,v 8.44 2001/08/24 19:49:08 ca Exp $')
29*7c478bd9Sstevel@tonic-gate
30*7c478bd9Sstevel@tonic-gate#
31*7c478bd9Sstevel@tonic-gate#  envelope and header sender rewriting
32*7c478bd9Sstevel@tonic-gate#
33*7c478bd9Sstevel@tonic-gateSFromU
34*7c478bd9Sstevel@tonic-gate
35*7c478bd9Sstevel@tonic-gate# handle error address as a special case
36*7c478bd9Sstevel@tonic-gateR<@>				$n			errors to mailer-daemon
37*7c478bd9Sstevel@tonic-gate
38*7c478bd9Sstevel@tonic-gate# list:; syntax should disappear
39*7c478bd9Sstevel@tonic-gateR:; <@>				$@
40*7c478bd9Sstevel@tonic-gate
41*7c478bd9Sstevel@tonic-gateR$* < @ $* . > $*		$1 < @ $2 > $3		strip trailing dots
42*7c478bd9Sstevel@tonic-gateR$* < @ $=w >			$1			strip local name
43*7c478bd9Sstevel@tonic-gateR<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
44*7c478bd9Sstevel@tonic-gateR<@ $+ > : $+			$1 ! $2			convert to UUCP format
45*7c478bd9Sstevel@tonic-gateR$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
46*7c478bd9Sstevel@tonic-gateR$* < @ $+ >			$2 ! $1			convert to UUCP format
47*7c478bd9Sstevel@tonic-gateR$&h ! $+ ! $+			$@ $1 ! $2		$h!...!user => ...!user
48*7c478bd9Sstevel@tonic-gateR$&h ! $+			$@ $&h ! $1		$h!user => $h!user
49*7c478bd9Sstevel@tonic-gateR$+				$: $U ! $1		prepend our name
50*7c478bd9Sstevel@tonic-gateR! $+				$: $k ! $1		in case $U undefined
51*7c478bd9Sstevel@tonic-gate
52*7c478bd9Sstevel@tonic-gate#
53*7c478bd9Sstevel@tonic-gate#  envelope recipient rewriting
54*7c478bd9Sstevel@tonic-gate#
55*7c478bd9Sstevel@tonic-gateSEnvToU
56*7c478bd9Sstevel@tonic-gate
57*7c478bd9Sstevel@tonic-gate# list:; should disappear
58*7c478bd9Sstevel@tonic-gateR:; <@>				$@
59*7c478bd9Sstevel@tonic-gate
60*7c478bd9Sstevel@tonic-gateR$* < @ $* . > $*		$1 < @ $2 > $3		strip trailing dots
61*7c478bd9Sstevel@tonic-gateR$* < @ $=w >			$1			strip local name
62*7c478bd9Sstevel@tonic-gateR<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
63*7c478bd9Sstevel@tonic-gateR<@ $+ > : $+			$1 ! $2			convert to UUCP format
64*7c478bd9Sstevel@tonic-gateR$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
65*7c478bd9Sstevel@tonic-gateR$* < @ $+ >			$2 ! $1			convert to UUCP format
66*7c478bd9Sstevel@tonic-gate
67*7c478bd9Sstevel@tonic-gate#
68*7c478bd9Sstevel@tonic-gate#  header recipient rewriting
69*7c478bd9Sstevel@tonic-gate#
70*7c478bd9Sstevel@tonic-gateSHdrToU
71*7c478bd9Sstevel@tonic-gate
72*7c478bd9Sstevel@tonic-gate# list:; syntax should disappear
73*7c478bd9Sstevel@tonic-gateR:; <@>				$@
74*7c478bd9Sstevel@tonic-gate
75*7c478bd9Sstevel@tonic-gateR$* < @ $* . > $*		$1 < @ $2 > $3		strip trailing dots
76*7c478bd9Sstevel@tonic-gateR$* < @ $=w >			$1			strip local name
77*7c478bd9Sstevel@tonic-gateR<@ $- . UUCP > : $+		$1 ! $2			convert to UUCP format
78*7c478bd9Sstevel@tonic-gateR<@ $+ > : $+			$1 ! $2			convert to UUCP format
79*7c478bd9Sstevel@tonic-gateR$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
80*7c478bd9Sstevel@tonic-gateR$* < @ $+ >			$2 ! $1			convert to UUCP format
81*7c478bd9Sstevel@tonic-gateR$&h ! $+ ! $+			$@ $1 ! $2		$h!...!user => ...!user
82*7c478bd9Sstevel@tonic-gateR$&h ! $+			$@ $&h ! $1		$h!user => $h!user
83*7c478bd9Sstevel@tonic-gateR$+				$: $U ! $1		prepend our name
84*7c478bd9Sstevel@tonic-gateR! $+				$: $k ! $1		in case $U undefined
85*7c478bd9Sstevel@tonic-gate
86*7c478bd9Sstevel@tonic-gate
87*7c478bd9Sstevel@tonic-gateifdef(`_MAILER_smtp_',
88*7c478bd9Sstevel@tonic-gate`#
89*7c478bd9Sstevel@tonic-gate#  envelope sender rewriting for uucp-dom mailer
90*7c478bd9Sstevel@tonic-gate#
91*7c478bd9Sstevel@tonic-gateSEnvFromUD
92*7c478bd9Sstevel@tonic-gate
93*7c478bd9Sstevel@tonic-gate# handle error address as a special case
94*7c478bd9Sstevel@tonic-gateR<@>				$n			errors to mailer-daemon
95*7c478bd9Sstevel@tonic-gate
96*7c478bd9Sstevel@tonic-gate# pass everything to standard SMTP mailer rewriting
97*7c478bd9Sstevel@tonic-gateR$*				$@ $>EnvFromSMTP $1
98*7c478bd9Sstevel@tonic-gate
99*7c478bd9Sstevel@tonic-gate#
100*7c478bd9Sstevel@tonic-gate#  envelope sender rewriting for uucp-uudom mailer
101*7c478bd9Sstevel@tonic-gate#
102*7c478bd9Sstevel@tonic-gateSEnvFromUUD
103*7c478bd9Sstevel@tonic-gate
104*7c478bd9Sstevel@tonic-gate# handle error address as a special case
105*7c478bd9Sstevel@tonic-gateR<@>				$n			errors to mailer-daemon
106*7c478bd9Sstevel@tonic-gate
107*7c478bd9Sstevel@tonic-gate# do standard SMTP mailer rewriting
108*7c478bd9Sstevel@tonic-gateR$*				$: $>EnvFromSMTP $1
109*7c478bd9Sstevel@tonic-gate
110*7c478bd9Sstevel@tonic-gateR$* < @ $* . > $*		$1 < @ $2 > $3		strip trailing dots
111*7c478bd9Sstevel@tonic-gateR<@ $- . UUCP > : $+		$@ $1 ! $2		convert to UUCP format
112*7c478bd9Sstevel@tonic-gateR<@ $+ > : $+			$@ $1 ! $2		convert to UUCP format
113*7c478bd9Sstevel@tonic-gateR$* < @ $- . UUCP >		$@ $2 ! $1		convert to UUCP format
114*7c478bd9Sstevel@tonic-gateR$* < @ $+ >			$@ $2 ! $1		convert to UUCP format',
115*7c478bd9Sstevel@tonic-gate`errprint(`*** MAILER(`smtp') must appear before MAILER(`uucp')
116*7c478bd9Sstevel@tonic-gate    if uucp-dom should be included.')
117*7c478bd9Sstevel@tonic-gate')
118*7c478bd9Sstevel@tonic-gate
119*7c478bd9Sstevel@tonic-gatePUSHDIVERT(4)
120*7c478bd9Sstevel@tonic-gate# resolve locally connected UUCP links
121*7c478bd9Sstevel@tonic-gateR$* < @ $=Z . UUCP. > $*	$#uucp-uudom $@ $2 $: $1 < @ $2 .UUCP. > $3
122*7c478bd9Sstevel@tonic-gateR$* < @ $=Y . UUCP. > $*	$#uucp-new $@ $2 $: $1 < @ $2 .UUCP. > $3
123*7c478bd9Sstevel@tonic-gateR$* < @ $=U . UUCP. > $*	$#uucp-old $@ $2 $: $1 < @ $2 .UUCP. > $3
124*7c478bd9Sstevel@tonic-gatePOPDIVERT
125*7c478bd9Sstevel@tonic-gate
126*7c478bd9Sstevel@tonic-gate#
127*7c478bd9Sstevel@tonic-gate#  There are innumerable variations on the UUCP mailer.  It really
128*7c478bd9Sstevel@tonic-gate#  is rather absurd.
129*7c478bd9Sstevel@tonic-gate#
130*7c478bd9Sstevel@tonic-gate
131*7c478bd9Sstevel@tonic-gate# old UUCP mailer (two names)
132*7c478bd9Sstevel@tonic-gateMuucp,		P=UUCP_MAILER_PATH, F=_MODMF_(CONCAT(`DFMhuUd', UUCP_MAILER_FLAGS), `UUCP'), S=FromU, R=EnvToU/HdrToU,
133*7c478bd9Sstevel@tonic-gate		M=UUCP_MAILER_MAX, _OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,_UUCP_QGRP
134*7c478bd9Sstevel@tonic-gate		A=UUCP_MAILER_ARGS
135*7c478bd9Sstevel@tonic-gateMuucp-old,	P=UUCP_MAILER_PATH, F=_MODMF_(CONCAT(`DFMhuUd', UUCP_MAILER_FLAGS), `UUCP'), S=FromU, R=EnvToU/HdrToU,
136*7c478bd9Sstevel@tonic-gate		M=UUCP_MAILER_MAX, _OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,_UUCP_QGRP
137*7c478bd9Sstevel@tonic-gate		A=UUCP_MAILER_ARGS
138*7c478bd9Sstevel@tonic-gate
139*7c478bd9Sstevel@tonic-gate# smart UUCP mailer (handles multiple addresses) (two names)
140*7c478bd9Sstevel@tonic-gateMsuucp,		P=UUCP_MAILER_PATH, F=_MODMF_(CONCAT(`mDFMhuUd', UUCP_MAILER_FLAGS), `UUCP'), S=FromU, R=EnvToU/HdrToU,
141*7c478bd9Sstevel@tonic-gate		M=UUCP_MAILER_MAX, _OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,_UUCP_QGRP
142*7c478bd9Sstevel@tonic-gate		A=UUCP_MAILER_ARGS
143*7c478bd9Sstevel@tonic-gateMuucp-new,	P=UUCP_MAILER_PATH, F=_MODMF_(CONCAT(`mDFMhuUd', UUCP_MAILER_FLAGS), `UUCP'), S=FromU, R=EnvToU/HdrToU,
144*7c478bd9Sstevel@tonic-gate		M=UUCP_MAILER_MAX, _OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,_UUCP_QGRP
145*7c478bd9Sstevel@tonic-gate		A=UUCP_MAILER_ARGS
146*7c478bd9Sstevel@tonic-gate
147*7c478bd9Sstevel@tonic-gateifdef(`_MAILER_smtp_',
148*7c478bd9Sstevel@tonic-gate`# domain-ized UUCP mailer
149*7c478bd9Sstevel@tonic-gateMuucp-dom,	P=UUCP_MAILER_PATH, F=_MODMF_(CONCAT(`mDFMhud', UUCP_MAILER_FLAGS), `UUCP'), S=EnvFromUD/HdrFromSMTP, R=ifdef(`_ALL_MASQUERADE_', `EnvToSMTP/HdrFromSMTP', `EnvToSMTP'),
150*7c478bd9Sstevel@tonic-gate		M=UUCP_MAILER_MAX, _OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,_UUCP_QGRP
151*7c478bd9Sstevel@tonic-gate		A=UUCP_MAILER_ARGS
152*7c478bd9Sstevel@tonic-gate
153*7c478bd9Sstevel@tonic-gate# domain-ized UUCP mailer with UUCP-style sender envelope
154*7c478bd9Sstevel@tonic-gateMuucp-uudom,	P=UUCP_MAILER_PATH, F=_MODMF_(CONCAT(`mDFMhud', UUCP_MAILER_FLAGS), `UUCP'), S=EnvFromUUD/HdrFromSMTP, R=ifdef(`_ALL_MASQUERADE_', `EnvToSMTP/HdrFromSMTP', `EnvToSMTP'),
155*7c478bd9Sstevel@tonic-gate		M=UUCP_MAILER_MAX, _OPTINS(`UUCP_MAILER_CHARSET', `C=', `, ')T=X-UUCP/X-UUCP/X-Unix,_UUCP_QGRP
156*7c478bd9Sstevel@tonic-gate		A=UUCP_MAILER_ARGS')
157*7c478bd9Sstevel@tonic-gate
158*7c478bd9Sstevel@tonic-gate
159