summaryrefslogtreecommitdiff
path: root/usr.sbin/sendmail/cf
diff options
context:
space:
mode:
authorglass <glass@NetBSD.org>1994-01-31 02:38:08 +0000
committerglass <glass@NetBSD.org>1994-01-31 02:38:08 +0000
commitf1cb96b2ca44e4aa70b57abc58ffc615af6b0583 (patch)
treea6ebcdd285462a08f65dcae64a1b57567dd129ea /usr.sbin/sendmail/cf
parentf12eaca826e8750987e7055165cd38313cb63b46 (diff)
upgrade to version 8.6.5
Diffstat (limited to 'usr.sbin/sendmail/cf')
-rw-r--r--usr.sbin/sendmail/cf/README136
-rw-r--r--usr.sbin/sendmail/cf/cf/Makefile5
-rw-r--r--usr.sbin/sendmail/cf/cf/tcpproto.mc8
-rw-r--r--usr.sbin/sendmail/cf/cf/uucpproto.mc2
-rw-r--r--usr.sbin/sendmail/cf/domain/Berkeley.m43
-rw-r--r--usr.sbin/sendmail/cf/feature/bitdomain.m44
-rw-r--r--usr.sbin/sendmail/cf/feature/uucpdomain.m44
-rw-r--r--usr.sbin/sendmail/cf/m4/cf.m45
-rw-r--r--usr.sbin/sendmail/cf/m4/proto.m468
-rw-r--r--usr.sbin/sendmail/cf/m4/version.m44
-rw-r--r--usr.sbin/sendmail/cf/mailer/smtp.m437
-rw-r--r--usr.sbin/sendmail/cf/mailer/uucp.m469
-rw-r--r--usr.sbin/sendmail/cf/ostype/hpux.m43
-rw-r--r--usr.sbin/sendmail/cf/ostype/irix.m45
14 files changed, 251 insertions, 102 deletions
diff --git a/usr.sbin/sendmail/cf/README b/usr.sbin/sendmail/cf/README
index 56383488cdb..b604d2453f5 100644
--- a/usr.sbin/sendmail/cf/README
+++ b/usr.sbin/sendmail/cf/README
@@ -4,7 +4,7 @@
Eric Allman <eric@CS.Berkeley.EDU>
- @(#)README 8.15 (Berkeley) 10/31/93
+ @(#)README 8.21 (Berkeley) 1/12/94
This document describes the sendmail configuration files being used
@@ -31,10 +31,9 @@ right thing to do.
This package requires a post-V7 version of m4; if you are running the
4.2bsd, SysV.2, or 7th Edition version, I suggest finding a friend with
a newer version. You can m4-expand on their system, then run locally.
-SunOS's /usr/5bin/m4 or BSD-Net/2's m4 both work. GNU m4 (which is a
-language unto itself) also works, but I don't intend to work so hard
-to keep this up in the future. [Note to GNU folks: the construct
-"define(`FOO')" should work without my having to add a null value.]
+SunOS's /usr/5bin/m4 or BSD-Net/2's m4 both work. GNU m4 version 1.1
+also works. Unfortunately, I'm told that the M4 on BSDI 1.0 doesn't
+work -- you'll have to use a Net/2 or GNU version.
IF YOU DON'T HAVE A BERKELEY MAKE, don't despair! Just run
"m4 foo.mc > foo.cf" -- that should be all you need. There is also
@@ -52,6 +51,13 @@ I'm not pretending that this README describes everything that these
configuration files can do; clever people can probably tweak them
to great effect. But it should get you started.
+*******************************************************************
+*** BE SURE YOU CUSTOMIZE THESE FILES! They have some ***
+*** Berkeley-specific assumptions built in, such as the name ***
+*** of our UUCP-relay. You'll want to create your own domain ***
+*** description, and use that in place of domain/Berkeley.m4. ***
+*******************************************************************
+
+--------------------------+
| INTRODUCTION AND EXAMPLE |
@@ -186,8 +192,6 @@ UUCP_RELAY The host that will forward UUCP-addressed email.
connected.
BITNET_RELAY The host that will forward BITNET-addressed email.
If not defined, the .BITNET pseudo-domain won't work.
-CSNET_RELAY The host that will forward CSNET-addressed email.
- If not defined, the .CSNET pseudo-domain won't work.
LOCAL_RELAY The site that will handle unqualified names -- that
is, names with out an @domain extension. If not set,
they are assumed to belong on this machine. This
@@ -241,12 +245,15 @@ uucp The Unix-to-Unix Copy Program mailer. Actually, this
is for when you know that the UUCP mailer at the other
end can handle multiple recipients in one transfer.
When you invoke this, sendmail looks for all names in
- the $=U class and sends them to the uucp mailer; all
- names in the $=Y class are sent to suucp. Note that
+ the $=U class and sends them to the uucp-old mailer; all
+ names in the $=Y class are sent to uucp-new; and all
+ names in the $=Z class are sent to uucp-uudom. Note that
this is a function of what version of rmail runs on
the receiving end, and hence may be out of your control.
- If smtp is defined, it also defines a "uucp-dom" mailer
- that uses domain-style rewriting.
+ If smtp is defined, it also defines "uucp-dom" and
+ "uucp-uudom" mailers that use domain-style rewriting.
+ See the section below describing UUCP mailers in more
+ detail.
usenet Usenet (network news) delivery. If this is specified,
an extra rule is added to ruleset 0 that forwards all
@@ -258,6 +265,8 @@ fax Facsimile transmission. This is experimental and based
on Sam Leffler's FlexFAX software. For more information,
see below.
+pop Post Office Protocol.
+
+----------+
| FEATURES |
@@ -433,6 +442,92 @@ same line; these are usually aliases for the same host (or are at
least in the same company).
++--------------------+
+| USING UUCP MAILERS |
++--------------------+
+
+It's hard to get UUCP mailers right because of the extremely ad hoc
+nature of UUCP addressing. These config files are really designed
+for domain-based addressing, even for UUCP sites.
+
+There are four UUCP mailers available. The choice of which one to
+use is partly a matter of local preferences and what is running at
+the other end of your UUCP connection. Unlike good protocols that
+define what will go over the wire, UUCP uses the policy that you
+should do what is right for the other end; if they change, you have
+to change. This makes it hard to do the right thing, and discourages
+people from updating their software. In general, if you can avoid
+UUCP, please do.
+
+The major choice is whether to go for a domainized scheme or a
+non-domainized scheme. This depends entirely on what the other
+end will recognize. If at all possible, you should encourage the
+other end to go to a domain-based system -- non-domainized addresses
+don't work entirely properly.
+
+The four mailers are:
+
+ uucp-old (obsolete name: "uucp")
+ This is the oldest, the worst (but the closest to UUCP) way of
+ sending messages accros UUCP connections. It does bangify
+ everything and prepends $U (your UUCP name) to the sender's
+ address (which can already be a bang path itself). It can
+ only send to one address at a time, so it spends a lot of
+ time copying duplicates of messages. Avoid this if at all
+ possible.
+
+ uucp-new (obsolete name: "suucp")
+ The same as above, except that it assumes that in one rmail
+ command you can specify several recipients. It still has a
+ lot of other problems.
+
+ uucp-dom
+ This UUCP mailer keeps everything as domain addresses.
+ Basically, it uses the SMTP mailer rewriting rules.
+
+ Unfortunately, a lot of UUCP mailer transport agents require
+ bangified addresses in the envelope, although you can use
+ domain-based addresses in the message header. (The envelope
+ shows up as the From_ line on UNIX mail.) So....
+
+ uucp-uudom
+ This is a cross between uucp-new (for the envelope addresses)
+ and uucp-dom (for the header addresses). It bangifies the
+ envelope sender (From_ line in messages) without adding the
+ local hostname, unless there is no host name on the address
+ at all (e.g., "wolf") or the host component is a UUCP host name
+ instead of a domain name ("somehost!wolf" instead of
+ "some.dom.ain!wolf").
+
+Examples:
+
+We are on host grasp.insa-lyon.fr (UUCP host name "grasp"). The
+following summarizes the sender rewriting for various mailers.
+
+Mailer sender rewriting in the envelope
+------ ------ -------------------------
+uucp-{old,new} wolf grasp!wolf
+uucp-dom wolf wolf@grasp.insa-lyon.fr
+uucp-uudom wolf grasp.insa-lyon.fr!wolf
+
+uucp-{old,new} wolf@fr.net grasp!fr.net!wolf
+uucp-dom wolf@fr.net wolf@fr.net
+uucp-uudom wolf@fr.net fr.net!wolf
+
+uucp-{old,new} somehost!wolf grasp!somehost!wolf
+uucp-dom somehost!wolf somehost!wolf@grasp.insa-lyon.fr
+uucp-uudom somehost!wolf grasp.insa-lyon.fr!somehost!wolf
+
+If you are using one of the domainized UUCP mailers, you really want
+to convert all UUCP addresses to domain format -- otherwise, it will
+do it for you (and probably not the way you expected). For example,
+if you have the address foo!bar!baz (and you are not sending to foo),
+the heuristics will add the @uucp.relay.name or @local.host.name to
+this address. However, if you map foo to foo.host.name first, it
+will not add the local hostname. You can do this using the uucpdomain
+feature.
+
+
+-------------------+
| TWEAKING RULESETS |
+-------------------+
@@ -691,7 +786,7 @@ Sam Leffler's FlexFAX software is still in beta test -- but he expects a
public version out "later this week" [as of 3/1/93]. The following
blurb is direct from Sam:
- $Header: /cvsroot/src/usr.sbin/sendmail/cf/Attic/README,v 1.6 1993/11/05 07:52:25 glass Exp $
+ $Header: /cvsroot/src/usr.sbin/sendmail/cf/Attic/README,v 1.7 1994/01/31 02:38:21 glass Exp $
How To Obtain This Software (in case all you get is this file)
--------------------------------------------------------------
@@ -826,7 +921,14 @@ Some options are likely to be deprecated in future versions -- that is,
the option is only included to provide back-compatibility. These are
marked with "*".
+Remember that these options are M4 variables, and hence may need to
+be quoted. In particular, arguments with commas will usually have to
+be ``double quoted, like this phrase'' to avoid having the comma
+confuse things. This is common for alias file definitions and for
+the read timeout.
+
M4 Variable Name Default Mac/Opt Description
+================ ======= ======= ===========
confMAILER_NAME MAILER-DAEMON Dn The sender name used for
internally generated
outgoing messages.
@@ -846,8 +948,8 @@ confMIN_FREE_BLOCKS 4 Ob Minimum number of free blocks
SMTP mail.
confBLANK_SUB . OB Blank (space) substitution
character.
-confCON_EXPENSIVE False Oc Connect immediately to
- mailers marked expensive?
+confCON_EXPENSIVE False Oc Avoid connecting immediately
+ to mailers marked expensive?
confCHECKPOINT_INTERVAL 10 OC Checkpoint queue files
every N recipients.
confDELIVERY_MODE background Od Default delivery mode.
@@ -1019,8 +1121,8 @@ RULESETS (* means built in to sendmail)
MAILERS
0 local, prog local and program mailers
- 1 smtp SMTP channel
- 2 uucp UNIX-to-UNIX Copy Program
+ 1 [e]smtp, relay SMTP channel
+ 2 uucp-* UNIX-to-UNIX Copy Program
3 netnews Network News delivery
4 fax Sam Leffler's FlexFAX software
@@ -1029,7 +1131,7 @@ MACROS
A
B Bitnet Relay
- C CSNET Relay
+ C
D The local domain -- usually not needed
E
F FAX Relay
diff --git a/usr.sbin/sendmail/cf/cf/Makefile b/usr.sbin/sendmail/cf/cf/Makefile
index 9a72e6670d5..6e2c706797d 100644
--- a/usr.sbin/sendmail/cf/cf/Makefile
+++ b/usr.sbin/sendmail/cf/cf/Makefile
@@ -1,4 +1,4 @@
-# @(#)Makefile 8.4 (Berkeley) 10/15/93
+# @(#)Makefile 8.5 (Berkeley) 12/1/93
M4= m4
#M4= /usr/src/usr.bin/m4/obj/m4
@@ -15,13 +15,14 @@ RM= rm -f
ALL= cs-hidden.cf cs-exposed.cf \
hpux-cs-exposed.cf hpux-cs-hidden.cf \
+ riscos-cs-exposed.cf \
sunos3.5-cs-exposed.cf sunos3.5-cs-hidden.cf \
sunos4.1-cs-exposed.cf sunos4.1-cs-hidden.cf \
ultrix4.1-cs-exposed.cf ultrix4.1-cs-hidden.cf \
osf1-cs-exposed.cf osf1-cs-hidden.cf \
mail.cs.cf mail.eecs.cf ucbvax.cf vangogh.cf \
chez.cf knecht.cf cogsci.cf alpha.cf s2k.cf auspex.cf \
- python.cf \
+ python.cf sun-lamp.cf boat-anchor.cf trinity.cf \
clientproto.cf tcpproto.cf uucpproto.cf
all: $(ALL)
diff --git a/usr.sbin/sendmail/cf/cf/tcpproto.mc b/usr.sbin/sendmail/cf/cf/tcpproto.mc
index 7a510cc6f6c..aa31ca152dc 100644
--- a/usr.sbin/sendmail/cf/cf/tcpproto.mc
+++ b/usr.sbin/sendmail/cf/cf/tcpproto.mc
@@ -44,9 +44,7 @@ divert(-1)
include(`../m4/cf.m4')
VERSIONID(`@(#)tcpproto.mc 8.2 (Berkeley) 8/21/93')
-OSTYPE(bsd4.4)dnl
+FEATURE(nouucp)
-FEATURE(nouucp)dnl
-
-MAILER(local)dnl
-MAILER(smtp)dnl
+MAILER(local)
+MAILER(smtp)
diff --git a/usr.sbin/sendmail/cf/cf/uucpproto.mc b/usr.sbin/sendmail/cf/cf/uucpproto.mc
index 9dbded4f3e2..c460d76b3cd 100644
--- a/usr.sbin/sendmail/cf/cf/uucpproto.mc
+++ b/usr.sbin/sendmail/cf/cf/uucpproto.mc
@@ -43,8 +43,6 @@ divert(-1)
include(`../m4/cf.m4')
VERSIONID(`@(#)uucpproto.mc 8.3 (Berkeley) 8/21/93')
-OSTYPE(bsd4.4)dnl
-
FEATURE(nodns)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/domain/Berkeley.m4 b/usr.sbin/sendmail/cf/domain/Berkeley.m4
index c151c4e2fd8..c3320e00f0a 100644
--- a/usr.sbin/sendmail/cf/domain/Berkeley.m4
+++ b/usr.sbin/sendmail/cf/domain/Berkeley.m4
@@ -33,10 +33,9 @@ divert(-1)
# SUCH DAMAGE.
#
divert(0)
-VERSIONID(`@(#)Berkeley.m4 8.3 (Berkeley) 10/5/93')
+VERSIONID(`@(#)Berkeley.m4 8.4 (Berkeley) 12/20/93')
define(`UUCP_RELAY', `ucbvax.Berkeley.EDU')dnl
define(`BITNET_RELAY', `jade.Berkeley.EDU')dnl
-define(`CSNET_RELAY', `Relay.CV.COM')dnl
define(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward')dnl
define(`confCW_FILE', `-o /etc/sendmail.cw')dnl
FEATURE(redirect)dnl
diff --git a/usr.sbin/sendmail/cf/feature/bitdomain.m4 b/usr.sbin/sendmail/cf/feature/bitdomain.m4
index f9302f43334..d90bb106346 100644
--- a/usr.sbin/sendmail/cf/feature/bitdomain.m4
+++ b/usr.sbin/sendmail/cf/feature/bitdomain.m4
@@ -34,7 +34,7 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)bitdomain.m4 8.3 (Berkeley) 8/7/93')
+VERSIONID(`@(#)bitdomain.m4 8.4 (Berkeley) 11/30/93')
divert(-1)
@@ -45,5 +45,5 @@ POPDIVERT
PUSHDIVERT(8)
# handle BITNET mapping
-R$* < @ $+ .BITNET > $* $: $1 < @ $(bitdomain $2 $: $2.BITNET $) > $3
+R$* < @ $+ .BITNET. > $* $: $1 < @ $(bitdomain $2 $: $2.BITNET. $) > $3
POPDIVERT
diff --git a/usr.sbin/sendmail/cf/feature/uucpdomain.m4 b/usr.sbin/sendmail/cf/feature/uucpdomain.m4
index c338766c532..931a3150444 100644
--- a/usr.sbin/sendmail/cf/feature/uucpdomain.m4
+++ b/usr.sbin/sendmail/cf/feature/uucpdomain.m4
@@ -34,7 +34,7 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)uucpdomain.m4 8.3 (Berkeley) 8/7/93')
+VERSIONID(`@(#)uucpdomain.m4 8.4 (Berkeley) 11/30/93')
divert(-1)
@@ -45,5 +45,5 @@ POPDIVERT
PUSHDIVERT(8)
# handle UUCP mapping
-R$* < @ $+ .UUCP > $* $: $1 < @ $(uudomain $2 $: $2.UUCP $) > $3
+R$* < @ $+ .UUCP. > $* $: $1 < @ $(uudomain $2 $: $2.UUCP. $) > $3
POPDIVERT
diff --git a/usr.sbin/sendmail/cf/m4/cf.m4 b/usr.sbin/sendmail/cf/m4/cf.m4
index 117f4a304e0..528cbfffef9 100644
--- a/usr.sbin/sendmail/cf/m4/cf.m4
+++ b/usr.sbin/sendmail/cf/m4/cf.m4
@@ -51,6 +51,7 @@ divert(-1)
changecom()
undefine(`format')
+undefine(`hpux')
ifdef(`pushdef', `',
`errprint(`You need a newer version of M4, at least as new as
System V or GNU')
@@ -92,7 +93,7 @@ define(`DOL', ``$'$1')
define(`SITECONFIG',
`CONCAT(D, $3, $2)
define(`_CLASS_$3_', `')dnl
-ifelse($3, U, Cw$2, `dnl')
+ifelse($3, U, Cw$2 $2.UUCP, `dnl')
define(`SITE', `ifelse(CONCAT($'2`, $3), SU,
CONCAT(CY, $'1`),
CONCAT(C, $3, $'1`))')
@@ -145,4 +146,4 @@ define(`confMIME_FORMAT_ERRORS', `True')
define(`confTRY_NULL_MX_LIST', `False')
divert(0)dnl
-VERSIONID(`@(#)cf.m4 8.2 (Berkeley) 7/18/93')
+VERSIONID(`@(#)cf.m4 8.4 (Berkeley) 12/24/93')
diff --git a/usr.sbin/sendmail/cf/m4/proto.m4 b/usr.sbin/sendmail/cf/m4/proto.m4
index 04019de4dd8..410e32b7031 100644
--- a/usr.sbin/sendmail/cf/m4/proto.m4
+++ b/usr.sbin/sendmail/cf/m4/proto.m4
@@ -34,7 +34,7 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)proto.m4 8.20 (Berkeley) 10/31/93')
+VERSIONID(`@(#)proto.m4 8.30 (Berkeley) 1/12/94')
MAILER(local)dnl
@@ -93,12 +93,6 @@ DB`'BITNET_RELAY
CPBITNET
')dnl
-ifdef(`CSNET_RELAY',
-`# CSNET relay host
-DC`'CSNET_RELAY
-CPCSNET
-
-')dnl
ifdef(`FAX_RELAY',
`# FAX relay host
DF`'FAX_RELAY
@@ -185,7 +179,7 @@ Ob`'confMIN_FREE_BLOCKS
# substitution for space (blank) characters
OB`'confBLANK_SUB
-# connect to "expensive" mailers on initial submission?
+# avoid connecting to "expensive" mailers on initial submission?
Oc`'confCON_EXPENSIVE
# checkpoint queue runs after every N successful deliveries
@@ -420,6 +414,9 @@ R$+ @ $+ $: $1 < @ $2 > focus on domain
R$+ < $+ @ $+ > $1 $2 < @ $3 > move gaze right
R$+ < @ $+ > $@ $>_SET_96_ $1 < @ $2 > already canonical
+# do some sanity checking
+R$* < @ $* : $* > $* $1 < @ $2 $3 > $4 nix colons in addrs
+
ifdef(`_NO_UUCP_', `dnl',
`# convert old-style addresses to a domain-based address
R$- ! $+ $@ $>_SET_96_ $2 < @ $1 .UUCP > resolve uucp names
@@ -458,31 +455,34 @@ undivert(2)dnl
ifdef(`_NO_UUCP_', `dnl',
`ifdef(`UUCP_RELAY',
`# pass UUCP addresses straight through
-R$* < @ $+ . UUCP > $* $@ $1 < @ $2 . UUCP > $3',
+R$* < @ $+ . UUCP > $* $@ $1 < @ $2 . UUCP . > $3',
`# if really UUCP, handle it immediately
ifdef(`_CLASS_U_',
-`R$* < @ $=U . UUCP > $* $@ $1 < @ $2 . UUCP > $3', `dnl')
+`R$* < @ $=U . UUCP > $* $@ $1 < @ $2 . UUCP . > $3', `dnl')
ifdef(`_CLASS_V_',
-`R$* < @ $=V . UUCP > $* $@ $1 < @ $2 . UUCP > $3', `dnl')
+`R$* < @ $=V . UUCP > $* $@ $1 < @ $2 . UUCP . > $3', `dnl')
ifdef(`_CLASS_W_',
-`R$* < @ $=W . UUCP > $* $@ $1 < @ $2 . UUCP > $3', `dnl')
+`R$* < @ $=W . UUCP > $* $@ $1 < @ $2 . UUCP . > $3', `dnl')
ifdef(`_CLASS_X_',
-`R$* < @ $=X . UUCP > $* $@ $1 < @ $2 . UUCP > $3', `dnl')
+`R$* < @ $=X . UUCP > $* $@ $1 < @ $2 . UUCP . > $3', `dnl')
ifdef(`_CLASS_Y_',
-`R$* < @ $=Y . UUCP > $* $@ $1 < @ $2 . UUCP > $3', `dnl')
+`R$* < @ $=Y . UUCP > $* $@ $1 < @ $2 . UUCP . > $3', `dnl')
# try UUCP traffic as a local address
-R$* < @ $+ . UUCP > $* $: $1 < @ $[ $2 $] . UUCP > $3
+R$* < @ $+ . UUCP > $* $: $1 < @ $[ $2 $] . UUCP . > $3
ifdef(`_OLD_SENDMAIL_',
-`R$* < @ $+ . $+ . UUCP > $* $@ $1 < @ $2 . $3 . > $4',
-`R$* < @ $+ . . UUCP > $* $@ $1 < @ $2 . > $3')')
+`R$* < @ $+ . $+ . UUCP . > $* $@ $1 < @ $2 . $3 . > $4',
+`R$* < @ $+ . . UUCP . > $* $@ $1 < @ $2 . > $3')')
')
-ifdef(`_NO_CANONIFY_',
-`# make sure local host names appear canonical
-R$* < @ $=w > $* $: $1 < @ $2 . > $3',
+ifdef(`_NO_CANONIFY_', `dnl',
`# pass to name server to make hostname canonical
R$* < @ $* $~P > $* $: $1 < @ $[ $2 $3 $] > $4')
+# local host aliases and pseudo-domains are always canonical
+R$* < @ $=w > $* $: $1 < @ $2 . > $3
+R$* < @ $* $=P > $* $: $1 < @ $2 $3 . > $4
+R$* < @ $* . . > $* $1 < @ $2 . > $3
+
undivert(8)dnl
# if this is the local hostname, make sure we treat is as canonical
@@ -534,13 +534,14 @@ S0
R<@> $#_LOCAL_ $: <> special case error msgs
R$*:;<@> $#error $@ USAGE $: "list:; syntax illegal for recipient addresses"
+R<@ $+> $#error $@ USAGE $: "user address required"
ifdef(`_MAILER_smtp_',
`# handle numeric address spec
ifdef(`_NO_CANONIFY_', `dnl',
`R$* < @ [ $+ ] > $* $: $1 < @ $[ [$2] $] > $3 numeric internet addr')
R$* < @ [ $+ ] > $* $: $>_SET_98_ $1 < @ [ $2 ] > $3 numeric internet spec
-R$* < @ [ $+ ] > $* $#_SMTP_ $@ [$2] $: $1 @ [$2] $3 still numeric: send',
+R$* < @ [ $+ ] > $* $#_SMTP_ $@ [$2] $: $1 < @ [$2] > $3 still numeric: send',
`dnl')
# now delete the local info -- note $=O to find characters that cause forwarding
@@ -564,7 +565,7 @@ R< $+ > $* $: $>90 <$1> $2 try domain',
ifdef(`_LOCAL_NOT_STICKY_',
`R$=L < @ $=w . > $#_LOCAL_ $: @ $1 special local names
R$+ < @ $=w . > $#_LOCAL_ $: $1 dispose directly',
-`R$+ < @ $=w . > $: $1 < @ $2 @ $H > first try hub
+`R$+ < @ $=w . > $: $1 < @ $2 . @ $H > first try hub
ifdef(`_OLD_SENDMAIL_',
`R$+ < $+ @ $-:$+ > $# $3 $@ $4 $: $1 < $2 > yep ....
R$+ < $+ @ $+ > $#relay $@ $3 $: $1 < $2 > yep ....
@@ -576,39 +577,38 @@ undivert(4)dnl
ifdef(`_NO_UUCP_', `dnl',
`# resolve remotely connected UUCP links (if any)
ifdef(`_CLASS_V_',
-`R$* < @ $=V . UUCP > $* $: $>_SET_95_ < $V > $1 <@$2.UUCP> $3',
+`R$* < @ $=V . UUCP . > $* $: $>_SET_95_ < $V > $1 <@$2.UUCP.> $3',
`dnl')
ifdef(`_CLASS_W_',
-`R$* < @ $=W . UUCP > $* $: $>_SET_95_ < $W > $1 <@$2.UUCP> $3',
+`R$* < @ $=W . UUCP . > $* $: $>_SET_95_ < $W > $1 <@$2.UUCP.> $3',
`dnl')
ifdef(`_CLASS_X_',
-`R$* < @ $=X . UUCP > $* $: $>_SET_95_ < $X > $1 <@$2.UUCP> $3',
+`R$* < @ $=X . UUCP . > $* $: $>_SET_95_ < $X > $1 <@$2.UUCP.> $3',
`dnl')')
# resolve fake top level domains by forwarding to other hosts
ifdef(`BITNET_RELAY',
-`R$*<@$+.BITNET>$* $: $>_SET_95_ < $B > $1 <@$2.BITNET> $3 user@host.BITNET',
+`R$*<@$+.BITNET.>$* $: $>_SET_95_ < $B > $1 <@$2.BITNET.> $3 user@host.BITNET',
`dnl')
-ifdef(`CSNET_RELAY',
-`R$*<@$+.CSNET>$* $: $>_SET_95_ < $C > $1 <@$2.CSNET> $3 user@host.CSNET',
+ifdef(`_MAILER_pop_',
+`R$+ < @ POP. > $#pop $: $1 user@POP',
`dnl')
ifdef(`_MAILER_fax_',
-`R$+ < @ $+ .FAX > $#fax $@ $2 $: $1 user@host.FAX',
+`R$+ < @ $+ .FAX. > $#fax $@ $2 $: $1 user@host.FAX',
`ifdef(`FAX_RELAY',
-`R$*<@$+.FAX>$* $: $>_SET_95_ < $F > $1 <@$2.FAX> $3 user@host.FAX',
+`R$*<@$+.FAX.>$* $: $>_SET_95_ < $F > $1 <@$2.FAX.> $3 user@host.FAX',
`dnl')')
ifdef(`UUCP_RELAY',
`# forward non-local UUCP traffic to our UUCP relay
-R$*<@$*.UUCP>$* $: $>_SET_95_ < $Y > $1 @ <$2.UUCP> $3 uucp mail',
+R$*<@$*.UUCP.>$* $: $>_SET_95_ < $Y > $1 <@$2.UUCP.> $3 uucp mail',
`ifdef(`_MAILER_uucp_',
`# forward other UUCP traffic straight to UUCP
-R< @ $+ .UUCP > : $+ $#uucp $@ $1 $: $2 @host.UUCP:...
-R$+ < @ $+ .UUCP > $#uucp $@ $2 $: $1 user@host.UUCP',
+R$* < @ $+ .UUCP. > $* $#uucp $@ $2 $: $1 < @ $2 .UUCP. > $3 user@host.UUCP',
`dnl')')
ifdef(`_MAILER_usenet_', `
# addresses sent to net.group.USENET will get forwarded to a newsgroup
-R$+ . USENET $#usenet $: $1',
+R$+ . USENET. $#usenet $: $1',
`dnl')
ifdef(`_LOCAL_RULES_',
diff --git a/usr.sbin/sendmail/cf/m4/version.m4 b/usr.sbin/sendmail/cf/m4/version.m4
index 835f0d60272..d92f73f9dfd 100644
--- a/usr.sbin/sendmail/cf/m4/version.m4
+++ b/usr.sbin/sendmail/cf/m4/version.m4
@@ -32,8 +32,8 @@ divert(-1)
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-VERSIONID(`@(#)version.m4 8.6.1.4 (Berkeley) 10/31/93')
+VERSIONID(`@(#)version.m4 8.6.1.5 (Berkeley) 1/13/94')
#
divert(0)
# Configuration version number
-DZ8.6.4
+DZ8.6.5
diff --git a/usr.sbin/sendmail/cf/mailer/smtp.m4 b/usr.sbin/sendmail/cf/mailer/smtp.m4
index 143095c61a2..9b28f63e298 100644
--- a/usr.sbin/sendmail/cf/mailer/smtp.m4
+++ b/usr.sbin/sendmail/cf/mailer/smtp.m4
@@ -40,13 +40,13 @@ POPDIVERT
### SMTP Mailer specification ###
#####################################
-VERSIONID(`@(#)smtp.m4 8.7 (Berkeley) 10/31/93')
+VERSIONID(`@(#)smtp.m4 8.13 (Berkeley) 12/27/93')
Msmtp, P=[IPC], F=CONCAT(mDFMuX, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), E=\r\n,
ifdef(`_OLD_SENDMAIL_',, `L=990, ')A=IPC $h
Mesmtp, P=[IPC], F=CONCAT(mDFMuXa, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `11/31', `21'), E=\r\n,
ifdef(`_OLD_SENDMAIL_',, `L=990, ')A=IPC $h
-Mrelay, P=[IPC], F=CONCAT(mDFMuXa, SMTP_MAILER_FLAGS), S=11/31, R=51, E=\r\n,
+Mrelay, P=[IPC], F=CONCAT(mDFMuXa, SMTP_MAILER_FLAGS), S=11/31, R=61, E=\r\n,
ifdef(`_OLD_SENDMAIL_',, `L=2040, ')A=IPC $h
#
@@ -55,10 +55,7 @@ Mrelay, P=[IPC], F=CONCAT(mDFMuXa, SMTP_MAILER_FLAGS), S=11/31, R=51, E=\r\n,
S11
R$+ $: $>51 $1 sender/recipient common
R$* :; <@> $@ $1 :; list:; special case
-
-# handle unqualified names
-R$* < @ $* > $* $@ $1 < @ $2 > $3 already qualified
-R$* $@ $>61 $1
+R$* $@ $>61 $1 qualify unqual'ed names
#
@@ -87,14 +84,11 @@ R< @ $* > $* $@ < @ $1 > $2 pass route-addr through
R$=E < @ $=w . > $@ $1 < @ $2 > exposed user as is
R$* < @ $=w . > $: $1 < @ $M > masquerade as domain
R$* < @ > $: $1 < @ $j > in case $M undefined
-
-# handle unqualified names
-R$* < @ $* > $* $@ $1 < @ $2 > $3 already qualified
-R$* $@ $>61 $1
+R$* $@ $>61 $1 qualify unqual'ed names
#
-# common rewriting for all SMTP addresses
+# convert pseudo-domain addresses to real domain addresses
#
S51
@@ -103,15 +97,21 @@ R< @ $+ > $* $@ < @ $1 > $2 resolve <route-addr>
# output fake domains as user%fake@relay
ifdef(`BITNET_RELAY',
-`R$+ <@ $+ . BITNET > $: $1 % $2 .BITNET < @ $B > user@host.BITNET
+`R$+ <@ $+ .BITNET. > $: $1 % $2 .BITNET < @ $B > user@host.BITNET
R$+.BITNET <@ $+:$+ > $: $1 .BITNET < @ $3 > strip mailer: part',
`dnl')
-ifdef(`CSNET_RELAY',
-`R$+ <@ $+ . CSNET > $: $1 % $2 .CSNET < @ $C > user@host.CSNET
-R$+.CSNET <@ $+:$+ > $: $1 .CSNET < @ $3 > strip mailer: part',
- `dnl')
-ifdef(`_NO_UUCP_', `dnl',
-`R$+ <@ $+ . UUCP > $: $2 ! $1 < @ $j > user@host.UUCP')
+ifdef(`_NO_UUCP_', `dnl', `
+# do UUCP heuristics; note that these are shared with UUCP mailers
+R$+ < @ $+ .UUCP. > $: < $2 ! > $1 convert to UUCP form
+R$+ < @ $* > $* $@ $1 < @ $2 > $3 not UUCP form
+
+# leave these in .UUCP form to avoid further tampering
+R< $&h ! > $- ! $+ $@ $2 < @ $1 .UUCP. >
+R< $&h ! > $-.$+ ! $+ $@ $3 < @ $1.$2 >
+R< $&h ! > $+ $@ $1 < @ $&h .UUCP. >
+R< $+ ! > $+ $: $1 ! $2 < @ $Y >
+R$+ < @ > $: $1 < @ $j > in case $Y undefined
+R$+ < @ $+ : $+ > $: $1 < @ $3 > strip mailer: part')
#
@@ -119,6 +119,7 @@ ifdef(`_NO_UUCP_', `dnl',
#
S61
+R$* < @ $* > $* $@ $1 < @ $2 > $3 already qualified
R$=E $@ $1 < @ $j> show exposed names
R$+ $: $1 < @ $M > user w/o host
R$+ <@> $: $1 < @ $j > in case $M undefined
diff --git a/usr.sbin/sendmail/cf/mailer/uucp.m4 b/usr.sbin/sendmail/cf/mailer/uucp.m4
index c12de28b68d..c4b5e8e0f9e 100644
--- a/usr.sbin/sendmail/cf/mailer/uucp.m4
+++ b/usr.sbin/sendmail/cf/mailer/uucp.m4
@@ -42,19 +42,32 @@ POPDIVERT
### UUCP Mailer specification ###
#####################################
-VERSIONID(`@(#)uucp.m4 8.6 (Berkeley) 10/31/93')
+VERSIONID(`@(#)uucp.m4 8.13 (Berkeley) 1/10/94')
-# old UUCP mailer
+#
+# There are innumerable variations on the UUCP mailer. It really
+# is rather absurd.
+#
+
+# old UUCP mailer (two names)
Muucp, P=UUCP_MAILER_PATH, F=CONCAT(DFMhuU, UUCP_MAILER_FLAGS), S=12, R=22, M=UUCP_MAX_SIZE,
A=UUCP_MAILER_ARGS
+Muucp-old, P=UUCP_MAILER_PATH, F=CONCAT(DFMhuU, UUCP_MAILER_FLAGS), S=12, R=22, M=UUCP_MAX_SIZE,
+ A=UUCP_MAILER_ARGS
-# smart UUCP mailer (handles multiple addresses)
+# smart UUCP mailer (handles multiple addresses) (two names)
Msuucp, P=UUCP_MAILER_PATH, F=CONCAT(mDFMhuU, UUCP_MAILER_FLAGS), S=12, R=22, M=UUCP_MAX_SIZE,
A=UUCP_MAILER_ARGS
+Muucp-new, P=UUCP_MAILER_PATH, F=CONCAT(mDFMhuU, UUCP_MAILER_FLAGS), S=12, R=22, M=UUCP_MAX_SIZE,
+ A=UUCP_MAILER_ARGS
ifdef(`_MAILER_smtp_',
`# domain-ized UUCP mailer
Muucp-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,
+ A=UUCP_MAILER_ARGS
+
+# domain-ized UUCP mailer with UUCP-style sender envelope
+Muucp-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,
A=UUCP_MAILER_ARGS')
@@ -70,10 +83,15 @@ R<@> $n errors to mailer-daemon
R$* :; <@> $@ $1 :;
R$* < @ $* . > $1 < @ $2 > strip trailing dots
-R$* < @ $j > $1 strip local name
+R$* < @ $=w > $1 strip local name
+R<@ $- . UUCP > : $+ $1 ! $2 convert to UUCP format
+R<@ $+ > : $+ $1 ! $2 convert to UUCP format
R$* < @ $- . UUCP > $2 ! $1 convert to UUCP format
R$* < @ $+ > $2 ! $1 convert to UUCP format
+R$&h ! $+ ! $+ $@ $1 ! $2 $h!...!user => ...!user
+R$&h ! $+ $@ $&h ! $1 $h!user => $h!user
R$+ $: $U ! $1 prepend our name
+R! $+ $: $k ! $1 in case $U undefined
#
# envelope and header recipient rewriting
@@ -81,15 +99,22 @@ R$+ $: $U ! $1 prepend our name
S22
# don't touch list:; syntax
-R$* :; <@> $@ $1 ;:
+R$* :; <@> $@ $1 :;
R$* < @ $* . > $1 < @ $2 > strip trailing dots
R$* < @ $j > $1 strip local name
+R<@ $- . UUCP > : $+ $1 ! $2 convert to UUCP format
+R<@ $+ > : $+ $1 ! $2 convert to UUCP format
R$* < @ $- . UUCP > $2 ! $1 convert to UUCP format
R$* < @ $+ > $2 ! $1 convert to UUCP format
+R$&h ! $+ ! $+ $@ $1 ! $2 $h!...!user => ...!user
+R$&h ! $+ $@ $&h ! $1 $h!user => $h!user
+R$+ $: $U ! $1 prepend our name
+R! $+ $: $k ! $1 in case $U undefined
-#
+ifdef(`_MAILER_smtp_',
+`#
# envelope sender rewriting for uucp-dom mailer
#
S52
@@ -100,13 +125,33 @@ R<@> $n errors to mailer-daemon
# pass everything to standard SMTP mailer rewriting
R$* $@ $>11 $1
+#
+# envelope sender rewriting for uucp-uudom mailer
+#
+S72
+
+# handle error address as a special case
+R<@> $n errors to mailer-daemon
+
+# do not qualify list:; syntax
+R$* :; <@> $@ $1 :;
+
+R$* < @ $* . > $1 < @ $2 > strip trailing dots
+R$* < @ $=w > $1 strip local name
+R<@ $- . UUCP > : $+ $1 ! $2 convert to UUCP format
+R<@ $+ > : $+ $1 ! $2 convert to UUCP format
+R$* < @ $- . UUCP > $2 ! $1 convert to UUCP format
+R$* < @ $+ > $@ $2 ! $1 convert to UUCP format
+
+R$&h ! $+ ! $+ $@ $1 ! $2 $h!...!user => ...!user
+R$&h ! $+ $@ $&h ! $1 $h!user => $h!user
+R$+ $: $M ! $1 prepend masquerade name
+R! $+ $: $j ! $1 in case $M undefined')
+
PUSHDIVERT(4)
# resolve locally connected UUCP links
-R< @ $=Z . UUCP > : $+ $#uucp-dom $@ $1 $: $2 @host.UUCP: ...
-R$+ < @ $=Z . UUCP > $#uucp-dom $@ $2 $: $1 user@host.UUCP
-R< @ $=Y . UUCP > : $+ $#suucp $@ $1 $: $2 @host.UUCP: ...
-R$+ < @ $=Y . UUCP > $#suucp $@ $2 $: $1 user@host.UUCP
-R< @ $=U . UUCP > : $+ $#uucp $@ $1 $: $2 @host.UUCP: ...
-R$+ < @ $=U . UUCP > $#uucp $@ $2 $: $1 user@host.UUCP
+R$* < @ $=Z . UUCP. > $* $#uucp-uudom $@ $1 $: $1 < @ $2 .UUCP. > $3 @host.UUCP: ...
+R$* < @ $=Y . UUCP. > $* $#uucp-new $@ $2 $: $1 < @ $2 .UUCP. > $3
+R$* < @ $=U . UUCP. > $* $#uucp-old $@ $2 $: $1 < @ $2 .UUCP. > $3
POPDIVERT
diff --git a/usr.sbin/sendmail/cf/ostype/hpux.m4 b/usr.sbin/sendmail/cf/ostype/hpux.m4
index 0a1d097a8be..1be21f36c3c 100644
--- a/usr.sbin/sendmail/cf/ostype/hpux.m4
+++ b/usr.sbin/sendmail/cf/ostype/hpux.m4
@@ -34,10 +34,11 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)hpux.m4 8.4 (Berkeley) 8/24/93')
+VERSIONID(`@(#)hpux.m4 8.5 (Berkeley) 1/9/94')
define(`QUEUE_DIR', /usr/spool/mqueue)dnl
define(`ALIAS_FILE', /usr/lib/aliases)dnl
define(`STATUS_FILE', /usr/lib/sendmail.st)dnl
define(`LOCAL_MAILER_FLAGS', `m')dnl
+define(`UUCP_MAILER_ARGS', `uux - -r -a$f -gC $h!rmail ($u)')dnl
define(`confTIME_ZONE', `USE_TZ')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/irix.m4 b/usr.sbin/sendmail/cf/ostype/irix.m4
index 6baf60b6382..752c04d7aa8 100644
--- a/usr.sbin/sendmail/cf/ostype/irix.m4
+++ b/usr.sbin/sendmail/cf/ostype/irix.m4
@@ -34,5 +34,8 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)irix.m4 8.2 (Berkeley) 8/8/93')
+VERSIONID(`@(#)irix.m4 8.3 (Berkeley) 11/27/93')
define(`LOCAL_MAILER_FLAGS', Ehmu)dnl
+define(`QUEUE_DIR', /usr/spool/mqueue)dnl
+define(`ALIAS_FILE', /usr/lib/aliases)dnl
+define(`STATUS_FILE', /usr/lib/sendmail.st)dnl