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$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.15 (Berkeley) 02/16/94') 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 > : $+ $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 and header recipient rewriting 72# 73S22 74 75# don't touch list:; syntax 76R$* :; <@> $@ $1 :; 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 84R$&h ! $+ ! $+ $@ $1 ! $2 $h!...!user => ...!user 85R$&h ! $+ $@ $&h ! $1 $h!user => $h!user 86R$+ $: $U ! $1 prepend our name 87R! $+ $: $k ! $1 in case $U undefined 88 89 90ifdef(`_MAILER_smtp_', 91`# 92# envelope sender rewriting for uucp-dom mailer 93# 94S52 95 96# handle error address as a special case 97R<@> $n errors to mailer-daemon 98 99# pass everything to standard SMTP mailer rewriting 100R$* $@ $>11 $1 101 102# 103# envelope sender rewriting for uucp-uudom mailer 104# 105S72 106 107# handle error address as a special case 108R<@> $n errors to mailer-daemon 109 110# do not qualify list:; syntax 111R$* :; <@> $@ $1 :; 112 113R$* < @ $* . > $1 < @ $2 > strip trailing dots 114R$* < @ $=w > $1 strip local name 115R<@ $- . UUCP > : $+ $1 ! $2 convert to UUCP format 116R<@ $+ > : $+ $1 ! $2 convert to UUCP format 117R$* < @ $- . UUCP > $2 ! $1 convert to UUCP format 118R$* < @ $+ > $@ $2 ! $1 convert to UUCP format 119 120R$&h ! $+ ! $+ $@ $1 ! $2 $h!...!user => ...!user 121R$&h ! $+ $@ $&h ! $1 $h!user => $h!user 122R$+ $: $M ! $1 prepend masquerade name 123R! $+ $: $j ! $1 in case $M undefined') 124 125 126PUSHDIVERT(4) 127# resolve locally connected UUCP links 128R$* < @ $=Z . UUCP. > $* $#uucp-uudom $@ $2 $: $1 < @ $2 .UUCP. > $3 129R$* < @ $=Y . UUCP. > $* $#uucp-new $@ $2 $: $1 < @ $2 .UUCP. > $3 130R$* < @ $=U . UUCP. > $* $#uucp-old $@ $2 $: $1 < @ $2 .UUCP. > $3 131POPDIVERT 132