aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/sendmail/cf
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/sendmail/cf')
-rw-r--r--usr.sbin/sendmail/cf/README244
-rw-r--r--usr.sbin/sendmail/cf/cf/chez.cs.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/clientproto.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/cs-hpux10.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/cs-hpux9.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/cs-osf1.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/cs-solaris2.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/cs-sunos4.1.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/cs-ultrix4.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/cyrusproto.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/freebsd.mc4
-rw-r--r--usr.sbin/sendmail/cf/cf/freefall.mc4
-rw-r--r--usr.sbin/sendmail/cf/cf/generic-bsd4.4.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/generic-hpux10.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/generic-hpux9.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/generic-osf1.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/generic-solaris2.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/generic-sunos4.1.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/generic-ultrix4.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/huginn.cs.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/mail.cs.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/mail.eecs.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/mailspool.cs.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/python.cs.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/s2k-osf1.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/s2k-ultrix4.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/tcpproto.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/ucbarpa.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/ucbvax.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/uucpproto.mc3
-rw-r--r--usr.sbin/sendmail/cf/cf/vangogh.cs.mc3
-rw-r--r--usr.sbin/sendmail/cf/domain/generic.m43
-rw-r--r--usr.sbin/sendmail/cf/feature/bestmx_is_local.m412
-rw-r--r--usr.sbin/sendmail/cf/feature/local_procmail.m413
-rw-r--r--usr.sbin/sendmail/cf/feature/nullclient.m45
-rw-r--r--usr.sbin/sendmail/cf/feature/redirect.m44
-rw-r--r--usr.sbin/sendmail/cf/m4/cfhead.m412
-rw-r--r--usr.sbin/sendmail/cf/m4/nullrelay.m415
-rw-r--r--usr.sbin/sendmail/cf/m4/proto.m4153
-rw-r--r--usr.sbin/sendmail/cf/m4/version.m44
-rw-r--r--usr.sbin/sendmail/cf/mailer/cyrus.m413
-rw-r--r--usr.sbin/sendmail/cf/mailer/fax.m46
-rw-r--r--usr.sbin/sendmail/cf/mailer/local.m410
-rw-r--r--usr.sbin/sendmail/cf/mailer/pop.m44
-rw-r--r--usr.sbin/sendmail/cf/mailer/procmail.m410
-rw-r--r--usr.sbin/sendmail/cf/mailer/smtp.m410
-rw-r--r--usr.sbin/sendmail/cf/ostype/aix3.m44
-rw-r--r--usr.sbin/sendmail/cf/ostype/amdahl-uts.m46
-rw-r--r--usr.sbin/sendmail/cf/ostype/aux.m46
-rw-r--r--usr.sbin/sendmail/cf/ostype/bsd4.4.m41
-rw-r--r--usr.sbin/sendmail/cf/ostype/dgux.m46
-rw-r--r--usr.sbin/sendmail/cf/ostype/domainos.m44
-rw-r--r--usr.sbin/sendmail/cf/ostype/dynix3.2.m44
-rw-r--r--usr.sbin/sendmail/cf/ostype/hpux10.m46
-rw-r--r--usr.sbin/sendmail/cf/ostype/hpux9.m46
-rw-r--r--usr.sbin/sendmail/cf/ostype/irix4.m46
-rw-r--r--usr.sbin/sendmail/cf/ostype/irix5.m46
-rw-r--r--usr.sbin/sendmail/cf/ostype/isc4.1.m46
-rw-r--r--usr.sbin/sendmail/cf/ostype/nextstep.m46
-rw-r--r--usr.sbin/sendmail/cf/ostype/osf1.m44
-rw-r--r--usr.sbin/sendmail/cf/ostype/ptx2.m49
-rw-r--r--usr.sbin/sendmail/cf/ostype/riscos4.5.m44
-rw-r--r--usr.sbin/sendmail/cf/ostype/sco3.2.m46
-rw-r--r--usr.sbin/sendmail/cf/ostype/solaris2.m47
-rw-r--r--usr.sbin/sendmail/cf/ostype/svr4.m46
65 files changed, 527 insertions, 186 deletions
diff --git a/usr.sbin/sendmail/cf/README b/usr.sbin/sendmail/cf/README
index e6e9ce975366..fc1f70b54a7c 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.81 (Berkeley) 12/3/95
+ @(#)README 8.108 (Berkeley) 11/16/96
This document describes the sendmail configuration files being used
@@ -13,7 +13,7 @@ not work on other versions.
These configuration files are probably not as general as previous
versions, and don't handle as many of the weird cases automagically.
-I was able to simplify by them for two reasons. First, the network
+I was able to simplify them for two reasons. First, the network
has become more consistent -- for example, at this point, everyone
on the internet is supposed to be running a name server, so hacks to
handle NIC-registered hosts can go away. Second, I assumed that a
@@ -128,7 +128,7 @@ Let's examine a typical .mc file:
divert(0)
The divert(-1) will delete the crud in the resulting output file.
-The copyright notice can be replace by whatever your lawyers require;
+The copyright notice can be replaced by whatever your lawyers require;
our lawyers require the one that I've included in my files. A copyleft
is a copyright by another name. The divert(0) restores regular output.
@@ -158,9 +158,38 @@ definition appropriate for your environment.
MAILER(smtp)
These describe the mailers used at the default CS site site. The
-local mailer is always included automatically. Beware MAILER
-declarations should always be last in the configuration file, and
-MAILER(smtp) should always precede MAILER(uucp).
+local mailer is always included automatically. Beware: MAILER
+declarations should always be at the end of the configuration file,
+and MAILER(smtp) should always precede MAILER(uucp). The general
+rules are that the order should be:
+
+ VERSIONID
+ OSTYPE
+ DOMAIN
+ FEATURE
+ local macro definitions
+ MAILER
+ LOCAL_RULESET_*
+
+
++----------------------------+
+| A BRIEF INTRODUCTION TO M4 |
++----------------------------+
+
+Sendmail uses the M4 macro processor to ``compile'' the configuration
+files. The most important thing to know is that M4 is stream-based,
+that is, it doesn't understand about lines. For this reason, in some
+places you may see the word ``dnl'', which standards for ``delete
+through newline''; essentially, it deletes all characters starting
+at the ``dnl'' up to and including the next newline character. In
+most cases sendmail uses this only to avoid lots of unnecessary
+blank lines in the output.
+
+Other important directives are define(A, B) which defines the macro
+``A'' to have value ``B''. Macros are expanded as they are read, so
+one normally quotes both values to prevent expansion. For example,
+
+ define(`SMART_HOST', `smart.foo.com')
One word of warning: M4 macros are expanded even in lines that appear
to be comments. For example, if you have
@@ -251,6 +280,7 @@ SMTP_MAILER_CHARSET [undefined] If defined, messages containing 8-bit data
that ARRIVE from an address that resolves to one of
the SMTP mailers and which are converted to MIME will
be labelled with this character set.
+UUCP_MAILER_PATH [/usr/bin/uux] The program used to send UUCP mail.
UUCP_MAILER_FLAGS [undefined] Flags added to UUCP mailer. Default
flags are `DFMhuU' (and `m' for uucp-new mailer,
minus `U' for uucp-dom mailer).
@@ -264,12 +294,16 @@ UUCP_MAILER_CHARSET [undefined] If defined, messages containing 8-bit data
be labelled with this character set.
FAX_MAILER_PATH [/usr/local/lib/fax/mailfax] The program used to
submit FAX messages.
+FAX_MAILER_ARGS [mailfax $u $h $f] The arguments passed to the FAX
+ mailer.
FAX_MAILER_MAX [100000] The maximum size message accepted for
transmission by FAX.
POP_MAILER_PATH [/usr/lib/mh/spop] The pathname of the POP mailer.
POP_MAILER_FLAGS [Penu] Flags added to POP mailer. Flags "lsDFM"
are always added.
POP_MAILER_ARGS [pop $u] The arguments passed to the POP mailer.
+PROCMAIL_MAILER_PATH [/usr/local/bin/procmail] The path to the procmail
+ program. This is also used by FEATURE(local_procmail).
PROCMAIL_MAILER_FLAGS [Shu] Flags added to Procmail mailer. Flags
``DFMmn'' are always set.
PROCMAIL_MAILER_ARGS [procmail -m $h $f $u] The arguments passed to
@@ -290,6 +324,10 @@ CYRUS_MAILER_PATH [/usr/cyrus/bin/deliver] The progam used to deliver
cyrus mail.
CYRUS_MAILER_ARGS [deliver -e -m $h -- $u] The arguments passed
to deliver cyrus mail.
+CYRUS_MAILER_MAX [undefined] If set, the maximum size message that
+ will be accepted by the cyrus mailer.
+CYRUS_MAILER_USER [cyrus:mail] The user and group to become when
+ running the cyrus mailer.
CYRUS_BB_MAILER_FLAGS [undefined] The flags used by the cyrusbb
mailer. The flags lsDFMnP are always included.
CYRUS_BB_MAILER_ARGS [deliver -e -m $u] The arguments passed
@@ -549,8 +587,10 @@ uucpdomain Similar feature for UUCP hosts. The default map definition
always_add_domain
Include the local host domain even on locally delivered
- mail. Normally it is not added unless it is already
- present.
+ mail. Normally it is not added on unqualified names.
+ However, if you use a shared message store but do not use
+ the same user name space everywhere, you may need the host
+ name on local names.
allmasquerade If masquerading is enabled (using MASQUERADE_AS), this
feature will cause recipient addresses to also masquerade
@@ -565,6 +605,73 @@ allmasquerade If masquerading is enabled (using MASQUERADE_AS), this
namespace on your masquerade host supersets all the
local entries.
+limited_masquerade
+ Normally, any hosts listed in $=w are masqueraded. If this
+ feature is given, only the hosts listed in $=M are masqueraded.
+ This is useful if you have several domains with disjoint
+ namespaces hosted on the same machine.
+
+masquerade_entire_domain
+ If masquerading is enabled (using MASQUERADE_AS) and
+ MASQUERADE_DOMAIN (see below) is set, this feature will
+ cause addresses to be rewritten such that the masquerading
+ domains are actually entire domains to be hidden. All
+ hosts within the masquerading domains will be rewritten
+ to the masquerade name (used in MASQUERADE_AS). For example,
+ if you have:
+
+ MASQUERADE_AS(masq.com)
+ MASQUERADE_DOMAIN(foo.org)
+ MASQUERADE_DOMAIN(bar.com)
+
+ then *foo.org and *bar.com are converted to masq.com. Without
+ this feature, only foo.org and bar.com are masqueraded.
+
+ NOTE: only domains within your jurisdiction and
+ current hierarchy should be masqueraded using this.
+
+genericstable This feature will cause certain addresses originating in the
+ local domain or a domain listed in $=G to be looked up in a
+ map and turned into another ("generic") form, which can change
+ both the domain name and the user name. This is similar to
+ the userdb functionality. The same types of addresses as for
+ masquerading are looked up, i.e. only header sender addresses
+ unless the allmasquerade and/or masquerade_envelope features
+ are given. The addresses must be in the list of names given
+ by the macros GENERICS_DOMAIN or GENERICS_DOMAIN_FILE
+ (analogously to MASQUERADE_DOMAIN and MASQUERADE_DOMAIN_FILE,
+ see below).
+
+ The argument of FEATURE(genericstable) may be the map
+ defintion; the default map definition is:
+
+ hash -o /etc/genericstable
+
+ The key for this table is either the full address or the
+ unqualified username (the former is tried first); the
+ value is the new user address. If the new user address does
+ not include a domain, $j is used.
+
+virtusertable A domain-specific form of aliasing, allowing multiple
+ virtual domains to be hosted on one machine. For example,
+ if the virtuser table contained:
+
+ info@foo.com foo-info
+ info@bar.com bar-info
+ @baz.org jane@elsewhere.net
+
+ then mail addressed to info@foo.com will be sent to the
+ address foo-info, mail addressed to info@bar.com will be
+ delivered to bar-info, and mail addressed to anyone at
+ baz.org will be sent to jane@elsewhere.net. All the host
+ names on the left hand side (foo.com, bar.com, and baz.org)
+ must be in $=w. The default map definition is:
+
+ hash -o /etc/virtusertable
+
+ A new definition can be specified as the second argument of
+ the FEATURE macro.
+
nodns We aren't running DNS at our site (for example,
we are UUCP-only connected). It's hard to consider
this a "feature", but hey, it had to go somewhere.
@@ -587,7 +694,7 @@ local_procmail Use procmail as the local mailer. This mailer can
normally the +indicator is just tossed, but by default
it is passed as the -a argument to procmail. The
argument to this feature is the pathname of procmail,
- which defaults to /usr/local/bin/procmail.
+ which defaults to PROCMAIL_MAILER_PATH.
bestmx_is_local Accept mail as though locally addressed for any host that
lists us as the best possible MX record. This generates
@@ -834,14 +941,17 @@ You can have your host masquerade as another using
MASQUERADE_AS(host.domain)
-This causes outgoing SMTP mail to be labeled as coming from the
-indicated domain, rather than $j. One normally masquerades as one
-of one's own subdomains (for example, it's unlikely that I would
-choose to masquerade as an MIT site).
+This causes mail being sent to be labeled as coming from the
+indicated host.domain, rather than $j. One normally masquerades as
+one of one's own subdomains (for example, it's unlikely that I would
+choose to masquerade as an MIT site). This behaviour is modified by
+a plethora of FEATUREs; in particular, see masquerade_envelope,
+allmasquerade, limited_masquerade, and masquerade_entire_domain.
The masquerade name is not normally canonified, so it is important
that it be your One True Name, that is, fully qualified and not a
-CNAME.
+CNAME. However, if you use a CNAME, the receiving side may canonify
+it for you, so don't think you can cheat CNAME mapping this way.
Normally the only addresses that are masqueraded are those that come
from this host (that is, are either unqualified or in $=w, the list
@@ -883,7 +993,7 @@ to have .forward files or aliases. You can do this using
define(`LOCAL_RELAY', mailer:hostname)
The ``mailer:'' can be omitted, in which case the mailer defaults to
-"smtp". There are some user names that you don't want relayed, perhaps
+"relay". There are some user names that you don't want relayed, perhaps
because of local aliases. A common example is root, which may be
locally aliased. You can add entries to this list using
@@ -898,13 +1008,13 @@ shared /var/spool/mail scheme, use
define(`MAIL_HUB', mailer:hostname)
-Again, ``mailer:'' defaults to "smtp". If you define both LOCAL_RELAY
+Again, ``mailer:'' defaults to "relay". If you define both LOCAL_RELAY
and MAIL_HUB _AND_ you have FEATURE(stickyhost), unqualified names will
be sent to the LOCAL_RELAY and other local names will be sent to MAIL_HUB.
Names in $=L will be delivered locally, so you MUST have aliases or
.forward files for them.
-For example, if are on machine mastodon.CS.Berkeley.EDU and you have
+For example, if you are on machine mastodon.CS.Berkeley.EDU and you have
FEATURE(stickyhost), the following combinations of settings will have the
indicated effects:
@@ -936,6 +1046,12 @@ really want absolutely everything to go to a single central site you will
need to unset all the other relays -- or better yet, find or build a
minimal config file that does this.
+For duplicate suppression to work properly, the host name is best
+specified with a terminal dot:
+
+ define(`MAIL_HUB', `host.domain.')
+ note the trailing dot ---^
+
+-------------------------------+
| NON-SMTP BASED CONFIGURATIONS |
@@ -1103,6 +1219,11 @@ Plussed users
If that is not found, the alias "root+*" will be tried,
then "root".
+LDAP
+ For notes on use LDAP in sendmail, see
+ http://www-leland.stanford.edu/~bbense/Inst.html
+
+
+----------------+
| SECURITY NOTES |
@@ -1118,7 +1239,7 @@ for. In particular:
version.
* Make sure that other files that sendmail reads, such as the
- mailertable, is only writable by trusted system personnel.
+ mailertable, are only writable by trusted system personnel.
* The queue directory should not be world writable PARTICULARLY
if your system allows "file giveaways" (that is, if a non-root
@@ -1148,7 +1269,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: /pub/FreeBSD/FreeBSD-CVS/src/usr.sbin/sendmail/cf/README,v 1.1.1.1.6.1 1996/03/25 06:52:39 peter Exp $
+ $Header: /home/ncvs/src/usr.sbin/sendmail/cf/README,v 1.1.1.1.6.3 1996/11/22 05:31:38 nate Exp $
How To Obtain This Software (in case all you get is this file)
--------------------------------------------------------------
@@ -1319,7 +1440,7 @@ confTRUSTED_USERS Ct class [no default] Names of users to add to
the list of trusted users. This list
always includes root, uucp, and daemon.
See also FEATURE(use_ct_file).
-confSMTP_MAILER - [smtp] The mailer name used when
+confSMTP_MAILER - [esmtp] The mailer name used when
SMTP connectivity is required.
One of "smtp", "smtp8", or "esmtp".
confUUCP_MAILER - [uucp-old] The mailer to be used by
@@ -1351,7 +1472,7 @@ confMIN_FREE_BLOCKS MinFreeBlocks [100] Minimum number of free blocks on
for the second value now.)
confMAX_MESSAGE_SIZE MaxMessageSize [infinite] The maximum size of messages
that will be accepted (in bytes).
-confBLANK_SUB BlankSub [ ] Blank (space) substitution
+confBLANK_SUB BlankSub [.] Blank (space) substitution
character.
confCON_EXPENSIVE HoldExpensive [False] Avoid connecting immediately
to mailers marked expensive?
@@ -1383,6 +1504,17 @@ confMCI_CACHE_SIZE ConnectionCacheSize
[2] Size of open connection cache.
confMCI_CACHE_TIMEOUT ConnectionCacheTimeout
[5m] Open connection cache timeout.
+confHOST_STATUS_DIRECTORY HostStatusDirectory
+ [undefined] If set, host status is kept
+ on disk between sendmail runs in the
+ named directory tree. This need not be
+ a full pathname, in which case it is
+ interpreted relative to the queue
+ directory. This option also
+ single-threads connections to each
+ host, i.e., prevents multiple
+ connections to a single server from
+ this client.
confUSE_ERRORS_TO* UserErrorsTo [False] Use the Errors-To: header to
deliver error messages. This should
not be necessary because of general
@@ -1411,6 +1543,18 @@ confSAFE_QUEUE* SuperSafe [True] Commit all messages to disk
before forking.
confTO_INITIAL Timeout.initial [5m] The timeout waiting for a response
on the initial connect.
+confTO_CONNECT Timeout.connect [0] The timeout waiting for an initial
+ connect() to complete. This can only
+ shorten connection timeouts; the kernel
+ silently enforces an absolute maximum
+ (which varies depending on the system).
+confTO_ICONNECT Timeout.iconnect
+ [undefined] Like Timeout.connect, but
+ applies only to the very first attempt
+ to connect to a host in a message.
+ This allows a single very fast pass
+ followed by more careful delivery
+ attempts in the future.
confTO_HELO Timeout.helo [5m] The timeout waiting for a response
to a HELO or EHLO command.
confTO_MAIL Timeout.mail [10m] The timeout waiting for a
@@ -1469,6 +1613,13 @@ confTO_QUEUEWARN_NONURGENT
Timeout.queuewarn.non-urgent
[undefined] As above, for non-urgent
(low) priority messages.
+confTO_HOSTSTATUS Timeout.hoststatus
+ [30m] How long information about host
+ statuses will be maintained before it
+ is considered stale and the host should
+ be retried. This applies both within
+ a single queue run and to persistent
+ information (see below).
confTIME_ZONE TimeZoneSpec [USE_SYSTEM] Time zone info -- can be
USE_SYSTEM to use the system's idea,
USE_TZ to use the user's TZ envariable,
@@ -1486,6 +1637,19 @@ confQUEUE_LA QueueLA [8] Load average at which queue-only
function kicks in.
confREFUSE_LA RefuseLA [12] Load average at which incoming
SMTP connections are refused.
+confMAX_DAEMON_CHILDREN MaxDaemonChildren
+ [undefined] The maximum number of
+ children the daemon will permit. After
+ this number, connections will be
+ rejected. If not set or <= 0, there is
+ no limit.
+confCONNECTION_RATE_THROTTLE ConnectionRateThrottle
+ [undefined] The maximum number of
+ connections permitted per second.
+ After this many connections are
+ accepted, further connections will be
+ delayed. If not set or <= 0, there is
+ no limit.
confWORK_RECIPIENT_FACTOR
RecipientFactor [30000] Cost of each recipient.
confSEPARATE_PROC ForkEachJob [False] Run all deliveries in a separate
@@ -1585,6 +1749,39 @@ confDONT_INIT_GROUPS DontInitGroups [False] If set, the initgroups(3)
this, agents run on behalf of users
will only have their primary
(/etc/passwd) group permissions.
+confUNSAFE_GROUP_WRITES UnsafeGroupWrites
+ [False] If set, group-writable
+ :include: and .forward files are
+ considered "unsafe", that is, programs
+ and files cannot be directly referenced
+ from such files. World-writable files
+ are always considered unsafe.
+confDOUBLE_BOUNCE_ADDRESS DoubleBounceAddress
+ [postmaster] If an error occurs when
+ sending an error message, send that
+ "double bounce" error message to this
+ address.
+confRUN_AS_USER RunAsUser [undefined] If set, become this user
+ when reading and delivering mail.
+ Causes all file reads (e.g., .forward
+ and :include: files) to be done as
+ this user. Also, all programs will
+ be run as this user, and all output
+ files will be written as this user.
+ Intended for use only on firewalls
+ where users do not have accounts.
+confSINGLE_THREAD_DELIVERY SingleThreadDelivery
+ [False] If this option and the
+ HostStatusDirectory option are both
+ set, single thread deliveries to other
+ hosts. That is, don't allow any two
+ sendmails on this host to connect
+ simultaneously to any other single
+ host. This can slow down delivery in
+ some cases, in particular since a
+ cached but otherwise idle connection
+ to a host will prevent other sendmails
+ from connecting to the other host.
See also the description of OSTYPE for some parameters that can be
tweaked (generally pathnames to mailers).
@@ -1710,12 +1907,12 @@ MACROS
CLASSES
A
- B
+ B domains that are candidates for bestmx lookup
C
D
E addresses that should not seem to come from $M
F hosts we forward for
- G
+ G domains that should be looked up in genericstable
H
I
J
@@ -1736,6 +1933,7 @@ CLASSES
Y locally connected smart UUCP hosts
Z locally connected domain-ized UUCP hosts
. the class containing only a dot
+ [ the class containing only a left bracket
M4 DIVERSIONS
diff --git a/usr.sbin/sendmail/cf/cf/chez.cs.mc b/usr.sbin/sendmail/cf/cf/chez.cs.mc
index b30fe9ce22da..85f7e5c2c1ba 100644
--- a/usr.sbin/sendmail/cf/cf/chez.cs.mc
+++ b/usr.sbin/sendmail/cf/cf/chez.cs.mc
@@ -44,7 +44,8 @@ divert(-1)
# will be forwarded to that machine.
#
-VERSIONID(`@(#)chez.cs.mc 8.5 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)chez.cs.mc 8.6 (Berkeley) 3/23/96')
OSTYPE(bsd4.4)dnl
DOMAIN(CS.Berkeley.EDU)dnl
define(`LOCAL_RELAY', vangogh.CS.Berkeley.EDU)dnl
diff --git a/usr.sbin/sendmail/cf/cf/clientproto.mc b/usr.sbin/sendmail/cf/cf/clientproto.mc
index a59ac037e192..7cbb352c8fb6 100644
--- a/usr.sbin/sendmail/cf/cf/clientproto.mc
+++ b/usr.sbin/sendmail/cf/cf/clientproto.mc
@@ -48,7 +48,8 @@ divert(-1)
# Other than these, it should never contain any other lines.
#
-VERSIONID(`@(#)clientproto.mc 8.6 (Berkeley) 8/16/95')
+divert(0)dnl
+VERSIONID(`@(#)clientproto.mc 8.7 (Berkeley) 3/23/96')
OSTYPE(unknown)
FEATURE(nullclient, mailhost.$m)
diff --git a/usr.sbin/sendmail/cf/cf/cs-hpux10.mc b/usr.sbin/sendmail/cf/cf/cs-hpux10.mc
index 1d39ccfa413a..61155d303cfd 100644
--- a/usr.sbin/sendmail/cf/cf/cs-hpux10.mc
+++ b/usr.sbin/sendmail/cf/cf/cs-hpux10.mc
@@ -43,7 +43,8 @@ divert(-1)
# to a name of your own choosing.
#
-VERSIONID(`@(#)cs-hpux10.mc 8.3 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)cs-hpux10.mc 8.4 (Berkeley) 3/23/96')
OSTYPE(hpux10)dnl
DOMAIN(CS.Berkeley.EDU)dnl
define(`MAIL_HUB', mailspool.CS.Berkeley.EDU)dnl
diff --git a/usr.sbin/sendmail/cf/cf/cs-hpux9.mc b/usr.sbin/sendmail/cf/cf/cs-hpux9.mc
index a27febeaedac..e9e0af8830c8 100644
--- a/usr.sbin/sendmail/cf/cf/cs-hpux9.mc
+++ b/usr.sbin/sendmail/cf/cf/cs-hpux9.mc
@@ -43,7 +43,8 @@ divert(-1)
# to a name of your own choosing.
#
-VERSIONID(`@(#)cs-hpux9.mc 8.4 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)cs-hpux9.mc 8.5 (Berkeley) 3/23/96')
OSTYPE(hpux9)dnl
DOMAIN(CS.Berkeley.EDU)dnl
define(`MAIL_HUB', mailspool.CS.Berkeley.EDU)dnl
diff --git a/usr.sbin/sendmail/cf/cf/cs-osf1.mc b/usr.sbin/sendmail/cf/cf/cs-osf1.mc
index b5beca80c0f2..f61b65655d59 100644
--- a/usr.sbin/sendmail/cf/cf/cs-osf1.mc
+++ b/usr.sbin/sendmail/cf/cf/cs-osf1.mc
@@ -43,7 +43,8 @@ divert(-1)
# to a name of your own choosing.
#
-VERSIONID(`@(#)cs-osf1.mc 8.3 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)cs-osf1.mc 8.4 (Berkeley) 3/23/96')
OSTYPE(osf1)dnl
DOMAIN(CS.Berkeley.EDU)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/cs-solaris2.mc b/usr.sbin/sendmail/cf/cf/cs-solaris2.mc
index aad526b6a51c..ae8f420b13e3 100644
--- a/usr.sbin/sendmail/cf/cf/cs-solaris2.mc
+++ b/usr.sbin/sendmail/cf/cf/cs-solaris2.mc
@@ -43,7 +43,8 @@ divert(-1)
# to a name of your own choosing.
#
-VERSIONID(`@(#)cs-solaris2.mc 8.2 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)cs-solaris2.mc 8.3 (Berkeley) 3/23/96')
OSTYPE(solaris2)dnl
DOMAIN(CS.Berkeley.EDU)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/cs-sunos4.1.mc b/usr.sbin/sendmail/cf/cf/cs-sunos4.1.mc
index 024fc375d743..754de46010c1 100644
--- a/usr.sbin/sendmail/cf/cf/cs-sunos4.1.mc
+++ b/usr.sbin/sendmail/cf/cf/cs-sunos4.1.mc
@@ -43,7 +43,8 @@ divert(-1)
# to a name of your own choosing.
#
-VERSIONID(`@(#)cs-sunos4.1.mc 8.3 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)cs-sunos4.1.mc 8.4 (Berkeley) 3/23/96')
OSTYPE(sunos4.1)dnl
DOMAIN(CS.Berkeley.EDU)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/cs-ultrix4.mc b/usr.sbin/sendmail/cf/cf/cs-ultrix4.mc
index 1f90d00e0151..72735fc58919 100644
--- a/usr.sbin/sendmail/cf/cf/cs-ultrix4.mc
+++ b/usr.sbin/sendmail/cf/cf/cs-ultrix4.mc
@@ -43,7 +43,8 @@ divert(-1)
# to a name of your own choosing.
#
-VERSIONID(`@(#)cs-ultrix4.mc 8.3 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)cs-ultrix4.mc 8.4 (Berkeley) 3/23/96')
OSTYPE(ultrix4)dnl
DOMAIN(CS.Berkeley.EDU)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/cyrusproto.mc b/usr.sbin/sendmail/cf/cf/cyrusproto.mc
index 125b931704c0..c660898b738f 100644
--- a/usr.sbin/sendmail/cf/cf/cyrusproto.mc
+++ b/usr.sbin/sendmail/cf/cf/cyrusproto.mc
@@ -26,7 +26,8 @@ divert(-1)
# exclusively for local mail.
#
-VERSIONID(`@(#)cyrusproto.mc 8.2 (Carnegie Mellon) @(#)cyrusproto.mc 8.2')
+divert(0)dnl
+VERSIONID(`@(#)cyrusproto.mc 8.3 (Carnegie Mellon) @(#)cyrusproto.mc 8.3')
define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')
FEATURE(nouucp)
FEATURE(nocanonify)
diff --git a/usr.sbin/sendmail/cf/cf/freebsd.mc b/usr.sbin/sendmail/cf/cf/freebsd.mc
index d5a014ac80c0..09dd806110f9 100644
--- a/usr.sbin/sendmail/cf/cf/freebsd.mc
+++ b/usr.sbin/sendmail/cf/cf/freebsd.mc
@@ -41,7 +41,8 @@ divert(-1)
# and do the modifications there.
#
-VERSIONID(`@(#)freebsd.mc $Revision: 1.1 $')
+divert(0)dnl
+VERSIONID(`@(#)freebsd.mc $Revision: 1.1.2.1 $')
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
@@ -50,3 +51,4 @@ FEATURE(mailertable, `hash -o /etc/mailertable')dnl
define(`UUCP_RELAY', ucbvax.Berkeley.EDU)dnl
define(`BITNET_RELAY', mailhost.Berkeley.EDU)dnl
define(`CSNET_RELAY', mailhost.Berkeley.EDU)dnl
+define(`confCW_FILE', `-o /etc/sendmail.cw')dnl
diff --git a/usr.sbin/sendmail/cf/cf/freefall.mc b/usr.sbin/sendmail/cf/cf/freefall.mc
index d612d3f79daa..a54e87e19b97 100644
--- a/usr.sbin/sendmail/cf/cf/freefall.mc
+++ b/usr.sbin/sendmail/cf/cf/freefall.mc
@@ -33,7 +33,8 @@ divert(-1)
# SUCH DAMAGE.
#
-VERSIONID(`@(#)freefall.mc $Revision: 1.1.6.1 $')
+divert(0)dnl
+VERSIONID(`@(#)freefall.mc $Revision: 1.1.6.3 $')
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
@@ -42,6 +43,7 @@ FEATURE(mailertable, `hash -o /etc/mailertable')dnl
define(`UUCP_RELAY', ucbvax.Berkeley.EDU)dnl
define(`BITNET_RELAY', mailhost.Berkeley.EDU)dnl
define(`CSNET_RELAY', mailhost.Berkeley.EDU)dnl
+define(`confCW_FILE', `-o /etc/sendmail.cw')dnl
define(`confCHECKPOINT_INTERVAL', `4')dnl
define(`confAUTO_REBUILD', `True')dnl
define(`confMIN_FREE_BLOCKS', `1024')dnl
diff --git a/usr.sbin/sendmail/cf/cf/generic-bsd4.4.mc b/usr.sbin/sendmail/cf/cf/generic-bsd4.4.mc
index 482f671d0a5f..25783a324d70 100644
--- a/usr.sbin/sendmail/cf/cf/generic-bsd4.4.mc
+++ b/usr.sbin/sendmail/cf/cf/generic-bsd4.4.mc
@@ -41,7 +41,8 @@ divert(-1)
# and do the modifications there.
#
-VERSIONID(`@(#)generic-bsd4.4.mc 8.1 (Berkeley) 9/12/95')
+divert(0)dnl
+VERSIONID(`@(#)generic-bsd4.4.mc 8.2 (Berkeley) 3/23/96')
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/generic-hpux10.mc b/usr.sbin/sendmail/cf/cf/generic-hpux10.mc
index 9c59c64bed69..48828eb02467 100644
--- a/usr.sbin/sendmail/cf/cf/generic-hpux10.mc
+++ b/usr.sbin/sendmail/cf/cf/generic-hpux10.mc
@@ -40,7 +40,8 @@ divert(-1)
# and do the modifications there.
#
-VERSIONID(`@(#)generic-hpux10.mc 8.2 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)generic-hpux10.mc 8.3 (Berkeley) 3/23/96')
OSTYPE(hpux10)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/generic-hpux9.mc b/usr.sbin/sendmail/cf/cf/generic-hpux9.mc
index d56e05ec9ec6..3c89e4330000 100644
--- a/usr.sbin/sendmail/cf/cf/generic-hpux9.mc
+++ b/usr.sbin/sendmail/cf/cf/generic-hpux9.mc
@@ -40,7 +40,8 @@ divert(-1)
# and do the modifications there.
#
-VERSIONID(`@(#)generic-hpux9.mc 8.2 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)generic-hpux9.mc 8.3 (Berkeley) 3/23/96')
OSTYPE(hpux9)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/generic-osf1.mc b/usr.sbin/sendmail/cf/cf/generic-osf1.mc
index 3134f6138f5e..bb74d18ab270 100644
--- a/usr.sbin/sendmail/cf/cf/generic-osf1.mc
+++ b/usr.sbin/sendmail/cf/cf/generic-osf1.mc
@@ -40,7 +40,8 @@ divert(-1)
# and do the modifications there.
#
-VERSIONID(`@(#)generic-osf1.mc 8.2 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)generic-osf1.mc 8.3 (Berkeley) 3/23/96')
OSTYPE(osf1)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/generic-solaris2.mc b/usr.sbin/sendmail/cf/cf/generic-solaris2.mc
index 7e6b84ec9046..21fab9fba6ba 100644
--- a/usr.sbin/sendmail/cf/cf/generic-solaris2.mc
+++ b/usr.sbin/sendmail/cf/cf/generic-solaris2.mc
@@ -40,7 +40,8 @@ divert(-1)
# and do the modifications there.
#
-VERSIONID(`@(#)generic-solaris2.mc 8.2 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)generic-solaris2.mc 8.3 (Berkeley) 3/23/96')
OSTYPE(solaris2)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/generic-sunos4.1.mc b/usr.sbin/sendmail/cf/cf/generic-sunos4.1.mc
index 1e3b3c83bfb2..eeff027a6ab8 100644
--- a/usr.sbin/sendmail/cf/cf/generic-sunos4.1.mc
+++ b/usr.sbin/sendmail/cf/cf/generic-sunos4.1.mc
@@ -40,7 +40,8 @@ divert(-1)
# and do the modifications there.
#
-VERSIONID(`@(#)generic-sunos4.1.mc 8.2 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)generic-sunos4.1.mc 8.3 (Berkeley) 3/23/96')
OSTYPE(sunos4.1)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/generic-ultrix4.mc b/usr.sbin/sendmail/cf/cf/generic-ultrix4.mc
index a12b3d107ffe..dd30936d10ba 100644
--- a/usr.sbin/sendmail/cf/cf/generic-ultrix4.mc
+++ b/usr.sbin/sendmail/cf/cf/generic-ultrix4.mc
@@ -40,7 +40,8 @@ divert(-1)
# and do the modifications there.
#
-VERSIONID(`@(#)generic-ultrix4.mc 8.2 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)generic-ultrix4.mc 8.3 (Berkeley) 3/23/96')
OSTYPE(ultrix4)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/huginn.cs.mc b/usr.sbin/sendmail/cf/cf/huginn.cs.mc
index 4914f32e3137..aad442b4d840 100644
--- a/usr.sbin/sendmail/cf/cf/huginn.cs.mc
+++ b/usr.sbin/sendmail/cf/cf/huginn.cs.mc
@@ -42,7 +42,8 @@ divert(-1)
# This file is for the backup CS Division mail server.
#
-VERSIONID(`@(#)huginn.cs.mc 8.6 (Berkeley) 8/25/95')
+divert(0)dnl
+VERSIONID(`@(#)huginn.cs.mc 8.7 (Berkeley) 3/23/96')
OSTYPE(hpux9)dnl
DOMAIN(CS.Berkeley.EDU)dnl
MASQUERADE_AS(CS.Berkeley.EDU)dnl
diff --git a/usr.sbin/sendmail/cf/cf/mail.cs.mc b/usr.sbin/sendmail/cf/cf/mail.cs.mc
index 50daad7e68c0..02a3acf7321f 100644
--- a/usr.sbin/sendmail/cf/cf/mail.cs.mc
+++ b/usr.sbin/sendmail/cf/cf/mail.cs.mc
@@ -42,7 +42,8 @@ divert(-1)
# This file is for the primary CS Division mail server.
#
-VERSIONID(`@(#)mail.cs.mc 8.9 (Berkeley) 8/25/95')
+divert(0)dnl
+VERSIONID(`@(#)mail.cs.mc 8.10 (Berkeley) 3/23/96')
OSTYPE(ultrix4)dnl
DOMAIN(Berkeley.EDU)dnl
MASQUERADE_AS(CS.Berkeley.EDU)dnl
diff --git a/usr.sbin/sendmail/cf/cf/mail.eecs.mc b/usr.sbin/sendmail/cf/cf/mail.eecs.mc
index f6d2bdcde106..756f5ddefd5d 100644
--- a/usr.sbin/sendmail/cf/cf/mail.eecs.mc
+++ b/usr.sbin/sendmail/cf/cf/mail.eecs.mc
@@ -42,7 +42,8 @@ divert(-1)
# This file is for the primary EECS mail server.
#
-VERSIONID(`@(#)mail.eecs.mc 8.9 (Berkeley) 8/25/95')
+divert(0)dnl
+VERSIONID(`@(#)mail.eecs.mc 8.10 (Berkeley) 3/23/96')
OSTYPE(ultrix4)dnl
DOMAIN(EECS.Berkeley.EDU)dnl
MASQUERADE_AS(EECS.Berkeley.EDU)dnl
diff --git a/usr.sbin/sendmail/cf/cf/mailspool.cs.mc b/usr.sbin/sendmail/cf/cf/mailspool.cs.mc
index 0493b2dffcf0..de0a7d7d1ad3 100644
--- a/usr.sbin/sendmail/cf/cf/mailspool.cs.mc
+++ b/usr.sbin/sendmail/cf/cf/mailspool.cs.mc
@@ -44,7 +44,8 @@ divert(-1)
# for back compatibility.
#
-VERSIONID(`@(#)mailspool.cs.mc 8.3 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)mailspool.cs.mc 8.4 (Berkeley) 3/23/96')
OSTYPE(sunos4.1)dnl
DOMAIN(CS.Berkeley.EDU)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/python.cs.mc b/usr.sbin/sendmail/cf/cf/python.cs.mc
index 3dff97d15300..e049d66185a6 100644
--- a/usr.sbin/sendmail/cf/cf/python.cs.mc
+++ b/usr.sbin/sendmail/cf/cf/python.cs.mc
@@ -44,7 +44,8 @@ divert(-1)
# will be forwarded to that machine.
#
-VERSIONID(`@(#)python.cs.mc 8.3 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)python.cs.mc 8.4 (Berkeley) 3/23/96')
OSTYPE(bsd4.4)dnl
DOMAIN(CS.Berkeley.EDU)dnl
define(`LOCAL_RELAY', vangogh.CS.Berkeley.EDU)dnl
diff --git a/usr.sbin/sendmail/cf/cf/s2k-osf1.mc b/usr.sbin/sendmail/cf/cf/s2k-osf1.mc
index db324ae51561..eb195ccf155c 100644
--- a/usr.sbin/sendmail/cf/cf/s2k-osf1.mc
+++ b/usr.sbin/sendmail/cf/cf/s2k-osf1.mc
@@ -43,7 +43,8 @@ divert(-1)
# to a name of your own choosing.
#
-VERSIONID(`@(#)s2k-osf1.mc 8.3 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)s2k-osf1.mc 8.4 (Berkeley) 3/23/96')
OSTYPE(osf1)dnl
DOMAIN(S2K.Berkeley.EDU)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/s2k-ultrix4.mc b/usr.sbin/sendmail/cf/cf/s2k-ultrix4.mc
index 1404b86393b9..37df422edb12 100644
--- a/usr.sbin/sendmail/cf/cf/s2k-ultrix4.mc
+++ b/usr.sbin/sendmail/cf/cf/s2k-ultrix4.mc
@@ -43,7 +43,8 @@ divert(-1)
# to a name of your own choosing.
#
-VERSIONID(`@(#)s2k-ultrix4.mc 8.3 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)s2k-ultrix4.mc 8.4 (Berkeley) 3/23/96')
OSTYPE(ultrix4)dnl
DOMAIN(S2K.Berkeley.EDU)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/tcpproto.mc b/usr.sbin/sendmail/cf/cf/tcpproto.mc
index 7f43558ca97d..d023185ccbd8 100644
--- a/usr.sbin/sendmail/cf/cf/tcpproto.mc
+++ b/usr.sbin/sendmail/cf/cf/tcpproto.mc
@@ -46,7 +46,8 @@ divert(-1)
# will not trash your changes.
#
-VERSIONID(`@(#)tcpproto.mc 8.4 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)tcpproto.mc 8.5 (Berkeley) 3/23/96')
OSTYPE(unknown)
FEATURE(nouucp)
MAILER(local)
diff --git a/usr.sbin/sendmail/cf/cf/ucbarpa.mc b/usr.sbin/sendmail/cf/cf/ucbarpa.mc
index 39d73908cad6..5fe99d00476d 100644
--- a/usr.sbin/sendmail/cf/cf/ucbarpa.mc
+++ b/usr.sbin/sendmail/cf/cf/ucbarpa.mc
@@ -41,7 +41,8 @@ divert(-1)
# `SITECONFIG'. See also ucbvax.mc.
#
-VERSIONID(`@(#)ucbarpa.mc 8.3 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)ucbarpa.mc 8.4 (Berkeley) 3/23/96')
DOMAIN(CS.Berkeley.EDU)dnl
OSTYPE(bsd4.4)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/ucbvax.mc b/usr.sbin/sendmail/cf/cf/ucbvax.mc
index cc8cd2ce66de..89a0f1014cd6 100644
--- a/usr.sbin/sendmail/cf/cf/ucbvax.mc
+++ b/usr.sbin/sendmail/cf/cf/ucbvax.mc
@@ -42,7 +42,8 @@ divert(-1)
# `SITECONFIG' for routing of UUCP within your domain.
#
-VERSIONID(`@(#)ucbvax.mc 8.5 (Berkeley) 8/25/95')
+divert(0)dnl
+VERSIONID(`@(#)ucbvax.mc 8.6 (Berkeley) 3/23/96')
OSTYPE(bsd4.3)
DOMAIN(CS.Berkeley.EDU)
MASQUERADE_AS(CS.Berkeley.EDU)
diff --git a/usr.sbin/sendmail/cf/cf/uucpproto.mc b/usr.sbin/sendmail/cf/cf/uucpproto.mc
index 49c4a0de6562..6a21156ed52a 100644
--- a/usr.sbin/sendmail/cf/cf/uucpproto.mc
+++ b/usr.sbin/sendmail/cf/cf/uucpproto.mc
@@ -46,7 +46,8 @@ divert(-1)
# will not trash your changes.
#
-VERSIONID(`@(#)uucpproto.mc 8.5 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)uucpproto.mc 8.6 (Berkeley) 3/23/96')
OSTYPE(unknown)
FEATURE(nodns)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/cf/vangogh.cs.mc b/usr.sbin/sendmail/cf/cf/vangogh.cs.mc
index 2be3179ea9bf..95a15e922ed9 100644
--- a/usr.sbin/sendmail/cf/cf/vangogh.cs.mc
+++ b/usr.sbin/sendmail/cf/cf/vangogh.cs.mc
@@ -43,7 +43,8 @@ divert(-1)
# set up (to stress sendmail) and accepts mail for some other machines.
#
-VERSIONID(`@(#)vangogh.cs.mc 8.4 (Berkeley) 8/6/95')
+divert(0)dnl
+VERSIONID(`@(#)vangogh.cs.mc 8.5 (Berkeley) 3/23/96')
DOMAIN(CS.Berkeley.EDU)dnl
OSTYPE(bsd4.4)dnl
MAILER(local)dnl
diff --git a/usr.sbin/sendmail/cf/domain/generic.m4 b/usr.sbin/sendmail/cf/domain/generic.m4
index 6799ff895227..ca91f50f112e 100644
--- a/usr.sbin/sendmail/cf/domain/generic.m4
+++ b/usr.sbin/sendmail/cf/domain/generic.m4
@@ -41,8 +41,7 @@ divert(-1)
# files.
#
divert(0)
-VERSIONID(`@(#)generic.m4 8.2 (Berkeley) 4/21/95')
+VERSIONID(`@(#)generic.m4 8.3 (Berkeley) 3/24/96')
define(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward')dnl
-define(`confCW_FILE', `-o /etc/sendmail.cw')dnl
FEATURE(redirect)dnl
FEATURE(use_cw_file)dnl
diff --git a/usr.sbin/sendmail/cf/feature/bestmx_is_local.m4 b/usr.sbin/sendmail/cf/feature/bestmx_is_local.m4
index 23dff8c93eef..1b96aa13f8d5 100644
--- a/usr.sbin/sendmail/cf/feature/bestmx_is_local.m4
+++ b/usr.sbin/sendmail/cf/feature/bestmx_is_local.m4
@@ -34,12 +34,16 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)bestmx_is_local.m4 8.2 (Berkeley) 10/29/95')
+VERSIONID(`@(#)bestmx_is_local.m4 8.4 (Berkeley) 10/23/96')
divert(-1)
LOCAL_CONFIG
+# turn on bestMX lookup table
Kbestmx bestmx
+# limit bestmx to these domains
+CB`'_ARG_
+
LOCAL_NET_CONFIG
# If we are the best MX for a site, then we want to accept
@@ -50,9 +54,13 @@ LOCAL_NET_CONFIG
# Warning: this may generate a lot of extra DNS traffic -- a
# lower cost method is to list all the expected best MX hosts
# in $=w. This should be fine (and easier to administer) for
-# low to medium traffic hosts.
+# low to medium traffic hosts. If you use the limited bestmx
+# by passing in a set of possible domains it will improve things.
+ifelse(_ARG_, `', `', `#')dnl unlimited bestmx
R$* < @ $* > $* $: $1 < @ $2 @@ $(bestmx $2 $) > $3
+ifelse(_ARG_, `', `#', `')dnl limit bestmx to $=B
+R$* < @ $* $=B > $* $: $1 < @ $2 $3 @@ $(bestmx $2 $3 $) > $4
R$* $=O $* < @ $* @@ $=w . > $* $@ $>97 $1 $2 $3
R$* < @ $* @@ $=w . > $* $#local $: $1
R$* < @ $* @@ $* > $* $: $1 < @ $2 > $4
diff --git a/usr.sbin/sendmail/cf/feature/local_procmail.m4 b/usr.sbin/sendmail/cf/feature/local_procmail.m4
index 9087a690d082..db0cc87964c3 100644
--- a/usr.sbin/sendmail/cf/feature/local_procmail.m4
+++ b/usr.sbin/sendmail/cf/feature/local_procmail.m4
@@ -34,11 +34,14 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)local_procmail.m4 8.3 (Berkeley) 10/29/95')
+VERSIONID(`@(#)local_procmail.m4 8.6 (Berkeley) 10/20/96')
divert(-1)
-define(`PROCMAIL_PATH',
- ifelse(_ARG_, `', `/usr/local/bin/procmail', `_ARG_'))
-define(`LOCAL_MAILER_FLAGS', `SPfhn')
-define(`LOCAL_MAILER_PATH', PROCMAIL_PATH)
+define(`LOCAL_MAILER_PATH',
+ ifelse(_ARG_, `',
+ ifdef(`PROCMAIL_MAILER_PATH',
+ PROCMAIL_MAILER_PATH,
+ `/usr/local/bin/procmail'),
+ _ARG_))
+define(`LOCAL_MAILER_FLAGS', `SPfhn9')
define(`LOCAL_MAILER_ARGS', `procmail -Y -a $h -d $u')
diff --git a/usr.sbin/sendmail/cf/feature/nullclient.m4 b/usr.sbin/sendmail/cf/feature/nullclient.m4
index 7543070f77f7..6eaa8c1aeca8 100644
--- a/usr.sbin/sendmail/cf/feature/nullclient.m4
+++ b/usr.sbin/sendmail/cf/feature/nullclient.m4
@@ -45,7 +45,7 @@ POPDIVERT
# sendmail.
#
-VERSIONID(`@(#)nullclient.m4 8.6 (Berkeley) 6/29/95')
+VERSIONID(`@(#)nullclient.m4 8.7 (Berkeley) 2/11/96')
PUSHDIVERT(6)
# hub host (to which all mail is sent)
@@ -65,7 +65,8 @@ ifdef(`confRELAY_MAILER',,
`define(`confRELAY_MAILER', `nullclient')')dnl
ifdef(`confFROM_HEADER',,
`define(`confFROM_HEADER', <$g>)')dnl
+ifdef(`SMTP_MAILER_ARGS',, `define(`SMTP_MAILER_ARGS', `IPC $h')')dnl
Mnullclient, P=[IPC], F=CONCAT(mDFMuXa, SMTP_MAILER_FLAGS),ifdef(`SMTP_MAILER_MAX', ` M=SMTP_MAILER_MAX,')
- A=IPC $h
+ A=SMTP_MAILER_ARGS
POPDIVERT
diff --git a/usr.sbin/sendmail/cf/feature/redirect.m4 b/usr.sbin/sendmail/cf/feature/redirect.m4
index 081db113ae01..27f235765359 100644
--- a/usr.sbin/sendmail/cf/feature/redirect.m4
+++ b/usr.sbin/sendmail/cf/feature/redirect.m4
@@ -34,7 +34,7 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)redirect.m4 8.4 (Berkeley) 6/25/95')
+VERSIONID(`@(#)redirect.m4 8.5 (Berkeley) 8/17/96')
divert(-1)
@@ -42,7 +42,7 @@ PUSHDIVERT(3)
# addresses sent to foo@host.REDIRECT will give a 551 error code
R$* < @ $+ .REDIRECT. > $: $1 < @ $2 . REDIRECT . > < ${opMode} >
R$* < @ $+ .REDIRECT. > <i> $: $1 < @ $2 . REDIRECT. >
-R$* < @ $+ .REDIRECT. > < $- > $# error $@ 5.1.1 $: "551 User not local; please try " <$1@$2>
+R$* < @ $+ .REDIRECT. > < $- > $# error $@ 5.1.1 $: "551 User has moved; please try " <$1@$2>
POPDIVERT
PUSHDIVERT(6)
diff --git a/usr.sbin/sendmail/cf/m4/cfhead.m4 b/usr.sbin/sendmail/cf/m4/cfhead.m4
index 46605e7e34c0..f15257245d91 100644
--- a/usr.sbin/sendmail/cf/m4/cfhead.m4
+++ b/usr.sbin/sendmail/cf/m4/cfhead.m4
@@ -86,8 +86,13 @@ define(`LOCAL_RULE_2',
S2
')
+define(`LOCAL_RULESETS',
+`divert(9)
+
+')
define(`LOCAL_RULE_3', `divert(2)')
define(`LOCAL_CONFIG', `divert(6)')
+define(`MAILER_DEFINITIONS', `divert(7)')
define(`LOCAL_NET_CONFIG', `define(`_LOCAL_RULES_', 1)divert(1)')
define(`UUCPSMTP', `R DOL(*) < @ $1 .UUCP > DOL(*) DOL(1) < @ $2 > DOL(2)')
define(`CONCAT', `$1$2$3$4$5$6$7')
@@ -109,11 +114,16 @@ define(`MASQUERADE_DOMAIN', `PUSHDIVERT(5)CM$1
POPDIVERT`'dnl')
define(`MASQUERADE_DOMAIN_FILE', `PUSHDIVERT(5)FM$1
POPDIVERT`'dnl')
+define(`GENERICS_DOMAIN', `PUSHDIVERT(5)CG$1
+POPDIVERT`'dnl')
+define(`GENERICS_DOMAIN_FILE', `PUSHDIVERT(5)FG$1
+POPDIVERT`'dnl')
define(`_OPTINS', `ifdef(`$1', `$2$1$3')')
m4wrap(`include(_CF_DIR_`m4/proto.m4')')
# set up default values for options
+define(`ALIAS_FILE', `/etc/aliases')
define(`confMAILER_NAME', ``MAILER-DAEMON'')
define(`confFROM_LINE', `From $g $d')
define(`confOPERATORS', `.:%@!^/[]+')
@@ -144,4 +154,4 @@ define(`confMIME_FORMAT_ERRORS', `True')
define(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward')
divert(0)dnl
-VERSIONID(`@(#)cfhead.m4 8.3 (Berkeley) 9/15/95')
+VERSIONID(`@(#)cfhead.m4 8.6 (Berkeley) 6/19/96')
diff --git a/usr.sbin/sendmail/cf/m4/nullrelay.m4 b/usr.sbin/sendmail/cf/m4/nullrelay.m4
index 799f3ab79198..86c0356e2c5f 100644
--- a/usr.sbin/sendmail/cf/m4/nullrelay.m4
+++ b/usr.sbin/sendmail/cf/m4/nullrelay.m4
@@ -34,7 +34,7 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)nullrelay.m4 8.10 (Berkeley) 9/29/95')
+VERSIONID(`@(#)nullrelay.m4 8.12 (Berkeley) 10/12/96')
#
# This configuration applies only to relay-only hosts. They send
@@ -74,25 +74,30 @@ R$* ; $: $1 strip trailing semi
R$@ $@ :; <@>
# basic textual canonicalization -- note RFC733 heuristic here
-R$*<$*>$*<$*>$* $2$3<$4>$5 strip multiple <> <>
-R$*<$*<$+>$*>$* <$3>$5 2-level <> nesting
-R$*<>$* $@ <@> MAIL FROM:<> case
-R$*<$+>$* $2 basic RFC821/822 parsing
+R$* $: < $1 > housekeeping <>
+R$+ < $* > < $2 > strip excess on left
+R< $* > $+ < $1 > strip excess on right
+R<> $@ < @ > MAIL FROM:<> case
+R< $+ > $: $1 remove housekeeping <>
ifdef(`_NO_CANONIFY_', `dnl',
`# eliminate local host if present
R@ $=w $=: $+ $@ @ $M $2 $3 @thishost ...
R@ $+ $@ @ $1 @somewhere ...
+R$=E @ $=w $@ $1 @ $2 leave exposed
R$+ @ $=w $@ $1 @ $M ...@thishost
R$+ @ $+ $@ $1 @ $2 ...@somewhere
+R$=w ! $=E $@ $2 @ $1 leave exposed
R$=w ! $+ $@ $2 @ $M thishost!...
R$+ ! $+ $@ $1 ! $2 @ $M somewhere ! ...
+R$=E % $=w $@ $1 @ $2 leave exposed
R$+ % $=w $@ $1 @ $M ...%thishost
R$+ % $+ $@ $1 @ $2 ...%somewhere
+R$=E $@ $1 @ $j leave exposed
R$+ $@ $1 @ $M unadorned user')
diff --git a/usr.sbin/sendmail/cf/m4/proto.m4 b/usr.sbin/sendmail/cf/m4/proto.m4
index 89b3215e5ce3..474dc7dd6b86 100644
--- a/usr.sbin/sendmail/cf/m4/proto.m4
+++ b/usr.sbin/sendmail/cf/m4/proto.m4
@@ -34,12 +34,12 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)proto.m4 8.100 (Berkeley) 12/3/95')
+VERSIONID(`@(#)proto.m4 8.135 (Berkeley) 10/26/96')
MAILER(local)dnl
-# level 6 config file format
-V6/Berkeley
+# level 7 config file format
+V7/Berkeley
divert(-1)
# do some sanity checking
@@ -47,7 +47,7 @@ ifdef(`__OSTYPE__',,
`errprint(`*** ERROR: No system type defined (use OSTYPE macro)')')
# pick our default mailers
-ifdef(`confSMTP_MAILER',, `define(`confSMTP_MAILER', `smtp')')
+ifdef(`confSMTP_MAILER',, `define(`confSMTP_MAILER', `esmtp')')
ifdef(`confLOCAL_MAILER',, `define(`confLOCAL_MAILER', `local')')
ifdef(`confRELAY_MAILER',,
`define(`confRELAY_MAILER',
@@ -94,7 +94,7 @@ Fw`'confCW_FILE',
`dnl')
# my official domain name
-# ... define this only if sendmail cannot automatically determine your domain
+# ... `define' this only if sendmail cannot automatically determine your domain
ifdef(`confDOMAIN_NAME', `Dj`'confDOMAIN_NAME', `#Dj$w.Foo.COM')
ifdef(`_NULL_CLIENT_ONLY_', `divert(-1)')dnl
@@ -142,6 +142,9 @@ CO @ % ifdef(`_NO_UUCP_', `', `!')
# a class with just dot (for identifying canonical names)
C..
+# a class with just a left bracket (for identifying domain literals)
+C[[
+
# Mailer table (overriding domains)
ifdef(`MAILER_TABLE',
`Kmailertable MAILER_TABLE',
@@ -152,6 +155,16 @@ ifdef(`DOMAIN_TABLE',
`Kdomaintable DOMAIN_TABLE',
`#Kdomaintable dbm /etc/domaintable')
+# Generics table (mapping outgoing addresses)
+ifdef(`GENERICS_TABLE',
+ `Kgenerics GENERICS_TABLE',
+ `#Kgenerics dbm /etc/genericstable')
+
+# Virtual user table (maps incoming users)
+ifdef(`VIRTUSER_TABLE',
+ `Kvirtuser VIRTUSER_TABLE',
+ `#Kvirtuser dbm /etc/virtusertable')
+
# who I send unqualified names to (null means deliver locally)
DR`'ifdef(`LOCAL_RELAY', LOCAL_RELAY)
@@ -193,7 +206,7 @@ ifdef(`_NULL_CLIENT_ONLY_', `dnl', `
_OPTION(AliasWait, `confALIAS_WAIT', 5m)
# location of alias file
-O AliasFile=ifdef(`ALIAS_FILE', `ALIAS_FILE', /etc/aliases)
+_OPTION(AliasFile, `ALIAS_FILE', /etc/aliases)
')
# minimum number of free blocks on filesystem
_OPTION(MinFreeBlocks, `confMIN_FREE_BLOCKS', 100)
@@ -255,6 +268,12 @@ _OPTION(ConnectionCacheSize, `confMCI_CACHE_SIZE', 2)
# open connection cache timeout
_OPTION(ConnectionCacheTimeout, `confMCI_CACHE_TIMEOUT', 5m)
+# persistent host status directory
+_OPTION(HostStatusDirectory, `confHOST_STATUS_DIRECTORY', .hoststat)
+
+# single thread deliveries (requires HostStatusDirectory)?
+_OPTION(SingleThreadDelivery, `confSINGLE_THREAD_DELIVERY')
+
# use Errors-To: header?
_OPTION(UseErrorsTo, `confUSE_ERRORS_TO')
@@ -287,6 +306,8 @@ O QueueDirectory=ifdef(`QUEUE_DIR', QUEUE_DIR, /var/spool/mqueue)
# timeouts (many of these)
_OPTION(Timeout.initial, `confTO_INITIAL', 5m)
+_OPTION(Timeout.connect, `confTO_CONNECT', 5m)
+_OPTION(Timeout.iconnect, `confTO_ICONNECT', 5m)
_OPTION(Timeout.helo, `confTO_HELO', 5m)
_OPTION(Timeout.mail, `confTO_MAIL', 10m)
_OPTION(Timeout.rcpt, `confTO_RCPT', 1h)
@@ -307,6 +328,7 @@ _OPTION(Timeout.queuewarn, `confTO_QUEUEWARN', 4h)
_OPTION(Timeout.queuewarn.normal, `confTO_QUEUEWARN_NORMAL', 4h)
_OPTION(Timeout.queuewarn.urgent, `confTO_QUEUEWARN_URGENT', 1h)
_OPTION(Timeout.queuewarn.non-urgent, `confTO_QUEUEWARN_NONURGENT', 12h)
+_OPTION(Timeout.hoststatus, `confTO_HOSTSTATUS', 30m)
# should we not prune routes in route-addr syntax addresses?
_OPTION(DontPruneRoutes, `confDONT_PRUNE_ROUTES')
@@ -343,6 +365,12 @@ _OPTION(QueueLA, `confQUEUE_LA', 8)
# load average at which we refuse connections
_OPTION(RefuseLA, `confREFUSE_LA', 12)
+# maximum number of children we allow at one time
+_OPTION(MaxDaemonChildren, `confMAX_DAEMON_CHILDREN', 12)
+
+# maximum number of new connections per second
+_OPTION(ConnectionRateThrottle, `confCONNECTION_RATE_THROTTLE', 3)
+
# work recipient factor
_OPTION(RecipientFactor, `confWORK_RECIPIENT_FACTOR', 30000)
@@ -400,6 +428,15 @@ _OPTION(OperatorChars, `confOPERATORS')
# shall I avoid calling initgroups(3) because of high NIS costs?
_OPTION(DontInitGroups, `confDONT_INIT_GROUPS')
+# are group-writable :include: and .forward files (un)trustworthy?
+_OPTION(UnsafeGroupWrites, `confUNSAFE_GROUP_WRITES')
+
+# where do errors that occur when sending errors get sent?
+_OPTION(DoubleBounceAddress, `confDOUBLE_BOUNCE_ADDRESS')
+
+# what user id do we assume for the majority of the processing?
+_OPTION(RunAsUser, `confRUN_AS_USER', sendmail)
+
###########################
# Message precedences #
###########################
@@ -418,7 +455,7 @@ Pjunk=-100
ifdef(`_USE_CT_FILE_', `', `#')Ft`'ifdef(`confCT_FILE', confCT_FILE, `/etc/sendmail.ct')
Troot
Tdaemon
-Tuucp
+ifdef(`_NO_UUCP_', `dnl', `Tuucp')
ifdef(`confTRUSTED_USERS', `T`'confTRUSTED_USERS', `dnl')
#########################
@@ -426,14 +463,13 @@ ifdef(`confTRUSTED_USERS', `T`'confTRUSTED_USERS', `dnl')
#########################
ifdef(`confFROM_HEADER',, `define(`confFROM_HEADER', `$?x$x <$g>$|$g$.')')dnl
-H?P?Return-Path: $g
+H?P?Return-Path: <$g>
HReceived: confRECEIVED_HEADER
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: confFROM_HEADER
H?F?From: confFROM_HEADER
H?x?Full-Name: $x
-HSubject:
# HPosted-Date: $a
# H?l?Received-Date: $b
H?M?Resent-Message-Id: <$t.$i@$j>
@@ -450,11 +486,9 @@ ifdef(`_NULL_CLIENT_ONLY_',
######################################################################
######################################################################
-undivert(9)dnl
-
-###########################################
-### Rulset 3 -- Name Canonicalization ###
-###########################################
+############################################
+### Ruleset 3 -- Name Canonicalization ###
+############################################
S3
# handle null input (translate to <@> special case)
@@ -463,8 +497,11 @@ R$@ $@ <@>
# strip group: syntax (not inside angle brackets!) and trailing semicolon
R$* $: $1 <@> mark addresses
R$* < $* > $* <@> $: $1 < $2 > $3 unmark <addr>
+R@ $* <@> $: @ $1 unmark @host:...
R$* :: $* <@> $: $1 :: $2 unmark node::addr
R:`include': $* <@> $: :`include': $1 unmark :`include':...
+R$* [ $* : $* ] <@> $: $1 [ $2 : $3 ] unmark IPv6 addrs
+R$* : $* [ $* ] $: $1 : $2 [ $3 ] <@> remark if leading colon
R$* : $* <@> $: $2 strip colon if marked
R$* <@> $: $1 unmark
R$* ; $: $1 strip trailing semi
@@ -559,18 +596,17 @@ ifdef(`_CLASS_Y_',
R$* < @ $+ . UUCP > $* $: $1 < @ $[ $2 $] . UUCP . > $3
R$* < @ $+ . . UUCP . > $* $@ $1 < @ $2 . > $3')
')
-ifdef(`_NO_CANONIFY_', `dnl',
-`# pass to name server to make hostname canonical
-R$* < @ $* $~P > $* $: $1 < @ $[ $2 $3 $] > $4')
+# pass to name server to make hostname canonical
+ifdef(`_NO_CANONIFY_', `#')dnl
+R$* < @ $* $~P > $* $: $1 < @ $[ $2 $3 $] > $4
# local host aliases and pseudo-domains are always canonical
R$* < @ $=w > $* $: $1 < @ $2 . > $3
+R$* < @ $j > $* $: $1 < @ $j . > $2
+R$* < @ $* $=M > $* $: $1 < @ $2 $3 . > $4
R$* < @ $* $=P > $* $: $1 < @ $2 $3 . > $4
R$* < @ $* . . > $* $1 < @ $2 . > $3
-# if this is the local hostname, make sure we treat is as canonical
-R$* < @ $j > $* $: $1 < @ $j . > $2
-
##################################################
### Ruleset 4 -- Final Output Post-rewriting ###
@@ -622,8 +658,11 @@ S0
R<@> $#_LOCAL_ $: <@> special case error msgs
R$* : $* ; <@> $#error $@ 5.1.3 $: "list:; syntax illegal for recipient addresses"
R<@ $+> $#error $@ 5.1.1 $: "user address required"
-R$* <$* : $* > $* $#error $@ 5.1.1 $: "colon illegal in host name part"
-R$* < @ . > $* $#error $@ 5.1.2 $: "invalid host name"
+R$* $: <> $1
+R<> $* < @ [ $+ ] > $* $1 < @ [ $2 ] > $3
+R<> $* <$* : $* > $* $#error $@ 5.1.1 $: "colon illegal in host name part"
+R<> $* $1
+R$* < @ . $* > $* $#error $@ 5.1.2 $: "invalid host name"
ifdef(`_MAILER_smtp_',
`# handle numeric address spec
@@ -635,15 +674,24 @@ R$* < @ [ $+ ] > $* $#_SMTP_ $@ [$2] $: $1 < @ [$2] > $3 still numeric: send',
R$* < @ > $* $@ $>97 $1 user@ => user
R< @ $=w . > : $* $@ $>97 $2 @here:... -> ...
R$- < @ $=w . > $: $(dequote $1 $) < @ $2 . > dequote "foo"@here
+R< @ $+ > $#error $@ 5.1.1 $: "user address required"
R$* $=O $* < @ $=w . > $@ $>97 $1 $2 $3 ...@here -> ...
# handle local hacks
R$* $: $>98 $1
+# handle virtual users
+define(`X', ifdef(`VIRTUSER_TABLE', `', `#'))dnl
+X`'R$+ < @ $=w . > $: < $(virtuser $1 @ $2 $@ $1 $: @ $) > $1 < @ $2 . >
+X`'R< @ > $+ < @ $+ . > $: < $(virtuser @ $2 $@ $1 $: @ $) > $1 < @ $2 . >
+X`'R< @ > $+ $: $1
+X`'R< error : $- $+ > $* $#error $@ $1 $: $2
+X`'R< $+ > $+ < @ $+ > $: $>97 $1
+undefine(`X')dnl
+
# short circuit local delivery so forwarded email works
-ifdef(`_MAILER_usenet_',
-`R$+ . USENET < @ $=w . > $#usenet $: $1 handle usenet specially',
- `dnl')
+ifdef(`_MAILER_usenet_', `', `#')dnl
+R$+ . USENET < @ $=w . > $#usenet $: $1 handle usenet specially
ifdef(`_STICKY_LOCAL_DOMAIN_',
`R$+ < @ $=w . > $: < $H > $1 < @ $2 . > first try hub
R< $+ > $+ < $+ > $>95 < $1 > $2 < $3 > yep ....
@@ -657,8 +705,7 @@ define(`X', ifdef(`MAILER_TABLE', `', `#'))dnl
X`'R$* <@ $+ > $* $: < $2 > $1 < @ $2 > $3 extract host name
X`'R< $+ . > $* $: < $1 > $2 strip trailing dot
X`'R< $+ > $* $: < $(mailertable $1 $) > $2 lookup
-X`'R< error : $- $+ > $* $#error $@ $1 $: $2 check -- error?
-X`'R< $- : $+ > $* $# $1 $@ $2 $: $3 check -- resolved?
+X`'R< $~[ : $+ > $* $>95 < $1 : $2 > $3 check -- resolved?
X`'R< $+ > $* $: $>90 <$1> $2 try domain
undefine(`X')dnl
undivert(4)dnl
@@ -759,40 +806,63 @@ R< $+ > $+ $@ $>95 < $1 > $2 < @ $1 >
###################################################################
define(`X', ifdef(`MAILER_TABLE', `', `#'))dnl
-X`'S90
+S90
X`'R$* <$- . $+ > $* $: $1$2 < $(mailertable .$3 $@ $1$2 $@ $2 $) > $4
-X`'R$* <$- : $+ > $* $# $2 $@ $3 $: $4 check -- resolved?
-X`'R$* < . $+ > $* $@ $>90 $1 . <$2> $3 no -- strip & try again
+X`'R$* <$~[ : $+ > $* $>95 < $2 : $3 > $4 check -- resolved?
+X`'R$* < . $+ > $* $@ $>90 $1 . <$2> $3 no -- strip & try again
X`'R$* < $* > $* $: < $(mailertable . $@ $1$2 $) > $3 try "."
-X`'R<$- : $+ > $* $# $1 $@ $2 $: $3 "." found?
-X`'R< $* > $* $@ $2 no mailertable match
+X`'R< $~[ : $+ > $* $>95 < $1 : $2 > $3 "." found?
+X`'R< $* > $* $@ $2 no mailertable match
undefine(`X')dnl
###################################################################
-### Ruleset 95 -- canonify mailer:host syntax to triple ###
+### Ruleset 95 -- canonify mailer:[user@]host syntax to triple ###
###################################################################
S95
-R< > $* $@ $1 strip off null relay
-R< $- : $+ > $* $# $1 $@ $2 $: $3 try qualified mailer
-R< $=w > $* $@ $2 delete local host
-R< $+ > $* $#_RELAY_ $@ $1 $: $2 use unqualified mailer
+R< > $* $@ $1 strip off null relay
+R< error : $- $+ > $* $#error $@ $1 $: $2 special case errors
+R< local : > $* < @ $* > $#local $@ $1@$2 $: $1 no host: use old user
+R< local : $+ > $* <@ $* . > $* $#local $@ $2@$3 $: $1 special case local
+R< $- : $+ @ $+ > $*<$*>$* $# $1 $@ $3 $: $2<@$3> use literal user
+R< $- : $+ > $* $# $1 $@ $2 $: $3 try qualified mailer
+R< $=w > $* $@ $2 delete local host
+R< $+ > $* $#_RELAY_ $@ $1 $: $2 use unqualified mailer
###################################################################
### Ruleset 93 -- convert header names to masqueraded form ###
###################################################################
S93
+
+# handle generics database
+define(`X', ifdef(`GENERICS_TABLE', `', `#'))dnl
+X`'R$+ < @ $=G . > $: < $1@$2 > $1 < @ $2 . > @ mark
+X`'R$+ < @ *LOCAL* > $: < $1@$j > $1 < @ *LOCAL* > @ mark
+X`'R< $+ > $+ < $* > @ $: < $(generics $1 $: $) > $2 < $3 >
+X`'R< > $+ < @ $+ > $: < $(generics $1 $: $) > $1 < @ $2 >
+X`'R< $* @ $* > $* < $* > $@ $>3 $1 @ $2 found qualified
+X`'R< $+ > $* < $* > $: $>3 $1 @ *LOCAL* found unqualified
+X`'R< > $* $: $1 not found
+undefine(`X')dnl
+
+# special case the users that should be exposed
R$=E < @ *LOCAL* > $@ $1 < @ $j . > leave exposed
-R$=E < @ $=M . > $@ $1 < @ $2 . >
+ifdef(`_MASQUERADE_ENTIRE_DOMAIN_',
+`R$=E < @ $* $=M . > $@ $1 < @ $2 $3 . >',
+`R$=E < @ $=M . > $@ $1 < @ $2 . >')
ifdef(`_LIMITED_MASQUERADE_', `#')dnl
R$=E < @ $=w . > $@ $1 < @ $2 . >
-R$* < @ $=M . > $* $: $1 < @ $2 . @ $M > $3 convert masqueraded doms
+
+# handle domain-specific masquerading
+ifdef(`_MASQUERADE_ENTIRE_DOMAIN_',
+`R$* < @ $* $=M . > $* $: $1 < @ $2 $3 . @ $M > $4 convert masqueraded doms',
+`R$* < @ $=M . > $* $: $1 < @ $2 . @ $M > $3 convert masqueraded doms')
ifdef(`_LIMITED_MASQUERADE_', `#')dnl
R$* < @ $=w . > $* $: $1 < @ $2 . @ $M > $3
R$* < @ *LOCAL* > $* $: $1 < @ $j . @ $M > $2
-R$* < @ $+ @ > $* $@ $1 < @ $2 > $3 $M is null
-R$* < @ $+ @ $+ > $* $@ $1 < @ $3 . > $4 $M is not null
+R$* < @ $+ @ > $* $: $1 < @ $2 > $3 $M is null
+R$* < @ $+ @ $+ > $* $: $1 < @ $3 . > $4 $M is not null
###################################################################
### Ruleset 94 -- convert envelope names to masqueraded form ###
@@ -810,6 +880,7 @@ R$* < @ *LOCAL* > $* $: $1 < @ $j . > $2
S98
undivert(3)dnl
+undivert(9)dnl
#
######################################################################
######################################################################
diff --git a/usr.sbin/sendmail/cf/m4/version.m4 b/usr.sbin/sendmail/cf/m4/version.m4
index fb8e96e144f3..0fe40a9607aa 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.7.3.1 (Berkeley) 12/3/95')
+VERSIONID(`@(#)version.m4 8.8.3.1 (Berkeley) 11/16/96')
#
divert(0)
# Configuration version number
-DZ8.7.3`'ifdef(`confCF_VERSION', `/confCF_VERSION')
+DZ8.8.3`'ifdef(`confCF_VERSION', `/confCF_VERSION')
diff --git a/usr.sbin/sendmail/cf/mailer/cyrus.m4 b/usr.sbin/sendmail/cf/mailer/cyrus.m4
index f5311371b536..47a4a5afd6a8 100644
--- a/usr.sbin/sendmail/cf/mailer/cyrus.m4
+++ b/usr.sbin/sendmail/cf/mailer/cyrus.m4
@@ -26,6 +26,7 @@ PUSHDIVERT(-1)
ifdef(`CYRUS_MAILER_FLAGS',, `define(`CYRUS_MAILER_FLAGS', `A5@')')
ifdef(`CYRUS_MAILER_PATH',, `define(`CYRUS_MAILER_PATH', /usr/cyrus/bin/deliver)')
ifdef(`CYRUS_MAILER_ARGS',, `define(`CYRUS_MAILER_ARGS', `deliver -e -m $h -- $u')')
+ifdef(`CYRUS_MAILER_USER',, `define(`CYRUS_MAILER_USER', `cyrus:mail')')
ifdef(`CYRUS_BB_MAILER_FLAGS',, `define(`CYRUS_BB_MAILER_FLAGS', `')')
ifdef(`CYRUS_BB_MAILER_ARGS',, `define(`CYRUS_BB_MAILER_ARGS', `deliver -e -m $u')')
@@ -35,10 +36,12 @@ POPDIVERT
### Cyrus Mailer specification ###
##################################################
-VERSIONID(`@(#)cyrus.m4 8.2 (Carnegie Mellon) 9/12/95')
+VERSIONID(`@(#)cyrus.m4 8.4 (Carnegie Mellon) 9/2/96')
-Mcyrus, P=CYRUS_MAILER_PATH, F=CONCAT(`lsDFMnP', CYRUS_MAILER_FLAGS), S=10, R=20/40, T=X-Unix,
- ifdef(`CYRUS_MAILER_MAX', `M=CYRUS_MAILER_MAX, ')A=CYRUS_MAILER_ARGS
+Mcyrus, P=CYRUS_MAILER_PATH, F=CONCAT(`lsDFMnPq', CYRUS_MAILER_FLAGS), S=10, R=20/40, T=X-Unix,
+ ifdef(`CYRUS_MAILER_MAX', `M=CYRUS_MAILER_MAX, ')U=CYRUS_MAILER_USER,
+ A=CYRUS_MAILER_ARGS
-Mcyrusbb, P=CYRUS_MAILER_PATH, F=CONCAT(`lsDFMnP', CYRUS_MAILER_FLAGS), S=10, R=20/40, T=X-Unix,
- ifdef(`CYRUS_MAILER_MAX', `M=CYRUS_MAILER_MAX, ')A=CYRUS_BB_MAILER_ARGS
+Mcyrusbb, P=CYRUS_MAILER_PATH, F=CONCAT(`lsDFMnP', CYRUS_BB_MAILER_FLAGS), S=10, R=20/40, T=X-Unix,
+ ifdef(`CYRUS_MAILER_MAX', `M=CYRUS_MAILER_MAX, ')U=CYRUS_MAILER_USER,
+ A=CYRUS_BB_MAILER_ARGS
diff --git a/usr.sbin/sendmail/cf/mailer/fax.m4 b/usr.sbin/sendmail/cf/mailer/fax.m4
index 777fe01cf36a..726c83a2dce0 100644
--- a/usr.sbin/sendmail/cf/mailer/fax.m4
+++ b/usr.sbin/sendmail/cf/mailer/fax.m4
@@ -35,6 +35,8 @@ PUSHDIVERT(-1)
# SUCH DAMAGE.
#
+ifdef(`FAX_MAILER_ARGS',,
+ `define(`FAX_MAILER_ARGS', mailfax $u $h $f)')
ifdef(`FAX_MAILER_PATH',,
`define(`FAX_MAILER_PATH', /usr/local/lib/fax/mailfax)')
ifdef(`FAX_MAILER_MAX',,
@@ -44,10 +46,10 @@ POPDIVERT
### FAX Mailer specification ###
####################################
-VERSIONID(`@(#)fax.m4 8.4 (Berkeley) 10/10/95')
+VERSIONID(`@(#)fax.m4 8.5 (Berkeley) 5/10/96')
Mfax, P=FAX_MAILER_PATH, F=DFMhu, S=14, R=24, M=FAX_MAILER_MAX, T=X-Phone/X-FAX/X-Unix,
- A=mailfax $u $h $f
+ A=FAX_MAILER_ARGS
LOCAL_CONFIG
CPFAX
diff --git a/usr.sbin/sendmail/cf/mailer/local.m4 b/usr.sbin/sendmail/cf/mailer/local.m4
index 124cbba75282..998778a0d0c4 100644
--- a/usr.sbin/sendmail/cf/mailer/local.m4
+++ b/usr.sbin/sendmail/cf/mailer/local.m4
@@ -32,10 +32,10 @@ PUSHDIVERT(-1)
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `rmn')')
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `rmn9')')
ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /bin/mail)')
ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -d $u')')
-ifdef(`LOCAL_SHELL_FLAGS',, `define(`LOCAL_SHELL_FLAGS', `eu')')
+ifdef(`LOCAL_SHELL_FLAGS',, `define(`LOCAL_SHELL_FLAGS', `eu9')')
ifdef(`LOCAL_SHELL_PATH',, `define(`LOCAL_SHELL_PATH', /bin/sh)')
ifdef(`LOCAL_SHELL_ARGS',, `define(`LOCAL_SHELL_ARGS', `sh -c $u')')
ifdef(`LOCAL_SHELL_DIR',, `define(`LOCAL_SHELL_DIR', `$z:/')')
@@ -45,12 +45,12 @@ POPDIVERT
### Local and Program Mailer specification ###
##################################################
-VERSIONID(`@(#)local.m4 8.21 (Berkeley) 11/6/95')
+VERSIONID(`@(#)local.m4 8.23 (Berkeley) 5/31/96')
-Mlocal, P=LOCAL_MAILER_PATH, F=CONCAT(`lsDFMAw5:/|@', LOCAL_MAILER_FLAGS), S=10/30, R=20/40,
+Mlocal, P=LOCAL_MAILER_PATH, F=CONCAT(`lsDFMAw5:/|@q', LOCAL_MAILER_FLAGS), S=10/30, R=20/40,
_OPTINS(`LOCAL_MAILER_MAX', `M=', `, ')_OPTINS(`LOCAL_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/X-Unix,
A=LOCAL_MAILER_ARGS
-Mprog, P=LOCAL_SHELL_PATH, F=CONCAT(`lsDFMo', LOCAL_SHELL_FLAGS), S=10/30, R=20/40, D=LOCAL_SHELL_DIR,
+Mprog, P=LOCAL_SHELL_PATH, F=CONCAT(`lsDFMoq', LOCAL_SHELL_FLAGS), S=10/30, R=20/40, D=LOCAL_SHELL_DIR,
_OPTINS(`LOCAL_MAILER_MAX', `M=', `, ')T=X-Unix,
A=LOCAL_SHELL_ARGS
diff --git a/usr.sbin/sendmail/cf/mailer/pop.m4 b/usr.sbin/sendmail/cf/mailer/pop.m4
index 210a3c83a6fc..7e8ec0d22932 100644
--- a/usr.sbin/sendmail/cf/mailer/pop.m4
+++ b/usr.sbin/sendmail/cf/mailer/pop.m4
@@ -43,9 +43,9 @@ POPDIVERT
### POP Mailer specification ###
####################################
-VERSIONID(`@(#)pop.m4 8.5 (Berkeley) 4/23/95')
+VERSIONID(`@(#)pop.m4 8.6 (Berkeley) 2/12/96')
-Mpop, P=POP_MAILER_PATH, F=CONCAT(`lsDFM', POP_MAILER_FLAGS), S=10, R=20/40, T=DNS/RFC822/X-Unix,
+Mpop, P=POP_MAILER_PATH, F=CONCAT(`lsDFMq', POP_MAILER_FLAGS), S=10, R=20/40, T=DNS/RFC822/X-Unix,
A=POP_MAILER_ARGS
LOCAL_CONFIG
diff --git a/usr.sbin/sendmail/cf/mailer/procmail.m4 b/usr.sbin/sendmail/cf/mailer/procmail.m4
index d1293b9ceff6..a170e58a4714 100644
--- a/usr.sbin/sendmail/cf/mailer/procmail.m4
+++ b/usr.sbin/sendmail/cf/mailer/procmail.m4
@@ -33,8 +33,10 @@ PUSHDIVERT(-1)
# SUCH DAMAGE.
#
-ifdef(`PROCMAIL_PATH',,
- `define(`PROCMAIL_PATH', /usr/local/bin/procmail)')
+ifdef(`PROCMAIL_MAILER_PATH',,
+ `ifdef(`PROCMAIL_PATH',
+ `define(`PROCMAIL_MAILER_PATH', PROCMAIL_PATH)',
+ `define(`PROCMAIL_MAILER_PATH', /usr/local/bin/procmail)')')
ifdef(`PROCMAIL_MAILER_FLAGS',,
`define(`PROCMAIL_MAILER_FLAGS', `Shu')')
ifdef(`PROCMAIL_MAILER_ARGS',,
@@ -46,7 +48,7 @@ POPDIVERT
### PROCMAIL Mailer specification ###
##################*****##################
-VERSIONID(`@(#)procmail.m4 8.4 (Berkeley) 4/23/95')
+VERSIONID(`@(#)procmail.m4 8.5 (Berkeley) 12/28/95')
-Mprocmail, P=PROCMAIL_PATH, F=CONCAT(`DFMm', PROCMAIL_MAILER_FLAGS), S=11/31, R=21/31, T=DNS/RFC822/X-Unix,
+Mprocmail, P=PROCMAIL_MAILER_PATH, F=CONCAT(`DFMm', PROCMAIL_MAILER_FLAGS), S=11/31, R=21/31, T=DNS/RFC822/X-Unix,
ifdef(`PROCMAIL_MAILER_MAX', `M=PROCMAIL_MAILER_MAX, ')A=PROCMAIL_MAILER_ARGS
diff --git a/usr.sbin/sendmail/cf/mailer/smtp.m4 b/usr.sbin/sendmail/cf/mailer/smtp.m4
index bffa4d0201fb..c816c736001b 100644
--- a/usr.sbin/sendmail/cf/mailer/smtp.m4
+++ b/usr.sbin/sendmail/cf/mailer/smtp.m4
@@ -44,12 +44,12 @@ POPDIVERT
### SMTP Mailer specification ###
#####################################
-VERSIONID(`@(#)smtp.m4 8.32 (Berkeley) 11/20/95')
+VERSIONID(`@(#)smtp.m4 8.33 (Berkeley) 7/9/96')
-Msmtp, P=[IPC], F=CONCAT(mDFMuX8, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'), E=\r\n, L=990,
+Msmtp, P=[IPC], F=CONCAT(mDFMuX, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'), E=\r\n, L=990,
_OPTINS(`SMTP_MAILER_MAX', `M=', `, ')_OPTINS(`SMTP_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/SMTP,
A=SMTP_MAILER_ARGS
-Mesmtp, P=[IPC], F=CONCAT(mDFMuXa8, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'), E=\r\n, L=990,
+Mesmtp, P=[IPC], F=CONCAT(mDFMuXa, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'), E=\r\n, L=990,
_OPTINS(`SMTP_MAILER_MAX', `M=', `, ')_OPTINS(`SMTP_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/SMTP,
A=ESMTP_MAILER_ARGS
Msmtp8, P=[IPC], F=CONCAT(mDFMuX8, SMTP_MAILER_FLAGS), S=11/31, R=ifdef(`_ALL_MASQUERADE_', `21/31', `21'), E=\r\n, L=990,
@@ -114,7 +114,9 @@ R$+ < @ $* > $* $@ $1 < @ $2 > $3 not UUCP form
R< $&h ! > $- ! $+ $@ $2 < @ $1 .UUCP. >
R< $&h ! > $-.$+ ! $+ $@ $3 < @ $1.$2 >
R< $&h ! > $+ $@ $1 < @ $&h .UUCP. >
-R< $+ ! > $+ $: $1 ! $2 < @ *LOCAL* >')
+R< $+ ! > $+ $: $1 ! $2 < @ $Y > use UUCP_RELAY
+R$+ < @ $+ : $+ > $@ $1 < @ $3 > strip mailer: part
+R$+ < @ > $: $1 < @ *LOCAL* > if no UUCP_RELAY')
#
diff --git a/usr.sbin/sendmail/cf/ostype/aix3.m4 b/usr.sbin/sendmail/cf/ostype/aix3.m4
index 19763422fe3c..153e1f6568c7 100644
--- a/usr.sbin/sendmail/cf/ostype/aix3.m4
+++ b/usr.sbin/sendmail/cf/ostype/aix3.m4
@@ -34,8 +34,8 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)aix3.m4 8.5 (Berkeley) 11/13/95')
+VERSIONID(`@(#)aix3.m4 8.6 (Berkeley) 9/19/96')
ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /bin/bellmail)')dnl
ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', mail $u)')dnl
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `mn')')dnl
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `mn9')')dnl
define(`confTIME_ZONE', `USE_TZ')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/amdahl-uts.m4 b/usr.sbin/sendmail/cf/ostype/amdahl-uts.m4
index 34b352104145..3583746a9bc3 100644
--- a/usr.sbin/sendmail/cf/ostype/amdahl-uts.m4
+++ b/usr.sbin/sendmail/cf/ostype/amdahl-uts.m4
@@ -34,11 +34,11 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)amdahl-uts.m4 8.2 (Berkeley) 11/13/95')
+VERSIONID(`@(#)amdahl-uts.m4 8.4 (Berkeley) 9/25/96')
divert(-1)
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /etc/mail/aliases)')
+define(`ALIAS_FILE', /etc/mail/aliases)
ifdef(`HELP_FILE',, `define(`HELP_FILE', /etc/mail/sendmail.hf)')
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `fSn')')
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `fSn9')')
define(`confCW_FILE', /etc/mail/sendmail.cw)
diff --git a/usr.sbin/sendmail/cf/ostype/aux.m4 b/usr.sbin/sendmail/cf/ostype/aux.m4
index 3c60eb13a62a..0f515d150a86 100644
--- a/usr.sbin/sendmail/cf/ostype/aux.m4
+++ b/usr.sbin/sendmail/cf/ostype/aux.m4
@@ -34,10 +34,10 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)aux.m4 8.2 (Berkeley) 11/13/95')
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /usr/lib/aliases)')dnl
+VERSIONID(`@(#)aux.m4 8.4 (Berkeley) 9/25/96')
+define(`ALIAS_FILE', /usr/lib/aliases)dnl
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl
ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', mn)')dnl
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', mn9)')dnl
ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -d -r $f $u')')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/bsd4.4.m4 b/usr.sbin/sendmail/cf/ostype/bsd4.4.m4
index 835e4d89c6c1..fe66abdb3bb9 100644
--- a/usr.sbin/sendmail/cf/ostype/bsd4.4.m4
+++ b/usr.sbin/sendmail/cf/ostype/bsd4.4.m4
@@ -39,4 +39,5 @@ VERSIONID(`@(#)bsd4.4.m4 8.4 (Berkeley) 11/13/95')
ifdef(`HELP_FILE',, `define(`HELP_FILE', /usr/share/misc/sendmail.hf)')dnl
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /var/log/sendmail.st)')dnl
ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/libexec/mail.local)')dnl
+ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail $u')')dnl
ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -z -a$g $h!rmail ($u)')')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/dgux.m4 b/usr.sbin/sendmail/cf/ostype/dgux.m4
index e78ce3bca5aa..ec8f4b4ea277 100644
--- a/usr.sbin/sendmail/cf/ostype/dgux.m4
+++ b/usr.sbin/sendmail/cf/ostype/dgux.m4
@@ -34,6 +34,8 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)dgux.m4 8.2 (Berkeley) 11/13/95')
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', m)')dnl
+VERSIONID(`@(#)dgux.m4 8.4 (Berkeley) 9/19/96')
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', m9)')dnl
define(`confTIME_ZONE', `USE_TZ')dnl
+LOCAL_CONFIG
+E_FORCE_MAIL_LOCAL_=yes
diff --git a/usr.sbin/sendmail/cf/ostype/domainos.m4 b/usr.sbin/sendmail/cf/ostype/domainos.m4
index 65329f3e1728..4af9906459ed 100644
--- a/usr.sbin/sendmail/cf/ostype/domainos.m4
+++ b/usr.sbin/sendmail/cf/ostype/domainos.m4
@@ -34,9 +34,9 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)domainos.m4 8.2 (Berkeley) 11/13/95')
+VERSIONID(`@(#)domainos.m4 8.3 (Berkeley) 9/25/96')
divert(-1)
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /usr/lib/aliases)')
+define(`ALIAS_FILE', /usr/lib/aliases)
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')
diff --git a/usr.sbin/sendmail/cf/ostype/dynix3.2.m4 b/usr.sbin/sendmail/cf/ostype/dynix3.2.m4
index 149f6ad3a6fc..ffbe943e1912 100644
--- a/usr.sbin/sendmail/cf/ostype/dynix3.2.m4
+++ b/usr.sbin/sendmail/cf/ostype/dynix3.2.m4
@@ -34,6 +34,6 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)dynix3.2.m4 8.2 (Berkeley) 11/13/95')
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /usr/lib/aliases)')dnl
+VERSIONID(`@(#)dynix3.2.m4 8.3 (Berkeley) 9/25/96')
+define(`ALIAS_FILE', /usr/lib/aliases)dnl
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/hpux10.m4 b/usr.sbin/sendmail/cf/ostype/hpux10.m4
index 7c8ba4090dce..c1d7e6946d3f 100644
--- a/usr.sbin/sendmail/cf/ostype/hpux10.m4
+++ b/usr.sbin/sendmail/cf/ostype/hpux10.m4
@@ -34,14 +34,14 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)hpux10.m4 8.6 (Berkeley) 11/13/95')
+VERSIONID(`@(#)hpux10.m4 8.8 (Berkeley) 9/25/96')
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /etc/mail/aliases)')dnl
+define(`ALIAS_FILE', /etc/mail/aliases)dnl
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /etc/mail/sendmail.st)')dnl
ifdef(`HELP_FILE',, `define(`HELP_FILE', /usr/share/lib/sendmail.hf)')dnl
ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/bin/rmail)')dnl
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `m')')dnl
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `m9')')dnl
ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `rmail -d $u')')dnl
ifdef(`LOCAL_SHELL_PATH',, `define(`LOCAL_SHELL_PATH', /usr/bin/sh)')dnl
ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -a$g -gC $h!rmail ($u)')')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/hpux9.m4 b/usr.sbin/sendmail/cf/ostype/hpux9.m4
index 7a120052e424..82e4f75ab7bb 100644
--- a/usr.sbin/sendmail/cf/ostype/hpux9.m4
+++ b/usr.sbin/sendmail/cf/ostype/hpux9.m4
@@ -34,13 +34,13 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)hpux9.m4 8.10 (Berkeley) 11/13/95')
+VERSIONID(`@(#)hpux9.m4 8.12 (Berkeley) 9/25/96')
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /usr/lib/aliases)')dnl
+define(`ALIAS_FILE', /usr/lib/aliases)dnl
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl
ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', `/bin/rmail')')dnl
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `m')')dnl
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `m9')')dnl
ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `rmail -d $u')')dnl
ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -a$g -gC $h!rmail ($u)')')dnl
define(`confTIME_ZONE', `USE_TZ')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/irix4.m4 b/usr.sbin/sendmail/cf/ostype/irix4.m4
index e24b008823e4..fb8eff720d4e 100644
--- a/usr.sbin/sendmail/cf/ostype/irix4.m4
+++ b/usr.sbin/sendmail/cf/ostype/irix4.m4
@@ -34,8 +34,8 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)irix4.m4 8.5 (Berkeley) 11/13/95')
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', Ehm)')dnl
+VERSIONID(`@(#)irix4.m4 8.7 (Berkeley) 9/25/96')
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', Ehm9)')dnl
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /usr/lib/aliases)')dnl
+define(`ALIAS_FILE', /usr/lib/aliases)dnl
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/irix5.m4 b/usr.sbin/sendmail/cf/ostype/irix5.m4
index 79843da6dbeb..89a2975adffd 100644
--- a/usr.sbin/sendmail/cf/ostype/irix5.m4
+++ b/usr.sbin/sendmail/cf/ostype/irix5.m4
@@ -50,11 +50,11 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)irix5.m4 8.2 (Berkeley) 11/13/95')
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', Ehmu)')dnl
+VERSIONID(`@(#)irix5.m4 8.4 (Berkeley) 9/25/96')
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', Ehmu9)')dnl
ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -s -d $u')')dnl
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /etc/aliases)')dnl
+define(`ALIAS_FILE', /etc/aliases)dnl
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /var/sendmail.st)')dnl
ifdef(`HELP_FILE',, `define(`HELP_FILE', /etc/sendmail.hf)')dnl
define(`confDEF_USER_ID', `998:998')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/isc4.1.m4 b/usr.sbin/sendmail/cf/ostype/isc4.1.m4
index 258f5450bb93..902f49a24978 100644
--- a/usr.sbin/sendmail/cf/ostype/isc4.1.m4
+++ b/usr.sbin/sendmail/cf/ostype/isc4.1.m4
@@ -35,11 +35,11 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)isc4.1.m4 8.2 (Berkeley) 11/13/95')
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /usr/lib/aliases)')dnl
+VERSIONID(`@(#)isc4.1.m4 8.4 (Berkeley) 9/25/96')
+define(`ALIAS_FILE', /usr/lib/aliases)dnl
ifdef(`HELP_FILE',, `define(`HELP_FILE', /usr/lib/sendmail.hf)')dnl
ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `lmail -s $u')')dnl
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `humS')')dnl
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `humS9')')dnl
ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /bin/lmail)')dnl
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/nextstep.m4 b/usr.sbin/sendmail/cf/ostype/nextstep.m4
index 515757aaf82b..dcdf47cb3abb 100644
--- a/usr.sbin/sendmail/cf/ostype/nextstep.m4
+++ b/usr.sbin/sendmail/cf/ostype/nextstep.m4
@@ -34,11 +34,11 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)nextstep.m4 8.5 (Berkeley) 11/13/95')
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /etc/sendmail/aliases)')dnl
+VERSIONID(`@(#)nextstep.m4 8.7 (Berkeley) 9/25/96')
+define(`ALIAS_FILE', /etc/sendmail/aliases)dnl
ifdef(`HELP_FILE',, `define(`HELP_FILE', /usr/lib/sendmail.hf)')dnl
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /etc/sendmail/sendmail.st)')dnl
ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `rmnP')')dnl
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `rmnP9')')dnl
ifdef(`LOCAL_SHELL_FLAGS',, `define(`LOCAL_SHELL_FLAGS', `euP')')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/osf1.m4 b/usr.sbin/sendmail/cf/ostype/osf1.m4
index 107cd7507171..ee73e4fef361 100644
--- a/usr.sbin/sendmail/cf/ostype/osf1.m4
+++ b/usr.sbin/sendmail/cf/ostype/osf1.m4
@@ -34,7 +34,7 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)osf1.m4 8.3 (Berkeley) 11/13/95')
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /usr/adm/sendmail/aliases)')dnl
+VERSIONID(`@(#)osf1.m4 8.4 (Berkeley) 9/25/96')
+define(`ALIAS_FILE', /usr/adm/sendmail/aliases)dnl
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/adm/sendmail/sendmail.st)')dnl
ifdef(`HELP_FILE',, `define(`HELP_FILE', /usr/share/lib/sendmail.hf)')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/ptx2.m4 b/usr.sbin/sendmail/cf/ostype/ptx2.m4
index 365d21a1bbdd..cbe0f590a0a2 100644
--- a/usr.sbin/sendmail/cf/ostype/ptx2.m4
+++ b/usr.sbin/sendmail/cf/ostype/ptx2.m4
@@ -36,10 +36,11 @@ divert(-1)
# Support for DYNIX/ptx 2.x.
divert(0)
-VERSIONID(`@(#)ptx2.m4 8.1 (Berkeley) 12/4/94')
-ifdef(`ALIAS_FILE',,`define(`ALIAS_FILE', /usr/lib/aliases)')dnl
+VERSIONID(`@(#)ptx2.m4 8.5 (Berkeley) 9/25/96')
+ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl
+define(`ALIAS_FILE', /usr/lib/aliases)dnl
ifdef(`HELP_FILE',,`define(`HELP_FILE', /usr/lib/sendmail.hf)')dnl
ifdef(`STATUS_FILE',,`define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl
define(`LOCAL_MAILER_PATH', `/bin/mail')dnl
-define(`LOCAL_MAILER_FLAGS', `rmn')dnl
-define(`LOCAL_SHELL_FLAGS', `e')dnl
+define(`LOCAL_MAILER_FLAGS', `fmn9')dnl
+define(`LOCAL_SHELL_FLAGS', `eu')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/riscos4.5.m4 b/usr.sbin/sendmail/cf/ostype/riscos4.5.m4
index 7e8f382d0e0e..96e3b16efee5 100644
--- a/usr.sbin/sendmail/cf/ostype/riscos4.5.m4
+++ b/usr.sbin/sendmail/cf/ostype/riscos4.5.m4
@@ -34,9 +34,9 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)riscos4.5.m4 8.3 (Berkeley) 11/13/95')
+VERSIONID(`@(#)riscos4.5.m4 8.4 (Berkeley) 9/25/96')
ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `rmail -d $u')')dnl
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', `/usr/lib/aliases')')dnl
+define(`ALIAS_FILE', `/usr/lib/aliases')dnl
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', `/usr/spool/mqueue')')dnl
ifdef(`HELP_FILE',, `define(`HELP_FILE', `/usr/lib/sendmail.hf')')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/sco3.2.m4 b/usr.sbin/sendmail/cf/ostype/sco3.2.m4
index 06fc050197c3..b74eb6f4208f 100644
--- a/usr.sbin/sendmail/cf/ostype/sco3.2.m4
+++ b/usr.sbin/sendmail/cf/ostype/sco3.2.m4
@@ -34,12 +34,12 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)sco3.2.m4 8.2 (Berkeley) 11/13/95')
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /usr/lib/mail/aliases)')dnl
+VERSIONID(`@(#)sco3.2.m4 8.4 (Berkeley) 9/25/96')
+define(`ALIAS_FILE', /usr/lib/mail/aliases)dnl
ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /usr/spool/mqueue)')dnl
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /usr/lib/sendmail.st)')dnl
ifdef(`UUCP_MAILER_PATH',, `define(`UUCP_MAILER_PATH', /usr/bin/uux)')dnl
ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/bin/lmail)')dnl
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', PuhCE)')dnl
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', PuhCE9)')dnl
ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `lmail $u')')dnl
ifdef(`LOCAL_SHELL_FLAGS',, `define(`LOCAL_SHELL_FLAGS', Peu)')dnl
diff --git a/usr.sbin/sendmail/cf/ostype/solaris2.m4 b/usr.sbin/sendmail/cf/ostype/solaris2.m4
index 9a7b0703ecbb..e6553a8b664f 100644
--- a/usr.sbin/sendmail/cf/ostype/solaris2.m4
+++ b/usr.sbin/sendmail/cf/ostype/solaris2.m4
@@ -34,12 +34,13 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)solaris2.m4 8.6 (Berkeley) 11/13/95')
+VERSIONID(`@(#)solaris2.m4 8.9 (Berkeley) 9/25/96')
divert(-1)
-ifdef(`ALIAS_FILE',, `define(`ALIAS_FILE', /etc/mail/aliases)')
+define(`ALIAS_FILE', /etc/mail/aliases)
ifdef(`HELP_FILE',, `define(`HELP_FILE', /etc/mail/sendmail.hf)')
ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /etc/mail/sendmail.st)')
-ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `SnE')')
+ifdef(`LOCAL_MAILER_FLAGS',, `define(`LOCAL_MAILER_FLAGS', `SnE9')')
ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail -f $g -d $u')')
+ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -a$g $h!rmail ($u)')')
define(`confCW_FILE', /etc/mail/sendmail.cw)
diff --git a/usr.sbin/sendmail/cf/ostype/svr4.m4 b/usr.sbin/sendmail/cf/ostype/svr4.m4
index ae18c1038b7e..3085db17fd32 100644
--- a/usr.sbin/sendmail/cf/ostype/svr4.m4
+++ b/usr.sbin/sendmail/cf/ostype/svr4.m4
@@ -34,12 +34,12 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)svr4.m4 8.2 (Berkeley) 5/26/95')
+VERSIONID(`@(#)svr4.m4 8.4 (Berkeley) 9/25/96')
-ifdef(`ALIAS_FILE',,`define(`ALIAS_FILE', /usr/ucblib/aliases)')dnl
+define(`ALIAS_FILE', /usr/ucblib/aliases)dnl
ifdef(`HELP_FILE',,`define(`HELP_FILE', /usr/ucblib/sendmail.hf)')dnl
ifdef(`STATUS_FILE',,`define(`STATUS_FILE', /usr/ucblib/sendmail.st)')dnl
define(`LOCAL_MAILER_PATH', `/usr/ucblib/binmail')dnl
-define(`LOCAL_MAILER_FLAGS', `rmn')dnl
+define(`LOCAL_MAILER_FLAGS', `rmn9')dnl
define(`LOCAL_SHELL_FLAGS', `ehuP')dnl
define(`UUCP_MAILER_ARGS', `uux - -r -a$g -gmedium $h!rmail ($u)')dnl