*** KNOWNBUGS.OLD	Sun Nov  7 10:28:55 1993
--- KNOWNBUGS	Wed Jan 12 06:00:44 1994
***************
*** 1,7 ****
  
  
  	     K N O W N   B U G S   I N   S E N D M A I L
! 			     (for 8.6.3)
  
  
  The following are bugs or deficiencies in sendmail that I am aware of
--- 1,7 ----
  
  
  	     K N O W N   B U G S   I N   S E N D M A I L
! 			     (for 8.6.5)
  
  
  The following are bugs or deficiencies in sendmail that I am aware of
***************
*** 9,23 ****
  want to get the most up to date version of this from FTP.CS.Berkeley.EDU
  in /ucb/sendmail/KNOWNBUGS.
  
! * "SYSERR: openmailer(local): fd 1 not open" message
  
-   File descriptor 1 (standard output) should not be closed during normal
-   processing.  This is checked periodically, and sometimes this condition
-   is found and this message is produced.  Sendmail repairs the problem,
-   and the mail is still delivered, but I still don't know why it happens.
-   (There was a bug that was fixed in 8.6.beta.13 that might be related,
-   but I think this bug still exists.)
  
  * Null bytes are not handled properly.
  
    Sendmail should handle full binary data.  As it stands, it handles
--- 9,25 ----
  want to get the most up to date version of this from FTP.CS.Berkeley.EDU
  in /ucb/sendmail/KNOWNBUGS.
  
! This list is not guaranteed to be complete, especially for fixed bugs.
! Many bugs are reported and fixed without ever making it as far as this
! file.  See the file RELEASE_NOTES (in the root directory of the sendmail
! distribution) for more details.
  
  
+ +----------------------------------------------+
+ | THE FOLLOWING PROBLEMS ARE STILL OUTSTANDING |
+ +----------------------------------------------+
+ 
+ 
  * Null bytes are not handled properly.
  
    Sendmail should handle full binary data.  As it stands, it handles
***************
*** 26,37 ****
    restructuring of the code -- for example, almost no C library support
    could be used to handle strings.
  
- * Route-addrs missing angle brackets.
- 
-   There are cases where route-addrs do not get angle brackets around them,
-   such as in the "-r" flag on mailers or in the From_ line created when
-   mailing to files.
- 
  * Duplicate error messages.
  
    Sometimes identical, duplicate error messages can be generated.  As
--- 28,33 ----
***************
*** 56,59 ****
    this address.  It's not clear what the right behaviour is in this
    circumstance.
  
! (Version 8.9, last updated 10/31/93)
--- 52,171 ----
    this address.  It's not clear what the right behaviour is in this
    circumstance.
  
! * REDIRECT aliases don't work with `n' option.
! 
!   If you have option `n' set when you use newaliases and have
!   REDIRECT addresses in your aliases file, you'll get the error
!   messages during the newaliases instead of when email is sent to
!   the address in question.  The workaround is to turn off the `n'
!   option.
! 
! * MX records that point at non-existent hosts work strangly.
! 
!   Consider the DNS records:
! 
! 	hostH	MX	1 hostA
! 		MX	2 hostB
! 	hostA	A	128.32.8.9
! 
!   (note that there is no A record for hostB).  If hostA is down,
!   an attempt to send to hostH gives "host unknown" -- that is, it
!   reflects out the status on the last host it tries, which in this
!   case is hostB, which is unknown.  It probably ought to eliminate
!   hostB early in processing.
! 
! * NAME environment variables with commas break.
! 
!   If you define your NAME environment variable to have a comma
!   (e.g., ``Lastname, Firstname''), and you are using the $q definition
!   that uses ``name <address>'' format, sendmail treats the first and
!   last names as two addresses, thus producing a bogus From line.  You
!   can work around this by changing the $q definition to use
!   ``address (name)''.
! 
! * \231 considered harmful.
! 
!   Header addresses that have the \231 character (and possibly others
!   in the range \201 - \237) behave in odd and usually unexpected ways.
! 
! * DEC Alphas (OSF/1 1.3) sometimes time out on sending mail.
! 
!   I have one report that DEC Alphas acting as SMTP clients sometimes
!   will apparently not see the "250 OK" message in response to the
!   dot that indicates the end of the message.  This only happens if
!   the message is run from the queue -- if it gets through on first
!   try, everything is fine.  I have been unable to reproduce this
!   problem at Berkeley.
! 
! * accept() problem on SVR4.
! 
!   Apparently, the sendmail daemon loop (doing accept()s on the network)
!   can get into a wierd state on SVR4; it starts logging ``SYSERR:
!   getrequests: accept: Protocol Error''.  The workaround is to kill
!   and restart the sendmail daemon.  We don't have an SVR4 system at
!   Berkeley that carries more than token mail load, so I can't validate
!   this.  It is likely to be a glitch in the sockets emulation, since
!   "Protocol Error" is not possible error code with Berkeley TCP/IP.
! 
!   I've also had someone report the message ``sendmail: accept:
!   SIOCGPGRP failed errno 22'' on an SVR4 system.  This message is
!   not in the sendmail source code, so I assume it is also a bug
!   in the sockets emulation.  (Errno 22 is EINVAL "Invalid Argument"
!   on all the systems I have available, including Solaris 2.x.)
! 
! * Sending user deletion not done properly in :include: lists.
! 
!   If you don't have the "m" (me too) option set, then a person
!   sending to a list that contains themselves should not get a copy
!   of the message.  However, if that list points to a :include: file
!   that has one address per line, this will break, and the sender
!   will always get a copy of their own message, just as though the
!   "m" option were set.
! 
!   You can eliminate this by adding commas at the end of each line
!   of the :include: file.
! 
! 
! +-------------------------------------------+
! | THE FOLLOWING PROBLEMS ARE FIXED IN 8.6.5 |
! +-------------------------------------------+
! 
! * Route-addrs missing angle brackets.
! 
!   There are cases where route-addrs do not get angle brackets around them,
!   such as in the "-r" flag on mailers or in the From_ line created when
!   mailing to files.
! 
! * No "exposed users" in "nullrelay" configuration.
! 
!   The "nullrelay" configuration hides all addresses behind the mail
!   hub name.  Some sites might prefer to expose some names such as
!   root.  This information is always available in Received: lines.
! 
! * owner-* alias that uses :include: broken.
! 
!   If you have aliases set up as:
! 
! 	owner-listname:		:include:/some/file
! 
!   sendmail will break because it considers this a "sender address",
!   which is not permitted to use the :include: syntax.  The easiest
!   workaround is to change this to:
! 
! 	owner-listname:		:include:/some/file,
! 
!   (note the trailing comma); a somewhat cleaner solution is to use:
! 
! 	owner-listname:		listname-request
! 	listname-request:	:include:/some/file
! 
! * "SYSERR: openmailer(local): fd 1 not open" message
! 
!   File descriptor 1 (standard output) should not be closed during normal
!   processing.  This is checked periodically, and sometimes this condition
!   is found and this message is produced.  Sendmail repairs the problem,
!   and the mail is still delivered, but I still don't know why it happens.
!   (There was a bug that was fixed in 8.6.beta.13 that might be related,
!   but I think this bug still exists.)
! 
! (Version 8.15, last updated 1/12/94)
*** READ_ME.OLD	Thu Nov 25 07:55:57 1993
--- READ_ME	Tue Jan  4 07:52:09 1994
***************
*** 1,5 ****
  /*-
!  *	@(#)READ_ME	8.5 (Berkeley) 9/28/93
   */
  
  			SENDMAIL RELEASE 8
--- 1,5 ----
  /*-
!  *	@(#)READ_ME	8.8 (Berkeley) 1/4/94
   */
  
  			SENDMAIL RELEASE 8
***************
*** 41,46 ****
--- 41,83 ----
  macro set that is compatible with these macros.
  
  
+ +-----------------------+
+ | RELATED DOCUMENTATION |
+ +-----------------------+
+ 
+ There are other files you should read.  Rooted in this directory are:
+ 
+   CHANGES-R5-R8
+ 	Describes changes between Release 5 and Release 8 of sendmail.
+ 	There are some things that may behave somewhat differently.
+ 	For example, the rules governing when :include: files will
+ 	be read have been tightened up for security reasons.
+   FAQ
+ 	Answers to Frequently Asked Questions.
+   KNOWNBUGS
+ 	Known bugs in the current release.  I try to keep this up
+ 	to date -- get the latest version from FTP.CS.Berkeley.EDU
+ 	in /ucb/sendmail/KNOWNBUGS.
+   RELEASE_NOTES
+ 	A detailed description of the changes in each version.  This
+ 	is quite long, but informative.
+   src/READ_ME
+ 	Details on compiling and installing sendmail.
+   cf/README
+ 	Details on configuring sendmail.
+   doc/op/op.me
+ 	The sendmail Installation & Operations Guide.  Be warned: if
+ 	you are running this off on SunOS or some other system with an
+ 	old version of -me, you need to add the following macro to the
+ 	macros:
+ 
+ 		.de sm
+ 		\s-1\\$1\\s0\\$2
+ 		..
+ 
+ 	This sets a word in a smaller pointsize.
+ 
+ 
  +--------------+
  | RELATED RFCS |
  +--------------+
***************
*** 96,101 ****
--- 133,169 ----
  faster, and the interface is nicer to animals and plants.  You will
  also probably find that you have to add -I/where/you/put/db/include
  to the sendmail makefile to get db.h to work properly.
+ 
+ 
+ +-------------+
+ | USE WITH MH |
+ +-------------+
+ 
+ This version of sendmail notices and reports certain kinds of SMTP
+ protocol violations that were ignored by older versions.  If you
+ are running MH you may wish to install the patch in contrib/mh.patch
+ that will prevent these warning reports.  This patch also works
+ with the old version of sendmail, so it's safe to go ahead and
+ install it.
+ 
+ 
+ +-----------+
+ | MAKEFILES |
+ +-----------+
+ 
+ The Makefiles in this release use the new Berkeley "make" that is
+ available in BSD Net/2 and 4.4BSD.  If you are using this version
+ of make, you may notice one or two places where the Makefile includes
+ "../../Makefile.inc".  This file is not included with the sendmail
+ distribution because it's not part of sendmail.  However, it is,
+ in toto:
+ 
+ 	#	@(#)Makefile.inc	8.1 (Berkeley) 6/6/93
+ 
+ 	BINDIR?=	/usr/sbin
+ 
+ The other directories should all have Makefile.dist files that work
+ on the old make.  For more details, see src/READ_ME.
  
  
  +---------------------+
*** RELEASE_NOTES.OLD	Sun Nov  7 10:29:11 1993
--- RELEASE_NOTES	Thu Jan 13 06:45:11 1994
***************
*** 1,3 ****
--- 1,287 ----
+ 8.6.5/8.6.5	94/01/13
+ 	Security fix:  /.forward could be owned by anyone (the test
+ 		to allow root to own any file was backwards).  From
+ 		Bob Campbell at U.C. Berkeley.
+ 	Security fix: group ids were not completely set when programs
+ 		were invoked.  This caused programs to have group
+ 		permissions they should not have had (usually group
+ 		daemon instead of their own group).  In particular,
+ 		Perl scripts would refuse to run.
+ 	Security: check to make sure files that are written are not
+ 		symbolic links (at least under some circumstances).
+ 		Although this does not respond to a specific known
+ 		attack, it's just a good idea.  Suggested by
+ 		Christian Wettergren.
+ 	Security fix: if a user had an NFS mounted home directory on
+ 		a system with a restricted shell listed in their
+ 		/etc/passwd entry, they could still execute any
+ 		program by putting that in their .forward file.
+ 		This fix prevents that by insisting that their shell
+ 		appear in /etc/shells before allowing a .forward to
+ 		execute a program or write a file.  You can disable
+ 		this by putting "*" in /etc/shells.  It also won't
+ 		permit world-writable :include: files to reference
+ 		programs or files (there's no way to disable this).
+ 		These behaviours are only one level deep -- for
+ 		example, it is legal for a world-writable :include:
+ 		file to reference an alias that writes a file, on
+ 		the assumption that the alias file is well controlled.
+ 	Security fix: root was not treated suspiciously enough when
+ 		looking into subdirectories.  This would potentially
+ 		allow a cracker to examine files that were publically
+ 		readable but in a non-publically searchable directory.
+ 	Fix a problem that causes an error on QUIT on a cached
+ 		connection to create problems on the current job.
+ 		These are typically unrelated, so errors occur in
+ 		the wrong place.
+ 	Reset CurrentLA in sendall() -- this makes sendmail queue
+ 		runs more responsive to load average, and fixes a
+ 		problem that ignored the load average in locally
+ 		generated mail.  From Eric Wassenaar.
+ 	Fix possible core dump on aliases with null LHS.  From
+ 		John Orthoefer of BB&N.
+ 	Revert to using flock() whenever possible -- there are just
+ 		too many bugs in fcntl() locking, particularly over
+ 		NFS, that cause sendmail to fail in perverse ways.
+ 	Fix a bug that causes the connection cache to get confused
+ 		when sending error messages.  This resulted in
+ 		"unexpected close" messages.  It should fix itself
+ 		on the following queue run.  Problem noted by
+ 		Liudvikas Bukys of Rochester University.
+ 	Include $k in $=k as documented in the Install & Op Guide.
+ 		This seems odd, but it was documented....  From
+ 		Michael Corrigan of UCSD.
+ 	Fix problem that caused :include:s from alias files to be
+ 		forced to be owned by root instead of daemon
+ 		(actually DefUid).  From Tim Irvin.
+ 	Diagnose unrecognized I option values -- from Mortin Forssen
+ 		of the Chalmers University of Technology.
+ 	Make "error" mailer work consistently when there is no error
+ 		code associated with it -- previously it returned OK
+ 		even though there was a real problem.  Now it assumes
+ 		EX_UNAVAILABLE.
+ 	Fix bug that caused the last header line of messages that had
+ 		no body and which were terminated with EOF instead of
+ 		"." to be discarded.  Problem noted by Liudvikas Bukys.
+ 	Fix core dump on SMTP mail to programs that failed -- it tried
+ 		to go to a "next MX host" when none existed, causing
+ 		a core dump.  From der Mouse at McGill University.
+ 	Change IDENTPROTO from a defined/not defined to a 0/1 switch;
+ 		this makes it easier to turn it off (using
+ 		-DIDENTPROTO=0 in the Makefile).  From der Mouse.
+ 	Fix YP_MASTER_NAME store to use the unupdated result of
+ 		gethostname() (instead of myhostname(), which tries
+ 		to fully qualify the name) to be consistent with
+ 		SunOS.  If your hostname is unqualified, this fixes
+ 		transfers to slave servers.  Bug noted by Keith
+ 		McMillan of Ameritech Services, Inc.
+ 	Fix Ultrix problem: gethostbyname() can return a very large
+ 		(> 500) h_length field, which causes the sockaddr
+ 		to be trashed.  Use the size of the sockaddr instead.
+ 		Fix from Bob Manson of Ohio State.
+ 	Don't assume "-a." on host lookups if NAMED_BIND is not
+ 		defined -- this confuses gethostbyname on hosts
+ 		file lookups, which doesn't understand the trailing
+ 		dot convention.
+ 	Log SMTP server subprocesses that die with a signal instead
+ 		of from a clean exit.
+ 	If you don't have option "I" set, don't assume that a DNS
+ 		"host unknown" message is authoritative -- it
+ 		might still be found in /etc/hosts.
+ 	Fix a problem that would cause Deferred: messages to be sent
+ 		as the subject of an error message, even though the
+ 		actual cause of a message was more severe than that.
+ 		Problem noted by Chris Seabrook of OSSI.
+ 	Fix race condition in DBM alias file locking.  From Kyle
+ 		Jones of UUNET.
+ 	Limit delivery syslog line length to avoid bugs in some
+ 		versions of syslog(3).  This adds a new compile time
+ 		variable SYSLOG_BUFSIZE.  From Jay Plett of Princeton
+ 		University, which is in turn derived from IDA.
+ 	Fix quotes inside of comments in addresses -- previously
+ 		it insisted that they be balanced, but the 822 spec
+ 		says that they should be ignored.
+ 	Dump open file state to syslog upon receiving SIGUSR1 (for
+ 		debugging).  This also evaluates ruleset 89, if set
+ 		(with the null input), and logs the result.  This
+ 		should be used sparingly, since the rewrite process
+ 		is not reentrant.
+ 	Change -qI, -qR, and -qS flags to be case-insensitive as
+ 		documented in the Bat Book.
+ 	If the mailer returned EX_IOERR or EX_OSERR, sendmail did not
+ 		return an error message and did not requeue the message.
+ 		Fix based on code from Roland Dirlewanger of
+ 		Reseau Regional Aquarel, Bordeaux, France.
+ 	Fix a problem that caused a seg fault if you got a 421 error
+ 		code during some parts of connection initialization.
+ 		I've only seen this when talking to buggy mailers on
+ 		the other end, but it shouldn't give a seg fault in
+ 		any case.  From Amir Plivatsky.
+ 	Fix core dump caused by a ruleset call that returns null.
+ 		Fix from Bryan Costales of ICSI.
+ 	Full-Name: field was being ignored.  Fix from Motonori Nakamura
+ 		of Kyoto University.
+ 	Fix a possible problem with very long input lines in setproctitle.
+ 		From P{r Emanuelsson.
+ 	Avoid putting "This is a warning message" out on return receipts.
+ 		Suggested by Douglas Anderson.
+ 	Detect loops caused by recursive ruleset calls.  Suggested by
+ 		Bryan Costales.
+ 	Initialize non-alias maps during alias rebuilds -- they may be
+ 		needed for parsing.  Problem noted by Douglas Anderson.
+ 	Log sender address even if no message was collected in SMTP
+ 		(e.g., if all RCPTs failed).  Suggested by Motonori
+ 		Nakamura.
+ 	Don't reflect the owner-list contents into the envelope sender
+ 		address if the value contains ", :, /, or | (to avoid
+ 		illegal addresses appearing there).
+ 	Efficiency hack for toktype macro -- from Craig Partridge of
+ 		BB&N.
+ 	Clean up DNS error printing so that a host name is always
+ 		included.
+ 	Remember to set $i during queue runs.  Reported by Stephen
+ 		Campbell of Dartmouth University.
+ 	If ${HOSTALIASES} is set, use it during canonification so that
+ 		headers are properly mapped.  Reported by Anne Bennett
+ 		of Concordia University.
+ 	Avoid printing misleading error message if SMTP mailer (not
+ 		using [IPC]) should die on a core dump.
+ 	Avoid incorrect diagnosis of "file 1 closed" when it is caused
+ 		by the other end closing the connection.  From
+ 		Dave Morrison of Oracle.
+ 	Improve several of the error messages printed by "mailq"
+ 		to include a host name or other useful information.
+ 	Add preliminary NetInfo support for NeXT systems.  From Vince
+ 		DeMarco.
+ 	Fix a glitch that sometimes caused :include:s that pointed to
+ 		NFS filesystems that were down to give an "aliasing/
+ 		forwarding loop broken" message instead of queueing
+ 		the message for retry.  Noted by William C Fenner of
+ 		the NRL Connection Machine Facility.
+ 	Fix a problem that could cause a core dump if the input sequence
+ 		had (or somehow acquired) a \231 character.
+ 	Make sure that route-addrs always have <angle brackets> around
+ 		them in non-SMTP envelopes (SMTP envelopes already do
+ 		this properly).
+ 	Avoid wierd headers on unbalanced punctuation of the form:
+ 		``Joe User <user)'' -- this caused reference to the
+ 		null macro.  Fix from Rick McCarty of IO.COM.
+ 	Fix a problem that caused an alias "user: user@local.host" to
+ 		not have the QNOTREMOTE bit set; this caused configs
+ 		to act as if FEATURE(notsticky) was defined even when
+ 		it was not.  The effect of the problem was to make it
+ 		very hard to to set up satellite sites that had a few
+ 		local accounts, with everything else forwarded to a
+ 		corporate hub.  Reported by Detlef Drewanz of the
+ 		University of Rostock and Mark Frost of NCD.
+ 	Change queuing to not call rulesets 3, {1 or 2}, 4 on header
+ 		addresses.  This is more efficient (fewer name server
+ 		calls) and fixes certain unusual configurations, such
+ 		as those that have ruleset 4 do something that is
+ 		non-idempotent unless a mailer-specific ruleset did
+ 		something else.  Problem reported by Brian J. Coan
+ 		of the Institute for Global Communications.
+ 	Fix the "obsolete argument" routine in main to better understand
+ 		new arguments.  For example, if you used ``sendmail
+ 		-C config -v -q'' it would choke on the -q because
+ 		the -C would stop looking for old-format arguments.
+ 	Portability fixes for:
+ 		SCO UNIX from Murray Kucherawy.
+ 		SCO Open Server 3.2v4 from Philippe Brand.
+ 		System V Release 4 from Rick Ellis and others.
+ 		OSF/1 from Steve Campbell.
+ 		DG/UX from Ben Mesander of the USGS and Bryan Curnutt
+ 			of Stoner Associates.
+ 		Motorola SysV88 from Kevin Johnson of Motorola.
+ 		Solaris 2.3 from Casper H.S. Dik of the University
+ 			of Amsterdam and John Caruso of University
+ 			of Maryland.
+ 		FreeBSD from Ollivier Robert.
+ 		NetBSD from Adam Glass.
+ 		TitanOS from Kate Hedstrom of Rutgers University.
+ 		Irix from Bryan Curnutt.
+ 		Dynix from Jim Davis of the University of Arizona.
+ 		RISC/os.
+ 		Linux from John Kennedy of California State University
+ 			at Chico.
+ 		Solaris 2.x from Tony Boner of the U.S. Air Force.
+ 		NEXTSTEP 3.x from Vince DeMarco.
+ 		HP-UX from various people.  NOTA BENE:  the location
+ 			of the config file has moved to /usr/lib
+ 			to match the HP-UX version of sendmail.
+ 	CONFIG: Don't do any recipient rewriting on relay mailer;
+ 		since this is intended only for internal use, the
+ 		usual RFC 821/822/1123 rules can be relaxed.  The
+ 		main point of this is to avoid munging (ugh) UUCP
+ 		addresses when relaying internally.
+ 	CONFIG: fix typo in mailer/uucp.m4 that mutilates list:;
+ 		syntax addresses delivered via UUCP.  Solution
+ 		provided by Peter Wemm.
+ 	CONFIG: fix thumb-fumble in default UUCP relaying in ruleset
+ 		zero; it caused double @ signs in addresses.  From
+ 		Irving Reid of the University of Toronto.
+ 	CONFIG: Portability fixes for SCO Unix 3.2 with TCP/IP 1.2.1
+ 		from Markku Toijala of ICL Personal Systems Oy.
+ 	CONFIG: Add trailing "." on pseudo-domains for consistency;
+ 		this fixes a problem (noted by Al Whaley of Sunnyside)
+ 		that made it hard to recognize your own pseudodomain
+ 		names.
+ 	CONFIG: catch "@host" syntax errors (i.e., null local-parts)
+ 		rather than letting them get "local configuration
+ 		error"s.  Problem noted by John Gardiner Myers.
+ 	CONFIG: add uucp-uudom mailer variant, based on code posted
+ 		by Spider Boardman <spider@Orb.Nashua.NH.US>; this
+ 		has uucp-dom semantics but old UUCP syntax.  This
+ 		also permits "uucp-old" as an alias for "uucp" and
+ 		"uucp-new" as a synonym for "suucp" for consistency.
+ 	CONFIG: add POP mailer support (from Kimmo Suominen
+ 		<kim@grendel.lut.fi>).
+ 	CONFIG: drop CSNET_RELAY support -- CSNET is long gone.
+ 	CONFIG: fix bug caused with domain literal addresses (e.g.,
+ 		``[128.32.131.12]'') when FEATURE(allmasquerade)
+ 		was set; it would get an additional @masquerade.host
+ 		added to the address.  Problem noted by Peter Wan
+ 		of Georgia Tech.
+ 	CONFIG: make sure that the local UUCP name is in $=w.  From
+ 		Jim Murray of Stratus.
+ 	CONFIG: changes to UUCP rewriting to simulate IDA-style "V"
+ 		mailer flag.  Briefly, if you are sending to host
+ 		"foo", then it rewrites "foo!...!baz" to "...!baz",
+ 		"foo!baz" remains "foo!baz", and anything else has
+ 		the local name prepended.
+ 	CONFIG: portability fixes for HP-UX.
+ 	DOC: several minor problems fixed in the Install & Op Guide.
+ 	MAKEMAP: fix core dump problem on lines that are too long or
+ 		which lack newline.  From Mark Delany.
+ 	MAILSTATS: print sums of columns (total messages & kbytes
+ 		in and out of the system).  From Tom Ferrin of UC
+ 		San Francisco Computer Graphics Lab.
+ 	SIGNIFICANT USER- OR SYSAD-VISIBLE CHANGES:
+ 		On HP-UX, /etc/sendmail.cf has been moved to
+ 			/usr/lib/sendmail.cf to match HP sendmail.
+ 		Permissions have been tightened up on world-writable
+ 			:include: files and accounts that have shells
+ 			that are not listed in /etc/shells.  This may
+ 			cause some .forward files that have worked
+ 			before to start failing.
+ 		SIGUSR1 dumps some state to the log.
+ 	NEW FILES:
+ 		src/Makefile.DGUX
+ 		src/Makefile.Dynix
+ 		src/Makefile.FreeBSD
+ 		src/Makefile.Mach386
+ 		src/Makefile.NetBSD
+ 		src/Makefile.RISCos
+ 		src/Makefile.SCO
+ 		src/Makefile.SVR4
+ 		src/Makefile.Titan
+ 		cf/mailer/pop.m4
+ 		cf/ostype/bsdi1.0.m4
+ 		cf/ostype/dgux.m4
+ 		cf/ostype/dynix3.2.m4
+ 		cf/ostype/sco3.2.m4
+ 		makemap/Makefile.dist
+ 		praliases/Makefile.dist
+ 
  8.6.4/8.6.4	93/10/31
  	Repair core-dump problem (write to read-only memory segment)
  		if you fall back to the return-to-Postmaster case in
*** cf/README.OLD	Mon Nov  8 13:14:32 1993
--- cf/README	Wed Jan 12 06:19:02 1994
***************
*** 4,10 ****
  
  		Eric Allman <eric@CS.Berkeley.EDU>
  
! 		@(#)README	8.15 (Berkeley) 10/31/93
  
  
  This document describes the sendmail configuration files being used
--- 4,10 ----
  
  		Eric Allman <eric@CS.Berkeley.EDU>
  
! 		@(#)README	8.21 (Berkeley) 1/12/94
  
  
  This document describes the sendmail configuration files being used
***************
*** 31,40 ****
  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.]
  
  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
--- 31,39 ----
  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 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,58 ****
--- 51,64 ----
  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,193 ****
  		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
--- 192,197 ----
***************
*** 241,252 ****
  		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
  		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.
  
  usenet		Usenet (network news) delivery.  If this is specified,
  		an extra rule is added to ruleset 0 that forwards all
--- 245,259 ----
  		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-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 "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,264 ****
--- 265,273 ----
  		on Sam Leffler's FlexFAX software.  For more information,
  		see below.
  
+ pop		Post Office Protocol.
  
+ 
  +----------+
  | FEATURES |
  +----------+
***************
*** 433,438 ****
--- 442,533 ----
  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 |
  +-------------------+
***************
*** 826,832 ****
--- 921,934 ----
  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,853 ****
  						SMTP mail.
  confBLANK_SUB		.		OB	Blank (space) substitution
  						character.
! confCON_EXPENSIVE	False		Oc	Connect immediately to
! 						mailers marked expensive?
  confCHECKPOINT_INTERVAL	10		OC	Checkpoint queue files
  						every N recipients.
  confDELIVERY_MODE	background	Od	Default delivery mode.
--- 948,955 ----
  						SMTP mail.
  confBLANK_SUB		.		OB	Blank (space) substitution
  						character.
! 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,1026 ****
  MAILERS
  
     0	local, prog	local and program mailers
!    1	smtp		SMTP channel
!    2	uucp		UNIX-to-UNIX Copy Program
     3	netnews		Network News delivery
     4	fax		Sam Leffler's FlexFAX software
  
--- 1121,1128 ----
  MAILERS
  
     0	local, prog	local and program mailers
!    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,1035 ****
  
     A
     B	Bitnet Relay
!    C	CSNET Relay
     D	The local domain -- usually not needed
     E
     F	FAX Relay
--- 1131,1137 ----
  
     A
     B	Bitnet Relay
!    C
     D	The local domain -- usually not needed
     E
     F	FAX Relay
*** cf/cf/Makefile.OLD	Wed Dec  1 11:54:48 1993
--- cf/cf/Makefile	Wed Dec  1 11:55:31 1993
***************
*** 1,4 ****
! #	@(#)Makefile	8.4 (Berkeley) 10/15/93
  
  M4=	m4
  #M4=	/usr/src/usr.bin/m4/obj/m4
--- 1,4 ----
! #	@(#)Makefile	8.5 (Berkeley) 12/1/93
  
  M4=	m4
  #M4=	/usr/src/usr.bin/m4/obj/m4
***************
*** 15,20 ****
--- 15,21 ----
  
  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 \
*** cf/domain/Berkeley.m4.OLD	Tue Oct  5 13:28:20 1993
--- cf/domain/Berkeley.m4	Mon Dec 20 10:49:11 1993
***************
*** 33,42 ****
  # SUCH DAMAGE.
  #
  divert(0)
! VERSIONID(`@(#)Berkeley.m4	8.3 (Berkeley) 10/5/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
--- 33,41 ----
  # SUCH DAMAGE.
  #
  divert(0)
! VERSIONID(`@(#)Berkeley.m4	8.4 (Berkeley) 12/20/93')
  define(`UUCP_RELAY', `ucbvax.Berkeley.EDU')dnl
  define(`BITNET_RELAY', `jade.Berkeley.EDU')dnl
  define(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward')dnl
  define(`confCW_FILE', `-o /etc/sendmail.cw')dnl
  FEATURE(redirect)dnl
*** cf/feature/bitdomain.m4.OLD	Tue Nov 30 08:58:24 1993
--- cf/feature/bitdomain.m4	Tue Nov 30 09:01:07 1993
***************
*** 34,40 ****
  #
  
  divert(0)
! VERSIONID(`@(#)bitdomain.m4	8.3 (Berkeley) 8/7/93')
  divert(-1)
  
  
--- 34,40 ----
  #
  
  divert(0)
! VERSIONID(`@(#)bitdomain.m4	8.4 (Berkeley) 11/30/93')
  divert(-1)
  
  
***************
*** 45,49 ****
  
  PUSHDIVERT(8)
  # handle BITNET mapping
! R$* < @ $+ .BITNET > $*		$: $1 < @ $(bitdomain $2 $: $2.BITNET $) > $3
  POPDIVERT
--- 45,49 ----
  
  PUSHDIVERT(8)
  # handle BITNET mapping
! R$* < @ $+ .BITNET. > $*	$: $1 < @ $(bitdomain $2 $: $2.BITNET. $) > $3
  POPDIVERT
*** cf/feature/redirect.m4.OLD	Mon Jun  7 10:10:46 1993
--- cf/feature/redirect.m4	Mon Dec 27 14:48:46 1993
***************
*** 34,46 ****
  #
  
  divert(0)
! VERSIONID(`@(#)redirect.m4	8.1 (Berkeley) 6/7/93')
  divert(-1)
  
  
  PUSHDIVERT(3)
  # addresses sent to foo@host.REDIRECT will give a 551 error code
! R$* < @ $+ .REDIRECT >	$# error $@ NOUSER $: "551 User not local; please try " <$1@$2>
  POPDIVERT
  
  PUSHDIVERT(6)
--- 34,46 ----
  #
  
  divert(0)
! VERSIONID(`@(#)redirect.m4	8.2 (Berkeley) 12/27/93')
  divert(-1)
  
  
  PUSHDIVERT(3)
  # addresses sent to foo@host.REDIRECT will give a 551 error code
! R$* < @ $+ .REDIRECT. >	$# error $@ NOUSER $: "551 User not local; please try " <$1@$2>
  POPDIVERT
  
  PUSHDIVERT(6)
*** cf/feature/uucpdomain.m4.OLD	Tue Nov 30 07:18:13 1993
--- cf/feature/uucpdomain.m4	Tue Nov 30 09:01:08 1993
***************
*** 34,40 ****
  #
  
  divert(0)
! VERSIONID(`@(#)uucpdomain.m4	8.3 (Berkeley) 8/7/93')
  divert(-1)
  
  
--- 34,40 ----
  #
  
  divert(0)
! VERSIONID(`@(#)uucpdomain.m4	8.4 (Berkeley) 11/30/93')
  divert(-1)
  
  
***************
*** 45,49 ****
  
  PUSHDIVERT(8)
  # handle UUCP mapping
! R$* < @ $+ .UUCP > $*		$: $1 < @ $(uudomain $2 $: $2.UUCP $) > $3
  POPDIVERT
--- 45,49 ----
  
  PUSHDIVERT(8)
  # handle UUCP mapping
! R$* < @ $+ .UUCP. > $*		$: $1 < @ $(uudomain $2 $: $2.UUCP. $) > $3
  POPDIVERT
*** cf/m4/cf.m4.OLD	Sun Jul 18 10:58:54 1993
--- cf/m4/cf.m4	Fri Dec 24 06:34:40 1993
***************
*** 51,56 ****
--- 51,57 ----
  
  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,98 ****
  define(`SITECONFIG',
  `CONCAT(D, $3, $2)
  define(`_CLASS_$3_', `')dnl
! ifelse($3, U, Cw$2, `dnl')
  define(`SITE', `ifelse(CONCAT($'2`, $3), SU,
  		CONCAT(CY, $'1`),
  		CONCAT(C, $3, $'1`))')
--- 93,99 ----
  define(`SITECONFIG',
  `CONCAT(D, $3, $2)
  define(`_CLASS_$3_', `')dnl
! ifelse($3, U, Cw$2 $2.UUCP, `dnl')
  define(`SITE', `ifelse(CONCAT($'2`, $3), SU,
  		CONCAT(CY, $'1`),
  		CONCAT(C, $3, $'1`))')
***************
*** 145,148 ****
  define(`confTRY_NULL_MX_LIST', `False')
  
  divert(0)dnl
! VERSIONID(`@(#)cf.m4	8.2 (Berkeley) 7/18/93')
--- 146,149 ----
  define(`confTRY_NULL_MX_LIST', `False')
  
  divert(0)dnl
! VERSIONID(`@(#)cf.m4	8.4 (Berkeley) 12/24/93')
*** cf/m4/proto.m4.OLD	Tue Nov 23 09:55:51 1993
--- cf/m4/proto.m4	Thu Jan 13 06:40:24 1994
***************
*** 34,40 ****
  #
  divert(0)
  
! VERSIONID(`@(#)proto.m4	8.20 (Berkeley) 10/31/93')
  
  MAILER(local)dnl
  
--- 34,40 ----
  #
  divert(0)
  
! VERSIONID(`@(#)proto.m4	8.30 (Berkeley) 1/12/94')
  
  MAILER(local)dnl
  
***************
*** 93,104 ****
  CPBITNET
  
  ')dnl
- ifdef(`CSNET_RELAY',
- `# CSNET relay host
- DC`'CSNET_RELAY
- CPCSNET
- 
- ')dnl
  ifdef(`FAX_RELAY',
  `# FAX relay host
  DF`'FAX_RELAY
--- 93,98 ----
***************
*** 185,191 ****
  # substitution for space (blank) characters
  OB`'confBLANK_SUB
  
! # connect to "expensive" mailers on initial submission?
  Oc`'confCON_EXPENSIVE
  
  # checkpoint queue runs after every N successful deliveries
--- 179,185 ----
  # substitution for space (blank) characters
  OB`'confBLANK_SUB
  
! # avoid connecting to "expensive" mailers on initial submission?
  Oc`'confCON_EXPENSIVE
  
  # checkpoint queue runs after every N successful deliveries
***************
*** 420,425 ****
--- 414,422 ----
  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,488 ****
  ifdef(`_NO_UUCP_', `dnl',
  `ifdef(`UUCP_RELAY',
  `# pass UUCP addresses straight through
! R$* < @ $+ . UUCP > $*		$@ $1 < @ $2 . UUCP > $3',
  `# if really UUCP, handle it immediately
  ifdef(`_CLASS_U_',
! `R$* < @ $=U . UUCP > $*	$@ $1 < @ $2 . UUCP > $3', `dnl')
  ifdef(`_CLASS_V_',
! `R$* < @ $=V . UUCP > $*	$@ $1 < @ $2 . UUCP > $3', `dnl')
  ifdef(`_CLASS_W_',
! `R$* < @ $=W . UUCP > $*	$@ $1 < @ $2 . UUCP > $3', `dnl')
  ifdef(`_CLASS_X_',
! `R$* < @ $=X . UUCP > $*	$@ $1 < @ $2 . UUCP > $3', `dnl')
  ifdef(`_CLASS_Y_',
! `R$* < @ $=Y . UUCP > $*	$@ $1 < @ $2 . UUCP > $3', `dnl')
  
  # try UUCP traffic as a local address
! R$* < @ $+ . UUCP > $*		$: $1 < @ $[ $2 $] . UUCP > $3
  ifdef(`_OLD_SENDMAIL_',
! `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',
  `# pass to name server to make hostname canonical
  R$* < @ $* $~P > $*		$: $1 < @ $[ $2 $3 $] > $4')
  
  undivert(8)dnl
  
  # if this is the local hostname, make sure we treat is as canonical
--- 455,488 ----
  ifdef(`_NO_UUCP_', `dnl',
  `ifdef(`UUCP_RELAY',
  `# pass UUCP addresses straight through
! R$* < @ $+ . UUCP > $*		$@ $1 < @ $2 . UUCP . > $3',
  `# if really UUCP, handle it immediately
  ifdef(`_CLASS_U_',
! `R$* < @ $=U . UUCP > $*	$@ $1 < @ $2 . UUCP . > $3', `dnl')
  ifdef(`_CLASS_V_',
! `R$* < @ $=V . UUCP > $*	$@ $1 < @ $2 . UUCP . > $3', `dnl')
  ifdef(`_CLASS_W_',
! `R$* < @ $=W . UUCP > $*	$@ $1 < @ $2 . UUCP . > $3', `dnl')
  ifdef(`_CLASS_X_',
! `R$* < @ $=X . UUCP > $*	$@ $1 < @ $2 . UUCP . > $3', `dnl')
  ifdef(`_CLASS_Y_',
! `R$* < @ $=Y . UUCP > $*	$@ $1 < @ $2 . UUCP . > $3', `dnl')
  
  # try UUCP traffic as a local address
! R$* < @ $+ . UUCP > $*		$: $1 < @ $[ $2 $] . UUCP . > $3
  ifdef(`_OLD_SENDMAIL_',
! `R$* < @ $+ . $+ . UUCP . > $*		$@ $1 < @ $2 . $3 . > $4',
! `R$* < @ $+ . . UUCP . > $*		$@ $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,539 ****
--- 534,540 ----
  
  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
***************
*** 540,546 ****
  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',
  	`dnl')
  
  # now delete the local info -- note $=O to find characters that cause forwarding
--- 541,547 ----
  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',
  	`dnl')
  
  # now delete the local info -- note $=O to find characters that cause forwarding
***************
*** 564,570 ****
  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
  ifdef(`_OLD_SENDMAIL_',
  `R$+ < $+ @ $-:$+ >	$# $3 $@ $4 $: $1 < $2 >	yep ....
  R$+ < $+ @ $+ >		$#relay $@ $3 $: $1 < $2 >	yep ....
--- 565,571 ----
  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
  ifdef(`_OLD_SENDMAIL_',
  `R$+ < $+ @ $-:$+ >	$# $3 $@ $4 $: $1 < $2 >	yep ....
  R$+ < $+ @ $+ >		$#relay $@ $3 $: $1 < $2 >	yep ....
***************
*** 576,614 ****
  ifdef(`_NO_UUCP_', `dnl',
  `# resolve remotely connected UUCP links (if any)
  ifdef(`_CLASS_V_',
! `R$* < @ $=V . UUCP > $*		$: $>_SET_95_ < $V > $1 <@$2.UUCP> $3',
  	`dnl')
  ifdef(`_CLASS_W_',
! `R$* < @ $=W . UUCP > $*		$: $>_SET_95_ < $W > $1 <@$2.UUCP> $3',
  	`dnl')
  ifdef(`_CLASS_X_',
! `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',
  	`dnl')
! ifdef(`CSNET_RELAY',
! `R$*<@$+.CSNET>$*	$: $>_SET_95_ < $C > $1 <@$2.CSNET> $3	user@host.CSNET',
  	`dnl')
  ifdef(`_MAILER_fax_',
! `R$+ < @ $+ .FAX >	$#fax $@ $2 $: $1		user@host.FAX',
  `ifdef(`FAX_RELAY',
! `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',
  `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',
  	`dnl')')
  ifdef(`_MAILER_usenet_', `
  # addresses sent to net.group.USENET will get forwarded to a newsgroup
! R$+ . USENET		$#usenet $: $1',
  	`dnl')
  
  ifdef(`_LOCAL_RULES_',
--- 577,614 ----
  ifdef(`_NO_UUCP_', `dnl',
  `# resolve remotely connected UUCP links (if any)
  ifdef(`_CLASS_V_',
! `R$* < @ $=V . UUCP . > $*		$: $>_SET_95_ < $V > $1 <@$2.UUCP.> $3',
  	`dnl')
  ifdef(`_CLASS_W_',
! `R$* < @ $=W . UUCP . > $*		$: $>_SET_95_ < $W > $1 <@$2.UUCP.> $3',
  	`dnl')
  ifdef(`_CLASS_X_',
! `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',
  	`dnl')
! ifdef(`_MAILER_pop_',
! `R$+ < @ POP. >		$#pop $: $1			user@POP',
  	`dnl')
  ifdef(`_MAILER_fax_',
! `R$+ < @ $+ .FAX. >	$#fax $@ $2 $: $1		user@host.FAX',
  `ifdef(`FAX_RELAY',
! `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',
  `ifdef(`_MAILER_uucp_',
  `# forward other UUCP traffic straight to 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',
  	`dnl')
  
  ifdef(`_LOCAL_RULES_',
*** cf/m4/version.m4.OLD	Tue Nov 30 08:59:13 1993
--- cf/m4/version.m4	Thu Jan 13 06:42:08 1994
***************
*** 32,39 ****
  # 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')
  #
  divert(0)
  # Configuration version number
! DZ8.6.4
--- 32,39 ----
  # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  # SUCH DAMAGE.
  #
! VERSIONID(`@(#)version.m4	8.6.1.5 (Berkeley) 1/13/94')
  #
  divert(0)
  # Configuration version number
! DZ8.6.5
*** cf/mailer/pop.m4.OLD	Tue Dec 14 14:29:44 1993
--- cf/mailer/pop.m4	Wed Dec 15 06:36:42 1993
***************
*** 0 ****
--- 1,54 ----
+ PUSHDIVERT(-1)
+ #
+ # Copyright (c) 1983 Eric P. Allman
+ # Copyright (c) 1988, 1993
+ #	The Regents of the University of California.  All rights reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions
+ # are met:
+ # 1. Redistributions of source code must retain the above copyright
+ #    notice, this list of conditions and the following disclaimer.
+ # 2. Redistributions in binary form must reproduce the above copyright
+ #    notice, this list of conditions and the following disclaimer in the
+ #    documentation and/or other materials provided with the distribution.
+ # 3. All advertising materials mentioning features or use of this software
+ #    must display the following acknowledgement:
+ #	This product includes software developed by the University of
+ #	California, Berkeley and its contributors.
+ # 4. Neither the name of the University nor the names of its contributors
+ #    may be used to endorse or promote products derived from this software
+ #    without specific prior written permission.
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+ 
+ ifdef(`POP_MAILER_PATH',, `define(`POP_MAILER_PATH', /usr/lib/mh/spop)')
+ ifdef(`POP_MAILER_FLAGS',, `define(`POP_MAILER_FLAGS', `eu')')
+ ifdef(`POP_MAILER_ARGS',, `define(`POP_MAILER_ARGS', `pop $u')')
+ 
+ POPDIVERT
+ 
+ LOCAL_CONFIG
+ # POP mailer is a pseudo-domain
+ CPPOP
+ POPDIVERT
+ 
+ ####################################
+ ###   POP Mailer specification   ###
+ ####################################
+ 
+ VERSIONID(`@(#)pop.m4	8.1 (Berkeley) 12/15/93')
+ 
+ Mpop,		P=POP_MAILER_PATH, F=CONCAT(`lsDFM', POP_MAILER_FLAGS), S=10, R=20/40,
+ 		A=POP_MAILER_ARGS
*** cf/mailer/smtp.m4.OLD	Wed Nov 10 07:02:30 1993
--- cf/mailer/smtp.m4	Mon Dec 27 14:49:22 1993
***************
*** 40,52 ****
  ###   SMTP Mailer specification   ###
  #####################################
  
! VERSIONID(`@(#)smtp.m4	8.7 (Berkeley) 10/31/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,
  		ifdef(`_OLD_SENDMAIL_',, `L=2040, ')A=IPC $h
  
  #
--- 40,52 ----
  ###   SMTP Mailer specification   ###
  #####################################
  
! 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=61, E=\r\n,
  		ifdef(`_OLD_SENDMAIL_',, `L=2040, ')A=IPC $h
  
  #
***************
*** 55,66 ****
  S11
  R$+			$: $>51 $1			sender/recipient common
  R$* :; <@>		$@ $1 :;			list:; special case
  
- # handle unqualified names
- R$* < @ $* > $*		$@ $1 < @ $2 > $3		already qualified
- R$*			$@ $>61 $1
  
- 
  #
  #  header recipient rewriting if not masquerading recipients
  #
--- 55,63 ----
  S11
  R$+			$: $>51 $1			sender/recipient common
  R$* :; <@>		$@ $1 :;			list:; special case
+ R$*			$@ $>61 $1			qualify unqual'ed names
  
  
  #
  #  header recipient rewriting if not masquerading recipients
  #
***************
*** 87,100 ****
  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
  
- 
  #
! #  common rewriting for all SMTP addresses
  #
  S51
  
--- 84,94 ----
  R$=E < @ $=w . >	$@ $1 < @ $2 >			exposed user as is
  R$* < @ $=w . >		$: $1 < @ $M >			masquerade as domain
  R$* < @ >		$: $1 < @ $j >			in case $M undefined
+ R$*			$@ $>61 $1			qualify unqual'ed names
  
  
  #
! #  convert pseudo-domain addresses to real domain addresses
  #
  S51
  
***************
*** 103,124 ****
  
  # output fake domains as user%fake@relay
  ifdef(`BITNET_RELAY',
! `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')
  
  
  #
  #  common sender and masquerading recipient rewriting
  #
  S61
  
  R$=E			$@ $1 < @ $j>			show exposed names
  R$+			$: $1 < @ $M >			user w/o host
  R$+ <@>			$: $1 < @ $j >			in case $M undefined
--- 97,125 ----
  
  # output fake domains as user%fake@relay
  ifdef(`BITNET_RELAY',
! `R$+ <@ $+ .BITNET. >	$: $1 % $2 .BITNET < @ $B >	user@host.BITNET
  R$+.BITNET <@ $+:$+ >	$: $1 .BITNET < @ $3 >		strip mailer: part',
  	`dnl')
! 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')
  
+ 
  #
  #  common sender and masquerading recipient rewriting
  #
  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
*** cf/mailer/uucp.m4.OLD	Thu Nov 11 06:21:23 1993
--- cf/mailer/uucp.m4	Mon Jan 10 08:01:11 1994
***************
*** 42,60 ****
  ###   UUCP Mailer specification   ###
  #####################################
  
! VERSIONID(`@(#)uucp.m4	8.6 (Berkeley) 10/31/93')
  
! # old UUCP mailer
  Muucp,		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)
  Msuucp,		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')
  
  
--- 42,73 ----
  ###   UUCP Mailer specification   ###
  #####################################
  
! VERSIONID(`@(#)uucp.m4	8.13 (Berkeley) 1/10/94')
  
! #
! #  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) (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,79 ****
  R$* :; <@>			$@ $1 :;
  
  R$* < @ $* . >			$1 < @ $2 >		strip trailing dots
! R$* < @ $j >			$1			strip local name
  R$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
  R$* < @ $+ >			$2 ! $1			convert to UUCP format
  R$+				$: $U ! $1		prepend our name
  
  #
  #  envelope and header recipient rewriting
--- 83,97 ----
  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$+				$: $U ! $1		prepend our name
+ R! $+				$: $k ! $1		in case $U undefined
  
  #
  #  envelope and header recipient rewriting
***************
*** 81,95 ****
  S22
  
  # don't touch list:; syntax
! R$* :; <@>			$@ $1 ;:
  
  R$* < @ $* . >			$1 < @ $2 >		strip trailing dots
  R$* < @ $j >			$1			strip local name
  R$* < @ $- . UUCP >		$2 ! $1			convert to UUCP format
  R$* < @ $+ >			$2 ! $1			convert to UUCP format
  
  
! #
  #  envelope sender rewriting for uucp-dom mailer
  #
  S52
--- 99,120 ----
  S22
  
  # don't touch list:; syntax
! 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,112 ****
  # pass everything to standard SMTP mailer rewriting
  R$*				$@ $>11 $1
  
  
  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
  POPDIVERT
--- 125,157 ----
  # 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-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
*** cf/ostype/bsdi1.0.m4.OLD	Sat Dec 11 13:05:45 1993
--- cf/ostype/bsdi1.0.m4	Sat Dec 11 13:05:41 1993
***************
*** 0 ****
--- 1,38 ----
+ divert(-1)
+ #
+ # Copyright (c) 1983 Eric P. Allman
+ # Copyright (c) 1988, 1993
+ #	The Regents of the University of California.  All rights reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions
+ # are met:
+ # 1. Redistributions of source code must retain the above copyright
+ #    notice, this list of conditions and the following disclaimer.
+ # 2. Redistributions in binary form must reproduce the above copyright
+ #    notice, this list of conditions and the following disclaimer in the
+ #    documentation and/or other materials provided with the distribution.
+ # 3. All advertising materials mentioning features or use of this software
+ #    must display the following acknowledgement:
+ #	This product includes software developed by the University of
+ #	California, Berkeley and its contributors.
+ # 4. Neither the name of the University nor the names of its contributors
+ #    may be used to endorse or promote products derived from this software
+ #    without specific prior written permission.
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+ 
+ divert(0)
+ VERSIONID(`@(#)bsdi1.0.m4	8.1 (Berkeley) 12/11/93')dnl
+ OSTYPE(bsd4.4)
*** cf/ostype/dgux.m4.OLD	Sat Nov 27 09:28:04 1993
--- cf/ostype/dgux.m4	Sat Nov 27 09:25:45 1993
***************
*** 0 ****
--- 1,39 ----
+ divert(-1)
+ #
+ # Copyright (c) 1983 Eric P. Allman
+ # Copyright (c) 1988, 1993
+ #	The Regents of the University of California.  All rights reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions
+ # are met:
+ # 1. Redistributions of source code must retain the above copyright
+ #    notice, this list of conditions and the following disclaimer.
+ # 2. Redistributions in binary form must reproduce the above copyright
+ #    notice, this list of conditions and the following disclaimer in the
+ #    documentation and/or other materials provided with the distribution.
+ # 3. All advertising materials mentioning features or use of this software
+ #    must display the following acknowledgement:
+ #	This product includes software developed by the University of
+ #	California, Berkeley and its contributors.
+ # 4. Neither the name of the University nor the names of its contributors
+ #    may be used to endorse or promote products derived from this software
+ #    without specific prior written permission.
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+ 
+ divert(0)
+ VERSIONID(`@(#)dgux.m4	8.1 (Berkeley) 11/27/93')
+ define(`LOCAL_MAILER_FLAGS', m)dnl
+ define(`confTIME_ZONE', `USE_TZ')dnl
*** cf/ostype/dynix3.2.m4.OLD	Sat Nov 27 14:28:30 1993
--- cf/ostype/dynix3.2.m4	Sat Nov 27 14:28:24 1993
***************
*** 0 ****
--- 1,39 ----
+ divert(-1)
+ #
+ # Copyright (c) 1983 Eric P. Allman
+ # Copyright (c) 1988, 1993
+ #	The Regents of the University of California.  All rights reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions
+ # are met:
+ # 1. Redistributions of source code must retain the above copyright
+ #    notice, this list of conditions and the following disclaimer.
+ # 2. Redistributions in binary form must reproduce the above copyright
+ #    notice, this list of conditions and the following disclaimer in the
+ #    documentation and/or other materials provided with the distribution.
+ # 3. All advertising materials mentioning features or use of this software
+ #    must display the following acknowledgement:
+ #	This product includes software developed by the University of
+ #	California, Berkeley and its contributors.
+ # 4. Neither the name of the University nor the names of its contributors
+ #    may be used to endorse or promote products derived from this software
+ #    without specific prior written permission.
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+ 
+ divert(0)
+ VERSIONID(`@(#)dynix3.2.m4	8.1 (Berkeley) 11/27/93')
+ define(`ALIAS_FILE', /usr/lib/aliases)dnl
+ define(`QUEUE_DIR', /usr/spool/mqueue)dnl
*** cf/ostype/hpux.m4.OLD	Tue Aug 24 20:31:55 1993
--- cf/ostype/hpux.m4	Sun Jan  9 09:50:51 1994
***************
*** 34,43 ****
  #
  
  divert(0)
! VERSIONID(`@(#)hpux.m4	8.4 (Berkeley) 8/24/93')
  
  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(`confTIME_ZONE', `USE_TZ')dnl
--- 34,44 ----
  #
  
  divert(0)
! 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
*** cf/ostype/irix.m4.OLD	Sat Nov 27 09:28:44 1993
--- cf/ostype/irix.m4	Sat Nov 27 09:29:26 1993
***************
*** 34,38 ****
  #
  
  divert(0)
! VERSIONID(`@(#)irix.m4	8.2 (Berkeley) 8/8/93')
  define(`LOCAL_MAILER_FLAGS', Ehmu)dnl
--- 34,41 ----
  #
  
  divert(0)
! 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
*** cf/ostype/nextstep.m4.OLD	Wed Nov 10 17:07:58 1993
--- cf/ostype/nextstep.m4	Tue Nov 30 09:01:49 1993
***************
*** 34,42 ****
  #
  
  divert(0)
! VERSIONID(`@(#)nextstep.m4	8.3 (Berkeley) 8/13/93')
  define(`ALIAS_FILE', /etc/sendmail/aliases)dnl
  define(`HELP_FILE', /usr/lib/sendmail.hf)dnl
  define(`STATUS_FILE', /etc/sendmail/sendmail.st)dnl
  define(`UUCP_MAILER_PATH', /usr/bin/uux)dnl
  define(`QUEUE_DIR', /usr/spool/mqueue)dnl
--- 34,44 ----
  #
  
  divert(0)
! VERSIONID(`@(#)nextstep.m4	8.4 (Berkeley) 11/30/93')
  define(`ALIAS_FILE', /etc/sendmail/aliases)dnl
  define(`HELP_FILE', /usr/lib/sendmail.hf)dnl
  define(`STATUS_FILE', /etc/sendmail/sendmail.st)dnl
  define(`UUCP_MAILER_PATH', /usr/bin/uux)dnl
  define(`QUEUE_DIR', /usr/spool/mqueue)dnl
+ define(`LOCAL_MAILER_FLAGS', `rmnP')dnl
+ define(`LOCAL_SHELL_FLAGS', `euP')dnl
*** cf/ostype/riscos4.5.m4.OLD	Wed Dec  1 07:54:37 1993
--- cf/ostype/riscos4.5.m4	Wed Dec  1 08:44:17 1993
***************
*** 34,37 ****
  #
  
  divert(0)
! VERSIONID(`@(#)riscos4.5.m4	8.1 (Berkeley) 6/7/93')
--- 34,42 ----
  #
  
  divert(0)
! VERSIONID(`@(#)riscos4.5.m4	8.2 (Berkeley) 12/1/93')
! 
! define(`LOCAL_MAILER_ARGS', `rmail -d $u')dnl
! define(`ALIAS_FILE', `/usr/lib/aliases')dnl
! define(`QUEUE_DIR', `/usr/spool/mqueue')dnl
! define(`HELP_FILE', `/usr/lib/sendmail.hf')dnl
*** cf/ostype/sco3.2.m4.OLD	Sat Nov 27 10:29:19 1993
--- cf/ostype/sco3.2.m4	Sat Nov 27 10:29:10 1993
***************
*** 0 ****
--- 1,45 ----
+ divert(-1)
+ #
+ # Copyright (c) 1983 Eric P. Allman
+ # Copyright (c) 1988, 1993
+ #	The Regents of the University of California.  All rights reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions
+ # are met:
+ # 1. Redistributions of source code must retain the above copyright
+ #    notice, this list of conditions and the following disclaimer.
+ # 2. Redistributions in binary form must reproduce the above copyright
+ #    notice, this list of conditions and the following disclaimer in the
+ #    documentation and/or other materials provided with the distribution.
+ # 3. All advertising materials mentioning features or use of this software
+ #    must display the following acknowledgement:
+ #	This product includes software developed by the University of
+ #	California, Berkeley and its contributors.
+ # 4. Neither the name of the University nor the names of its contributors
+ #    may be used to endorse or promote products derived from this software
+ #    without specific prior written permission.
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+ 
+ divert(0)
+ VERSIONID(`@(#)sco32.m4	8.1 (Berkeley) 11/27/93')
+ define(`ALIAS_FILE', /usr/lib/mail/aliases)dnl
+ define(`QUEUE_DIR', /usr/spool/mqueue)dnl
+ define(`STATUS_FILE', /usr/lib/sendmail.st)dnl
+ define(`UUCP_MAILER_PATH', /usr/bin/uux)dnl
+ define(`LOCAL_MAILER_PATH', /usr/bin/lmail)dnl
+ define(`LOCAL_MAILER_FLAGS', PuhCE)dnl
+ define(`LOCAL_MAILER_ARGS', `lmail $u')dnl
+ define(`LOCAL_SHELL_FLAGS', Peu)dnl
*** doc/op/op.me.OLD	Fri Nov 12 09:44:20 1993
--- doc/op/op.me	Wed Jan 12 06:52:00 1994
***************
*** 30,36 ****
  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  .\" SUCH DAMAGE.
  .\"
! .\"	@(#)op.me	8.26 (Berkeley) 10/14/93
  .\"
  .\" eqn op.me | pic | troff -me
  .eh 'SMM:08-%''Sendmail Installation and Operation Guide'
--- 30,36 ----
  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  .\" SUCH DAMAGE.
  .\"
! .\"	@(#)op.me	8.32 (Berkeley) 1/12/94
  .\"
  .\" eqn op.me | pic | troff -me
  .eh 'SMM:08-%''Sendmail Installation and Operation Guide'
***************
*** 69,75 ****
  Mammoth Project
  eric@CS.Berkeley.EDU
  .sp
! Version 8.26
  .sp
  For Sendmail Version 8.6
  .)l
--- 69,75 ----
  Mammoth Project
  eric@CS.Berkeley.EDU
  .sp
! Version 8.32
  .sp
  For Sendmail Version 8.6
  .)l
***************
*** 185,191 ****
  on 4.4BSD.
  .pp
  If you are loading this off the tape,
! continue with the next session.
  If you have a running binary already on your system,
  you should probably skip to section 1.2.
  .sh 2 "Compiling Sendmail"
--- 185,191 ----
  on 4.4BSD.
  .pp
  If you are loading this off the tape,
! continue with the next section.
  If you have a running binary already on your system,
  you should probably skip to section 1.2.
  .sh 2 "Compiling Sendmail"
***************
*** 576,590 ****
  of this document.
  .sh 3 "/usr/\*(SB/newaliases"
  .pp
! If you are running delivermail,
! it is critical that the
  .i newaliases
! command be replaced.
! This can just be a link to
  .i sendmail :
  .(b
  rm \-f /usr/\*(SB/newaliases
! ln /usr/\*(SD/sendmail /usr/\*(SB/newaliases
  .)b
  This can be installed in whatever search path you prefer
  for your system.
--- 576,588 ----
  of this document.
  .sh 3 "/usr/\*(SB/newaliases"
  .pp
! The
  .i newaliases
! command should just be a link to
  .i sendmail :
  .(b
  rm \-f /usr/\*(SB/newaliases
! ln \-s /usr/\*(SD/sendmail /usr/\*(SB/newaliases
  .)b
  This can be installed in whatever search path you prefer
  for your system.
***************
*** 808,813 ****
--- 806,816 ----
  The system log is supported by the
  .i syslogd \|(8)
  program.
+ All messages from
+ .i sendmail
+ are logged under the
+ .sm LOG_MAIL
+ facility.
  .sh 3 "Format"
  .pp
  Each line in the system log
***************
*** 994,999 ****
--- 997,1012 ----
  .q mail.aliases
  in
  .q my.nis.domain .
+ Warning: if you build your own
+ .sm NIS -based
+ alias files,
+ be sure to provide the
+ .b \-l
+ flag to
+ .i makedbm (8)
+ to map upper case letters in the keys to lower case;
+ otherwise, aliases with upper case letters in their names
+ won't match incoming addresses.
  .pp
  Additional flags can be added after the colon
  exactly like a
***************
*** 1074,1084 ****
  .q a
  option is required in the configuration
  for this action to occur.
! This should normally be specified
! unless you are running
! .i delivermail
! in parallel with
! .i sendmail.
  .)f
  .sh 3 "List owners"
  .pp
--- 1087,1093 ----
  .q a
  option is required in the configuration
  for this action to occur.
! This should normally be specified.
  .)f
  .sh 3 "List owners"
  .pp
***************
*** 1438,1443 ****
--- 1447,1464 ----
  .i sendmail ,
  including the incoming SMTP traffic,
  will be logged in this file.
+ .sh 2 "Dumping State"
+ .pp
+ You can ask
+ .i sendmail
+ to log a dump of the open files
+ and the connection cache
+ by sending it a
+ .sm SIGUSR1
+ signal.
+ The results are logged at
+ .sm LOG_DEBUG
+ priority.
  .sh 1 "TUNING"
  .pp
  There are a number of configuration parameters
***************
*** 2381,2387 ****
  .b $)
  syntax is a more general form of lookup;
  it uses a named map instead of an implicit map.
! If no lookup is found, the indicted
  .i default
  is inserted;
  if no default is specified and no lookup matches,
--- 2402,2408 ----
  .b $)
  syntax is a more general form of lookup;
  it uses a named map instead of an implicit map.
! If no lookup is found, the indicated
  .i default
  is inserted;
  if no default is specified and no lookup matches,
***************
*** 2444,2455 ****
  may be a colon-separated list of hosts
  that are searched in order for the first working address
  (exactly like MX records).
  .pp
  A RHS may also be preceded by a
  .b $@
  or a
  .b $:
! to control evaluation.
  A
  .b $@
  prefix causes the ruleset to return with the remainder of the RHS
--- 2465,2485 ----
  may be a colon-separated list of hosts
  that are searched in order for the first working address
  (exactly like MX records).
+ The
+ .i user
+ is later rewritten by the mailer-specific envelope rewriting set
+ and assigned to the
+ .b $u
+ macro.
  .pp
+ Normally, a ruleset that matches is retried,
+ that is,
+ the ruleset loops until it fails.
  A RHS may also be preceded by a
  .b $@
  or a
  .b $:
! to change this behavior.
  A
  .b $@
  prefix causes the ruleset to return with the remainder of the RHS
***************
*** 2794,2800 ****
  Defaults to
  .q MAILER-DAEMON .
  .ip $o\(dg
! .b "The set of "operators" in addresses."
  A list of characters
  which will be considered tokens
  and which will separate tokens
--- 2824,2830 ----
  Defaults to
  .q MAILER-DAEMON .
  .ip $o\(dg
! .b "The set of \*(lqoperators\*(rq in addresses."
  A list of characters
  which will be considered tokens
  and which will separate tokens
***************
*** 3109,3114 ****
--- 3139,3165 ----
  is set to be the same as
  .b $k ,
  that is, the UUCP node name.
+ .pp
+ The class
+ .b $=m
+ is set to the set of domains by which this host is known,
+ initially just
+ .b $m .
+ .pp
+ .i Sendmail
+ can be compiled to allow a
+ .i scanf (3)
+ string on the
+ .b F
+ line.
+ This lets you do simplistic parsing of text files.
+ For example, to read all the user names in your system
+ .i /etc/passwd
+ file into a class, use
+ .(b
+ FL/etc/passwd %[^:]
+ .)b
+ which reads every line up to the first colon.
  .sh 3 "M \*- define mailer"
  .pp
  Programs and interfaces to mailers
***************
*** 3698,3704 ****
  .ip k\fIN\fP
  The maximum number of open connections that will be cached at a time.
  The default is one.
! This delays closing the the current connection until
  either this invocation of
  .i sendmail
  needs to connect to another host
--- 3749,3755 ----
  .ip k\fIN\fP
  The maximum number of open connections that will be cached at a time.
  The default is one.
! This delays closing the current connection until
  either this invocation of
  .i sendmail
  needs to connect to another host
***************
*** 3794,3799 ****
--- 3845,3851 ----
  restrictmailq	Restrict mailq command
  restrictqrun	Restrict \-q command line flag
  goaway	Disallow essentially all SMTP status queries
+ authwarnings	Put X-Authentication-Warning: headers in messages
  .)b
  The
  .q goaway
***************
*** 3807,3812 ****
--- 3859,3867 ----
  If queue runs are restricted,
  only root and the owner of the queue directory
  can run the queue.
+ Authentication Warnings add warnings about various conditions
+ that may indicate attempts to spoof the mail system,
+ such as using an non-standard queue directory.
  .ip P\fIpostmaster\fP
  If set,
  copies of error messages will be sent to the named
***************
*** 3893,3899 ****
  even if you are going to attempt immediate delivery.
  .i Sendmail
  always instantiates the queue file
! before returning control the the client
  under any circumstances.
  .ip S\fIfile\fP
  Log statistics in the named
--- 3948,3954 ----
  even if you are going to attempt immediate delivery.
  .i Sendmail
  always instantiates the queue file
! before returning control the client
  under any circumstances.
  .ip S\fIfile\fP
  Log statistics in the named
***************
*** 4165,4170 ****
--- 4220,4240 ----
  change the default definition of
  .b $w
  to be just the first component of the hostname.
+ .pp
+ The
+ .b V
+ line may have an optional
+ .b / \c
+ .i vendor
+ to indicate that this configuration file uses modifications
+ specific to a particular vendor\**.
+ .(f
+ \**And of course, vendors are encouraged to add themselves
+ to the list of recognized vendors by editing the routine
+ .i setvendor
+ in
+ .i conf.c .
+ .)f
  .sh 3 "K \*- key file declaration"
  .pp
  Special maps can be defined using the line:
***************
*** 4265,4271 ****
  and the third requires that
  .i sendmail
  be compiled with NIS support.
! All four accept as arguments the some optional flags
  and a filename
  (or a mapname for NIS;
  the filename is the root of the database path,
--- 4335,4341 ----
  and the third requires that
  .i sendmail
  be compiled with NIS support.
! All four accept as arguments the same optional flags
  and a filename
  (or a mapname for NIS;
  the filename is the root of the database path,
***************
*** 4616,4622 ****
  know exactly where each network connection is,
  possibly including the names of each host on that network.
  As long as the site remains small
! and the the configuration remains relatively static,
  the update problem will probably not be too great.
  .sh 4 "Single host"
  .pp
--- 4686,4692 ----
  know exactly where each network connection is,
  possibly including the names of each host on that network.
  As long as the site remains small
! and the configuration remains relatively static,
  the update problem will probably not be too great.
  .sh 4 "Single host"
  .pp
***************
*** 4944,4951 ****
  .i "if and only if"
  the
  .q C
! flag is defined in the mailer corresponding to
! .q eric@vangogh.CS.Berkeley.EDU.
  .pp
  Other flags are described
  in Appendix C.
--- 5014,5023 ----
  .i "if and only if"
  the
  .q C
! flag is defined in the mailer resolved to
! by running
! .q eric@vangogh.CS.Berkeley.EDU
! through rulesets 3 and 0.
  .pp
  Other flags are described
  in Appendix C.
***************
*** 4998,5004 ****
  may be used.
  .pp
  Finally,
! an argv template is given as the E field.
  It may have embedded spaces.
  If there is no argv with a
  .b $u
--- 5070,5076 ----
  may be used.
  .pp
  Finally,
! an argv template is given as the A field.
  It may have embedded spaces.
  If there is no argv with a
  .b $u
***************
*** 5175,5181 ****
  .q maildrop
  is found for the user,
  but no corresponding
! .q maildrop
  record exists,
  the record
  .q :default:mailname
--- 5247,5253 ----
  .q maildrop
  is found for the user,
  but no corresponding
! .q mailname
  record exists,
  the record
  .q :default:mailname
***************
*** 5310,5316 ****
  The load average type.
  Details are described below.
  .lp
! The are four built-in ways of computing the load average.
  .i Sendmail
  tries to auto-configure them based on imperfect guesses;
  you can select one using the
--- 5382,5388 ----
  The load average type.
  Details are described below.
  .lp
! The are several built-in ways of computing the load average.
  .i Sendmail
  tries to auto-configure them based on imperfect guesses;
  you can select one using the
***************
*** 5332,5337 ****
--- 5404,5411 ----
  .ip LA_FLOAT
  The kernel stores the load average in the kernel as an array of
  double precision floats.
+ .ip LA_MACH
+ Use MACH-style load averages.
  .ip LA_SUBR
  Call the
  .i getloadavg
***************
*** 6009,6015 ****
  However, for compatibility with RFC 822,
  you can set option `7' to get seven bit stripping.
  .pp
! Individual mailers can still produce seven bit out put using the
  `7' mailer flag.
  .sh 2 "User Database"
  .pp
--- 6083,6089 ----
  However, for compatibility with RFC 822,
  you can set option `7' to get seven bit stripping.
  .pp
! Individual mailers can still produce seven bit output using the
  `7' mailer flag.
  .sh 2 "User Database"
  .pp
***************
*** 6517,6525 ****
  This produces a lot of data very quickly and should be used sparingly.
  .pp
  There are a number of options that may be specified as
! primitive flags
! (provided for compatibility with
! .i delivermail ).
  These are the e, i, m, and v options.
  Also,
  the f option
--- 6591,6597 ----
  This produces a lot of data very quickly and should be used sparingly.
  .pp
  There are a number of options that may be specified as
! primitive flags.
  These are the e, i, m, and v options.
  Also,
  the f option
***************
*** 6803,6809 ****
  .\"Eric Allman
  .\"Britton-Lee, Inc.
  .\".sp
! .\"Version 8.26
  .\".ce 0
  .bp 2
  .rs
--- 6875,6881 ----
  .\"Eric Allman
  .\"Britton-Lee, Inc.
  .\".sp
! .\"Version 8.32
  .\".ce 0
  .bp 2
  .rs
*** mailstats/mailstats.c.OLD	Tue Jul 27 10:38:56 1993
--- mailstats/mailstats.c	Mon Dec 27 17:07:17 1993
***************
*** 40,46 ****
  #endif /* not lint */
  
  #ifndef lint
! static char sccsid[] = "@(#)mailstats.c	8.2 (Berkeley) 7/27/93";
  #endif /* not lint */
  
  #include <sendmail.h>
--- 40,46 ----
  #endif /* not lint */
  
  #ifndef lint
! static char sccsid[] = "@(#)mailstats.c	8.3 (Berkeley) 12/27/93";
  #endif /* not lint */
  
  #include <sendmail.h>
***************
*** 63,68 ****
--- 63,69 ----
  	char *cfile;
  	FILE *cfp;
  	bool mnames;
+ 	long frmsgs = 0, frbytes = 0, tomsgs = 0, tobytes = 0;
  	char mtable[MAXMAILERS][MNAMELEN+1];
  	char sfilebuf[100];
  	char buf[MAXLINE];
***************
*** 195,201 ****
--- 196,209 ----
  			if (mnames)
  				printf("  %s", mtable[i]);
  			printf("\n");
+ 			frmsgs += stat.stat_nf[i];
+ 			frbytes += stat.stat_bf[i];
+ 			tomsgs += stat.stat_nt[i];
+ 			tobytes += stat.stat_bt[i];
  		}
  	}
+ 	printf("========================================\n");
+ 	printf(" T %6ld %10ldK %6ld %10ldK\n",
+ 		frmsgs, frbytes, tomsgs, tobytes);
  	exit(EX_OK);
  }
*** makemap/Makefile.dist.OLD	Wed Dec  1 09:17:58 1993
--- makemap/Makefile.dist	Sat Nov 27 09:07:40 1993
***************
*** 0 ****
--- 1,81 ----
+ #
+ #  This Makefile is designed to work on the old "make" program.  It does
+ #  not use the obj subdirectory.  It also does not install documentation
+ #  automatically -- think of it as a quick start for sites that have the
+ #  old make program (I recommend that you get and port the new make if you
+ #  are going to be doing any signficant work on sendmail).
+ #
+ #	@(#)Makefile.dist	8.2 (Berkeley) 11/27/93
+ #
+ 
+ # use O=-O (usual) or O=-g (debugging)
+ O=	-O
+ 
+ # location of sendmail source directory
+ SRCDIR=	../src
+ 
+ # define the database mechanisms available for map & alias lookups:
+ #	-DNDBM -- use new DBM
+ #	-DNEWDB -- use new Berkeley DB
+ # The really old (V7) DBM library is no longer supported.
+ #
+ DBMDEF=	-DNDBM -DNEWDB
+ 
+ # environment definitions (e.g., -D_AIX3)
+ ENVDEF=
+ 
+ # see also conf.h for additional compilation flags
+ 
+ # include directories
+ INCDIRS=-I${SRCDIR} -I/usr/sww/include/db
+ 
+ # loader options
+ LDOPTS=
+ 
+ # library directories
+ LIBDIRS=-L/usr/sww/lib
+ 
+ # libraries required on your system
+ LIBS=	-ldb -ldbm
+ 
+ # location of makemap binary (usually /usr/sbin or /usr/etc)
+ BINDIR=	${DESTDIR}/usr/sbin
+ 
+ # additional .o files needed
+ OBJADD=
+ 
+ ###################  end of user configuration flags  ######################
+ 
+ CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
+ 
+ OBJS=	makemap.o ${OBJADD}
+ 
+ LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
+ BINOWN=	bin
+ BINGRP=	bin
+ BINMODE=555
+ 
+ ALL=	makemap makemap.0
+ 
+ all: ${ALL}
+ 
+ makemap: ${BEFORE} ${OBJS}
+ 	${CC} -o makemap ${LDOPTS} ${OBJS} ${LIBDIRS} ${LIBS}
+ 
+ makemap.0: makemap.8
+ 	nroff -h -mandoc makemap.8 > makemap.0
+ 
+ install: install-makemap install-docs
+ 
+ install-makemap: makemap
+ 	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} makemap ${BINDIR}
+ 
+ # doesn't actually install them -- you may want to install pre-nroff versions
+ install-docs: makemap.0
+ 
+ clean:
+ 	rm -f ${OBJS} makemap makemap.0
+ 
+ # dependencies
+ #   gross overkill, and yet still not quite enough....
+ ${OBJS}: ${SRCDIR}/conf.h
*** makemap/makemap.c.OLD	Mon Nov 22 11:26:28 1993
--- makemap/makemap.c	Mon Nov 22 11:44:10 1993
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)makemap.c	8.5 (Berkeley) 9/22/93";
  #endif /* not lint */
  
  #include <stdio.h>
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)makemap.c	8.6 (Berkeley) 11/22/93";
  #endif /* not lint */
  
  #include <stdio.h>
***************
*** 262,269 ****
  		*/
  
  		p = strchr(ibuf, '\n');
! 		if (*p != '\0')
  			*p = '\0';
  		if (ibuf[0] == '\0' || ibuf[0] == '#')
  			continue;
  		if (isspace(ibuf[0]))
--- 262,276 ----
  		*/
  
  		p = strchr(ibuf, '\n');
! 		if (p != NULL)
  			*p = '\0';
+ 		else if (!feof(stdin))
+ 		{
+ 			fprintf(stderr, "%s: %s: line %d: line too long (%d bytes max)\n",
+ 				progname, mapname, lineno, sizeof ibuf);
+ 			continue;
+ 		}
+ 			
  		if (ibuf[0] == '\0' || ibuf[0] == '#')
  			continue;
  		if (isspace(ibuf[0]))
*** praliases/Makefile.dist.OLD	Wed Dec  1 09:18:02 1993
--- praliases/Makefile.dist	Sat Nov 27 09:07:26 1993
***************
*** 0 ****
--- 1,81 ----
+ #
+ #  This Makefile is designed to work on the old "make" program.  It does
+ #  not use the obj subdirectory.  It also does not install documentation
+ #  automatically -- think of it as a quick start for sites that have the
+ #  old make program (I recommend that you get and port the new make if you
+ #  are going to be doing any signficant work on sendmail).
+ #
+ #	@(#)Makefile.dist	8.1 (Berkeley) 11/27/93
+ #
+ 
+ # use O=-O (usual) or O=-g (debugging)
+ O=	-O
+ 
+ # location of sendmail source directory
+ SRCDIR=	../src
+ 
+ # define the database mechanisms available for map & alias lookups:
+ #	-DNDBM -- use new DBM
+ #	-DNEWDB -- use new Berkeley DB
+ # The really old (V7) DBM library is no longer supported.
+ #
+ DBMDEF=	-DNDBM -DNEWDB
+ 
+ # environment definitions (e.g., -D_AIX3)
+ ENVDEF=
+ 
+ # see also conf.h for additional compilation flags
+ 
+ # include directories
+ INCDIRS=-I${SRCDIR} -I/usr/sww/include/db
+ 
+ # loader options
+ LDOPTS=
+ 
+ # library directories
+ LIBDIRS=-L/usr/sww/lib
+ 
+ # libraries required on your system
+ LIBS=	-ldb -ldbm
+ 
+ # location of praliases binary (usually /usr/sbin or /usr/etc)
+ BINDIR=	${DESTDIR}/usr/sbin
+ 
+ # additional .o files needed
+ OBJADD=
+ 
+ ###################  end of user configuration flags  ######################
+ 
+ CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
+ 
+ OBJS=	praliases.o ${OBJADD}
+ 
+ LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
+ BINOWN=	bin
+ BINGRP=	bin
+ BINMODE=555
+ 
+ ALL=	praliases praliases.0
+ 
+ all: ${ALL}
+ 
+ praliases: ${BEFORE} ${OBJS}
+ 	${CC} -o praliases ${LDOPTS} ${OBJS} ${LIBDIRS} ${LIBS}
+ 
+ praliases.0: praliases.8
+ 	nroff -h -mandoc praliases.8 > praliases.0
+ 
+ install: install-praliases install-docs
+ 
+ install-praliases: praliases
+ 	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} praliases ${BINDIR}
+ 
+ # doesn't actually install them -- you may want to install pre-nroff versions
+ install-docs: praliases.0
+ 
+ clean:
+ 	rm -f ${OBJS} praliases praliases.0
+ 
+ # dependencies
+ #   gross overkill, and yet still not quite enough....
+ ${OBJS}: ${SRCDIR}/conf.h
*** src/Makefile.OLD	Sun Aug 15 06:43:09 1993
--- src/Makefile	Mon Dec 20 10:52:10 1993
***************
*** 1,4 ****
! #	@(#)Makefile	8.2 (Berkeley) 8/15/93
  
  PROG=	sendmail
  
--- 1,4 ----
! #	@(#)Makefile	8.3 (Berkeley) 12/20/93
  
  PROG=	sendmail
  
***************
*** 34,40 ****
  beforeinstall:
  #	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  #	    ${DESTDIR}/etc/sendmail.fc
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${DESTDIR}/var/log/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/sendmail.hf \
  	    ${DESTDIR}/usr/share/misc
--- 34,40 ----
  beforeinstall:
  #	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  #	    ${DESTDIR}/etc/sendmail.fc
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  	    ${DESTDIR}/var/log/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/sendmail.hf \
  	    ${DESTDIR}/usr/share/misc
*** src/Makefile.386BSD.OLD	Sat Dec 18 11:20:32 1993
--- src/Makefile.386BSD	Sat Dec 18 11:21:07 1993
***************
*** 34,40 ****
  beforeinstall:
  #	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  #	    ${DESTDIR}/etc/sendmail.fc
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${DESTDIR}/var/log/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/sendmail.hf \
  	    ${DESTDIR}/usr/share/misc
--- 34,40 ----
  beforeinstall:
  #	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  #	    ${DESTDIR}/etc/sendmail.fc
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  	    ${DESTDIR}/var/log/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/sendmail.hf \
  	    ${DESTDIR}/usr/share/misc
*** src/Makefile.AIX.OLD	Wed Dec  1 19:08:02 1993
--- src/Makefile.AIX	Mon Jan  3 07:06:46 1994
***************
*** 5,11 ****
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #  This has been tested on AIX 3.1.5.
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 5,11 ----
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #  This has been tested on AIX 3.1.5 and 3.2.3e.
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 19,24 ****
--- 19,27 ----
  # See READ_ME for a description of how these flags interact.
  #
  DBMDEF=	-DNDBM -DNEWDB
+ #
+ #  If you did not install the NEWDB on your AIX platform, use:
+ #DBMDEF=-DNDBM
  
  # environment definitions (e.g., -D_AIX3)
  ENVDEF=	-D_AIX3
***************
*** 33,38 ****
--- 36,44 ----
  
  # libraries required on your system
  LIBS=	-ldbm -ldb
+ #
+ #  If you did not install the NEWDB on your AIX platform, use:
+ #LIBS=	-ldbm
  
  # location of sendmail binary (usually /usr/sbin or /usr/lib)
  BINDIR=	${DESTDIR}/usr/sbin
***************
*** 41,51 ****
  STDIR=	${DESTDIR}/var/log
  
  # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
! HFDIR=	${DESTDIR}/usr/share/misc
  
  # additional .o files needed
  OBJADD=
  
  ###################  end of user configuration flags  ######################
  
  CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
--- 47,59 ----
  STDIR=	${DESTDIR}/var/log
  
  # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
! HFDIR=	${DESTDIR}/usr/lib
  
  # additional .o files needed
  OBJADD=
  
+ INSTALL=/usr/ucb/install
+ 
  ###################  end of user configuration flags  ######################
  
  CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
***************
*** 80,90 ****
  install: install-sendmail install-docs
  
  install-sendmail: sendmail
! 	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${STDIR}/sendmail.st
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
  # doesn't actually install them -- you may want to install pre-nroff versions
  install-docs: aliases.0 newaliases.0 sendmail.0
--- 88,98 ----
  install: install-sendmail install-docs
  
  install-sendmail: sendmail
! 	${INSTALL} -O ${BINOWN} -G ${BINGRP} -M ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	${INSTALL} -c -O ${BINOWN} -G ${BINGRP} -M 644 /dev/null \
  	    ${STDIR}/sendmail.st
! 	${INSTALL} -c -O ${BINOWN} -G ${BINGRP} -M 444 sendmail.hf ${HFDIR}
  
  # doesn't actually install them -- you may want to install pre-nroff versions
  install-docs: aliases.0 newaliases.0 sendmail.0
*** src/Makefile.AUX.OLD	Sat Dec 18 11:20:32 1993
--- src/Makefile.AUX	Sat Dec 18 11:21:12 1993
***************
*** 85,91 ****
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do ; rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
--- 85,91 ----
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do ; rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
*** src/Makefile.BSD43.OLD	Fri Nov 12 06:21:16 1993
--- src/Makefile.BSD43	Sat Dec 18 11:21:16 1993
***************
*** 33,39 ****
  #LIBDIRS=-L/usr/sww/lib
  
  # libraries required on your system
! LIBS=	-ldbm -lresolv
  
  # location of sendmail binary (usually /usr/sbin or /usr/lib)
  BINDIR=	${DESTDIR}/usr/lib
--- 33,39 ----
  #LIBDIRS=-L/usr/sww/lib
  
  # libraries required on your system
! LIBS=	-ldbm -lresolv -ll
  
  # location of sendmail binary (usually /usr/sbin or /usr/lib)
  BINDIR=	${DESTDIR}/usr/lib
***************
*** 48,54 ****
  OBJADD=
  
  # additional pseudo-sources needed
! BEFORE=	unistd.h stddef.h stdlib.h
  
  ###################  end of user configuration flags  ######################
  
--- 48,54 ----
  OBJADD=
  
  # additional pseudo-sources needed
! BEFORE=	unistd.h stddef.h stdlib.h dirent.h sys/time.h
  
  ###################  end of user configuration flags  ######################
  
***************
*** 72,80 ****
  sendmail: ${BEFORE} ${OBJS}
  	${CC} -o sendmail ${OBJS} ${LIBDIRS} ${LIBS}
  
! unistd.h stddef.h stdlib.h:
  	cp /dev/null $@
  
  aliases.0: aliases.5
  	nroff -h -mandoc aliases.5 > aliases.0
  
--- 72,89 ----
  sendmail: ${BEFORE} ${OBJS}
  	${CC} -o sendmail ${OBJS} ${LIBDIRS} ${LIBS}
  
! unistd.h stddef.h stdlib.h sys/time.h:
  	cp /dev/null $@
  
+ sys/time.h: sys
+ 
+ sys:
+ 	mkdir sys
+ 
+ dirent.h:
+ 	echo "#include <sys/dir.h>" > dirent.h
+ 	echo "#define dirent	direct" >> dirent.h
+ 
  aliases.0: aliases.5
  	nroff -h -mandoc aliases.5 > aliases.0
  
***************
*** 89,95 ****
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
--- 98,104 ----
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
*** src/Makefile.BSDI.OLD	Sat Dec 18 11:20:32 1993
--- src/Makefile.BSDI	Sat Dec 18 11:21:18 1993
***************
*** 82,88 ****
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do (rm -f $$i; ln -s ${BINDIR}/sendmail $$i); done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
--- 82,88 ----
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do (rm -f $$i; ln -s ${BINDIR}/sendmail $$i); done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
*** src/Makefile.ConvexOS.OLD	Sat Dec 18 11:20:32 1993
--- src/Makefile.ConvexOS	Sat Dec 18 11:21:21 1993
***************
*** 83,89 ****
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
--- 83,89 ----
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
*** src/Makefile.DGUX.OLD	Sat Nov 27 09:28:17 1993
--- src/Makefile.DGUX	Sat Dec 18 11:21:23 1993
***************
*** 0 ****
--- 1,94 ----
+ #
+ #  Tested on DG/UX 5.4.2 by A. Bryan Curnutt <bryan@Stoner.COM>.
+ #
+ 
+ # use O=-O (usual) or O=-g (debugging)
+ O=	-O
+ 
+ # define the database mechanisms available for map & alias lookups:
+ #	-DNDBM -- use new DBM
+ #	-DNEWDB -- use new Berkeley DB
+ #	-DNIS -- include NIS support
+ # The really old (V7) DBM library is no longer supported.
+ # See READ_ME for a description of how these flags interact.
+ #
+ DBMDEF=	-DNDBM -DNIS
+ 
+ # environment definitions (e.g., -D_AIX3)
+ ENVDEF=-DDGUX
+ 
+ # see also conf.h for additional compilation flags
+ 
+ # include directories
+ INCDIRS=-I/usr/sww/include/db
+ 
+ # loader options
+ LDOPTS=
+ 
+ # library directories
+ LIBDIRS=-L/usr/sww/lib
+ 
+ # libraries required on your system
+ LIBS=	-ldbm
+ 
+ # location of sendmail binary (usually /usr/sbin or /usr/lib)
+ BINDIR=	${DESTDIR}/usr/bin
+ 
+ # location of sendmail.st file (usually /var/log or /usr/lib)
+ STDIR=	${DESTDIR}/usr/lib
+ 
+ # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
+ HFDIR=	${DESTDIR}/etc
+ 
+ # additional .o files needed
+ OBJADD=
+ 
+ ###################  end of user configuration flags  ######################
+ 
+ CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
+ 
+ OBJS=	alias.o arpadate.o clock.o collect.o conf.o convtime.o daemon.o \
+ 	deliver.o domain.o envelope.o err.o headers.o macro.o main.o \
+ 	map.o mci.o parseaddr.o queue.o readcf.o recipient.o \
+ 	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
+ 	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
+ 
+ LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
+ BINOWN=	root
+ BINGRP=	bin
+ BINMODE=6555
+ 
+ ALL=	sendmail aliases.0 newaliases.0 sendmail.0
+ 
+ all: ${ALL}
+ 
+ sendmail: ${BEFORE} ${OBJS}
+ 	${CC} -o sendmail ${LDOPTS} ${OBJS} ${LIBDIRS} ${LIBS}
+ 
+ aliases.0: aliases.5
+ 	nroff -h -mandoc aliases.5 > aliases.0
+ 
+ newaliases.0: newaliases.1
+ 	nroff -h -mandoc newaliases.1 > newaliases.0
+ 
+ sendmail.0: sendmail.8
+ 	nroff -h -mandoc sendmail.8 > sendmail.0
+ 
+ install: install-sendmail install-docs
+ 
+ install-sendmail: sendmail
+ 	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
+ 	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
+ 	    ${STDIR}/sendmail.st
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
+ 
+ # doesn't actually install them -- you may want to install pre-nroff versions
+ install-docs: aliases.0 newaliases.0 sendmail.0
+ 
+ clean:
+ 	rm -f ${OBJS} sendmail aliases.0 newaliases.0 sendmail.0
+ 
+ # dependencies
+ #   gross overkill, and yet still not quite enough....
+ ${OBJS}: sendmail.h conf.h
*** src/Makefile.Dell.OLD	Sat Dec 18 05:08:30 1993
--- src/Makefile.Dell	Wed Dec 22 04:39:02 1993
***************
*** 10,20 ****
  #	work on other SVR4 ports.
  #
  
  # use O=-O (usual) or O=-g (debugging)
! O=	-O
  
  CC=	gcc
! DESTDIR=/usr/local/sendmail
  
  # define the database mechanism used for alias lookups:
  #	-DNDBM -- use new DBM
--- 10,23 ----
  #	work on other SVR4 ports.
  #
  
+ # make sure the shell constructs below use the right shell
+ SHELL=	/bin/sh
+ 
  # use O=-O (usual) or O=-g (debugging)
! O=	-O2
  
  CC=	gcc
! #DESTDIR=/usr/local/sendmail
  
  # define the database mechanism used for alias lookups:
  #	-DNDBM -- use new DBM
***************
*** 26,32 ****
  DBMDEF=	-DNEWDB -DNDBM
  
  # environment definitions (e.g., -D_AIX3)
! ENVDEF=	-DDELL_SVR4
  
  # see also conf.h for additional compilation flags
  
--- 29,35 ----
  DBMDEF=	-DNEWDB -DNDBM
  
  # environment definitions (e.g., -D_AIX3)
! ENVDEF=	-D__svr4__
  
  # see also conf.h for additional compilation flags
  
***************
*** 40,52 ****
  LIBS=	-ldb -ldbm -lresolv -lsocket -lnsl -lelf
  
  # location of sendmail binary (usually /usr/sbin or /usr/lib)
! BINDIR=	${DESTDIR}/bin
  
  # location of sendmail.st file (usually /var/log or /usr/lib)
! STDIR=	${DESTDIR}/etc
  
  # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
! HFDIR=	${DESTDIR}/etc
  
  # additional .o files needed
  OBJADD=
--- 43,55 ----
  LIBS=	-ldb -ldbm -lresolv -lsocket -lnsl -lelf
  
  # location of sendmail binary (usually /usr/sbin or /usr/lib)
! BINDIR=	${DESTDIR}/usr/ucblib
  
  # location of sendmail.st file (usually /var/log or /usr/lib)
! STDIR=	${DESTDIR}/usr/ucblib
  
  # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
! HFDIR=	${DESTDIR}/usr/ucblib
  
  # additional .o files needed
  OBJADD=
***************
*** 63,69 ****
  
  LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
  BINOWN=	root
! BINGRP=	sys
  BINMODE=6555
  INSTALL=/usr/ucb/install
  
--- 66,72 ----
  
  LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
  BINOWN=	root
! BINGRP=	mail
  BINMODE=6555
  INSTALL=/usr/ucb/install
  
***************
*** 88,94 ****
  install-sendmail: sendmail
  	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${STDIR}/sendmail.st
  	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
--- 91,97 ----
  install-sendmail: sendmail
  	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  	    ${STDIR}/sendmail.st
  	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
*** src/Makefile.Dynix.OLD	Sat Nov 27 14:23:38 1993
--- src/Makefile.Dynix	Sat Dec 18 11:21:27 1993
***************
*** 0 ****
--- 1,106 ----
+ #
+ #  Tested on Dynix 3.2.0.
+ #
+ #	From Jim Davis <jdavis@cs.arizona.edu>.
+ #
+ #     ``There is no strtol in libc (well there is in the 'att universe'
+ #	libc, but I couldn't figure out how to link that in), so I
+ #	got the Chris Torek strtol.c from bsd-sources on uunet and
+ #	compiled that.  There is no native ndbm either; I couldn't
+ #	get db 1.72 to pass it's regression test, so I used gdbm-1.7
+ #	instead.  I compiled it with gcc 1.40a.  The -lseq is to pick
+ #	up getopt.''
+ #
+ 
+ CC= gcc
+ 
+ # use O=-O (usual) or O=-g (debugging)
+ O=	-O -g
+ 
+ # define the database mechanisms available for map & alias lookups:
+ #	-DNDBM -- use new DBM
+ #	-DNEWDB -- use new Berkeley DB
+ #	-DNIS -- include NIS support
+ # The really old (V7) DBM library is no longer supported.
+ # See READ_ME for a description of how these flags interact.
+ #
+ DBMDEF=	-DNDBM
+ 
+ # environment definitions (e.g., -D_AIX3)
+ ENVDEF=
+ 
+ # see also conf.h for additional compilation flags
+ 
+ # include directories
+ INCDIRS=
+ 
+ # loader options
+ LDOPTS=
+ 
+ # library directories
+ LIBDIRS=
+ 
+ # libraries required on your system
+ LIBS=	-lseq -lgdbm
+ 
+ # location of sendmail binary (usually /usr/sbin or /usr/lib)
+ BINDIR=	${DESTDIR}/usr/lib
+ 
+ # location of sendmail.st file (usually /var/log or /usr/lib)
+ STDIR=	${DESTDIR}/usr/lib
+ 
+ # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
+ HFDIR=	${DESTDIR}/usr/lib
+ 
+ # additional .o files needed
+ OBJADD=strtol.o
+ 
+ ###################  end of user configuration flags  ######################
+ 
+ CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
+ 
+ OBJS=	alias.o arpadate.o clock.o collect.o conf.o convtime.o daemon.o \
+ 	deliver.o domain.o envelope.o err.o headers.o macro.o main.o \
+ 	map.o mci.o parseaddr.o queue.o readcf.o recipient.o \
+ 	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
+ 	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
+ 
+ LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
+ BINOWN=	root
+ BINGRP=	staff # no kmem group,
+ BINMODE=4555  # so not setgid
+ 
+ ALL=	sendmail aliases.0 newaliases.0 sendmail.0
+ 
+ all: ${ALL}
+ 
+ sendmail: ${BEFORE} ${OBJS}
+ 	${CC} -o sendmail ${LDOPTS} ${OBJS} ${LIBDIRS} ${LIBS}
+ 
+ aliases.0: aliases.5
+ 	nroff -h -mandoc aliases.5 > aliases.0
+ 
+ newaliases.0: newaliases.1
+ 	nroff -h -mandoc newaliases.1 > newaliases.0
+ 
+ sendmail.0: sendmail.8
+ 	nroff -h -mandoc sendmail.8 > sendmail.0
+ 
+ install: install-sendmail install-docs
+ 
+ install-sendmail: sendmail
+ 	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
+ 	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
+ 	    ${STDIR}/sendmail.st
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
+ 
+ # doesn't actually install them -- you may want to install pre-nroff versions
+ install-docs: aliases.0 newaliases.0 sendmail.0
+ 
+ clean:
+ 	rm -f ${OBJS} sendmail aliases.0 newaliases.0 sendmail.0
+ 
+ # dependencies
+ #   gross overkill, and yet still not quite enough....
+ ${OBJS}: sendmail.h conf.h
*** src/Makefile.FreeBSD.OLD	Wed Dec  1 09:21:27 1993
--- src/Makefile.FreeBSD	Sat Dec 18 11:21:31 1993
***************
*** 0 ****
--- 1,49 ----
+ #
+ #  Makefile for FreeBSD
+ #
+ #	@(#)Makefile	8.2 (Berkeley) 8/15/93
+ 
+ PROG=	sendmail
+ 
+ # define the database format to use for aliases et al.  Can be -DNEWDB (for
+ # the new BSD database package -- this is preferred) or -DNDBM for the NDBM
+ # database package.  The old putrescent V7 DBM package is no longer
+ # supported.
+ # You can define both NEWDB and NDBM during a transition period; old
+ # databases are read, but the new format will be used on any rebuilds.  On
+ # really gnarly systems, you can set this to null; it will crawl like a high
+ # spiral snail, but it will work.
+ DBMDEF=	-DNEWDB
+ 
+ # FreeBSD 1.0 RELEASE has uname(2) now. Use -DUSEUNAME in order to use it.
+ CFLAGS+=-I${.CURDIR} ${DBMDEF} -DMIME -DUSEUNAME
+ 
+ SRCS=	alias.c arpadate.c clock.c collect.c conf.c convtime.c daemon.c \
+ 	deliver.c domain.c envelope.c err.c headers.c macro.c main.c map.c \
+ 	mci.c parseaddr.c queue.c readcf.c recipient.c savemail.c srvrsmtp.c \
+ 	stab.c stats.c sysexits.c trace.c udb.c usersmtp.c \
+ 	util.c version.c
+ DPADD=	
+ LDADD=	$(LIBUTIL)
+ #
+ # FreeBSD 1.0 RELEASE has GNU man and doesn't need preformatted man pages anymore
+ #
+ MAN1=	newaliases.1
+ MAN5=	aliases.5
+ MAN8=	sendmail.8 
+ LINKS=	/usr/sbin/sendmail /usr/bin/newaliases \
+ 	/usr/sbin/sendmail /usr/bin/mailq
+ BINDIR=	/usr/sbin
+ BINOWN=	root
+ BINGRP=	kmem
+ BINMODE=6555
+ 
+ beforeinstall:
+ #	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
+ #	    ${DESTDIR}/etc/sendmail.fc
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
+ 	    ${DESTDIR}/var/log/sendmail.st
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/sendmail.hf \
+ 	    ${DESTDIR}/usr/share/misc
+ 
+ .include <bsd.prog.mk>
*** src/Makefile.HP-UX.OLD	Sat Dec 18 11:20:33 1993
--- src/Makefile.HP-UX	Tue Jan  4 08:00:44 1994
***************
*** 39,45 ****
  BINDIR=	${DESTDIR}/usr/lib
  
  # location of sendmail.st file (usually /var/log or /usr/lib)
! STDIR=	${DESTDIR}/var/log
  
  # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
  HFDIR=	${DESTDIR}/usr/lib
--- 39,45 ----
  BINDIR=	${DESTDIR}/usr/lib
  
  # location of sendmail.st file (usually /var/log or /usr/lib)
! STDIR=	${DESTDIR}/usr/lib
  
  # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
  HFDIR=	${DESTDIR}/usr/lib
***************
*** 58,66 ****
  	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
  	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
  
! LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
  BINOWN=	root
! BINGRP=	sys
  BINMODE=6555
  
  ALL=	sendmail aliases.0 newaliases.0 sendmail.0
--- 58,66 ----
  	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
  	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
  
! LINKS=	${DESTDIR}/usr/bin/newaliases ${DESTDIR}/usr/bin/mailq
  BINOWN=	root
! BINGRP=	mail
  BINMODE=6555
  
  ALL=	sendmail aliases.0 newaliases.0 sendmail.0
***************
*** 82,92 ****
  install: install-sendmail install-docs
  
  install-sendmail: sendmail
! 	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
! 	    ${STDIR}/sendmail.st
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
  # doesn't actually install them -- you may want to install pre-nroff versions
  install-docs: aliases.0 newaliases.0 sendmail.0
--- 82,91 ----
  install: install-sendmail install-docs
  
  install-sendmail: sendmail
! 	cpset sendmail ${BINDIR} ${BINMODE} ${BINOWN} ${BINGRP}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	cpset /dev/null ${STDIR}/sendmail.st 644 ${BINOWN} ${BINGRP}
! 	cpset sendmail.hf ${HFDIR} 444 ${BINOWN} ${BINGRP}
  
  # doesn't actually install them -- you may want to install pre-nroff versions
  install-docs: aliases.0 newaliases.0 sendmail.0
*** src/Makefile.IRIX.OLD	Sat Dec 18 11:20:33 1993
--- src/Makefile.IRIX	Sat Dec 18 11:21:35 1993
***************
*** 83,89 ****
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
--- 83,89 ----
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
*** src/Makefile.Linux.OLD	Thu Dec  9 13:44:34 1993
--- src/Makefile.Linux	Mon Dec 20 05:53:18 1993
***************
*** 21,27 ****
  DBMDEF=	-DNDBM
  
  # environment definitions (e.g., -D_AIX3)
! ENVDEF=	-D__USE_BSD -U__USE_POSIX2
  
  # see also conf.h for additional compilation flags
  
--- 21,27 ----
  DBMDEF=	-DNDBM
  
  # environment definitions (e.g., -D_AIX3)
! ENVDEF=	-D__USE_BSD
  
  # see also conf.h for additional compilation flags
  
***************
*** 47,53 ****
  OBJADD=
  
  # additional pseudo-sources needed
! BEFORE=
  
  ###################  end of user configuration flags  ######################
  
--- 47,53 ----
  OBJADD=
  
  # additional pseudo-sources needed
! BEFORE=	features.h
  
  ###################  end of user configuration flags  ######################
  
***************
*** 59,65 ****
  	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
  	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
  
! LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
  BINOWN=	root
  BINGRP=	kmem
  BINMODE=6555
--- 59,65 ----
  	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
  	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
  
! LINKS=	${DESTDIR}/usr/bin/newaliases ${DESTDIR}/usr/bin/mailq
  BINOWN=	root
  BINGRP=	kmem
  BINMODE=6555
***************
*** 78,83 ****
--- 78,86 ----
  	echo "#include <sys/dir.h>" > dirent.h
  	echo "#define dirent	direct" >> dirent.h
  
+ features.h:
+ 	ln features.linux.h $@
+ 
  NROFF=	nroff
  
  aliases.0: aliases.5
***************
*** 94,100 ****
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
--- 97,103 ----
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
*** src/Makefile.Mach386.OLD	Wed Dec  1 09:21:19 1993
--- src/Makefile.Mach386	Sat Dec 18 11:21:41 1993
***************
*** 0 ****
--- 1,102 ----
+ #
+ #  This Makefile is designed to work on the old "make" program.  It does
+ #  not use the obj subdirectory.  It also does not install documentation
+ #  automatically -- think of it as a quick start for sites that have the
+ #  old make program (I recommend that you get and port the new make if you
+ #  are going to be doing any signficant work on sendmail).
+ #
+ #	@(#)Makefile.dist	8.7 (Berkeley) 9/3/93
+ #
+ 
+ CC=	gcc
+ 
+ # use O=-O (usual) or O=-g (debugging)
+ O=	-O
+ 
+ # define the database mechanisms available for map & alias lookups:
+ #	-DNDBM -- use new DBM
+ #	-DNEWDB -- use new Berkeley DB
+ #	-DNIS -- include NIS support
+ # The really old (V7) DBM library is no longer supported.
+ # See READ_ME for a description of how these flags interact.
+ #
+ DBMDEF=	-DNDBM
+ 
+ # environment definitions (e.g., -D_AIX3)
+ ENVDEF=
+ 
+ # see also conf.h for additional compilation flags
+ 
+ # include directories
+ INCDIRS=
+ 
+ # loader options
+ LDOPTS=
+ 
+ # library directories
+ LIBDIRS=
+ 
+ # libraries required on your system
+ LIBS=	-ldbm
+ 
+ # location of sendmail binary (usually /usr/sbin or /usr/lib)
+ BINDIR=	${DESTDIR}/usr/lib
+ 
+ # location of sendmail.st file (usually /var/log or /usr/lib)
+ STDIR=	${DESTDIR}/usr/lib
+ 
+ # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
+ HFDIR=	${DESTDIR}/usr/lib
+ 
+ # additional .o files needed
+ OBJADD=
+ 
+ ###################  end of user configuration flags  ######################
+ 
+ CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
+ 
+ OBJS=	alias.o arpadate.o clock.o collect.o conf.o convtime.o daemon.o \
+ 	deliver.o domain.o envelope.o err.o headers.o macro.o main.o \
+ 	map.o mci.o parseaddr.o queue.o readcf.o recipient.o \
+ 	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
+ 	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
+ 
+ LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
+ BINOWN=	root
+ BINGRP=	kmem
+ BINMODE=6555
+ 
+ ALL=	sendmail aliases.0 newaliases.0 sendmail.0
+ 
+ all: ${ALL}
+ 
+ sendmail: ${BEFORE} ${OBJS}
+ 	${CC} -o sendmail ${LDOPTS} ${OBJS} ${LIBDIRS} ${LIBS}
+ 
+ aliases.0: aliases.5
+ 	nroff -h -mandoc aliases.5 > aliases.0
+ 
+ newaliases.0: newaliases.1
+ 	nroff -h -mandoc newaliases.1 > newaliases.0
+ 
+ sendmail.0: sendmail.8
+ 	nroff -h -mandoc sendmail.8 > sendmail.0
+ 
+ install: install-sendmail install-docs
+ 
+ install-sendmail: sendmail
+ 	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
+ 	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
+ 	    ${STDIR}/sendmail.st
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
+ 
+ # doesn't actually install them -- you may want to install pre-nroff versions
+ install-docs: aliases.0 newaliases.0 sendmail.0
+ 
+ clean:
+ 	rm -f ${OBJS} sendmail aliases.0 newaliases.0 sendmail.0
+ 
+ # dependencies
+ #   gross overkill, and yet still not quite enough....
+ ${OBJS}: sendmail.h conf.h
*** src/Makefile.NeXT.OLD	Sat Dec 18 11:20:33 1993
--- src/Makefile.NeXT	Sun Dec 26 07:56:13 1993
***************
*** 21,27 ****
  DBMDEF=	-DNDBM
  
  # environment definitions (e.g., -D_AIX3)
! ENVDEF=	-DNeXT
  
  # see also conf.h for additional compilation flags
  
--- 21,27 ----
  DBMDEF=	-DNDBM
  
  # environment definitions (e.g., -D_AIX3)
! ENVDEF=	-DNeXT -DNETINFO
  
  # see also conf.h for additional compilation flags
  
***************
*** 92,98 ****
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 666 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
--- 92,98 ----
  install-sendmail: sendmail
  	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
! 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
  	    ${STDIR}/sendmail.st
  	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  
*** src/Makefile.NetBSD.OLD	Fri Dec 10 06:25:31 1993
--- src/Makefile.NetBSD	Mon Jan 10 07:29:03 1994
***************
*** 0 ****
--- 1,48 ----
+ #
+ #  NetBSD Makefile
+ #
+ 
+ #	@(#)Makefile	8.2 (Berkeley) 8/15/93
+ 
+ PROG=	sendmail
+ 
+ # define the database format to use for aliases et al.  Can be -DNEWDB (for
+ # the new BSD database package -- this is preferred) or -DNDBM for the NDBM
+ # database package.  The old putrescent V7 DBM package is no longer
+ # supported.
+ # You can define both NEWDB and NDBM during a transition period; old
+ # databases are read, but the new format will be used on any rebuilds.  On
+ # really gnarly systems, you can set this to null; it will crawl like a high
+ # spiral snail, but it will work.
+ DBMDEF=	-DNEWDB -DNDBM
+ 
+ #nasty warning about gcc 2.4.x caused bugs 
+ CFLAGS=-I${.CURDIR} ${DBMDEF} -DNETISO
+ #CFLAGS+=-I${.CURDIR} ${DBMDEF} -DNETISO
+ 
+ SRCS=	alias.c arpadate.c clock.c collect.c conf.c convtime.c daemon.c \
+ 	deliver.c domain.c envelope.c err.c headers.c macro.c main.c map.c \
+ 	mci.c parseaddr.c queue.c readcf.c recipient.c savemail.c srvrsmtp.c \
+ 	stab.c stats.c sysexits.c trace.c udb.c usersmtp.c \
+ 	util.c version.c
+ DPADD=	$(LIBUTIL)
+ LDADD=	-lutil
+ MAN1=	newaliases.0
+ MAN5=	aliases.0
+ MAN8=	sendmail.0 
+ LINKS=	/usr/sbin/sendmail /usr/bin/newaliases \
+ 	/usr/sbin/sendmail /usr/bin/mailq
+ BINDIR=	/usr/sbin
+ BINOWN=	root
+ BINGRP=	kmem
+ BINMODE=6555
+ 
+ beforeinstall:
+ #	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
+ #	    ${DESTDIR}/etc/sendmail.fc
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
+ 	    ${DESTDIR}/var/log/sendmail.st
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 444 ${.CURDIR}/sendmail.hf \
+ 	    ${DESTDIR}/usr/share/misc
+ 
+ .include <bsd.prog.mk>
*** src/Makefile.OSF1.OLD	Sun Nov  7 10:38:01 1993
--- src/Makefile.OSF1	Sat Dec 18 11:22:23 1993
***************
*** 29,35 ****
  INCDIRS=-I/usr/sww/include/db
  
  # library directories
! LIBDIRS=-L/usr/sww/lib
  
  # libraries required on your system
  LIBS=	-ldbm
--- 29,35 ----
  INCDIRS=-I/usr/sww/include/db
  
  # library directories
! LIBDIRS=-L/usr/sww/lib -L/usr/shlib -L/usr/lib
  
  # libraries required on your system
  LIBS=	-ldbm
***************
*** 47,53 ****
  OBJADD=
  
  # additional link flags
! LDADD=	-non_shared
  
  ###################  end of user configuration flags  ######################
  
--- 47,53 ----
  OBJADD=
  
  # additional link flags
! #LDADD=	-non_shared
  
  ###################  end of user configuration flags  ######################
  
***************
*** 69,75 ****
  all: ${ALL}
  
  sendmail: ${BEFORE} ${OBJS}
! 	${CC} -o sendmail ${LDFLAGS} ${OBJS} ${LIBDIRS} ${LIBS}
  
  aliases.0: aliases.5
  	nroff -h -mandoc aliases.5 > aliases.0
--- 69,75 ----
  all: ${ALL}
  
  sendmail: ${BEFORE} ${OBJS}
! 	${CC} -o sendmail ${LDADD} ${OBJS} ${LIBDIRS} ${LIBS}
  
  aliases.0: aliases.5
  	nroff -h -mandoc aliases.5 > aliases.0
***************
*** 86,93 ****
  	installbsd -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
  	cp /dev/null ${STDIR}/sendmail.st
! 	chmod ${BINMOD} ${STDIR}/sendmail.st
! 	chown ${BINGRP}.${BINGRP} ${STDIR}/sendmail.st
  	installbsd -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  	rm -f /usr/sbin/smtpd
  
--- 86,93 ----
  	installbsd -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
  	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
  	cp /dev/null ${STDIR}/sendmail.st
! 	chmod 644 ${STDIR}/sendmail.st
! 	chown ${BINOWN}.${BINGRP} ${STDIR}/sendmail.st
  	installbsd -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
  	rm -f /usr/sbin/smtpd
  
*** src/Makefile.RISCos.OLD	Wed Dec  1 09:08:32 1993
--- src/Makefile.RISCos	Sat Dec 18 11:22:27 1993
***************
*** 0 ****
--- 1,110 ----
+ #
+ #  This Makefile is designed to work on the old "make" program.  It does
+ #  not use the obj subdirectory.  It also does not install documentation
+ #  automatically -- think of it as a quick start for sites that have the
+ #  old make program (I recommend that you get and port the new make if you
+ #  are going to be doing any signficant work on sendmail).
+ #
+ #	For Mips RISC/os 4.52.
+ #
+ 
+ # use O=-O (usual) or O=-g (debugging)
+ O=	-O
+ 
+ # be sure we are compiling in BSD mode
+ CC=	cc -systype bsd43
+ 
+ # define the database mechanism used for alias lookups:
+ #	-DNDBM -- use new DBM
+ #	-DNEWDB -- use new Berkeley DB
+ #	-DNIS -- include NIS support
+ # The really old (V7) DBM library is no longer supported.
+ # See READ_ME for a description of how these flags interact.
+ #
+ DBMDEF=	-DNDBM
+ 
+ # environment definitions (e.g., -D_AIX3)
+ ENVDEF=	-DRISCOS -Olimit 800
+ 
+ # see also conf.h for additional compilation flags
+ 
+ # include directories
+ #INCDIRS=-I/usr/sww/include/db
+ 
+ # library directories
+ #LIBDIRS=-L/usr/sww/lib
+ 
+ # libraries required on your system
+ LIBS=	-lmld
+ 
+ # location of sendmail binary (usually /usr/sbin or /usr/lib)
+ BINDIR=	${DESTDIR}/usr/lib
+ 
+ # location of sendmail.st file (usually /var/log or /usr/lib)
+ STDIR=	${DESTDIR}/etc
+ 
+ # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
+ HFDIR=	${DESTDIR}/usr/lib
+ 
+ # additional .o files needed
+ OBJADD=
+ 
+ # additional pseudo-sources needed
+ BEFORE=	stdlib.h dirent.h
+ 
+ ###################  end of user configuration flags  ######################
+ 
+ CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
+ 
+ OBJS=	alias.o arpadate.o clock.o collect.o conf.o convtime.o daemon.o \
+ 	deliver.o domain.o envelope.o err.o headers.o macro.o main.o \
+ 	map.o mci.o parseaddr.o queue.o readcf.o recipient.o \
+ 	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
+ 	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
+ 
+ LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
+ BINOWN=	root
+ BINGRP=	kmem
+ BINMODE=6555
+ 
+ ALL=	sendmail aliases.0 newaliases.0 sendmail.0
+ 
+ all: ${ALL}
+ 
+ sendmail: ${BEFORE} ${OBJS}
+ 	${CC} -o sendmail ${OBJS} ${LIBDIRS} ${LIBS}
+ 
+ stdlib.h:
+ 	cp /dev/null $@
+ 
+ dirent.h:
+ 	echo "#include <sys/dir.h>" > dirent.h
+ 	echo "#define dirent	direct" >> dirent.h
+ 
+ aliases.0: aliases.5
+ 	nroff -h -mandoc aliases.5 > aliases.0
+ 
+ newaliases.0: newaliases.1
+ 	nroff -h -mandoc newaliases.1 > newaliases.0
+ 
+ sendmail.0: sendmail.8
+ 	nroff -h -mandoc sendmail.8 > sendmail.0
+ 
+ install: install-sendmail install-docs
+ 
+ install-sendmail: sendmail
+ 	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
+ 	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
+ 	    ${STDIR}/sendmail.st
+ 	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
+ 
+ # doesn't actually install them -- you may want to install pre-nroff versions
+ install-docs: aliases.0 newaliases.0 sendmail.0
+ 
+ clean:
+ 	rm -f ${OBJS} sendmail aliases.0 newaliases.0 sendmail.0
+ 
+ # dependencies
+ #   gross overkill, and yet still not quite enough....
+ ${OBJS}: sendmail.h conf.h
*** src/Makefile.SCO.OLD	Sun Dec 12 20:33:12 1993
--- src/Makefile.SCO	Sat Dec 18 11:22:31 1993
***************
*** 0 ****
--- 1,97 ----
+ #
+ #  This Makefile is designed to work on the old "make" program.  It does
+ #  not use the obj subdirectory.  It also does not install documentation
+ #  automatically -- think of it as a quick start for sites that have the
+ #  old make program (I recommend that you get and port the new make if you
+ #  are going to be doing any signficant work on sendmail).
+ #
+ #  This has been tested on SCO.
+ #
+ 
+ # use O=-O (usual) or O=-g (debugging)
+ O=	-O
+ 
+ # define the database mechanisms available for map & alias lookups:
+ #	-DNDBM -- use new DBM
+ #	-DNEWDB -- use new Berkeley DB
+ #	-DNIS -- include NIS support
+ # The really old (V7) DBM library is no longer supported.
+ # See READ_ME for a description of how these flags interact.
+ #
+ DBMDEF=
+ 
+ # environment definitions (e.g., -D_AIX3)
+ ENVDEF=	-D_SCO_unix_
+ 
+ # see also conf.h for additional compilation flags
+ 
+ # include directories
+ INCDIRS=
+ 
+ # library directories
+ LIBDIRS=
+ 
+ # libraries required on your system
+ LIBS=	-lsocket
+ 
+ # location of sendmail binary (usually /usr/sbin or /usr/lib)
+ BINDIR=	${DESTDIR}/usr/lib
+ 
+ # location of sendmail.st file (usually /var/log or /usr/lib)
+ STDIR=	${DESTDIR}/usr/lib
+ 
+ # location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
+ HFDIR=	${DESTDIR}/usr/lib
+ 
+ # additional .o files needed
+ OBJADD=	fsync.o
+ 
+ ###################  end of user configuration flags  ######################
+ 
+ CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
+ 
+ OBJS=	alias.o arp