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