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