166352Seric			SENDMAIL RELEASE NOTES
2*68274Seric	     @(#)RELEASE_NOTES	8.6.10.1 (Berkeley) 02/10/95
366352Seric
466352SericThis listing shows the version of the sendmail binary, the version
566352Sericof the sendmail configuration files, the date of release, and a
666352Sericsummary of the changes in that release.
766352Seric
8*68274Seric8.6.10/8.6.10	95/02/xx
9*68274Seric	SECURITY: Diagnose bogus values to some command line flags that
10*68274Seric		could allow trash to get into headers and qf files.
11*68274Seric	Validate the name of the user returned by the IDENT protocol.
12*68274Seric		Some systems that really dislike IDENT send intentionally
13*68274Seric		bogus information.  Problem pointed out by Michael Bushnell
14*68274Seric		of the Free Software Foundation.  Has some security
15*68274Seric		implications.
16*68274Seric	Fix a problem causing error messages about DNS problems when
17*68274Seric		the host name contained a percent sign to act oddly
18*68274Seric		because it was passed as a printf-style format string.
19*68274Seric		In some cases this could cause core dumps.
20*68274Seric	Avoid possible buffer overrun in returntosender() if error
21*68274Seric		message is quite ling.  From Fletcher Mattox of the
22*68274Seric		University of Texas.
23*68274Seric	Fix a problem that would silently drop "too many hops" error
24*68274Seric		messages if and only if you were sending to an alias.
25*68274Seric		From Jon Giltner of the University of Colorado and
26*68274Seric		Dan Harton of Oak Ridge National Laboratory.
27*68274Seric	Fix a bug that caused core dumps on some systems if -d11.2 was
28*68274Seric		set and e->e_message was null.  Fix from Bruce Nagel of
29*68274Seric		Data General.
30*68274Seric	Fix problem that can still cause df files to be left around
31*68274Seric		after "hop count exceeded" messages.  Fix from Andrew
32*68274Seric		Chang and Shau-Ping Lo of SunSoft.
33*68274Seric	Fix a problem that can cause buffer overflows on very long
34*68274Seric		user names (as might occur if you piped to a program
35*68274Seric		with a lot of arguments).
36*68274Seric	Avoid returning an error and re-queueing if the host signature
37*68274Seric		is null; this can occur on addresses like ``user@.''.
38*68274Seric		Problem noted by Wesley Craig and the University of
39*68274Seric		Michigan.
40*68274Seric	Avoid possible calls to malloc(0) if MCI caching is turned
41*68274Seric		off.  Bug fix from Pierre David of the Laboratoire
42*68274Seric		Parallelisme, Reseaux, Systemes et Modelisation (PRiSM),
43*68274Seric		Universite de Versailles - St Quentin, and Jacky
44*68274Seric		Thibault.
45*68274Seric	Make a local copy of the line being sent via senttolist() -- in
46*68274Seric		some cases, buffers could get trashed by map lookups
47*68274Seric		causing it to do unexpected things.  This also simplifies
48*68274Seric		some of the map code.
49*68274Seric
5066956Seric8.6.9/8.6.9	94/04/19
5166920Seric	Do all mail delivery completely disconnected from any terminal.
5266920Seric		This provides consistency with daemon delivery and
5366920Seric		may have some security implications.
5466920Seric	Make sure that malloc doesn't get called with zero size,
5566920Seric		since that fails on some systems.  Reported by Ed
5666920Seric		Hill of the University of Iowa.
5766920Seric	Fix multi-line values for $e (SMTP greeting message).  Reported
5866920Seric		by Mike O'Connor of Ford Motor Company.
5966920Seric	Avoid syserr if no NIS domain name is defined, but the map it
6066920Seric		is trying to open is optional.  From Win Bent of USC.
6166920Seric	Changes for picky compilers from Ed Gould of Digital Equipment.
6266920Seric	Hesiod support for UDB from Todd Miller of the University of
6366920Seric		Colorado.  Use "hesiod" as the service name in the U
6466920Seric		option.
6566920Seric	Fix a problem that failed to set the "authentic" host name (that
6666920Seric		is, the one derived from the socket info) if you called
6766920Seric		sendmail -bs from inetd.  Based on code contributed by
6866920Seric		Todd Miller (this problem was also reported by Guy Helmer
6966920Seric		of Dakota State University).  This also fixes a related
7066996Seric		problem reported by Liudvikas Bukys of the University of
7166996Seric		Rochester.
7266920Seric	Parameterize "nroff -h" in all the Makefiles so people with
7366920Seric		variant versions can use them easily.  Suggested by
7466920Seric		Peter Collinson of Hillside Systems.
7566920Seric	SMTP "MAIL" commands with multiple ESMTP parameters required two
7666920Seric		spaces between parameters instead of one.  Reported by
7766920Seric		Valdis Kletnieks of Virginia Tech.
7866920Seric	Reduce the number of system calls during message collection by
7966920Seric		using global timeouts around the collect() loop.  This
8066920Seric		code was contributed by Eric Wassenaar.
8166920Seric	If the initial hostname name gathering results in a name
8266920Seric		without a dot (usually caused by NIS misconfiguration)
8366920Seric		and BIND is compiled in, directly access DNS to get
8466920Seric		the canonical name.  This should make life easier for
8566920Seric		Solaris systems.  If it still can't be resolved, and
8666920Seric		if the name server is listed as "required", try again
8766920Seric		in 30 seconds.  If that also fails, exit immediately to
8866920Seric		avoid bogus "config error: mail loops back to myself"
8966920Seric		messages.
9066920Seric	Improve the "MAIL DELETED BECAUSE OF LACK OF DISK SPACE" error
9166920Seric		message to explain how much space was available and
9266920Seric		sound a bit less threatening.  Suggested by Stan Janet
9366920Seric		of the National Institute of Standards and Technology.
9466920Seric	If mail is delivered to an alias that has an owner, deliver any
9566920Seric		requested return-receipt immediately, and strip the
9666920Seric		Return-Receipt-To: header from the subsequent message.
9766920Seric		This prevents a certain class of denial of service
9866920Seric		attack, arguably gives more reasonable semantics, and
9966920Seric		moves things more towards what will probably become a
10066920Seric		network standard.  Suggested by Christopher Davis of
10166920Seric		Kapor Enterprises.
10266920Seric	Add a "noreceipts" privacy flag to turn off all return receipts
10366920Seric		without recompiling.
10466920Seric	Avoid printing ESMTP parameters as part of the error message
10566920Seric		if there are errors during parsing.  This change is
10666920Seric		purely cosmetic.
10766920Seric	Avoid sending out error messages during the collect phase of
10866920Seric		SMTP; there is an MVS mailer from UCLA that gets
10966920Seric		confused by this.  Of course, I think it's their bug....
11066920Seric	Check for the $j macro getting undefined, losing a dot, or getting
11166920Seric		lost from $=w in the daemon before accepting a connection;
11266920Seric		if it is, it dumps state, prints a LOG_ALERT message,
11366920Seric		and drops core for debugging.  This is an attempt to
11466920Seric		track down a bug that I thought was long since gone.
11566920Seric		If you see this, please forward the log fragment to
11666920Seric		sendmail@CS.Berkeley.EDU.
11766920Seric	Change OLD_NEWDB from a #ifdef to a #if so it can be turned off
11866920Seric		with -DOLD_NEWDB=0 on the command line.  From Christophe
11966920Seric		Wolfhugel.
12066920Seric	Instead of trying to truncate the listen queue for the server
12166920Seric		SMTP port when the load average is too high, just close
12266920Seric		the port completely and reopen it later as needed.
12366920Seric		This ensures that the other end gets a quick "connection
12466920Seric		refused" response, and that the connection can be
12566920Seric		recovered later.  In particular, some socket emulations
12666920Seric		seem to get confused if you tweak the listen queue
12766920Seric		size around and can never start listening to connections
12866920Seric		again.  The down side is that someone could start up
12966920Seric		another daemon process in the interim, so you could
13066920Seric		have multiple daemons all not listening to connections;
13166920Seric		this could in turn cause the sendmail.pid file to be
13266920Seric		incorrect.  A better approach might be to accept the
13366920Seric		connection and give a 421 code, but that could break
13466920Seric		other mailers in mysterious ways and have paging behaviour
13566920Seric		implications.
13666920Seric	Fix a glitch in TCP-level debugging that caused flag 16.101 to
13766920Seric		set debugging on the wrong socket.  From Eric Wassenaar.
13866920Seric	When creating a df* temporary file, be sure you truncate any
13966920Seric		existing data in the file -- otherwise system crashes
14066920Seric		and the like could result in extra data being sent.
14166920Seric	DOC: Replace the CHANGES-R5-R8 readme file with a paper in the
14266920Seric		doc directory.  This includes some additional
14366920Seric		information.
14466920Seric	CONFIG: change UUCP rules to never add $U! or $k! on the front
14566920Seric		of recipient envelope addresses.  This should have been
14666920Seric		handled by the $&h trick, but broke if people were
14766920Seric		mixing domainized and UUCP addresses.  They should
14866920Seric		probably have converted all the way over to uucp-uudom
14966920Seric		instead of uucp-{new,old}, but the failure mode was to
15066920Seric		loop the mail, which was bad news.
15166920Seric	Portability fixes:
15266920Seric		Newer BSDI systems (several people).
15366920Seric		Older BSDI systems from Christophe Wolfhugel.
15466920Seric		Intergraph CLIX, from Paul Southworth of CICNet.
15566920Seric		UnixWare, from Evan Champion.
15666920Seric		NetBSD from Adam Glass.
15766920Seric		Solaris from Quentin Campbell of the University of
15866920Seric			Newcastle upon Tyne.
15966920Seric		IRIX from Dean Cookson and Bill Driscoll of Mitre
16066920Seric			Corporation.
16166920Seric		NCR 3000 from Kevin Darcy of Chrysler Corporation.
16266920Seric		SunOS (it has setsid() and setvbuf() calls) from
16366920Seric			Jonathan Kamens of OpenVision Technologies.
16466920Seric		HP-UX from Tor Lillqvist.
16566920Seric	New Files:
16666920Seric		src/Makefile.CLIX
16766920Seric		src/Makefile.NCR3000
16866920Seric		doc/changes/Makefile
16966920Seric		doc/changes/changes.me
17066920Seric		doc/changes/changes.ps
17166920Seric
17266432Seric8.6.8/8.6.6	94/03/21
17366432Seric	SECURITY: it was possible to read any file as root using the
17466432Seric		E (error message) option.  Reported by Richard Jones;
17566432Seric		fixed by Michael Corrigan and Christophe Wolfhugel.
17666432Seric
17766356Seric8.6.7/8.6.6	94/03/14
17866356Seric	SECURITY: it was possible to get root access by using wierd
17966356Seric		values to the -d flag.  Thanks to Alain Durand of
18066356Seric		INRIA for forwarding me the notice from the bugtraq
18166356Seric		list.
18266356Seric
18366352Seric8.6.6/8.6.6	94/03/13
18466352Seric	SECURITY: the ability to give files away on System V-based
18566352Seric		systems proved dangerous -- don't run as the owner
18666352Seric		of a :include: file on a system that allows giveaways.
18766352Seric		Unfortunately, this also applies to determining a
18866352Seric		valid shell.
18966352Seric	IMPORTANT: Previous versions weren't expiring old connections
19066352Seric		in the connection cache for a long time under some
19166352Seric		circumstances.  This could result in resource exhaustion,
19266352Seric		both at your end and at the other end.  This checks the
19366352Seric		connections for timeouts much more frequently.  From
19466352Seric		Doug Anderson of NCSC.
19566352Seric	Fix a glitch that snuck in that caused programs to be run as
19666352Seric		the sender instead of the recipient if the mail was
19766352Seric		from a local user to another local user.  From
19866352Seric		Motonori Nakamura of Kyoto University.
19966352Seric	Fix "wildcard" on /etc/shell matching -- instead of looking
20066352Seric		for "*", look for "/SENDMAIL/ANY/SHELL/".  From
20166352Seric		Bryan Costales of ICSI.
20266352Seric	Change the method used to declare the "statfs" availability;
20366352Seric		instead of HASSTATFS and/or HASUSTAT with a ton of
20466352Seric		tweaking in conf.c, there is a single #define called
20566352Seric		SFS_TYPE which takes on one of six values (SFS_NONE
20666352Seric		for no statfs availability, SFS_USTAT for the ustat(2)
20766352Seric		syscall, SFS_4ARGS for a four argument statfs(2) call,
20866352Seric		and SFS_VFS, SFS_MOUNT, or SFS_STATFS for a two argument
20966352Seric		statfs(2) call with the declarations in <sys/vfs.h>,
21066352Seric		<sys/mount.h>, or <sys/statfs.h> respectively).
21166352Seric	Fix glitch in NetInfo support that could return garbage if
21266352Seric		there was no "/locations/sendmail" property.  From
21366352Seric		David Meyer of the University of Virginia.
21466352Seric	Change HASFLOCK from defined/not-defined to a 0/1 definition
21566352Seric		to allow Linux to turn it off even though it is a
21666352Seric		BSD-like system.
21766352Seric	Allow setting of "ident" timeout to zero to turn off the ident
21866352Seric		protocol entirely.
21966352Seric	Make 7-bit stripping local to a connection (instead of to a
22066352Seric		mailer); this allows you to specify that SMTP is a
22166352Seric		7-bit channel, but revert to 8-bit should it advertise
22266352Seric		that it supports 8BITMIME.  You still have to specify
22366352Seric		mailer flag 7 to get this stripping at all.
22466352Seric	Improve makesendmail script so it handles more cases automatically.
22566352Seric	Tighten up restrictions on taking ownership of :include: files
22666352Seric		to avoid problems on systems that allow you to give away
22766352Seric		files.
22866352Seric	Fix a problem that made it impossible to rebuild the alias
22966352Seric		file if it was on a read-only file system.  From
23066352Seric		Harry Edmon of the University of Washington.
23166352Seric	Improve MX randomization function.  From John Gardiner Myers
23266352Seric		of CMU.
23366352Seric	Fix a minor glitch causing a bogus message to be printed (used
23466352Seric		%s instead of %d in a printf string for the line number)
23566352Seric		when a bad queue file was read.  From Harry Edmon.
23666352Seric	Allow $s to remain NULL on locally generated mail.  I'm not
23766352Seric		sure this is necessary, but a lot of people have complained
23866352Seric		about it, and there is a legitimate question as to whether
23966352Seric		"localhost" is legal as an 822-style domain.
24066352Seric	Fix a problem with very short line lengths (mailer L= flag) in
24166352Seric		headers.  This causes a leading space to be added onto
24266352Seric		continuation lines (including in the body!), and also
24366352Seric		tries to wrap headers containing addresses (From:, To:,
24466352Seric		etc) intelligently at the shorter line lengths.  Problem
24566352Seric		Reported by Lars-Johan Liman of SUNET Operations Center.
24666352Seric	Log the real user name when logging syserrs, since these can have
24766352Seric		security implications.  Suggested by several people.
24866352Seric	Fix address logging of cached connections -- it used to always
24966352Seric		log the numeric address as zero.  This is a somewhat
25066352Seric		bogus implementation in that it does an extra system
25166352Seric		call, but it should be an inexpensive one.  Fix from
25266352Seric		Motonori Nakamura.
25366352Seric	Tighten up handling of short syslog buffers even more -- there
25466352Seric		were cases where the outgoing relay= name was too long
25566352Seric		to share a line with delay= and mailer= logging.
25666352Seric	Limit the overhead on split envelopes to one open file descriptor
25766352Seric		per envelope -- previously the overhead was three
25866352Seric		descriptors.  This was in response to a problem reported
25966352Seric		by P{r (Pell) Emanuelsson.
26066352Seric	Fixes to better handle the case of unexpected connection closes;
26166352Seric		this redirects the output to the transcript so the info
26266352Seric		is not lost.  From Eric Wassenaar.
26366352Seric	Fix potential string overrun if you macro evaluate a string that
26466352Seric		has a naked $ at the end.  Problem noted by James Matheson
26566352Seric		<jmrm@eng.cam.ac.uk>.
26666352Seric	Make default error number on $#error messages 553 (``Requested
26766352Seric		action not taken: mailbox name not allowed'') instead of
26866352Seric		501 (``Syntax error in parameters or arguments'') to
26966352Seric		avoid bogus "protocol error" messages.
27066352Seric	Strip off any existing trailing dot on names during $[ ... $]
27166352Seric		lookup.  This prevents it from ending up with two dots
27266352Seric		on the end of dot terminated names.  From Wesley Craig
27366352Seric		of the University of Michigan and Bryan Costales of ICSI.
27466352Seric	Clean up file class reading so that the debugging information is
27566352Seric		more informative.  It hadn't been using setclass, so you
27666352Seric		didn't see the class items being added.
27766352Seric	Avoid core dump if you are running a version of sendmail where
27866352Seric		NIS is compiled in, and you specify an NIS map, but
27966352Seric		NIS is not running.  Fix from John Oleynick of
28066352Seric		Rutgers.
28166352Seric	Diagnose bizarre case where res_search returns a failure value,
28266352Seric		but sets h_errno to a success value.
28366352Seric	Make sure that "too many hops" messages are considered important
28466352Seric		enough to send an error to the Postmaster (that is, the
28566352Seric		address specified in the P option).  This fix should
28666352Seric		help problems that cause the df file to be left around
28766352Seric		sometimes -- unfortunately, I can't seem to reproduce
28866352Seric		the problem myself.
28966352Seric	Avoid core dump (null pointer reference) on EXPN command; this
29066352Seric		only occurred if your log level was set to 10 or higher
29166352Seric		and the target account was an alias or had a .forward file.
29266352Seric		Problem noted by Janne Himanka.
29366352Seric	Avoid "denial of service" attacks by someone who is flooding your
29466352Seric		SMTP port with bad commands by shutting the connection
29566352Seric		after 25 bad commands are issued.  From Kyle Jones of
29666352Seric		UUNET.
29766352Seric	Fix core dump on error messages with very long "to" buffers;
29866352Seric		fmtmsg overflows the message buffer.  Fixed by trimming
29966352Seric		the to address to 203 characters.  Problem reported by
30066352Seric		John Oleynick.
30166352Seric	Fix configuration for HASFLOCK -- there were some spots where
30266352Seric		a #ifndef was incorrectly #ifdef.  Pointed out by
30366352Seric		George Baltz of the University of Maryland.
30466352Seric	Fix a typo in savemail() that could cause the error message To:
30566352Seric		lists to be incorrect in some places.  From Motonori
30666352Seric		Nakamura.
30766352Seric	Fix a glitch that can cause duplicate error messages on split
30866352Seric		envelopes where an address on one of the lists has a
30966352Seric		name server failure.  Fix from Voradesh Yenbut of the
31066352Seric		University of Washington.
31166352Seric	Fix possible bogus pointer reference on ESMTP parameters that
31266352Seric		don't have an ``=value'' part.
31366352Seric	CNAME loops caused an error message to be generated, but also
31466352Seric		re-queued the message.  Changed to just re-queue the
31566352Seric		message (it's really hard to just bounce it because
31666352Seric		of the wierd way the name server works in the presence
31766352Seric		of CNAME loops).  Problem noted by James M.R.Matheson
31866352Seric		of Cambridge University.
31966352Seric	Avoid giving ``warning: foo owned process doing -bs'' messages
32066352Seric		if they use ``MAIL FROM:<foo>'' where foo is their true
32166352Seric		user name.  Suggested by Andreas Stolcke of ICSI.
32266352Seric	Change the NAMED_BIND compile flag to be a 0/1 flag so you can
32366352Seric		override it easily in the Makefile -- that is, you can
32466352Seric		turn it off using -DNAMED_BIND=0.
32566352Seric	If a gethostbyname(...) of an address with a trailing dot fails,
32666352Seric		try it without the trailing dot.  This is because if
32766352Seric		you have a version of gethostbyname() that falls back
32866352Seric		to NIS or the /etc/hosts file it will fail to find
32966352Seric		perfectly reasonable names that just don't happen to
33066352Seric		be dot terminated in the hosts file.  You don't want to
33166352Seric		strip the dot first though because we're trying to ensure
33266352Seric		that country names that match one of your subdomains get
33366352Seric		a chance.
33466352Seric	PRALIASES: fix bogus output on non-null-terminated strings.
33566352Seric		From Bill Gianopoulos of Raytheon.
33666352Seric	CONFIG: Avoid rewriting anything that matches $w to be $j.
33766352Seric		This was in code intended to only catch the self-literal
33866352Seric		address (that is, [1.2.3.4], where 1.2.3.4 is your
33966352Seric		IP address), but the code was broken.  However, it will
34066352Seric		still do this if $M is defined; this is necessary to
34166352Seric		get client configurations to work (sigh).  Note that this
34266352Seric		means that $M overrides :mailname entries in the user
34366352Seric		database!  Problem noted by Paul Southworth.
34466352Seric	CONFIG: Fix definition of Solaris help file location.  From
34566352Seric		Steve Cliffe <steve@gorgon.cs.uow.edu.au>.
34666352Seric	CONFIG: Fix bug that broke news.group.USENET mappings.
34766352Seric	CONFIG: Allow declaration of SMTP_MAILER_MAX, FAX_MAILER_MAX,
34866352Seric		and USENET_MAILER_MAX to tweak the maximum message
34966352Seric		size for various mailers.
35066352Seric	CONFIG: Change definition of USENET_MAILER_ARGS to include argv[0]
35166352Seric		instead of assuming that it is "inews" for consistency
35266352Seric		with other mailers.  From Michael Corrigan of UC San Diego.
35366352Seric	CONFIG: When mail is forwarded to a LOCAL_RELAY or a MAIL_HUB,
35466352Seric		qualify the address in the SMTP envelope as user@{relay|hub}
35566352Seric		instead of user@$j.  From Bill Wisner of The Well.
35666352Seric	CONFIG: Fix route-addr syntax in nullrelay configuration set.
35766352Seric	CONFIG: Don't turn off case mapping of user names in the local
35866352Seric		mailer for IRIX.  This was different than most every other
35966352Seric		system.
36066352Seric	CONFIG: Avoid infinite loops on certainly list:; syntaxes in
36166352Seric		envelope.  Noted by Thierry Besancon
36266352Seric		<besancon@excalibur.ens.fr>.
36366352Seric	CONFIG: Don't include -z by default on uux line -- most systems
36466352Seric		don't want it set by default.  Pointed out by Philippe
36566352Seric		Michel of Thomson CSF.
36666352Seric	CONFIG: Fix some bugs with mailertables -- for example, if your
36766352Seric		host name was foo.bar.ray.com and you matched against
36866352Seric		".ray.com", the old implementation bound %1 to "bar"
36966352Seric		instead of "foo.bar".  Also, allow "." in the mailertable
37066352Seric		to match anything -- essentially, take over SMART_HOST.
37166352Seric		This also moves matching of explicit local host names
37266352Seric		before the mailertable so they don't have to be special
37366352Seric		cased in the mailertable data.  Reported by Bill
37466352Seric		Gianopoulos of Raytheon; the fix for the %1 binding
37566352Seric		problem was contributed by Nicholas Comanos of the
37666352Seric		University of Sydney.
37766352Seric	CONFIG: Don't include "root" in class $=L (users to deliver
37866352Seric		locally, even if a hub or relay exists) by default.
37966352Seric		This is because of the known bug where definition of
38066352Seric		both a LOCAL_RELAY and a MAIL_HUB causes $=L to ignore
38166352Seric		both and deliver into the local mailbox.
38266352Seric	CONFIG: Move up bitdomain and uudomain handling so that they
38366352Seric		are done before .UUCP class matching; uudomain was
38466352Seric		reported as ineffective before.  This also frees up
38566352Seric		diversion 8 for future use.  Problem reported by Kimmo
38666352Seric		Suominen.
38766352Seric	CONFIG: Don't try to convert dotted IP address (e.g., [1.2.3.4])
38866352Seric		into host names.  As pointed out by Jonathan Kamens,
38966352Seric		these are often used because either the forward or reverse
39066352Seric		mapping is broken; this translation makes it broken again.
39166352Seric	DOC: Clarify $@ and $: in the Install & Op Guide.  From Kimmo
39266352Seric		Suominen.
39366352Seric	Portability fixes:
39466352Seric		Unicos from David L. Kensiski of Sterling Sofware.
39566352Seric		DomainOS from Don Lewis of Silicon Systems.
39666352Seric		GNU m4 1.0.3 from Karst Koymans of Utrecht University.
39766352Seric		Convex from Kimmo Suominen <kim@tac.nyc.ny.us>.
39866352Seric		NetBSD from Adam Glass <glass@sun-lamp.cs.berkeley.edu>.
39966352Seric		BSD/386 from Tony Sanders of BSDI.
40066352Seric		Apollo from Eric Wassenaar.
40166352Seric		DGUX from Doug Anderson.
40266352Seric		Sequent DYNIX/ptx 2.0 from Tim Wright of Sequent.
40366352Seric	NEW FILES:
40466352Seric		src/Makefile.DomainOS
40566352Seric		src/Makefile.PTX
40666352Seric		src/Makefile.SunOS.5.1
40766352Seric		src/Makefile.SunOS.5.2
40866352Seric		src/Makefile.SunOS.5.x
40966352Seric		src/mailq.1
41066352Seric		cf/ostype/domainos.m4
41166352Seric		doc/op/Makefile
41266352Seric		doc/intro/Makefile
41366352Seric		doc/usenix/Makefile
41466352Seric
41566348Seric8.6.5/8.6.5	94/01/13
41666348Seric	Security fix:  /.forward could be owned by anyone (the test
41766348Seric		to allow root to own any file was backwards).  From
41866348Seric		Bob Campbell at U.C. Berkeley.
41966348Seric	Security fix: group ids were not completely set when programs
42066348Seric		were invoked.  This caused programs to have group
42166348Seric		permissions they should not have had (usually group
42266348Seric		daemon instead of their own group).  In particular,
42366348Seric		Perl scripts would refuse to run.
42466348Seric	Security: check to make sure files that are written are not
42566348Seric		symbolic links (at least under some circumstances).
42666348Seric		Although this does not respond to a specific known
42766348Seric		attack, it's just a good idea.  Suggested by
42866348Seric		Christian Wettergren.
42966348Seric	Security fix: if a user had an NFS mounted home directory on
43066348Seric		a system with a restricted shell listed in their
43166348Seric		/etc/passwd entry, they could still execute any
43266348Seric		program by putting that in their .forward file.
43366348Seric		This fix prevents that by insisting that their shell
43466348Seric		appear in /etc/shells before allowing a .forward to
43566348Seric		execute a program or write a file.  You can disable
43666348Seric		this by putting "*" in /etc/shells.  It also won't
43766348Seric		permit world-writable :include: files to reference
43866348Seric		programs or files (there's no way to disable this).
43966348Seric		These behaviours are only one level deep -- for
44066348Seric		example, it is legal for a world-writable :include:
44166348Seric		file to reference an alias that writes a file, on
44266348Seric		the assumption that the alias file is well controlled.
44366348Seric	Security fix: root was not treated suspiciously enough when
44466348Seric		looking into subdirectories.  This would potentially
44566348Seric		allow a cracker to examine files that were publically
44666348Seric		readable but in a non-publically searchable directory.
44766348Seric	Fix a problem that causes an error on QUIT on a cached
44866348Seric		connection to create problems on the current job.
44966348Seric		These are typically unrelated, so errors occur in
45066348Seric		the wrong place.
45166348Seric	Reset CurrentLA in sendall() -- this makes sendmail queue
45266348Seric		runs more responsive to load average, and fixes a
45366348Seric		problem that ignored the load average in locally
45466348Seric		generated mail.  From Eric Wassenaar.
45566348Seric	Fix possible core dump on aliases with null LHS.  From
45666348Seric		John Orthoefer of BB&N.
45766348Seric	Revert to using flock() whenever possible -- there are just
45866348Seric		too many bugs in fcntl() locking, particularly over
45966348Seric		NFS, that cause sendmail to fail in perverse ways.
46066348Seric	Fix a bug that causes the connection cache to get confused
46166348Seric		when sending error messages.  This resulted in
46266348Seric		"unexpected close" messages.  It should fix itself
46366348Seric		on the following queue run.  Problem noted by
46466996Seric		Liudvikas Bukys of the University of Rochester.
46566348Seric	Include $k in $=k as documented in the Install & Op Guide.
46666348Seric		This seems odd, but it was documented....  From
46766348Seric		Michael Corrigan of UCSD.
46866348Seric	Fix problem that caused :include:s from alias files to be
46966348Seric		forced to be owned by root instead of daemon
47066348Seric		(actually DefUid).  From Tim Irvin.
47166348Seric	Diagnose unrecognized I option values -- from Mortin Forssen
47266348Seric		of the Chalmers University of Technology.
47366348Seric	Make "error" mailer work consistently when there is no error
47466348Seric		code associated with it -- previously it returned OK
47566348Seric		even though there was a real problem.  Now it assumes
47666348Seric		EX_UNAVAILABLE.
47766348Seric	Fix bug that caused the last header line of messages that had
47866348Seric		no body and which were terminated with EOF instead of
47966348Seric		"." to be discarded.  Problem noted by Liudvikas Bukys.
48066348Seric	Fix core dump on SMTP mail to programs that failed -- it tried
48166348Seric		to go to a "next MX host" when none existed, causing
48266348Seric		a core dump.  From der Mouse at McGill University.
48366348Seric	Change IDENTPROTO from a defined/not defined to a 0/1 switch;
48466348Seric		this makes it easier to turn it off (using
48566348Seric		-DIDENTPROTO=0 in the Makefile).  From der Mouse.
48666348Seric	Fix YP_MASTER_NAME store to use the unupdated result of
48766348Seric		gethostname() (instead of myhostname(), which tries
48866348Seric		to fully qualify the name) to be consistent with
48966348Seric		SunOS.  If your hostname is unqualified, this fixes
49066348Seric		transfers to slave servers.  Bug noted by Keith
49166348Seric		McMillan of Ameritech Services, Inc.
49266348Seric	Fix Ultrix problem: gethostbyname() can return a very large
49366348Seric		(> 500) h_length field, which causes the sockaddr
49466348Seric		to be trashed.  Use the size of the sockaddr instead.
49566348Seric		Fix from Bob Manson of Ohio State.
49666348Seric	Don't assume "-a." on host lookups if NAMED_BIND is not
49766348Seric		defined -- this confuses gethostbyname on hosts
49866348Seric		file lookups, which doesn't understand the trailing
49966348Seric		dot convention.
50066348Seric	Log SMTP server subprocesses that die with a signal instead
50166348Seric		of from a clean exit.
50266348Seric	If you don't have option "I" set, don't assume that a DNS
50366348Seric		"host unknown" message is authoritative -- it
50466348Seric		might still be found in /etc/hosts.
50566348Seric	Fix a problem that would cause Deferred: messages to be sent
50666348Seric		as the subject of an error message, even though the
50766348Seric		actual cause of a message was more severe than that.
50866348Seric		Problem noted by Chris Seabrook of OSSI.
50966348Seric	Fix race condition in DBM alias file locking.  From Kyle
51066348Seric		Jones of UUNET.
51166348Seric	Limit delivery syslog line length to avoid bugs in some
51266348Seric		versions of syslog(3).  This adds a new compile time
51366348Seric		variable SYSLOG_BUFSIZE.  From Jay Plett of Princeton
51466348Seric		University, which is in turn derived from IDA.
51566348Seric	Fix quotes inside of comments in addresses -- previously
51666348Seric		it insisted that they be balanced, but the 822 spec
51766348Seric		says that they should be ignored.
51866348Seric	Dump open file state to syslog upon receiving SIGUSR1 (for
51966348Seric		debugging).  This also evaluates ruleset 89, if set
52066348Seric		(with the null input), and logs the result.  This
52166348Seric		should be used sparingly, since the rewrite process
52266348Seric		is not reentrant.
52366348Seric	Change -qI, -qR, and -qS flags to be case-insensitive as
52466348Seric		documented in the Bat Book.
52566348Seric	If the mailer returned EX_IOERR or EX_OSERR, sendmail did not
52666348Seric		return an error message and did not requeue the message.
52766348Seric		Fix based on code from Roland Dirlewanger of
52866348Seric		Reseau Regional Aquarel, Bordeaux, France.
52966348Seric	Fix a problem that caused a seg fault if you got a 421 error
53066348Seric		code during some parts of connection initialization.
53166348Seric		I've only seen this when talking to buggy mailers on
53266348Seric		the other end, but it shouldn't give a seg fault in
53366348Seric		any case.  From Amir Plivatsky.
53466348Seric	Fix core dump caused by a ruleset call that returns null.
53566348Seric		Fix from Bryan Costales of ICSI.
53666348Seric	Full-Name: field was being ignored.  Fix from Motonori Nakamura
53766348Seric		of Kyoto University.
53866348Seric	Fix a possible problem with very long input lines in setproctitle.
53966348Seric		From P{r Emanuelsson.
54066348Seric	Avoid putting "This is a warning message" out on return receipts.
54166348Seric		Suggested by Douglas Anderson.
54266348Seric	Detect loops caused by recursive ruleset calls.  Suggested by
54366348Seric		Bryan Costales.
54466348Seric	Initialize non-alias maps during alias rebuilds -- they may be
54566348Seric		needed for parsing.  Problem noted by Douglas Anderson.
54666348Seric	Log sender address even if no message was collected in SMTP
54766348Seric		(e.g., if all RCPTs failed).  Suggested by Motonori
54866348Seric		Nakamura.
54966348Seric	Don't reflect the owner-list contents into the envelope sender
55066348Seric		address if the value contains ", :, /, or | (to avoid
55166348Seric		illegal addresses appearing there).
55266348Seric	Efficiency hack for toktype macro -- from Craig Partridge of
55366348Seric		BB&N.
55466348Seric	Clean up DNS error printing so that a host name is always
55566348Seric		included.
55666348Seric	Remember to set $i during queue runs.  Reported by Stephen
55766348Seric		Campbell of Dartmouth University.
55866348Seric	If ${HOSTALIASES} is set, use it during canonification so that
55966348Seric		headers are properly mapped.  Reported by Anne Bennett
56066348Seric		of Concordia University.
56166348Seric	Avoid printing misleading error message if SMTP mailer (not
56266348Seric		using [IPC]) should die on a core dump.
56366348Seric	Avoid incorrect diagnosis of "file 1 closed" when it is caused
56466348Seric		by the other end closing the connection.  From
56566348Seric		Dave Morrison of Oracle.
56666348Seric	Improve several of the error messages printed by "mailq"
56766348Seric		to include a host name or other useful information.
56866348Seric	Add NetInfo preliminary support for NeXT systems.  From Vince
56966348Seric		DeMarco.
57066348Seric	Fix a glitch that sometimes caused :include:s that pointed to
57166348Seric		NFS filesystems that were down to give an "aliasing/
57266348Seric		forwarding loop broken" message instead of queueing
57366348Seric		the message for retry.  Noted by William C Fenner of
57466348Seric		the NRL Connection Machine Facility.
57566348Seric	Fix a problem that could cause a core dump if the input sequence
57666348Seric		had (or somehow acquired) a \231 character.
57766348Seric	Make sure that route-addrs always have <angle brackets> around
57866348Seric		them in non-SMTP envelopes (SMTP envelopes already do
57966348Seric		this properly).
58066348Seric	Avoid wierd headers on unbalanced punctuation of the form:
58166348Seric		``Joe User <user)'' -- this caused reference to the
58266348Seric		null macro.  Fix from Rick McCarty of IO.COM.
58366348Seric	Fix a problem that caused an alias "user: user@local.host" to
58466348Seric		not have the QNOTREMOTE bit set; this caused configs
58566348Seric		to act as if FEATURE(notsticky) was defined even when
58666348Seric		it was not.  The effect of the problem was to make it
58766348Seric		very hard to to set up satellite sites that had a few
58866348Seric		local accounts, with everything else forwarded to a
58966348Seric		corporate hub.  Reported by Detlef Drewanz of the
59066348Seric		University of Rostock and Mark Frost of NCD.
59166348Seric	Change queuing to not call rulesets 3, {1 or 2}, 4 on header
59266348Seric		addresses.  This is more efficient (fewer name server
59366348Seric		calls) and fixes certain unusual configurations, such
59466348Seric		as those that have ruleset 4 do something that is
59566348Seric		non-idempotent unless a mailer-specific ruleset did
59666348Seric		something else.  Problem reported by Brian J. Coan
59766348Seric		of the Institute for Global Communications.
59866348Seric	Fix the "obsolete argument" routine in main to better understand
59966348Seric		new arguments.  For example, if you used ``sendmail
60066348Seric		-C config -v -q'' it would choke on the -q because
60166348Seric		the -C would stop looking for old-format arguments.
60266348Seric	Fix the code that was intended to allow two users to forward their
60366348Seric		mail to the same program and have them appear unique.
60466348Seric	Portability fixes for:
60566348Seric		SCO UNIX from Murray Kucherawy.
60666348Seric		SCO Open Server 3.2v4 from Philippe Brand.
60766348Seric		System V Release 4 from Rick Ellis and others.
60866348Seric		OSF/1 from Steve Campbell.
60966348Seric		DG/UX from Ben Mesander of the USGS and Bryan Curnutt
61066348Seric			of Stoner Associates.
61166348Seric		Motorola SysV88 from Kevin Johnson of Motorola.
61266348Seric		Solaris 2.3 from Casper H.S. Dik of the University
61366348Seric			of Amsterdam and John Caruso of University
61466348Seric			of Maryland.
61566348Seric		FreeBSD from Ollivier Robert.
61666348Seric		NetBSD from Adam Glass.
61766348Seric		TitanOS from Kate Hedstrom of Rutgers University.
61866348Seric		Irix from Bryan Curnutt.
61966348Seric		Dynix from Jim Davis of the University of Arizona.
62066348Seric		RISC/os.
62166348Seric		Linux from John Kennedy of California State University
62266348Seric			at Chico.
62366348Seric		Solaris 2.x from Tony Boner of the U.S. Air Force.
62466348Seric		NEXTSTEP 3.x from Vince DeMarco.
62566348Seric		HP-UX from various people.  NOTA BENE:  the location
62666348Seric			of the config file has moved to /usr/lib
62766348Seric			to match the HP-UX version of sendmail.
62866348Seric	CONFIG: Don't do any recipient rewriting on relay mailer;
62966348Seric		since this is intended only for internal use, the
63066348Seric		usual RFC 821/822/1123 rules can be relaxed.  The
63166348Seric		main point of this is to avoid munging (ugh) UUCP
63266348Seric		addresses when relaying internally.
63366348Seric	CONFIG: fix typo in mailer/uucp.m4 that mutilates list:;
63466348Seric		syntax addresses delivered via UUCP.  Solution
63566348Seric		provided by Peter Wemm.
63666348Seric	CONFIG: fix thumb-fumble in default UUCP relaying in ruleset
63766348Seric		zero; it caused double @ signs in addresses.  From
63866348Seric		Irving Reid of the University of Toronto.
63966348Seric	CONFIG: Portability fixes for SCO Unix 3.2 with TCP/IP 1.2.1
64066348Seric		from Markku Toijala of ICL Personal Systems Oy.
64166348Seric	CONFIG: Add trailing "." on pseudo-domains for consistency;
64266348Seric		this fixes a problem (noted by Al Whaley of Sunnyside)
64366348Seric		that made it hard to recognize your own pseudodomain
64466348Seric		names.
64566348Seric	CONFIG: catch "@host" syntax errors (i.e., null local-parts)
64666348Seric		rather than letting them get "local configuration
64766348Seric		error"s.  Problem noted by John Gardiner Myers.
64866348Seric	CONFIG: add uucp-uudom mailer variant, based on code posted
64966348Seric		by Spider Boardman <spider@Orb.Nashua.NH.US>; this
65066348Seric		has uucp-dom semantics but old UUCP syntax.  This
65166348Seric		also permits "uucp-old" as an alias for "uucp" and
65266348Seric		"uucp-new" as a synonym for "suucp" for consistency.
65366348Seric	CONFIG: add POP mailer support (from Kimmo Suominen
65466348Seric		<kim@grendel.lut.fi>).
65566348Seric	CONFIG: drop CSNET_RELAY support -- CSNET is long gone.
65666348Seric	CONFIG: fix bug caused with domain literal addresses (e.g.,
65766348Seric		``[128.32.131.12]'') when FEATURE(allmasquerade)
65866348Seric		was set; it would get an additional @masquerade.host
65966348Seric		added to the address.  Problem noted by Peter Wan
66066348Seric		of Georgia Tech.
66166348Seric	CONFIG: make sure that the local UUCP name is in $=w.  From
66266348Seric		Jim Murray of Stratus.
66366348Seric	CONFIG: changes to UUCP rewriting to simulate IDA-style "V"
66466348Seric		mailer flag.  Briefly, if you are sending to host
66566348Seric		"foo", then it rewrites "foo!...!baz" to "...!baz",
66666348Seric		"foo!baz" remains "foo!baz", and anything else has
66766348Seric		the local name prepended.
66866348Seric	CONFIG: portability fixes for HP-UX.
66966348Seric	DOC: several minor problems fixed in the Install & Op Guide.
67066348Seric	MAKEMAP: fix core dump problem on lines that are too long or
67166348Seric		which lack newline.  From Mark Delany.
67266348Seric	MAILSTATS: print sums of columns (total messages & kbytes
67366348Seric		in and out of the system).  From Tom Ferrin of UC
67466348Seric		San Francisco Computer Graphics Lab.
67566348Seric	SIGNIFICANT USER- OR SYSAD-VISIBLE CHANGES:
67666348Seric		On HP-UX, /etc/sendmail.cf has been moved to
67766348Seric			/usr/lib/sendmail.cf to match HP sendmail.
67866348Seric		Permissions have been tightened up on world-writable
67966348Seric			:include: files and accounts that have shells
68066348Seric			that are not listed in /etc/shells.  This may
68166348Seric			cause some .forward files that have worked
68266348Seric			before to start failing.
68366348Seric		SIGUSR1 dumps some state to the log.
68466348Seric	NEW FILES:
68566348Seric		src/Makefile.DGUX
68666348Seric		src/Makefile.Dynix
68766348Seric		src/Makefile.FreeBSD
68866348Seric		src/Makefile.Mach386
68966348Seric		src/Makefile.NetBSD
69066348Seric		src/Makefile.RISCos
69166348Seric		src/Makefile.SCO
69266348Seric		src/Makefile.SVR4
69366348Seric		src/Makefile.Titan
69466348Seric		cf/mailer/pop.m4
69566348Seric		cf/ostype/bsdi1.0.m4
69666348Seric		cf/ostype/dgux.m4
69766348Seric		cf/ostype/dynix3.2.m4
69866348Seric		cf/ostype/sco3.2.m4
69966348Seric		makemap/Makefile.dist
70066348Seric		praliases/Makefile.dist
70166348Seric
70266347Seric8.6.4/8.6.4	93/10/31
70366347Seric	Repair core-dump problem (write to read-only memory segment)
70466347Seric		if you fall back to the return-to-Postmaster case in
70566347Seric		savemail.  Problem reported by Richard Liu.
70666347Seric	Immediately diagnose bogus sender addresses in SMTP.  This
70766347Seric		makes quite certain that crackers can't use this
70866347Seric		class of attack.
70966347Seric	Reliability Fix:  check return value from fclose() and fsync()
71066347Seric		in a few critical places.
71166347Seric	Minor problem in initsys() that reversed a condition for
71266347Seric		redirecting the output channel on queue runs.  It's
71366347Seric		not clear this code even does anything.  From Eric
71466347Seric		Wassenaar of the Dutch National Institute for Nuclear
71566347Seric		and High-Energy Physics.
71666347Seric	Fix some problems that caused queue runs to do "too much work",
71766347Seric		such as double-reading the Errors-To: header.  From
71866347Seric		Eric Wassenaar.
71966347Seric	Error messages on writing the temporary file (including the
72066347Seric		data file) were getting suppressed in SMTP -- this
72166347Seric		fix causes them to be properly reported.  From Eric
72266347Seric		Wassenaar.
72366347Seric	Some changes to support AF_UNIX sockets -- this will only
72466347Seric		really become relevant in the next release, but some
72566347Seric		people need it for local patches.  From Michael
72666347Seric		Corrigan of UC San Diego.
72766347Seric	Use dynamically allocated memory (instead of static buffers)
72866347Seric		for macros defined in initsys() and settime(); since
72966347Seric		these can have different values depending on which
73066347Seric		envelope they are in.  From Eric Wassenaar.
73166347Seric	Improve logging to show ctladdr on to= logging; this tells you
73266347Seric		what uid/gid processes ran as.
73366347Seric	Fix a problem that caused error messages to be discarded if
73466347Seric		the sender address was unparseable for some reason;
73566347Seric		this was supposed to fall back to the "return to
73666347Seric		postmaster" case.
73766347Seric	Improve aliaswait backoff algorithm.
73866347Seric	Portability patches for Linux (8.6.3 required another header
73966347Seric		file) (from Karl London) and SCO UNIX.
74066347Seric	CONFIG: patch prog mailer to not strip host name off of envelope
74166347Seric		addresses (so that it matches local again).  From
74266347Seric		Christopher Davis.
74366347Seric	CONFIG: change uucp-dom mailer so that "<>" translates to $n;
74466347Seric		this prevents uux from seeing lines with null names like
74566347Seric		``From   Sat Oct 30 14:55:31 1993''.  From Motonori
74666347Seric		Nakamura of Kyoto University.
74766347Seric	CONFIG: handle <list:;> syntax correctly.  This isn't legal, but
74866347Seric		it shouldn't fail miserably.  From Motonori Nakamura.
74966347Seric
75066346Seric8.6.3/8.6.3	93/10/24
75166346Seric	IMPORTANT FIX: Fix several problems that caused open files to
75266346Seric		be "lost" during queue runs; this overflowed the open
75366346Seric		file table on large runs.  An assumption that fdopen
75466346Seric		always succeeds sometimes resulted in core dumps when
75566346Seric		this happens; sometimes the message is delivered twice,
75666346Seric		sometimes (probably) infinite times.  This problem in
75766346Seric		various form was reported by P{r (Pell) Emanuelsson and
75866346Seric		Robert Campbell of U.C. Berkeley.
75966346Seric	Special diagnosis of EMFILE error conditions -- it now prints
76066346Seric		the known open file descriptors so you can figure out
76166346Seric		what is consuming so much resources.
76266346Seric	Fix a couple of problems caused by early address parsing
76366346Seric		errors -- one caused it to return a "this is only a
76466346Seric		warning" when it really wasn't, and the other started
76566346Seric		parsing through a random pointer.  The first was
76666346Seric		noted by Eric Wassenaar.
76766346Seric	Fix an infinite loop problem caused by null components in the
76866346Seric		host signature.  Problem noted by Jan Sorensen.
76966346Seric	Be sure to reset the "current date" when sending an error
77066346Seric		message -- PostMasterCopy messages were being sent
77166346Seric		with an old Date: header.
77266346Seric	Fix a problem that caused duplicated mail when sendmail was
77366346Seric		(1) compiled without HASFLOCK, (2) you are sending to
77466346Seric		an alias that has an owner-* alias, (3) you execute
77566346Seric		sendmail with -t flag, (4) you run in -odb mode, and
77666346Seric		(5) the sender specifies both the alias name and
77766346Seric		another alias [i.e., the envelope is split], then
77866346Seric		duplicate messages are sent.  The problem description
77966346Seric		and one-line fix are from Motonori Nakamura of Kyoto
78066346Seric		University.
78166346Seric	Avoid a problem that causes error messages to be discarded
78266346Seric		in some cases -- this was the result of a "fix" to
78366346Seric		avoid duplicate error messages, but two are better
78466346Seric		than zero.  Reported by Tim Rylance.
78566346Seric	Fix a minor botch in checkfd012() -- fix from Dave Hill of
78666346Seric		Computervision R&D Ltd.
78766346Seric	Remove "X-Authentication-Warning: <user> set sender to <address>
78866346Seric		using -f" entirely -- it is far too eager to include
78966346Seric		this, and it is confusing folks.  I'll try to make it
79066346Seric		work "right" in 8.7.  Problem noted by Yoshitaka
79166346Seric		Tokugawa of dit Co., Ltd.
79266346Seric	Fix a race condition with the errno value in tick() and
79366346Seric		reapchild() -- this caused occasional misdiagnosis
79466346Seric		of problems.  Kyle Jones of UUNET helped this along.
79566346Seric	Repair rule loop-detection code.  From Michael Corrigan of
79666346Seric		U.C. San Diego.
79766346Seric	Fix a problem that caused sender domain addition (C mailer
79866346Seric		flag to be ignored if you use -odq or use -odb with
79966346Seric		a high load average.  Problem reported by Jim Murray
80066346Seric		of Stratus.
80166346Seric	Fix ident protocol on multi-homed machines.  It was not
80266346Seric		always using the correct interface.  Fix from J.R.
80366346Seric		Oldroyd of Opal.
80466346Seric	Previously, sendmail assumed that any SMTP greeting message
80566346Seric		that wasn't 2xx was a temporary failure -- it should
80666346Seric		only take 4xx as a temporary failure, and return a
80766346Seric		solid error message on anything else -- for example,
80866346Seric		to allow you to reject connections on a workstation
80966346Seric		that is MXed to a mail server.
81066346Seric	Portability enhancements for 386BSD/FreeBSD/NetBSD from
81166346Seric		Ollivier Robert.
81266346Seric	CONFIG: FEATURE(always_add_domain) didn't always add the domain;
81366346Seric		in particular, on local mail it modified the header sender
81466346Seric		but not the header recipient address(es).  Reported by
81566346Seric		Jeffrey Honig of Cornell University.  Also, strip
81666346Seric		any host from envelope recipient address(es), since
81766346Seric		local mailers don't understand host names -- this is
81866346Seric		to help mailertable entries.  From Christopher Davis.
81966346Seric	CONFIG: masquerading didn't apply to addresses that already
82066346Seric		had a domain.  This change replaces a local hostname
82166346Seric		by the masquerade name in the SMTP mailer (previously
82266346Seric		it only added the masquerade name if it didn't already
82366346Seric		have a domain name).  Several people complained about
82466346Seric		this.
82566346Seric
82666345Seric8.6.2/8.6.2	93/10/15
82766345Seric	Put a "successful delivery" message in the transcript for
82866345Seric		addresses that get return-receipts.
82966345Seric	Put a prominent "this is only a warning" message in warning
83066345Seric		messages -- some people don't read carefully enough
83166345Seric		and end up sending the message several times.
83266345Seric	Include reason for temporary failure in the "warning" return
83366345Seric		message.  Currently, it just says "cannot send for
83466345Seric		four hours".
83566345Seric	Fix the "Original message received" time generated for
83666345Seric		returntosender messages.  It was previously listed as
83766345Seric		the current time.  Bug reported by Eric Hagberg of
83866345Seric		Cornell University Medical College.
83966345Seric	If there is an error when writing the body of a message,
84066345Seric		don't send the trailing dot and wait for a response
84166345Seric		in sender SMTP, as this could cause the connection to
84266345Seric		hang up under some bizarre circumstances.  From Eric
84366345Seric		Wassenaar.
84466345Seric	Fix some server SMTP synchronization problems caused when
84566345Seric		connections fail during message collection.  From
84666345Seric		Eric Wassenaar.
84766345Seric	Fix a problem that can cause srvrsmtp to reject mail if the
84866345Seric		name server is down -- it accepts the RCPT but rejects
84966345Seric		the DATA command.  Problem reported by Jim Murray of
85066345Seric		Stratus.
85166345Seric	Fix a problem that can cause core dumps if the config file
85266345Seric		incorrectly resolves to a null hostname.  Reported by
85366345Seric		Allan Johannesen of WPI.
85466345Seric	Non-root use of -C flag, dangerous -f flags, and use of -oQ
85566345Seric		by non-root users were not put into
85666345Seric		X-Authentication-Warning:s as intended because the
85766345Seric		config file hadn't set the PrivacyFlags yet.  Fix
85866345Seric		from Sven-Ove Westberg of the University of Lulea.
85966345Seric	Under very odd circumstances, the alias file rebuild code
86066345Seric		could get confused as to whether a database was
86166345Seric		open or not.
86266345Seric	Check "vendor code" on the end of V lines -- this is
86366345Seric		intended to provide a hook for vendor-specific
86466345Seric		configuration syntax.  (This is a "new feature",
86566345Seric		but I've made an exception to my rule in a belief
86666345Seric		that this is a highly exceptional case.)
86766345Seric	Portability fixes for DG/UX (from Douglas Anderson of NCSC),
86866345Seric		SCO Unix (from Murray Kucherawy), A/UX, and OSF/1
86966345Seric		(from Jon Forrest of UC Berkeley)
87066345Seric	CONFIG: fix ``mailer:host'' form of UUCP relay naming.
87166345Seric
87266344Seric8.6.1/8.6	93/10/08
87366344Seric	Portability fixes for A/UX and Encore UMAX V.
87466344Seric	Fix error message handling -- if you had a name server down
87566344Seric		causing an error during parsing, that message was never
87666344Seric		propogated to the queue file.
87766344Seric
87866343Seric8.6/8.6		93/10/05
87966343Seric	Configuration cleanup: make it easier to undo IDENTPROTO in
88066343Seric		conf.h (other systems have the same bug).
88166343Seric	If HASGETDTABLESIZE and _SC_OPEN_MAX are both defined, assume
88266343Seric		getdtablesize() instead of sysconf(); a disturbingly
88366343Seric		large number of systems defined _SC_OPEN_MAX in the
88466343Seric		header files but don't have the syscall.
88566343Seric	Another patch to really truly ignore MX records in getcanonname
88666343Seric		if trymx == FALSE.
88766343Seric	Fix problem that caused the "250 IAA25499 Message accepted for
88866343Seric		delivery" message to be omitted if there was an error
88966343Seric		in the header of the message (e.g., a bad Errors-To:
89066343Seric		line).  Pointed out by Michael Corrigan of UCSD.
89166343Seric	Announce name of host we are chatting when we get errors; this
89266343Seric		is an IDA-ism suggested by Christophe Wolfhugel.
89366343Seric	Portability fixes for Alpha OSF/1 (from Anthony Baxter of the
89466343Seric		Australian Artificial Intelligence Institute), SCO Unix
89566343Seric		(from Murray Kucherawy of Hookup Communication Corp.),
89666343Seric		NeXT (from Vince DeMarco and myself), Linux (from
89766343Seric		Karl London <karl@borg.demon.co.uk>), BSDI (from
89866343Seric		Christophe Wolfhugel, and SVR4 on Dell (from Kimmo
89966343Seric		Suominen), AUX 3.0 on Macintosh, and ANSI C compilers.
90066343Seric	Some changes to get around gcc optimizer bugs.  From Takahiro
90166343Seric		Kanbe.
90266343Seric	Fix error recovery in queueup if another tf file of the same
90366343Seric		name already exists.  Problem stumbled over by Bill
90466343Seric		Wisner of The Well.
90566343Seric	Output YP_MASTER_NAME and YP_LAST_MODIFIED without null bytes.
90666343Seric		Problem noted by Keith McMillan of Ameritech Services.
90766343Seric	Deal with group permissions properly when opening .forward and
90866343Seric		:include: files.  This relaxes the 8.1C restrictions
90966343Seric		slightly more.  This includes proper setting of groups
91066343Seric		when reading :include: files, allowing you to read some
91166343Seric		files that you should be able to read but have previously
91266343Seric		been denied unless you owned them or they had "other"
91366343Seric		read permission.
91466343Seric	Make certain that $j is in $=w (after the .cf is read) so that
91566343Seric		if the user is forced to override some silly system,
91666343Seric		MX suppression will still work.
91766343Seric	Fix a couple of efficiency problems where newstr was double-
91866343Seric		calling expensive routines.  In at least one case, it
91966343Seric		wasn't guaranteed that they would always return the
92066343Seric		same result.  Problem noted by Christophe Wolfhugel.
92166343Seric	Fix null pointer dereference in putoutmsg -- only on an error
92266343Seric		condition from a non-SMTP mailer.  From Motonori
92366343Seric		Nakamura.
92466343Seric	Macro expand "C" line class definitions before scanning so that
92566343Seric		"CX $Z" works.
92666343Seric	Fix problem that caused error message to be sent while still
92766343Seric		trying to send the original message if the connection
92866343Seric		is closed during a DATA command after getting an error
92966343Seric		on an RCPT command (pretty obscure).  Problem reported
93066343Seric		by John Myers of CMU.
93166343Seric	Fix reply to NOOP to be 250 instead of 200 -- this is a long
93266343Seric		term bug.
93366343Seric	Fix a nasty bug causing core dumps when returning the "warning:
93466343Seric		cannot deliver for N hours -- will keep trying" message;
93566343Seric		it only occurred if you had PostMasterCopy set and
93666343Seric		only on some architectures.  Although sendmail would
93766343Seric		keep trying, it would send error messages on each
93866343Seric		queue interval.  This is an important fix.
93966343Seric	Allow u and g options to take user and group names respectively.
94066343Seric	Don't do a chdir into the queue directory in -bt mode to make
94166343Seric		ruleset testing a bit easier.
94266343Seric	Don't allow users to turn off logging (using -oL) on the command
94366343Seric		line -- command line can only raise, not lower, logging
94466343Seric		level.
94566343Seric	Set $u to the original recipient on the SMTP transaction or on
94666343Seric		the command line.  This is only done if there is exactly
94766343Seric		one recipient.  Technically, this does not meet the
94866343Seric		specs, because it does not guarantee a domain on the
94966343Seric		address.
95066343Seric	Fix a problem that dumped error messages on bad addresses if
95166343Seric		you used the -t flag.  Problem noted by Josh Smith of
95266343Seric		Harvey Mudd College.
95366343Seric	Given an address such as ``<foo> <bar>'', auto-quote the first
95466343Seric		``<foo>'' part, giving ``"<foo>" <bar>''.  This is to
95566343Seric		avoid the problem of people who use angle brackets in
95666343Seric		their full name information.
95766343Seric	Fix a null pointer dereference if you set option "l", have
95866343Seric		an Errors-To: header in the message, and have Errors-To:
95966343Seric		defined in the config file H lines.  From J.R. Oldroyd.
96066343Seric	Put YPCOMPAT on #ifdef NIS instead -- it's one less thing to get
96166343Seric		wrong when compiling.  Suggested by Rick McCarty of TI.
96266343Seric	Fix a problem that could pass negative SIZE parameter if the
96366343Seric		df file got lost; this would cause servers to always
96466343Seric		give a temporary failure, making the problem even worse.
96566343Seric		Problem noted by Allan Johannesen of WPI.
96666343Seric	Add "ident" timeout (one of the "r" option selectors) for IDENT
96766343Seric		protocol timeouts (30s default).  Requested by Murray
96866343Seric		Kucherawy of HookUp Communication Corp. to handle bogus
96966343Seric		PC TCP/IP implementations.
97066343Seric	Change $w default definition to be just the first component of
97166343Seric		the domain name on config level 5.  The $j macro defaults
97266343Seric		to the FQDN; $m remains as before.  This lets well-behaved
97366343Seric		config files use any of the short, long, or subdomain
97466343Seric		names.
97566343Seric	Add makesendmail script in src to try to automate multi-architecture
97666343Seric		builds.  I know, this is sub-optimal, but it is still
97766343Seric		helpful.
97866343Seric	Fix very obscure race condition that can cause a queue run to
97966343Seric		get a queue file for an already completed job.  This
98066343Seric		problem has existed for years.  Problem noted by the
98166343Seric		long suffering Allan Johannesen of WPI.
98266343Seric	Fix a problem that caused the raw sender name to be passed to
98366343Seric		udbsender instead of the canonified name -- this caused
98466343Seric		it to sometimes miss records that it should have found.
98566343Seric	Relax check of name on HELO packet so that a program using -bs
98666343Seric		that claims to be itself works properly.
98766343Seric	Restore rewriting of $: part of address through 2, R, 4 in
98866343Seric		buildaddr -- this requires passing a lot of flags to get
98966343Seric		it right.  Unlike old versions, this ONLY rewrites
99066343Seric		recipient addresses, not sender addresses.
99166343Seric	Fix a bug that caused core dumps in config files that cannot
99266343Seric		resolve /file/name style addresses.  Fix from Jonathan
99366343Seric		Kamens of OpenVision Technologies.
99466343Seric	Fix problem with fcntl locking that can cause error returns to
99566343Seric		be lost if the lock is lost; this required fully
99666343Seric		queueing everything, dropping the envelope (so errors
99766343Seric		would get returned), and then re-reading the queue from
99866343Seric		scratch.
99966343Seric	Fix a problem that caused aliases that redefine an otherwise
100066343Seric		true address to still send to the original address
100166343Seric		if and only if the alias failed in certain bizarre
100266343Seric		ways (e.g, if they pointed at a list:; syntax address).
100366343Seric		Problem pointed out by Jonathan Kamens.
100466343Seric	Remove support for frozen configuration files.  They caused
100566343Seric		more trouble than it was worth.
100666343Seric	Fix problem that can cause error messages to get ignored when
100766343Seric		using both -odb and -t flags.  Problem noted by Rob
100866343Seric		McNicholas at U.C. Berkeley.
100966343Seric	Include all "normal" variations on hostname in $=w.  For example,
101066343Seric		if the host name is vangogh.cs.berkeley.edu, $=w will
101166343Seric		contain vangogh, vangogh.cs, and vangogh.cs.berkeley.edu.
101266343Seric	Add "restrictqrun" privacy flag -- without this, anyone can run
101366343Seric		the queue.
101466343Seric	Reset SmtpPhase global on initial connection creation so that
101566343Seric		messages don't come out with stale information.
101666343Seric	Pass an "ext" argument to lockfile so that error/log messages
101766343Seric		will properly reflect the true filename being locked.
101866343Seric	Put all [...] address forms into $=w -- this eliminates the need
101966343Seric		for MAXIPADDR in conf.h.  Suggested by John Gardiner
102066343Seric		Myers of CMU.
102166343Seric	Fix a bug that can cause qf files to be left around even after
102266343Seric		an SMTP RSET command.  Problem and fix from Michael
102366343Seric		Corrigan.
102466343Seric	Don't send a PostMasterCopy to errors when the Precedence: is
102566343Seric		negative.  Error reports still go to the envelope
102666343Seric		sender address.
102766343Seric	Add LA_SHORT for load averages.
102866343Seric	Lock sendmail.st file when posting statistics.
102966343Seric	Add "SendBufSize" and "RcvBufSize" suboptions to "O" option to
103066343Seric		set the size of the TCP send and receive buffers; if you
103166343Seric		run over a slow slip line you may need to set these down
103266343Seric		(although it would be better to fix the SLIP implementation
103366343Seric		so that it's not necessary to recompile every program
103466343Seric		that does bulk data transfer).
103566343Seric	Allow null defaults on $( ... $) lookups.  Problem reported by
103666343Seric		Amir Plivatsky.
103766343Seric	Diagnose crufty S and V config lines.  This resulted from an
103866343Seric		observation that some people were using the SITE macro
103966343Seric		without the SITECONFIG macro first, which was causing
104066343Seric		bogus config files that were not caught.
104166343Seric	Fix makemap -f flag to turn off case folding (it was turning it
104266343Seric		on instead).  THIS IS A USER VISIBLE CHANGE!!!
104366343Seric	Fix a problem that caused multiple error messages to be sent if
104466343Seric		you used "sendmail -t -oem -odb", your system uses fcntl
104566343Seric		locking, and one of the recipient addresses is unknown.
104666343Seric	Reset uid earlier in include() so that recursive .forwards or
104766343Seric		:include:s don't use the wrong uid.
104866343Seric	If file descriptor 0, 1, or 2 was closed when sendmail was
104966343Seric		called, the code to recover the descriptor was broken.
105066343Seric		This sometimes (only sometimes) caused problems with the
105166343Seric		alias file.  Fix from Motonori Nakamura.
105266343Seric	Fix a problem that caused aliaswait to go into infinite recursion
105366343Seric		if the @:@ metasymbol wasn't found in the alias file.
105466343Seric	Improve error message on newaliases if database files cannot be
105566343Seric		opened or if running with no database format defined.
105666343Seric	Do a better estimation of the size of error messages when NoReturn
105766343Seric		is set.  Problem noted by P{r (Pell) Emanuelsson.
105866343Seric	Fix a problem causing the "c" option (don't connect to expensive
105966343Seric		mailers) to be ignored in SMTP.  Problem noted and the
106066343Seric		solution suggested by Robert Elz of Munnari University.
106166343Seric	Improve connection caching algorithm by passing "[host]" to
106266343Seric		hostsignature, which strips the square brackets and
106366343Seric		returns the real name.  This allows mailertable entries
106466343Seric		to match regular entries.
106566343Seric	Re-enable Return-Receipt-To: -- people seem to want this stupid
106666343Seric		feature, even if it doesn't work right.
106766343Seric	Catch and log attempts to try the "wiz" command in server SMTP.
106866343Seric		This also ups the log level from LOG_NOTICE to LOG_CRIT.
106966343Seric	Be more generous at assigning $z to the home directory -- do this
107066343Seric		for programs that are specified through a .forward file.
107166343Seric		Fix from Andrew Chang of Sun Microsystems.
107266343Seric	Always save a fatal error message in preference to a non-fatal
107366343Seric		error message so that the "subject" line of return
107466343Seric		messages is the best possible.
107566343Seric	CONFIG: reduce the number of quotes needed to quote configuration
107666343Seric		parameters with commas: two quotes should work now, e.g.,
107766343Seric		define(ALIAS_FILE, ``/etc/aliases,/etc/aliases.local'').
107866343Seric	CONFIG: class $=Z is a set of UUCP hosts that use uucp-dom
107966343Seric		connections (domain-ized UUCP).
108066343Seric	CONFIG: fix bug in default maps (-o must be before database file
108166343Seric		name).  Pointed out by Christophe Wolfhugel.
108266343Seric	CONFIG: add FEATURE(nodns) to state that we are not relying on
108366343Seric		DNS.  This would presumably be used in UUCP islands.
108466343Seric	CONFIG: add OSTYPE(nextstep) and OSTYPE(linux).
108566343Seric	CONFIG: log $u in Received: line.  This is in technical violation
108666343Seric		of the standards, since it doesn't guarantee a domain
108766343Seric		on the address.
108866343Seric	CONFIG: don't assume "m" in local mailer flags -- this means that
108966343Seric		if you redefine LOCAL_MAILER_FLAGS you will have to include
109066343Seric		the "m" flag should you want it.  Apparently some Solaris 2.2
109166343Seric		installations can't handle multiple local recipients.
109266343Seric		Problem noted by Josh Smith.
109366343Seric	CONFIG: add confDOMAIN_NAME to set $j (if undefined, $j defaults).
109466343Seric	CONFIG: change default version level from 4 to 5.
109566343Seric	CONFIG: add FEATURE(nullclient) to create a config file that
109666343Seric		forwards all mail to a hub without ever looking at the
109766343Seric		addresses in any detail.
109866343Seric	CONFIG: properly strip mailer: information off of relays when
109966343Seric		used to change .BITNET form into %-hack form.
110066343Seric	CONFIG: fix a problem that caused infinite loops if presented
110166343Seric		with an address such as "!foo".
110266343Seric	CONFIG: check for self literal (e.g., [128.32.131.12]) even if
110366343Seric		the reverse "PTR" mapping is broken.  There's a better
110466343Seric		way to do this, but the change is fairly major and I
110566343Seric		want to hold it for another release.  Problem noted by
110666343Seric		Bret Marquis.
110766343Seric
110866342Seric8.5/8.5		93/07/23
110966342Seric	Serious bug: if you used a command line recipient that was unknown
111066342Seric		sendmail would not send a return message (it was treating
111166342Seric		everything as though it had an SMTP-style client that
111266342Seric		would do the return itself).  Problem noted by Josh Smith.
111366342Seric	Change "trymx" option in getcanonname() to ignore all MX data,
111466342Seric		even during a T_ANY query.  This actually didn't break
111566342Seric		anything, because the only time you called getcanonname
111666342Seric		with !trymx was if you already knew there were no MX
111766342Seric		records, but it is somewhat cleaner.  From Motonori
111866342Seric		Nakamura.
111966342Seric	Don't call getcanonname from getmxrr if you already know there
112066342Seric		are no DNS records matching the name.
112166342Seric	Fix a problem causing error messages to always include "The
112266342Seric		original message was received ... from localhost".
112366342Seric		The correct original host information is now included.
112466342Seric	Previous change to cf/sh/makeinfo.sh doesn't port to Ultrix (their
112566342Seric		version of "test" doesn't have the -x flag).  Change it
112666342Seric		to use -f instead.  From John Myers.
112766342Seric	CONFIG: 8.4 mistakenly set the default SMTP-style mailer to
112866342Seric		esmtp -- it should be smtp.
112966342Seric	CONFIG: send all relayed mail using confRELAY_MAILER (defaults
113066342Seric		to "relay" (a variant of "smtp") if MAILER(smtp) is used,
113166342Seric		else "suucp" if MAILER(uucp) is used, else "unknown");
113266342Seric		this cleans up the configs somewhat.  This fixes a serious
113366342Seric		problem that caused route-addrs to get mistaken as relays,
113466342Seric		pointed out by John Myers.  WARNING: this also causes
113566342Seric		the default on SMART_HOST to change from "suucp" to
113666342Seric		"relay" if you have MAILER(smtp) specified.
113766342Seric
113866341Seric8.4/8.4		93/07/22
113966341Seric	Add option `w'.  If you receive a message that comes to you because
114066341Seric		you are the best (lowest preference) target of an MX, and
114166341Seric		you haven't explicitly recognized the source MX host in
114266341Seric		your .cf file, this option will cause you to try the target
114366341Seric		host directly (as if there were no MX for it at all).  If
114466341Seric		`w' is not set, this case is a configuration error.
114566341Seric		Beware: if `w' is set, senders may get bogus errors like
114666341Seric		"message timed out" or "host unknown" for problems that
114766341Seric		are really configuration errors.  This option is
114866341Seric		disrecommended, provided only for compatibility with
114966341Seric		UIUC sendmail.
115066341Seric	Fix a problem that caused the incoming socket to be left open
115166341Seric		when sendmail forks after the DATA command.  This caused
115266341Seric		calling systems to wait in FIN_WAIT_2 state until the
115366341Seric		entire list was processed and the child closed -- a
115466341Seric		potentially prodigious amount of time.  Problem noted
115566341Seric		by Neil Rickert.
115666341Seric	Fix problem (created in 6.64) that caused mail sent to multiple
115766341Seric		addresses, one of which was a bad address, to completely
115866341Seric		suppress the sending of the message.  This changes
115966341Seric		handling of EF_FATALERRS somewhat, and adds an
116066341Seric		EF_GLOBALERRS flag.  This also fixes a potential problem
116166341Seric		with duplicate error messages if there is a syntax error
116266341Seric		in the header of a message that isn't noticed until late
116366341Seric		in processing.  Original problem pointed out by Josh Smith
116466341Seric		of Harvey Mudd College.  This release includes quite a bit
116566341Seric		of dickering with error handling (see below).
116666341Seric	Back out SMTP transaction if MAIL gets nested 501 error.  This
116766341Seric		will only hurt already-broken software and should help
116866341Seric		humans.
116966341Seric	Fix a problem that broke aliases when neither NDBM nor NEWDB were
117066341Seric		compiled in.  It would never read the alias file.
117166341Seric	Repair unbalanced `)' and `>' (the "open" versions are already
117266341Seric		repaired).
117366341Seric	Logging of "done" in dropenvelope() was incorrect: it would
117466341Seric		log this even when the queue file still existed.  Change
117566341Seric		this to only log "done" (at log level 11) when the
117666341Seric		queue file is actually removed.  From John Myers.
117766341Seric	Log "lost connection" in server SMTP at log level 20 if there
117866341Seric		is no pending transaction.  Some senders just close the
117966341Seric		connection rather than sending QUIT.
118066341Seric	Fix a bug causing getmxrr to add a dot to the end of unqualified
118166341Seric		domains that do not have MX records -- this would cause
118266341Seric		the subsequent host name lookup to fail.  The problem
118366341Seric		only occurred if you had FEATURE(nocanonify) set.
118466341Seric		Problem noted by Rick McCarty of Texas Instruments.
118566341Seric	Fix invocation of setvbuf when passed a -X flag -- I had
118666341Seric		unwittingly used an ANSI C extension, and this caused
118766341Seric		core dumps on some machines.
118866341Seric	Diagnose self-destructive alias loops on RCPT as well as EXPN.
118966341Seric		Previously it just gave an empty send queue, which
119066341Seric		then gave either "Need RCPT (recipient)" at the DATA
119166341Seric		(confusing, since you had given an RCPT command which
119266341Seric		returned 250) or just dropped the email, depending on
119366341Seric		whether you were running VERBose mode.  Now it usually
119466341Seric		diagnoses this case as "aliasing/forwarding loop broken".
119566341Seric		Unfortunately, it still doesn't adequately diagnose
119666341Seric		some true error conditions.
119766341Seric	Add internal concept of "warning messages" using 6xx codes.
119866341Seric		These are not reported only to Postmaster.  Unbalanced
119966341Seric		parens, brackets, and quotes are printed as 653 codes.
120066341Seric		They are always mapped to 5xx codes before use in SMTP.
120166341Seric	Clean up error messages to tell both the actual address that
120266341Seric		failed and the alias they arose from.  This makes it
120366341Seric		somewhat easier to diagnose problems.  Difficulty noted
120466341Seric		by Motonori Nakamura.
120566341Seric	Fix a problem that inappropriately added a ctladdr to addresses
120666341Seric		that shouldn't have had one during a queue run.  This
120766341Seric		caused error messages to be handled differently during
120866341Seric		a queue run than a direct run.
120966341Seric	Don't print the qf name and line number if you get errors during
121066341Seric		the direct run of the queue from srvrsmtp -- this was
121166341Seric		just extra stuff for users to crawl through.
121266341Seric	Put command line flags on second line of pid file so you can
121366341Seric		auto-restart the daemon with all appropriate arguments.
121466341Seric		Use "kill `head -1 /etc/sendmail.pid`" to stop the
121566341Seric		daemon, and "eval `tail -1 /etc/sendmail.pid`" to
121666341Seric		restart it.
121766341Seric	Remove the ``setuid(getuid())'' in main -- this caused the
121866341Seric		IDENT daemon to screw up.  This required that I change
121966341Seric		HASSETEUID to HASSETREUID and complicate the mode
122066341Seric		changing somewhat because both Ultrix and SunOS seem
122166341Seric		to have a bug causing seteuid() to set the saved uid
122266341Seric		as well as the effective.  The program test/t_setreuid.c
122366341Seric		will test to see if your implementation of setreuid(2)
122466341Seric		is appropriately functional.
122566341Seric	The FallBackMX (option V) handling failed to properly identify
122666341Seric		fallback to yourself -- most of the code was there,
122766341Seric		but it wasn't being enabled.  Problem noted by Murray
122866341Seric		Kucherawy of the University of Waterloo.
122966341Seric	Change :include: open timeout from ETIMEDOUT to an internal
123066341Seric		code EOPENTIMEOUT; this avoids adding "during SmtpPhase
123166341Seric		with CurHostName" in error messages, which can be
123266341Seric		confusing.  Reported by Jonathan Kamens of OpenVision
123366341Seric		Technologies.
123466341Seric	Back out setpgrp (setpgid on POSIX systems) call to reset the
123566341Seric		process group id.  The original fix was to get around
123666341Seric		some problems with recalcitrant MUAs, but it breaks
123766341Seric		any call from a shell that creates a process group id
123866341Seric		different from the process id.  I could try to fix
123966341Seric		this by diddling the tty owner (using tcsetpgrp or
124066341Seric		equivalent) but this is too likely to break other
124166341Seric		things.
124266341Seric	Portability changes:
124366341Seric		Support -M as equivalent to -oM on Ultrix -- apparently
124466341Seric			DECnet calls sendmail with -MrDECnet -Ms<HOST> -bs
124566341Seric			instead of using standard flags.  Oh joy.  This
124666341Seric			behaviour reported by Jon Giltner of University
124766341Seric			of Colorado.
124866341Seric		SGI IRIX  -- this includes several changes that should
124966341Seric			help other strict ANSI compilers.
125066341Seric		SCO Unix -- from Murray Kucherawy of HookUp Communication
125166341Seric			Corporation.
125266341Seric		Solaris running the Sun C compiler (which despite the
125366341Seric			documentation apparently doesn't define
125466341Seric			__STDC__ by default).
125566341Seric		ConvexOS from Eric Schnoebelen of Convex.
125666341Seric		Sony NEWS workstations and Omron LUNA workstations from
125766341Seric			Motonori Nakamura.
125866341Seric	CONFIG: add confTRY_NULL_MX_LIST to set option `w'.
125966341Seric	CONFIG: delete `C' and `e' from default SMTP mailers flags;
126066341Seric		several people have made a good argument that this
126166341Seric		creates more problems than it solves (although this
126266341Seric		may prove painful in the short run).
126366341Seric	CONFIG: generalize all the relays to accept a "mailer:host"
126466341Seric		format.
126566341Seric	CONFIG: move local processing in ruleset 0 into a new ruleset
126666341Seric		98 (8 on old sendmail).  Domain literal [a.b.c.d]
126766341Seric		addresses are also passed through this ruleset.
126866341Seric	CONFIG: if neither SMART_HOST nor MAILER(smtp) were defined,
126966341Seric		internet-style addresses would "fall off the end" of
127066341Seric		ruleset zero and be interpreted as local -- however,
127166341Seric		the angle brackets confused the recursive call.
127266341Seric		These are now diagnosed as "Unrecognized host name".
127366341Seric	CONFIG: USENET rules weren't included in S0 because of a mistaken
127466341Seric		ifdef(`_MAILER_USENET_') instead of
127566341Seric		ifdef(`_MAILER_usenet_').  Problem found by Rein Tollevik
127666341Seric		of SINTEF RUNIT, Oslo.
127766341Seric	CONFIG: move up LOCAL_RULE_0 processing so that it happens very
127866341Seric		early in ruleset 0; this allows .mc authors to bypass
127966341Seric		things like the "short circuit" code for local addresses.
128066341Seric		Prompted by a comment by Bill Wisner of The Well.
128166341Seric	CONFIG: add confSMTP_MAILER to define the mailer used (smtp or
128266341Seric		esmtp) to send SMTP mail.  This allows you to default
128366341Seric		to esmtp but use a mailertable or other override to
128466341Seric		deal with broken servers.  This logic was pointed out
128566341Seric		to me by Bill Wisner.  Ditto for confLOCAL_MAILER.
128666341Seric	Changes to cf/sh/makeinfo.sh to make it portable to SVR4
128766341Seric		environments.  Ugly as sin.
128866341Seric
128966340Seric8.3/8.3		93/07/13
129066340Seric	Fix setuid problems introduced in 8.2 that caused messages
129166340Seric		like "Cannot create qfXXXXXX: Invalid argument"
129266340Seric		or "Cannot reopen dfXXXXXX: Permission denied".  This
129366340Seric		involved a new compile flag "HASSETEUID" that takes
129466340Seric		the place of the old _POSIX_SAVED_IDS -- it turns out
129566340Seric		that the POSIX interface is broken enough to break
129666340Seric		some systems badly.  This includes some fixes for
129766340Seric		HP-UX.  Also fixes problems where the real uid is
129866340Seric		not reset properly on startup (from Neil Rickert).
129966340Seric	Fix a problem that caused timed out messages to not report the
130066340Seric		addresses that timed out.  Error messages are also more
130166340Seric		"user friendly".
130266340Seric	Drop required bandwidth on connections from 64 bytes/sec to
130366340Seric		16 bytes/sec.
130466340Seric	Further Solaris portability changes -- doesn't require the BSD
130566340Seric		compatibility library.  This also adds a new
130666340Seric		"HASGETDTABLESIZE" compile flag which can be used if
130766340Seric		you want to use getdtablesize(2) instead of sysconf(2).
130866340Seric		These are loosely based on changes from David Meyer at
130966340Seric		University of Oregon.  This now seems to work, at least
131066340Seric		for quick test cases.
131166340Seric	Fix a problem that can cause duplicate error messages to be
131266340Seric		sent if you are in SMTP, you send to multiple addresses,
131366340Seric		and at least one of those addresses is good and points
131466340Seric		to an account that has a .forward file (whew!).
131566340Seric	Fix a problem causing messages to be discarded if checkcompat()
131666340Seric		returned EX_TEMPFAIL (because it didn't properly mark
131766340Seric		the "to" address).  Problem noted by John Myers.
131866340Seric	Fix dfopen to return NULL if the open failed; I was depending
131966340Seric		on fdopen(-1) returning NULL, which isn't the case.  This
132066340Seric		isn't serious, but does result in wierd error diagnoses.
132166340Seric		From Michael Corrigan.
132266340Seric	CONFIG: add UUCP_MAX_SIZE M4 macro to set the maximum size of
132366340Seric		messages sent through UUCP-family mailers.  Suggested
132466340Seric		by Bill Wisner of The Well.
132566340Seric	CONFIG: if both MAILER(uucp) and MAILER(smtp) are specified,
132666340Seric		include a "uucp-dom" mailer that uses domain-style
132766340Seric		addressing.  Suggested by Bill Wisner.
132866340Seric	CONFIG: Add LOCAL_SHELL_FLAGS and LOCAL_SHELL_ARGS to match
132966340Seric		LOCAL_MAILER_FLAGS and LOCAL_MAILER_ARGS.  Suggested by
133066340Seric		Christophe Wolfhugel.
133166340Seric	CONFIG: Add OSTYPE(aix3).  From Christophe Wolfhugel.
133266340Seric
133366339Seric8.2/8.2		93/07/11
133466339Seric	Don't drop out on config file parse errors in -bt mode.
133566339Seric	On older configuration files, assume option "l" (use Errors-To
133666339Seric		header) for back compatibility.  NOTE:  this DOES NOT
133766339Seric		imply an endorsement of the Errors-To: header in any way.
133866339Seric	Accept -x flag on AIX-3 as well as OSF/1.  Why, why, why???
133966339Seric	Don't log errors on EHLO -- it isn't a "real" error for an old
134066339Seric		SMTP server to give an error on this command, and
134166339Seric		logging it in the transcript can be confusing.  Fix
134266339Seric		from Bill Wisner.
134366339Seric	IRIX compatibility changes provided by Dan Rich
134466339Seric		<drich@sandman.lerc.nasa.gov>.
134566339Seric	Solaris 2 compatibility changes.  Provided by Bob Cunningham
134666339Seric		<bob@kahala.soest.hawaii.edu>, John Oleynick
134766339Seric		<juo@klinzhai.rutgers.edu>
134866339Seric	Debugging: -d17 was overloaded (hostsignature and usersmtp.c);
134966339Seric		move usersmtp (smtpinit and smtpmailfrom) to -d18 to
135066339Seric		match the other flags in that file.
135166339Seric	Flush transcript before fork in mailfile().  From Eric Wassenaar.
135266339Seric	Save h_errno in mci struct and improve error message display.
135366339Seric		Changes from Eric Wassenaar.
135466339Seric	Open /dev/null for the transcript if the create of the xf file
135566339Seric		failed; this avoids at least one possible null pointer
135666339Seric		reference in very wierd cases.  From Eric Wassenaar.
135766339Seric	Clean up statistics gathering; it was over-reporting because of
135866339Seric		forks.  From Eric Wassenaar.
135966339Seric	Fix problem that causes old Return-Path: line to override new
136066339Seric		Return-Path: line (conf.c needs H_FORCE to avoid
136166339Seric		re-using old value).  From Motonori Nakamura.
136266339Seric	Fix broken -m flag in K definition -- even if -m (match only)
136366339Seric		was specified, it would still replace the key with the
136466339Seric		value.  Noted by Rick McCarty of Texas Instruments.
136566339Seric	If the name server timed out over several days, no "timed out"
136666339Seric		message would ever be sent back.  The timeout code
136766339Seric		has been moved from markfailure() to dropenvelope()
136866339Seric		so that all such failures should be diagnosted.  Pointed
136966339Seric		out by Christophe Wolfhugel and others.
137066339Seric	Relax safefile() constraints: directories in an include or
137166339Seric		forward path must be readable by self if the controlling
137266339Seric		user owns the entry, readable by all otherwise (e.g.,
137366339Seric		when reading your .forward file, you have to own and
137466339Seric		have X permssion in it; everyone needs X permission in
137566339Seric		the root and directories leading up to your home);
137666339Seric		include files must be readable by anyone, but need not
137766339Seric		be owned by you.
137866339Seric	If _POSIX_SAVED_IDS is defined, setuid to the owner before
137966339Seric		reading a .forward file; this gets around some problems
138066339Seric		on NFS mounts if root permission is not exported and
138166339Seric		the user's home directory isn't x'able.
138266339Seric	Additional NeXT portability enhancements from Axel Zinser.
138366339Seric	Additional HP-UX portability enhancements from Brian Bullen.
138466339Seric	Add a timeout around SMTP message writes; this assumes you can
138566339Seric		get throughput of at least 64 bytes/second.  Note that
138666339Seric		this does not impact the "datafinal" default, which
138766339Seric		is separate; this is just intended to work around
138866339Seric		network clogs that will occur before the final dot
138966339Seric		is sent.  From Eric Wassenaar.
139066339Seric	Change map code to set the "include null" flag adaptively --
139166339Seric		it initially tries both, but if it finds anything
139266339Seric		matching without a null it never tries again with a
139366339Seric		null and vice versa.  If -N is specified, it never
139466339Seric		tries without the null and creates new maps with a
139566339Seric		null byte.  If -O is specified, it never tries with
139666339Seric		the null (for efficiency).  If -N and -O are specified,
139766339Seric		you get -NO (get it?) lookup at all, so this would
139866339Seric		be a bad idea.  If you don't specify either -N or -O,
139966339Seric		it adapts.
140066339Seric	Fix recognition of "same from address" so that MH submissions
140166339Seric		will insert the appropriate full name information;
140266339Seric		this used to work and got broken somewhere along the
140366339Seric		way.
140466339Seric	Some changes to eliminate some unnecessary SYSERRs in the
140566339Seric		log.  For example, if you lost a connection, don't
140666339Seric		bother reporting that fact on the connection you lost.
140766339Seric	Add some "extended debugging" flags to try to track down
140866339Seric		why we get occassional problems with file descriptor
140966339Seric		one being closed when execing a mailer; it seems to
141066339Seric		only happen when there has been another error in the
141166339Seric		same transaction.  This requires XDEBUG, defined
141266339Seric		by default in conf.h.
141366339Seric	Add "-X filename" command line flag, which logs both sides of
141466339Seric		all SMTP transactions.  This is intended ONLY for
141566339Seric		debugging bad implementations of other mailers; start
141666339Seric		it up, send a message from a mailer that is failing,
141766339Seric		and then kill it off and examine the indicated log.
141866339Seric		This output is not intended to be particularly human
141966339Seric		readable.  This also adds the HASSETVBUF compile
142066339Seric		flag, defaulted on if your compiler defines __STDC__.
142166339Seric	CONFIG: change SMART_HOST to override an SMTP mailer.  If you
142266339Seric		have a local net that should get direct connects, you
142366339Seric		will need to use LOCAL_NET_CONFIG to catch these hosts.
142466339Seric		See cf/README for an example.
142566339Seric	CONFIG: add LOCAL_MAILER_ARGS (default: `mail -d $u') to handle
142666339Seric		sites that don't use the -d flag.
142766339Seric	CONFIG: hide recipient addresses as well as sender addresses
142866339Seric		behind $M if FEATURE(allmasquerade) is specified; this
142966339Seric		has been requested by several people, but can break
143066339Seric		local aliases.  For example, if you mail to "localalias"
143166339Seric		this will be rewritten as "localalias@masqueradehost";
143266339Seric		although initial delivery will work, replies will be
143366339Seric		broken.  Use it sparingly.
143466339Seric	CONFIG: add FEATURE(domaintable).  This maps unqualified domains
143566339Seric		to qualified domains in headers.  I believe this is
143666339Seric		largely equivalent to the IDA feature of the same name.
143766339Seric	CONFIG: use $U as UUCP name instead of $k.  This permits you
143866339Seric		to override the "system name" as your UUCP name --
143966339Seric		in particular, to use domain-ized UUCP names.  From
144066339Seric		Bill Wisner of The Well.
144166339Seric	CONFIG: create new mailer "esmtp" that always tries EHLO
144266339Seric		first.  This is currently unused in the config files,
144366339Seric		but could be used in a mailertable entry.
144466339Seric
144566338Seric8.1C/8.1B	93/06/27
144666338Seric	Serious security bug fix: it was possible to read any file on
144766338Seric		the system, regardless of ownership and permissions.
144866338Seric	If a subroutine returns a fully qualified address, return it
144966338Seric		immediately instead of feeding it back into rewriting.
145066338Seric		This fixes a problem with mailertable lookups.
145166338Seric	CONFIG: fix some M4 frotz (concat => CONCAT)
145266338Seric
145366338Seric8.1B/8.1A	93/06/12
145466338Seric	Serious bug fix: pattern matching backup algorithm stepped by
145566338Seric		two tokens in classes instead of one.  Found by Claus
145666338Seric		Assmann at University of Kiel, Germany.
145766338Seric
145866338Seric8.1A/8.1A	93/06/08
145966338Seric	Another mailertable fix....
146066338Seric
146166338Seric8.1/8.1		93/06/07
146266338Seric	4.4BSD freeze.  No semantic changes.
146366338Seric
146466338Seric6.65/6.34	93/06/06
146566338Seric	Fix some lintish problems.
146666338Seric	Fix some cases where server SMTP behaved poorly when handed bogus
146766338Seric		input, pointed out by Eric Wassenaar.
146866338Seric	CONFIG: fix some more (sigh) mailertable bugs -- thanks to
146966338Seric		Motonori Nakamura of Kyoto University (again).
147066338Seric
147166338Seric6.64/6.33	93/06/05
147266338Seric	Don't send 050 (-v) information after the 250 response to a QUIT
147366338Seric		command in srvrsmtp -- clients usually close the connection
147466338Seric		at this point, and it causes bogus error messages.
147566338Seric	Don't send messages that have errors on input (such as unbalanced
147666338Seric		parentheses) during SMTP transactions, since a return
147766338Seric		message has (probably) already been sent.
147866338Seric	Give better diagnostics on timeouts during network reads, including
147966338Seric		information similar to the SMTP phase.
148066338Seric	Fix bug that caused SMTP messages to deliver synchronously; this
148166338Seric		happened after the DATA 250, and hence caused reading the
148266338Seric		next command to be delayed.
148366338Seric	Ignore Errors-To: header unless 'l' (lower case el) header is
148466338Seric		specified.  The Errors-To: header violates RFC 1123.
148566338Seric		Errors-To: was only needed to take the place of the
148666338Seric		envelope sender in the days when most Unix mailers
148766338Seric		didn't understand about the two kinds of senders.
148866338Seric	Don't send warning messages in response to automatically generated
148966338Seric		messages (that is, those From:<>).
149066338Seric	CONFIG: fix some rather stupid typos in the mailertable code
149166338Seric		pointed out by Motonori Nakamura of Kyoto University.
149266338Seric	CONFIG: add confUSE_ERRORS_TO configuration option.
149366338Seric	CONFIG: if ALWAYS_ADD_DOMAIN is selected, try to use $M
149466338Seric		(masquerade name) instead of $j.
149566338Seric	CONFIG: don't add dots to relay names (added in 6.29); it breaks
149666338Seric		several things, and can be simulated by dot terminating
149766338Seric		the names of relays.  For example, use:
149866338Seric			DBbit.net.relay.
149966338Seric		(note the trailing dot).
150066338Seric
150166338Seric6.63/6.32	93/06/01
150266338Seric	Fix prototypes to eliminate chars in argument lists -- some
150366338Seric		compilers are pissy about this.
150466338Seric	Log protocol ($r) and body type if set so we can determine if
150566338Seric		the adaptive algorithms are working.
150666338Seric	Pessimize on locking of database files (particularly for NEWDB
150766338Seric		databases) during opens.  There were problems with
150866338Seric		processes opening the file while it was rebuilt; since
150966338Seric		NEWDB caches heavily, the reader opened an empty file,
151066338Seric		which is an error.  If your system has the ability to
151166338Seric		lock atomically on open, this works properly; otherwise,
151266338Seric		there are race conditions.
151366338Seric	Check mod time on .pag file instead of .dir in NDBM aliases
151466338Seric		because the .dir file doesn't get updated for small
151566338Seric		alias files.  From John Gardiner Myers of CMU.
151666338Seric	More Solaris portability -- it now compiles on Solaris, but
151766338Seric		hangs up in gethostbyname().
151866338Seric	Move setting of RES_DEBUG flag before first myhostname() call
151966338Seric		so we can see name server traffic on that call.
152066338Seric	Fsync() queue files.
152166338Seric	Fix a problem that causes -bi to try to rebuild maps other than
152266338Seric		the alias file(s).
152366338Seric	Fix a problem that caused udb to reject entries from any but
152466338Seric		the first database listed.
152566338Seric	Rearrange doc subdirectory for 4.4BSD release tape.
152666338Seric	CONFIG: put $r into the Received line.  This was an oversight.
152766338Seric	CONFIG: fix typo (call to ruleset 99 should have been rulset 90).
152866338Seric	CONFIG: move "auxiliary" subroutines to be in ruleset 90-99
152966338Seric		range -- in the long run, single digit rulesets may
153066338Seric		become reserved for builtin use by sendmail.
153166338Seric	CONFIG: fix major problem that causes host aliases (that is,
153266338Seric		anything in $=w != $j) to not be recognized.  This has
153366338Seric		been around since 6.30.
153466338Seric
153566338Seric6.62/6.31	93/05/28
153666338Seric	BETA RELEASE
153766338Seric	Fix recursive syserr (if there is an error printing a syserr
153866338Seric		message).  This makes the code much less eager to consider
153966338Seric		a write error as serious.  This also includes some
154066338Seric		heuristics to be clever about closed connections.
154166338Seric	Lock NEWDB files during gets.  This requires version 1.5 or later
154266338Seric		of the db library.  If you have an older version, you
154366338Seric		can use -DOLD_NEWDB.  This will go away in a few weeks.
154466338Seric	Fix problem causing aliases that use host maps to get overwritten.
154566338Seric	Do appropriate byte swapping on port numbers in ident protocol
154666338Seric		code.  Fix from Allan Johannesen of WPI.
154766338Seric	Defer opening of map files to the same time as alias files so that
154866338Seric		the daemon will tend to pick up new versions more promptly.
154966338Seric	Prototype a bunch more functions.
155066338Seric	Some Solaris 2.1 changes (still doesn't link though).
155166338Seric	Try to simplify Makefiles by including more subordinate #defines
155266338Seric		in conf.h (based on OS type).
155366338Seric	CONFIG: check for domains if FEATURE(mailertable) is defined.
155466338Seric		For example, if the host name is "knecht.cs.berkeley.edu"
155566338Seric		it will search the following mailertable keys:
155666338Seric			knecht.cs.berkeley.edu
155766338Seric			.cs.berkeley.edu
155866338Seric			.berkeley.edu
155966338Seric			.edu
156066338Seric		This could be used to replace the special relays for bitnet
156166338Seric		and similar nets.
156266338Seric
156366338Seric6.61/6.30	93/05/24
156466338Seric	Fix problem that prevented appending dots on canonified host
156566338Seric		names.  This breaks tons of config files -- very
156666338Seric		important fix.
156766338Seric	Fix improper pointer dereference in response to HELO command.
156866338Seric	Fix core dump if debugging set in map_rewrite.
156966338Seric	CONFIG: add FEATURE(always_add_domain) to always attach the
157066338Seric		local domain (only impacts local mail).
157166338Seric	CONFIG: try to avoid turning names into $j -- although
157266338Seric		technically a host can only have one "canonical name",
157366338Seric		it seems to be common practice to have several.
157466338Seric
157566338Seric6.60/6.29	93/05/22
157666338Seric	Major change: merge alias databases with maps.  This expands and
157766338Seric		changes the map class interface but fixes a bunch of bugs.
157866338Seric		The important user-visible change is that the file name
157966338Seric		in a K line now does not include the ".db" extension; this
158066338Seric		is added automatically.  Also, the -d (NIS domain) flag is
158166338Seric		missing from the K config line; use @domain instead.
158266338Seric		When compiling, the *_MAP names are gone -- just compile
158366338Seric		in NDBM, NEWDB, and/or NIS support.
158466338Seric	Announce mailer/host/user triple on -bv flag -- from Brian
158566338Seric		Bullen of Stirling University.
158666338Seric	Don't send more than one line in response to HELO -- it confuses
158766338Seric		Pony Express, which then behaves very badly.  However,
158866338Seric		this change does send two line 220 greetings, with the
158966338Seric		second line reading "ESMTP spoken here".  The usersmtp
159066338Seric		module recognizes this and goes into ESMTP mode regardless
159166338Seric		of the setting of the "a" mailer flag.  Thus, "a" means
159266338Seric		"always try EHLO".
159366338Seric	AIX portability changes (thanks to Christophe Wolfhugel of
159466338Seric		Herve Schauer Consultants (Paris) for providing me with
159566338Seric		an INSA account for this purpose).  Lightly tested.  Use
159666338Seric		-D_AIX3.  This probably breaks compatibility with some
159766338Seric		older systems (e.g., 4.2bsd) but still works on SunOS
159866338Seric		4.1.2, Ultrix 4.2A, HP-UX 8.07, OSF/1 T1.3, and AIX 3.2.3.
159966338Seric	Fix a problem causing an error message loop if the output channel
160066338Seric		is hosed.
160166338Seric	Add the Makefiles that I use for various environments -- some are
160266338Seric		Berkeley make versions and some are old make versions.
160366338Seric		My makefile for the NeXT box has gotten lost, alas!
160466338Seric	PRALIASES: support for printing NEWDB databases.  From
160566338Seric		Michael J. Corrigan of U.C. San Diego.
160666338Seric	CONFIG: don't pass pseudo-domains to $[ ... $] (if you have
160766338Seric		a wildcard MX it can have wierd results).  From
160866338Seric		Christophe Wolfhugel.
160966338Seric	CONFIG: dot terminate relay hostnames in S0.  From Christophe
161066338Seric		Wolfhugel.
161166338Seric
161266338Seric6.59/6.28	93/05/13
161366338Seric	Log version with SMTP daemon startup message.
161466338Seric	Adjust setproctitle to work on NetBSD and BSD/386.
161566338Seric	Fix null pointer reference in MX fallback code.
161666338Seric	A bunch of minor fixes from Eric Wassenaar:
161766338Seric		If deliver cannot execv the mailer, return EX_OSERR
161866338Seric			instead of EX_TEMPFAIL (to give better
161966338Seric			error messages).
162066338Seric		Consistently malloc e_message.
162166338Seric		Catch degenerate case of calling returntosender()
162266338Seric			with an empty returnq.
162366338Seric		MIME reformatting.
162466338Seric
162566338Seric6.58/6.28	93/05/13
162666338Seric	Fix bug that can cause incorrect verbose display of user smtp
162766338Seric		messages.
162866338Seric	Disable SMTP VERB command if PRIV_NOEXPN is set (since this
162966338Seric		could reveal the same information.
163066338Seric	Allow failure when reading SMTP greeting message to go on to
163166338Seric		next MX host.
163266338Seric	Add "MIME-Version: 1.0" header if using MIME (this was NOT
163366338Seric		included in RFC 1344, but Bill King of Allan-Bradley
163466338Seric		Company forwarded me email from Nathaniel Borenstein
163566338Seric		claiming that it was an inadvertent omission).
163666338Seric	Don't use Content-Type: X-message-header.  According to John
163766338Seric		Myers of CMU, many MIME readers will completely ignore
163866338Seric		the data if they don't recognize it.  Instead, just
163966338Seric		add a blank line to make it a legal (empty) message.
164066338Seric	Fix problem causing dots to keep getting appended to cached
164166338Seric		hostnames.  This can cause buffer overrun conditions.
164266338Seric		The problem was found by Erik Forsberg of Retix,
164366338Seric		although I used a different bug fix than he provided.
164466338Seric	Fix parsing of split header/envelope rewriting specs -- from
164566338Seric		Eric Forsberg.
164666338Seric	Fix from Eric Wassenaar to correct To: lists in error messages.
164766338Seric
164866338Seric6.57/6.28	93/05/11
164966338Seric	Fix minor glitch causing extra ctladdrs to be output to queue
165066338Seric		file.  Just an annoyance.
165166338Seric	Cache results of name server canonification lookups to avoid
165266338Seric		backed up queue runs.
165366338Seric	Major rewrite of alias.c: considerable cleanup, plus sample
165466338Seric		(untested) support for NIS aliases.  The "A" option
165566338Seric		can now be a comma separated list (or be repeated) --
165666338Seric		that is, you can have multiple alias databases.  Each
165766338Seric		database can have the syntax ``class:file''; if no class
165866338Seric		is specified, the "implicit" class is assumed.  Implicit
165966338Seric		searches through a list of compiled in types -- hash,
166066338Seric		dbm, nis, and stab.  Alias files are searched in the
166166338Seric		order they are listed.  For example:
166266338Seric			OAhash:/etc/aliases.local,/etc/aliases
166366338Seric			OAnis:mail.aliases@my.nis.domain
166466338Seric		first searches the hash database /etc/aliases.local,
166566338Seric		then the regular /etc/aliases database, then the NIS
166666338Seric		map "mail.aliases" in the NIS domain "my.nis.domain".
166766338Seric	If in Verbose mode (probably from VERB command) run SMTP job
166866338Seric		in foreground and don't do RCPT optimizations.
166966338Seric	Add udb :mailsender as equivalent to owner- for regular aliases.
167066338Seric	Delete option 8; add option 7 that means the opposite.  That is,
167166338Seric		default to 8-bit mode; a special option is needed to
167266338Seric		force sendmail into 7 bit mode.
167366338Seric	Send error messages in encapsulated MIME format.
167466338Seric	New compile flag "NIS" that turns on NIS alias and NIS map
167566338Seric		support.
167666338Seric	Add "j" option to send error messages in MIME (RFC 1341)
167766338Seric		encapsulated message format per RFC 1344.  The
167866338Seric		syntax is pretty ugly if you don't have MIME-aware
167966338Seric		user agents.
168066338Seric	Clean up message handling (for display in mailq output).
168166338Seric	New setproctitle implementation for 4.4bsd.
168266338Seric	Create files (such as ~/dead.letter) using mode FileMode (the
168366338Seric		F option value) instead of 0666.
168466338Seric	Fix bug causing output of EXPN command to not be fully qualified.
168566338Seric		This may cause some problems with UUCP addresses that
168666338Seric		will require some config file assistance -- specifically,
168766338Seric		the $: part has to include the host name for this output
168866338Seric		to make sense.
168966338Seric	Fix a problem that sometimes diagnosed errors and still sent the
169066338Seric		message if the header syntax was bad.
169166338Seric	Fix a bug that caused an error message to be emailed when sendmail
169266338Seric		was operating in -bv mode.
169366338Seric	Add "ListenQueueSize" keyword to daemon options option (OO) to
169466338Seric		set the queue size parameter passed to listen().  You
169566338Seric		will normally have to tweak your kernel to up this.
169666338Seric	Strip spaces off of beginning of message-id before logging (in
169766338Seric		case it was folded across lines).
169866338Seric	Tweak compile flags in daemon.c -- there were some cases where
169966338Seric		it wouldn't work without NETINET.
170066338Seric	Change *file* mailer to output all the usual default headers
170166338Seric		(From, Date, Message-Id).  It gets used when sending
170266338Seric		back error messages.
170366338Seric	CONFIG: explicitly catch and diagnose list:; syntax in ruleset
170466338Seric		zero -- this is not a valid recipient syntax according
170566338Seric		to RFC 821.
170666338Seric	CONFIG: add confMIME_FORMAT_ERRORS to send error messages in
170766338Seric		MIME format.  Defaults to on.
170866338Seric	CONFIG: add SMTP_MAILER_FLAGS and UUCP_MAILER_FLAGS to augment
170966338Seric		the flags for those mailers.
171066338Seric
171166338Seric6.56/6.27	93/05/01
171266338Seric	Fix problem that causes the fallback mail to postmaster
171366338Seric		(case ESM_POSTMASTER in savemail()) to not look at
171466338Seric		aliases (ugh).
171566338Seric	Some more HPUX tweaking (compile flag hpux => __hpux so it
171666338Seric		still works in ANSI mode).
171766338Seric	Don't try to flock non-regular files when mailing to a file.
171866338Seric		In particular, this was a problem if you tried to
171966338Seric		send to /dev/null.
172066338Seric	Fix a wierd bug that can cause senders to be queued as
172166338Seric		recipients if the name server is down when the mail
172266338Seric		is initially sent.  This hack just ignores sender
172366338Seric		deletion (essentially, it sets the MeToo flag) if there
172466338Seric		is a TEMPFAIL during processing of the sender address.
172566338Seric		Obscure.
172666338Seric	Fix a dangling else problem -- from Brian Bullen from University
172766338Seric		of Stirling, UK.
172866338Seric	Add the "b" mailer flag to force a blank line on the end of
172966338Seric		messages.  Some brilliant versions of /bin/mail insist
173066338Seric		on this but do not add it themselves.
173166338Seric	Add the "g" mailer flag to prevent user SMTP from sending
173266338Seric		"MAIL From:<>".  This is only intended to be a
173366338Seric		transitional gesture, and should not be used if at
173466338Seric		all possible.  It appears that Berkeley and IDA
173566338Seric		config files have always handled this properly; the
173666338Seric		UK config kit apparently does not.
173766338Seric	Don't lowercase and then capitalize header field names -- leave
173866338Seric		them with original capitalization.  Fixes from Bill
173966338Seric		King of Allen-Bradley Company.
174066338Seric	Further cleanup and improved reporting of error messages,
174166338Seric		particularly conditions that cause messages to be
174266338Seric		requeued for future delivery.
174366338Seric	Tweak syslog priorities in some cases.
174466338Seric	CONFIG: clean up route-addr on UUCP addresses.
174566338Seric
174666338Seric6.55/6.25	93/04/27
174766338Seric	HPUX 8.07 compatibility changes in getla() -- I had to make
174866338Seric		these changes to get it to work at Berkeley, although
174966338Seric		others seem to have been working before (???).
175066338Seric	Various patches to XLA code.
175166338Seric	Fix problem that causes setuid bit on files to be ignored from
175266338Seric		SMTP or in queue runs.  Problem noted by Jason Ornstein
175366338Seric		of Under The Wire, Inc.
175466338Seric	Fix problem that can cause CNAMEs to be ignored.
175566338Seric	Generalize getmxrr to match local host in $=w instead of a
175666338Seric		single name passed in.
175766338Seric	Some cleanup from Eric Wassenaar:
175866338Seric		Use FileMailer instead of ProgMailer in two places.
175966338Seric		Eliminate duplicate 8th-bit stripping in commaize.
176066338Seric		Fix a problem with mis-parsing of backslash escapes
176166338Seric			under some circumstances.
176266338Seric	NIS map fix (was always including trailing null character)
176366338Seric		from Mike Glendinning of Ingres UK.
176466338Seric	Add "a" mailer flag to try using ESMTP.  It tries the EHLO
176566338Seric		command and if that fails falls back to regular SMTP.
176666338Seric		Also parses EHLO option keywords.  If host supports
176766338Seric		SIZE extension, this is added to the MAIL FROM:
176866338Seric		command.
176966338Seric	Extend "b" option to include a second value which is the
177066338Seric		maximum message size this server is willing to accept.
177166338Seric		For example, a value of "10/1000000" says that there
177266338Seric		must be ten blocks free, and sendmail will reject
177366338Seric		any message larger than one megabyte.
177466338Seric	Some portability hooks for NeXT (this could be applicable
177566338Seric		to Mach in general).  You have to create an empty
177666338Seric		file called "unistd.h" to get it to compile.
177766338Seric	Adjust config values (MAXLINE, MAXATOM, and PSBUFSIZE) to
177866338Seric		be more generous.
177966338Seric	Add X400-Received: to the list of headers tagged with H_TRACE
178066338Seric		in conf.c.  From Bill King, Allen-Bradley Co.
178166338Seric
178266338Seric6.54/6.25	93/04/19
178366338Seric	Fix problem that caused redefinition of SMTP and QUEUE compile
178466338Seric		flags.  Pointed out by Jon Forrest of the Sequoia 2000
178566338Seric		project at Berkeley.
178666338Seric	Properly handle \! hack -- it was treating host\!user as one
178766338Seric		token (host!user) instead of three (host, !, user).
178866338Seric		Fix from Eric Wassenaar of NIKHEF-H.
178966338Seric	Fix compilation problem in getauthinfo() if IDENTPROTO is off.
179066338Seric	Turn off DEFNAMES and DNSRCH when getting the hostsignature
179166338Seric		(i.e., MX records) in level 1 configuration files; this
179266338Seric		matches the old behaviour.  From Motonori Nakamura of
179366338Seric		Kyoto University.
179466338Seric	Improve error message printing -- if sent through an alias,
179566338Seric		error messages include the name of the alias in the
179666338Seric		message.  Unfortunately, in order to make this work
179766338Seric		properly in queue runs, this changes the format of the
179866338Seric		C line in the qf file.  The relatively uselessness of
179966338Seric		the previous information was pointed out to me by
180066338Seric		Allan E Johannesen of WPI.
180166338Seric	Add XLA compile flag to add hooks to Christophe Wolfhugel's
180266338Seric		extended load average code.  This is still in very early
180366338Seric		form.  For information regarding the guts of the xla
180466338Seric		code, contact Christophe.Wolfhugel@grasp.insa-lyon.fr.
180566338Seric	Additional hooks for detecting tempfails in rewriting rules
180666338Seric		(that is, in map lookups).
180766338Seric
180866338Seric6.53/6.25	93/04/15
180966338Seric	Properly diagnose ruleset zero returning null (instead of a mailer
181066338Seric		triple).  From Motonori Nakamura of Kyoto University.
181166338Seric	More generalization of socket code for other protocols.
181266338Seric	Shorten timeouts on reverse name lookups -- since they are done
181366338Seric		during connection establishment, long timeouts here can
181466338Seric		cause higher level timeouts.  This mainly serves to accept
181566338Seric		mail from hosts that do not have proper reverse (PTR) DNS
181666338Seric		records set up.
181766338Seric	Reset e_statmsg before each mailer invocation to avoid bogus
181866338Seric		messages in the log.
181966338Seric	Redefine $r, $s, and $_ in error envelopes so you don't get
182066338Seric		incorrect cruft in the error message.  Problem noted by
182166338Seric		Motonori Nakamura of Kyoto University.
182266338Seric	Fix a problem that can cause failure to return errors to Postmaster
182366338Seric		in certain cases.  From Motonori Nakamura.
182466338Seric	Fix a problem that can cause some systems to give duplicate error
182566338Seric		messages when a bad syntax address such as "<a" is presented
182666338Seric		to an SMTP server.   It doesn't seem to occur on all
182766338Seric		machines.  From Motonori Nakamura.
182866338Seric	Default IDENTPROTO off for Ultrix and HPUX, which apparently have
182966338Seric		the interesting "feature" that when they receive a "Host
183066338Seric		unreachable" message they closes all open connections to
183166338Seric		that host.  However, some firewall gateways send this message
183266338Seric		if you try to connect to an unauthorized port, such as the
183366338Seric		IDENT port (113).  Thus, no email can be received from such
183466338Seric		hosts.  There is some evidence that versions of Ultrix before
183566338Seric		4.3 do not have this problem.  Thanks to Tom Ivar Helbekkmo
183666338Seric		for pointing out this behaviour to me and to Michael Corrigan
183766338Seric		of U.C. San Diego for informing me about the HPUX problem.
183866338Seric	Allow IPC mailers to return a colon-separated list of hosts in the
183966338Seric		$@ clause; these are searched in order as though they were
184066338Seric		MX records.
184166338Seric	When sending an error report, print the list of addresses tagged
184266338Seric		as bad.  Requested by Allan E Johannesen of WPI.
184366338Seric	Change map function calls to return a status code.  This gets
184466338Seric		passed back as the result of rewrite.  Parseaddr marks
184566338Seric		the address as a QUEUEUP address if the return code is
184666338Seric		EX_TEMPFAIL.  All this to queue properly if the name
184766338Seric		server is down.  This code is not well tested.  This code
184866338Seric		changes the interface to map lookup functions (a fifth
184966338Seric		parameter, int *statp, is added).  Feature requested by
185066338Seric		Dan Oscarsson.
185166338Seric	Don't delete quotes (in the dequote map) if there are spaces in
185266338Seric		the string, since this would cause them to be replaced by
185366338Seric		the SpaceSub character.
185466338Seric	Accept BODY=8BITMIME on SMTP MAIL command.  This isn't advertised
185566338Seric		because the 8BIT to 7BIT translation doesn't exist yet.
185666338Seric		This does add a "bodytype" field to both envelope and
185766338Seric		queue file and a -B command line flag to pass the type in
185866338Seric		during direct invocations.
185966338Seric	Discard return error messages only on responses to responses to
186066338Seric		responses, not on responses to responses.  That is, the
186166338Seric		algorithm is to try return to sender, then return to
186266338Seric		postmaster, then discard.  Previously it discarded
186366338Seric		immediately if the return to sender pass failed.
186466338Seric	CONFIG: back out change to hide unqualified hostnames behind %-hack.
186566338Seric		This screws up local aliases and .forward files.
186666338Seric	CONFIG: add FEATURE(nocanonify) to turn off calls to $[ ... $];
186766338Seric		some sites only handle completely canonified names.
186866338Seric		Requested by John Gardiner Myers of CMU.
186966338Seric	CONFIG: some UUCP code was still included even if FEATURE(nouucp)
187066338Seric		was specified.
187166338Seric
187266338Seric6.52/6.24	93/04/10
187366338Seric	Clean up some minor glitches on error return messages pointed out
187466338Seric		by Motonori Nakamura of Kyoto University.
187566338Seric	Fix reply() to not reset SmtpReplyBuffer on fatal errors; this
187666338Seric		was supposed to reset SmtpMsg Buffer.  This makes the
187766338Seric		client side code virtually useless.  Reported by Allan
187866338Seric		E Johannesen of WPI and Phil Brandenberger of Swarthmore.
187966338Seric	Better debug messages if fuzzy is disabled, suggested by Allan
188066338Seric		E Johannesen of WPI.
188166338Seric	Offset SmtpReplyBuffer by four in usersmtp when checking for
188266338Seric		loopback.  From Eric Wassenaar.
188366338Seric	Don't set $s until after runinchild in srvrsmtp -- otherwise
188466338Seric		it gets cleared.  From Eric Wassenaar.
188566338Seric	Implement IDA-style $&x for deferred macro expansion.
188666338Seric	More POSIX compatibility.
188766338Seric	CONFIG: Hide unqualified hostnames behind %-hack using $s as the
188866338Seric		actual sender.  This is only done if $r is non-null, that
188966338Seric		is, if this is not locally submitted mail.
189066338Seric	CONFIG: Add FEATURE(bitdomain) allowing mapping of BITNET host
189166338Seric		names to internet domains.  A program contributed by
189266338Seric		John Gardiner Myers of CMU to create the maps is included
189366338Seric		in the contrib directory (in the "misc" tar file).
189466338Seric	CONFIG: Add FEATURE(uucpdomain) for a similar mapping for UUCP
189566338Seric		hosts.  There is currently no tool to create this map.
189666338Seric
189766338Seric6.51/6.23	93/04/04
189866338Seric	Add D= mailer flag to specify a path of possible working directories
189966338Seric		in which to execute the mailer.  This is intended for the
190066338Seric		prog mailer; some shells can get upset if they don't have
190166338Seric		access to the current directory.
190266338Seric	Add RFC 1413 (IDENT) protocol support.  This is only very loosely
190366338Seric		tested.  This adds a $_ macro to be the authenticated
190466338Seric		info (in ``user@domain [address]'' form) and debug flag
190566338Seric		9 to trace the protocol.
190666338Seric	Check for loopbacks in usersmtp instead of srvrsmtp -- there is no
190766338Seric		reason for a local agent to not be talking to the localhost
190866338Seric		(although the inverse is not true).
190966338Seric	Add a few hooks for automated map rebuilding.  This is certainly
191066338Seric		not done yet.
191166338Seric	CONFIG: Have prog mailer specify a path of ``D=$z:/'' -- that is,
191266338Seric		user's home directory then the root.
191366338Seric	CONFIG: Log RFC 1413 identification in Received: line.
191466338Seric
191566338Seric6.50/6.22	93/04/01
191666338Seric	Fixes to requeueing code to make it compute priority, nrcpts,
191766338Seric		and the like properly.
191866338Seric
191966338Seric6.49/6.22	93/04/01
192066338Seric	Diagnose incorrect privacy flags.  Suggested by Bryan Costales
192166338Seric		of ICSI.
192266338Seric	Some ANSI C fixes.
192366338Seric	Arrange to quote backslashes as well as other special characters
192466338Seric		in the phrase part of a route-addr.
192566338Seric	Some fixes to FallBackMX code suggested by Motonori Nakamura of
192666338Seric		Kyoto University.
192766338Seric	More vigorous zeroing of CurHostAddr to avoid logging of bogus
192866338Seric		host addresses when you are actually just printing
192966338Seric		information from the MCI structure; problem noted by
193066338Seric		Michael Corrigan of U.C. San Diego.
193166338Seric	Don't ignore rest of queue if any job is not runnable.  This can
193266338Seric		also cause an incorrect job to be lost.  Fix from
193366338Seric		Eric Wassenaar.
193466338Seric	Always respond "quickly" to RCPT command; do alias expansion and
193566338Seric		the like later.  This also means that mail for lists that
193666338Seric		have errors will be acccepted, and an error sent back
193766338Seric		later.  This is done by instantiating the queue file
193866338Seric		and then immediately running and requeueing it.
193966338Seric
194066338Seric6.48/6.22	93/03/30
194166338Seric	Fix incorrect diagnosis of infinite loop in ruleset.  Problem noted
194266338Seric		by several people.
194366338Seric	Improve information printed when infinite loops are discovered.
194466338Seric	Zero CurHostAddr to fix erroneous internet addresses in log when no
194566338Seric		addresses can be bound.  Pointed out by Motonori Nakamura
194666338Seric		of Kyoto University.
194766338Seric	"Probe" SMTP connections using RSET instead of NOOP "just in case".
194866338Seric		Suggested by John Gardiner Myers of CMU.
194966338Seric	Don't warn about -f if you are setting sender to yourself.
195066338Seric
195166338Seric6.47/6.22	93/03/29
195266338Seric	Fix incompatible call to endmailer in smtpquit which causes core
195366338Seric		dumps.  Noted by Allan E Johannesen of WPI.
195466338Seric	HPUX portability changes from Michael J. Corrigan of UC San Diego.
195566338Seric	Require MAIL before RCPT command in srvrsmtp.c.  This had been
195666338Seric		intentional from the 821 draft days when the order wasn't
195766338Seric		clear, but is silly now.
195866338Seric	Fix bug in nis_magic routine that was initializing parameters
195966338Seric		incorrectly.  Fix from Takahiro Kanbe of Fuji Xerox
196066338Seric		Information Systems Co., Ltd.
196166338Seric	Change default for PrivacyFlags in conf.c to 0 -- since it always
196266338Seric		"or"s in new values, there was no way to turn off the
196366338Seric		AuthWarning stuff.
196466338Seric	Add O option to set SMTP daemon options.
196566338Seric	Add V option to set fallback MX host.  This always sorts at lower
196666338Seric		priority than anything it gets from the name server.  It
196766338Seric		should only be used for environments with very bad network
196866338Seric		connectivity.  Requested by several people.
196966338Seric	Log sending info.  It's not clear this is a good idea.
197066338Seric	CONFIG: fix typo in mailertable code.  Noted by Phil Brandenberger
197166338Seric		of Swarthmore.
197266338Seric	CONFIG: add confDAEMON_OPTIONS and confFALLBACK_MX to set options
197366338Seric		O and V, respectively.
197466338Seric
197566338Seric6.46/6.21	93/03/26
197666338Seric	Fix botch in server SMTP that broke transactions that did not
197766338Seric		use HELO first (like MH).  Fix from Michael Corrigan
197866338Seric		of U.C. San Diego.
197966338Seric	Fall back to other MX records if there is an error anywhere
198066338Seric		in delivery (actually on MAIL or DATA -- RCPT is harder).
198166338Seric		Suggested by John Gardiner Myers and Motonori Nakamura.
198266338Seric	Revert to non-prototypes -- it turns out that our ANSI C
198366338Seric		compiler is more forgiving than most others about
198466338Seric		mixing prototyped extern declarations with non-prototyped
198566338Seric		function definitions.
198666338Seric	Fix a problem with multi-word class matching pointed out by
198766338Seric		Neil Rickert.  Given:
198866338Seric			CX b a.b.c
198966338Seric			R$+ $=X $+	$: $1 < $2 > $3
199066338Seric		the input "user@a.b.c" failed instead of being properly
199166338Seric		rewritten as "user@a.<b>.c".
199266338Seric	Neil also convinced me that it was correct that $~ should match
199366338Seric		only one token -- the problem is that it's always possible
199466338Seric		to add another token, so $~ matches far too eagerly.
199566338Seric
199666338Seric6.45/6.21	93/03/25
199766338Seric	Implement multi-word classes (properly!).
199866338Seric
199966338Seric6.44/6.21	93/03/25
200066338Seric	Add X-Authentication-Warning: headers to clue users into possible
200166338Seric		attempts to forge mail.  This is on the authwarnings
200266338Seric		privacy flag, but is the default.  Suggested by Bryan
200366338Seric		Costales of ICSI.
200466338Seric	Pass default units for convtime in so they can be more reasonable.
200566338Seric	Allow config files to always add a new Comments: header (i.e.,
200666338Seric		they will be added even if an old one already exists).
200766338Seric		Suggested by Bryan Costales of ICSI.
200866338Seric	Allow config files to delete an existing Return-Path: header.
200966338Seric		These should only be added at final delivery.  Suggested
201066338Seric		by Bryan Costales of ICSI.
201166338Seric	Some debugging additions.  Suggested by Bryan Costales of ICSI.
201266338Seric	Clean up logging of Family 0 addresses.  Noted by David Muir
201366338Seric		Sharnoff and others.
201466338Seric	Add a "dequote" map class.  This allows config files to strip
201566338Seric		quotes off of addresses.  Note that this is not a builtin
201666338Seric		map, just a class -- so you have to define the map
201766338Seric		using the K line.
201866338Seric	Fix a bug in the queueup() loop getting a locked tf where in
201966338Seric		very odd cases it can fall off the bottom and core dump.
202066338Seric		Of course, it was P{r Emanuelsson who found it....
202166338Seric	Open a new transcript when splitting an envelope.  Problem found
202266338Seric		by Allan E Johannesen of WPI.
202366338Seric	Improved error output in endmailer if the mailer core dumps.
202466338Seric	CONFIG: Fix typo in UUCP mailer definition.
202566338Seric	CONFIG: Default several of the new options on: eight bit input,
202666338Seric		privacy flags set to "authwarnings", and message warning
202766338Seric		set to 4h.
202866338Seric	CONFIG: Use dequote map.
202966338Seric
203066338Seric6.43/6.20	93/03/23
203166338Seric	Fix problem with assumption of an sa_len field in a generic
203266338Seric		sockaddr -- it turns out that most vendors haven't
203366338Seric		picked up this (very important) fix.
203466338Seric	Change compilation flags for daemon code -- select one or both
203566338Seric		of NETINET or NETISO, but don't ever set DAEMON manually.
203666338Seric	CONFIG: add FEATURE(mailertable) to do IDA-style mailertables.
203766338Seric
203866338Seric6.42/6.19	93/03/19
203966338Seric	Use Postmaster as default fallback return address, not root.
204066338Seric	POSIX changes for file descriptor handling.
204166338Seric	Diagnose errors writing new queue file.
204266338Seric	If you change the owner using an owner- alias, also change the
204366338Seric		error mode to EM_MAIL so that errors don't get dropped
204466338Seric		into an inappropriate directory.  Problem noted by
204566338Seric		Allan E Johannesen of WPI.
204666338Seric	If you are su'ed to root, send email as who you really are, not
204766338Seric		as root.  From Brian Kantor of U.C. San Diego.
204866338Seric	Allow warning messages to be sent after a configurable interval
204966338Seric		has passed without delivery.  The message is sent only
205066338Seric		once per envelope.  This changes the format of the qf
205166338Seric		file to have an F line, and the format of the T option
205266338Seric		to accept take the format "return/warn" (both intervals).
205366338Seric	Don't force all local names to lower case -- this was left over
205466338Seric		from the wierd handling of case mapping on aliases.  It
205566338Seric		is now driven (as expected) by the "u" mailer flag.
205666338Seric		Problem noted by P{r Emanuelsson.
205766338Seric	Fix problem that caused headers on returned email to be trashed;
205866338Seric		they were getting freed, but are still accessible via
205966338Seric		BlankEnvelope.
206066338Seric	Fix problem that caused bogus ids to be created on returned
206166338Seric		mail.
206266338Seric	Add support for ISO and other non-INET networking.  This is by
206366338Seric		no means finished yet.  This does assume a lot of other
206466338Seric		system support, like a version of gethostbyname that
206566338Seric		returns non-AF_INET addresses.
206666338Seric	CONFIG: change default on prog mailer to keep upper case in
206766338Seric		user names (i.e., in the program command line).
206866338Seric	CONFIG: strip trailing dots off of hosts in uucp mailer before
206966338Seric		convert to bang format.
207066338Seric	CONFIG: create new "relay" mailer for $R (LOCAL_RELAY) and $H
207166338Seric		(MAIL_HUB) delivery that doesn't add local domain.  Note
207266338Seric		that this violates 821, but is probably "more correct"
207366338Seric		for what we are trying to do.  Problem pointed out by
207466338Seric		Michael Graff of Iowa State.
207566338Seric
207666338Seric6.41/6.18	93/03/18
207766338Seric	Clean up unnecessary creates of queue ids (i.e., empty qf files)
207866338Seric		when not needed, such as when starting up an SMTP
207966338Seric		connection.
208066338Seric	Fix problem where split envelopes aren't instantiated in the queue.
208166338Seric		This is quite a serious bug.
208266338Seric	Owner- aliases had problems with leading spaces causing a
208366338Seric		premature delimitation.
208466338Seric
208566338Seric6.40/6.18	93/03/18
208666338Seric	Have ending 250 (after DATA) include the id; suggested by
208766338Seric		Brian Kantor of UC San Diego.
208866338Seric	Add logging on envelope splitting.
208966338Seric	Change queue ids to have one more letter encoding the hour of
209066338Seric		the day so that during a single day there is a greater
209166338Seric		likelihood of uniqueness; requested by Brian Kantor.
209266338Seric
209366338Seric6.39/6.18	93/03/18
209466338Seric	Fix minor compile problem if LOCKF is defined.
209566338Seric	Define size of tobuf in conf.h.  Observed by Toshinari Takahashi
209666338Seric		of Toshiba.
209766338Seric	Restore e_sender -- this is equivalent to e_from.q_paddr without
209866338Seric		decorations such as angle brackets and comments.
209966338Seric	OSF/1 on Alpha changes from Allan E Johannesen of WPI.
210066338Seric	CONFIG: fix typo in S3 for list syntax (;: => :;).  Thanks to
210166338Seric		Christopher Hoover for noting the problem.
210266338Seric
210366338Seric6.38/6.17	93/03/17
210466338Seric	Pass envelope to disconnect to avoid another use of CurEnv, which
210566338Seric		can apparently end up being null at inopportune times.
210666338Seric	Log "received from" as "relay=" for consistency (suggested by
210766338Seric		John Gardiner Myers).
210866338Seric	Fix major bug in header handling:  if no From: line existed in
210966338Seric		the header (so sendmail inserts one), and the sender is
211066338Seric		an alias that has an owner, the From: line shows the
211166338Seric		owner (as well as the envelope).  Fixed by early binding
211266338Seric		the headers (which will change debugging output).
211366338Seric	HPUX portability patches from Michael J. Corrigan of UC San Diego.
211466338Seric	Some attempts to adapt better to out of open file conditions.
211566338Seric	Some changes to ctladdr handling in queue files.
211666338Seric
211766338Seric6.37/6.17	93/03/16
211866338Seric	MAJOR CHANGE:  delete e_sender and e_returnpath (why are these
211966338Seric		different from e_from?) and $< macro.
212066338Seric	Log correct IP address in relay= field even if the connection
212166338Seric		times out.
212266338Seric	Log "received from [RESPONSE]" on EF_RESPONSE messages (from
212366338Seric		John Gardiner Myers).
212466338Seric	Fixes to SysExMsg logging (sometimes just got "message: %s"
212566338Seric		instead of "message: error message"), noted by Eric
212666338Seric		Wassenaar.  Also reported by Motonori Nakamura.
212766338Seric	Improvements to MX piggybacking code, from Motonori Nakamura.
212866338Seric	Fix case where CurHostName points to an auto variable that has
212966338Seric		been deallocated (from Motonori Nakamura).
213066338Seric	Fix bug causing newlines to be included in aliases if option
213166338Seric		"n" (check alias RHS) is set; bug noted by David Muir
213266338Seric		Sharnoff.
213366338Seric	Fix problem causing user names that should be mapped to lower
213466338Seric		case to not be mapped if they are sent during a queue
213566338Seric		run.  This greatly simplifies the case mapping code.
213666338Seric		Problem noted by Allan E Johannesen of WPI.
213766338Seric	Don't do recipient address rewriting in buildaddr.  This
213866338Seric		improperly did recipient rewriting on sender addresses,
213966338Seric		and just seems bogus in general -- but the change could
214066338Seric		break some .cf files.
214166338Seric	Pass TZ envariable to child processes for System V.
214266338Seric	CONFIG: allow LOCAL_RULE_1 and LOCAL_RULE_2 if you want to
214366338Seric		define those rulesets.
214466338Seric	KNOWN PROBLEM:  I have seen some problems on SunOS that causes
214566338Seric		the User Data Base to give errors on some addresses.  I
214666338Seric		have tracked the problem back at least as far as 93.02.15
214766338Seric		(version 6.22).  Running with debugging on makes it
214866338Seric		go away, so I conclude that it is referencing uninitialized
214966338Seric		stack data.  I haven't been able to track this down yet.
215066338Seric
215166338Seric6.36/6.16	93/03/08
215266338Seric	Allow local mailer to specify $@host -- this lets you assign the
215366338Seric		"foo" part of jgm+foo to $h for passing in to the local
215466338Seric		mailer.
215566338Seric	Additional debug printing in getcanonname (show query type).
215666338Seric	Don't add the e_fromdomain on sender addresses -- this interacts
215766338Seric		wierdly with the owner- code.
215866338Seric	Improve delivery logging to not log obvious or meaningless stuff.
215966338Seric	Include numeric IP address in Received: lines per RFC 1123 section
216066338Seric		5.2.8.
216166338Seric	Fixed a bug in checking stat() return value if restrictmailq is
216266338Seric		set.  Also, check the entire group set instead of just the
216366338Seric		primary group.  Both from John Gardiner Myers.
216466338Seric	Don't have usrerr automatically print errno, since this is often
216566338Seric		misleading.
216666338Seric	Use transienterror() in makeconnection after connect() fails and
216766338Seric		in openmailer after execve() fails (from Eric Wassenaar).
216866338Seric		Also moved transienterror() from util.c to conf.c.
216966338Seric	Clean up from= logging on response messages.
217066338Seric	Undo patch allowing prescan to return a null vector -- it breaks
217166338Seric		too many things.
217266338Seric	Config: FEATURE(notsticky) lets you use UDB for everything coming
217366338Seric		in to the machine, even if it is specifically targetted
217466338Seric		to this machine.  Without it, UDB is bypassed if the user
217566338Seric		name is fully qualified.
217666338Seric	Config: fix another minor botch with <> (local mailer wasn't
217766338Seric		mapping them properly).
217866338Seric
217966338Seric6.35/6.15	93/03/05
218066338Seric	Fix getrealhostname to return null if sinlen <= 0 -- this can
218166338Seric		occur if stdin is a pipe.
218266338Seric	Avoid infinite loop in getcanonname if name server return
218366338Seric		NO_DATA (for example).
218466338Seric	Config: avoid having C flag qualify list syntax and error syntax.
218566338Seric
218666338Seric6.34/6.14	93/03/05
218766338Seric	Fix logging in deliver to not pass too many parameters to Ultrix
218866338Seric		versions of syslog.
218966338Seric	Don't write the pid file until after the daemon has actually
219066338Seric		opened and conditioned the connection.
219166338Seric	Consider addresses "different" if their q_uids differ (so that
219266338Seric		two users forwarding to the same program will be seen
219366338Seric		as different, rather than the same).
219466338Seric	Fix problem with bad parameters in main() -- they set ExitStat
219566338Seric		but don't exit.
219666338Seric	Fix null pointer references through RealHostName -- painfully
219766338Seric		discovered by Allan E Johannesen of WPI.
219866338Seric	Fix bug causing user@@localhost to core dump (yuch).
219966338Seric	Config: don't put two @host.dom.ain on users in $=E in SMTP
220066338Seric		mailer.  Also, catch user@ (no host) in ruleset 0.
220166338Seric
220266338Seric6.33/6.13	93/03/03
220366338Seric	Config: add confCW_FILE as the name of the cw configuration file
220466338Seric		(defaults to /etc/sendmail.cw).  From P{r Emanuelsson.
220566338Seric	Allow prescan to return a pointer to an empty list -- this is
220666338Seric		not an error.  Also, clean up error reporting to avoid
220766338Seric		double errors (prescan reports once, then the caller
220866338Seric		reports again).
220966338Seric	Changes to avoid trusting T_ANY queries -- run them, but if you
221066338Seric		don't get the info you expected, do T_A and T_MX queries
221166338Seric		anyhow.  This also fixes an oversight where _res.options
221266338Seric		bits were being ignored.
221366338Seric	If PRIV_NOVRFY is set, use 252 response code instead of 502 per
221466338Seric		RFC 1123 section 5.2.3.  It's not 100% clear that this
221566338Seric		is correct, but it probably works better with stupid
221666338Seric		mailers that do a VRFY and only check the first digit.
221766338Seric
221866338Seric6.32/6.12	93/03/02
221966338Seric	Fix uninitialized variable "protocol" in smtp code.
222066338Seric	Include <unistd.h> in sendmail.h -- move towards POSIX/ANSI.
222166338Seric	Additional hooks for RFC 1427 (ESMTP SIZE extension).  This
222266338Seric		includes requiring that enoughspace() know the system
222366338Seric		block size, which will undoubtedly break most ports.
222466338Seric	Trace flag 19 in use for srvrsmtp.c.
222566338Seric	Additional logging -- notably the sending mailer name.  This
222666338Seric		also changes the delivery logging to strict field=value
222766338Seric		syntax.
222866338Seric	Fix some problems with messages getting sent even to addresses
222966338Seric		that had been marked bad -- from Eric Wassenaar.
223066338Seric	More WIDE changes: accept host name inside [...] as non-MXed
223166338Seric		host.  This is intended ONLY for use inside firewalled
223266338Seric		environments, where the MX points at the gateway.
223366338Seric	Change .cf file conventions so that mapping for <> addresses
223466338Seric		don't have an @ in them (to avoid confusing the C mailer
223566338Seric		flag).  Pointed out by Neil Rickert.
223666338Seric	Config extensions for Sam Leffler's FlexFAX software.
223766338Seric
223866338Seric6.31/6.10	93/02/28
223966338Seric	Fix some more bugs in alias owner code -- there were some wierd
224066338Seric		cases where an error in a non-aliased name would override
224166338Seric		the return info in an aliased name with an owner.
224266338Seric	Changes from WIDE Project, forwarded to me by Motonori Nakamura:
224366338Seric		Log actual delivery host (after MX et al); from
224466338Seric			yasuhiro@dcl.co.jp.
224566338Seric		Log daemon startup.
224666338Seric		Deliver Postmaster copies without a body.
224766338Seric		Better logging of SMTP senders.
224866338Seric		Send all program email as daemon even when local.
224966338Seric	As requested in various forms from many people, accept -qIstring
225066338Seric		to limit queue runs to jobs with queue-id matching string.
225166338Seric		Similarly for -qRstring for recipients, -qSstring for
225266338Seric		senders.
225366338Seric	Initial hooks for ESMTP support (see RFC 1425).
225466338Seric	Fixed a syntax error in the UUCP mailer specification that caused
225566338Seric		core dumps on startup.
225666338Seric	Check for missing A= or P= arguments in mailer definitions.
225766338Seric
225866338Seric6.30/6.10	93/02/27
225966338Seric	Require FROZENCONFIG compilation flag to include frozen
226066338Seric		configuration code.  Frozen configuration is really
226166338Seric		not a very good idea any more, particularly in shared
226266338Seric		library environments.
226366338Seric	Do better checking of errno after opens of :include: and .forward
226466338Seric		files to defer delivery on network and other transient
226566338Seric		errors.  Suggestion from Craig Everhart.
226666338Seric	Fix minor botch in read timeout macro processing.
226766338Seric	Add FEATURE(nouucp) to config files for sites that know absolutely
226866338Seric		nothing about UUCP.
226966338Seric	Add built cf files to distribution tape and clarify how to build
227066338Seric		them if you don't have the Berkeley make.
227166338Seric	Some sizeof(long) portability changes for the Alpha, from Allan
227266338Seric		E Johannesen.
227366338Seric	Add "restrictmailq" privacy flag -- if set, only people in the same
227466338Seric		group as your queue directory can print the queue.  If you
227566338Seric		set this, be sure you also restrict access to log files....
227666338Seric	Fix another bug in owner-list stuff that can cause data files to
227766338Seric		be "lost".
227866338Seric	Fix a bug with queue runs that cause forwards to yourself to go
227966338Seric		into alias/forwarding loops.  I'm still iffy about this
228066338Seric		fix.
228166338Seric	Fix from Eric Wassenaar for suppression of return message code.
228266338Seric
228366338Seric6.29/6.9	93/02/24
228466338Seric	Fix yet another problem in alias owner code -- put the wrong return
228566338Seric		address on the enclosed return-to-sender letter.
228666338Seric
228766338Seric6.28/6.9	93/02/24
228866338Seric	Fix botch in alias owner code that caused it to not operate if the
228966338Seric		error was detected locally.
229066338Seric
229166338Seric6.27/6.9	93/02/24
229266338Seric	M_LOCAL => M_LOCALMAILER to avoid conflict with Ultrix include
229366338Seric		file <sys/mount.h>.
229466338Seric	Miscellaneous bug fixes from Eric Wassenaar:
229566338Seric		sendmail -bv -t logs the from line even though in verify
229666338Seric			mode only.
229766338Seric		sendmail -v can go into queue mode if shouldqueue returns
229866338Seric			TRUE.
229966338Seric	Add route-addr pruning per RFC 1123 section 5.3.3.  This can be
230066338Seric		disabled using the "R" option.
230166338Seric	Delete (always undocumented) -R flag (save original recipients);
230266338Seric		there are ways to syslog(3) these now.
230366338Seric	Clean up SMTP reply codes -- specify them as needed in the code,
230466338Seric		instead of in conf.c -- this was needed during the NCP to
230566338Seric		TCP transition, but seems silly now.  This also changes
230666338Seric		parameters to message and nmessage.
230766338Seric	Have mailstats read the .cf file to find the sendmail.st file and
230866338Seric		get text versions of mailer names.  An initial version of
230966338Seric		this code was provided by Tuominen Keijo (although the
231066338Seric		comments indicate the good bits were written by "E.V.").
231166338Seric	Add yet more System V compatibility hacks.
231266338Seric	Fix bug in VRFY code (assumes everything must be a local user).
231366338Seric	Allow specification of any of the hard-wired pathnames in the
231466338Seric		Makefile.
231566338Seric	Delete concept of "trusted users" -- this really didn't provide
231666338Seric		any security anyway, and caused some problems.
231766338Seric	Delete last vestige of support for the word "at" as an equivalent
231866338Seric		to the character "@".
231966338Seric	Propagate owner-foo alias information into the envelope sender.
232066338Seric		Based on code from John Gardiner Myers.  This is a major
232166338Seric		semantic change -- beware!
232266338Seric	Allow $@ on LHS to indicate "match zero" -- this is used to match
232366338Seric		the null expression.
232466338Seric
232566338Seric6.26/6.8	93/02/21
232666338Seric	Don't "lose" queue runs.  Very important fix from (who else?)
232766338Seric		Eric Wassenaar.
232866338Seric	Completely reset state on RSET command -- from Eric Wassenaar.
232966338Seric	Send error messages and return receipts using an envelope sender
233066338Seric		of <> regardless of the setting of $n.  Rewriting rules
233166338Seric		can undo this if they feel the necessity, as might be
233266338Seric		needed for networks that don't understand the syntax.
233366338Seric		This is permitted by RFC 821 section 3.6 and required by
233466338Seric		RFC 1123 section 5.3.3.  THIS REQUIRES VERSION 4 CONFIG
233566338Seric		FILES because the rulesets must be able to parse <>
233666338Seric		properly.
233766338Seric	Don't ever send error messages to "<>" -- they will get sent to
233866338Seric		the local postmaster or dumped in /usr/tmp/dead.letter
233966338Seric		instead.  Per RFC 1123 section 5.3.3.
234066338Seric	Explicitly check for email to yourself as a dotted quad.  You
234166338Seric		have to call $[ [ ... ] $] to get this.
234266338Seric	Up the message timeout to five days per RFC 1123 section 5.3.1.1.
234366338Seric	Make all read timeouts individually configurable, as strongly
234466338Seric		recommended by RFC 1123 section 5.3.2.
234566338Seric	Use f_bavail (blocks available to regular users) instead of f_bfree
234666338Seric		(blocks available to superuser) in free block checks.
234766338Seric	Change $d macro to be the current time, not the origination time,
234866338Seric		since this is consistent with how it is used now.
234966338Seric	Generalization of enoughspace from Eric Wassenaar covering
235066338Seric		SGI, Apollo, HPUX, Ultrix, and SunOS.
235166338Seric	Ignore process group signals -- some front ends can do this if
235266338Seric		you kill a window too quickly.  From Eric Wassenaar.
235366338Seric	Change umask to 022.
235466338Seric
235566338Seric6.25/6.8	93/02/20
235666338Seric	Close all cached connections before calling mailers and after
235766338Seric		forking for delivery (caused double closes which resulted
235866338Seric		in false errors).
235966338Seric	Add FEATURE(redirect) in config files -- this allows you to alias
236066338Seric		old addresses to a pointer to the new address that will
236166338Seric		give a 551 error message, but not deliver the mail.
236266338Seric	Some code changes to make the 551 errors look pretty.
236366338Seric	Names of M4 program paths in config files have changed -- they
236466338Seric		are all XXX_MAILER_PATH now, to match XXX_MAILER_FLAGS.
236566338Seric	Fix a bug in the QSELFREF code having to do with empty .forward
236666338Seric		files, reported by Eric Wassenaar.
236766338Seric	Add option "p" (privacy flags); this allows you to tune how
236866338Seric		picky the SMTP server will be.  This also adds the
236966338Seric		confPRIVACY_FLAGS M4 macro in the config files.
237066338Seric	Add option "b" (minimum blocks free).  If there are fewer than
237166338Seric		this number of blocks free on the filesystem containing
237266338Seric		the queue directory, the SMTP MAIL command will return
237366338Seric		a 452 response and ask you to try again later.  This
237466338Seric		also adds the confMIN_FREE_BLOCKS M4 macro in the config
237566338Seric		files.
237666338Seric	Made VRFY just verify (doesn't expand aliases and .forward files);
237766338Seric		EXPN does full expansion.  RCPT in queue-only mode also
237866338Seric		doesn't chase aliases and .forward.
237966338Seric
238066338Seric6.24/6.7	93/02/19
238166338Seric	Increase the number of domain search entries in domain.c to allow
238266338Seric		for the extra "" entry indicating the root domain.
238366338Seric		Reported by Motonori Nakamura of Kyoto U.
238466338Seric	Add a "SMART_HOST" in the configs for UUCP-connected sites that
238566338Seric		want to forward all mail with extra "@"s to that site.
238666338Seric		Also allows SMART_HOST, LOCAL_RELAY, and MAIL_HUB to
238766338Seric		be specified as ``mailer:hostname'' to use an alternate
238866338Seric		mailer.
238966338Seric	Clarified and updated some wording in the Operations Guide.
239066338Seric	Add the "c" mailer flag -- this suppresses all comment parts of
239166338Seric		addresses (requested by John Curran of NEARnet).
239266338Seric	Have -v print prompts in -bt mode even if stdin is not a terminal
239366338Seric		(default behaviour is to be silent if not reading from
239466338Seric		a terminal).  Suggested by Bryan Costales, ICSI.
239566338Seric	Move the metacharacters from C0 space (\001-\037) into C1 space
239666338Seric		(\201-\237).  This also fixes a bunch of potential bugs
239766338Seric		with G1 characters (\240-\276) in headers relating to
239866338Seric		negative numbers passed to isspace() et al.
239966338Seric	Add YP_LAST_MODIFIED and YP_MASTER_NAME to DBM version of alias
240066338Seric		database if YPCOMPAT is #defined.  Enhancement from
240166338Seric		Takahiro Kanbe of Fuji Xerox Information Systems Co., Ltd.
240266338Seric	Add "list" Precedence (-30); this can be used with old sendmails
240366338Seric		which will map to precedence 0 (which will return error
240466338Seric		messages).  Suggested by Stephen R. van den Berg.
240566338Seric	Many bug fixes from Eric Wassenaar of the National Institute for
240666338Seric			Nuclear and High-Energy Physics, Amsterdam:
240766338Seric		Clear timeouts properly on open failures in include().
240866338Seric		Don't dereference through NULL if no home directory found.
240966338Seric		Re-establish SIGCHLD signal on System 5 in reapchild().
241066338Seric		Avoid NULL pointer reference on -pFOO flag.
241166338Seric		Properly handle backslash escapes in comments.
241266338Seric		Correctly check reply status on SMTP NOOP command.
241366338Seric		Properly save SMTP error message if peer gives
241466338Seric			"Service Shutting Down" message.
241566338Seric		Avoid writing to the transcript if it couldn't be opened.
241666338Seric		Signal errors in SMTP children to parent properly.
241766338Seric	Handle self references in a list more globally (include a
241866338Seric		QSELFREF bit in the address flags).  This enhancement
241966338Seric		was suggested by Eric Wassenaar.
242066338Seric	Use initgroups() in hpux, even though it's System-V based.  The
242166338Seric		HASINITGROUPS compile flag can set this on other systems.
242266338Seric		This HPUX behaviour was pointed out by Eric Wassenaar.
242366338Seric
242466338Seric6.23/6.6	93/02/16
242566338Seric	Clean up handling of LogLevel to make it easier to figure out
242666338Seric		what's on what level.
242766338Seric	Change log levels to have some consistency:
242866338Seric		1    serious system failures, security problems
242966338Seric		2    lost communications, protocol failures
243066338Seric		3    other serious failures
243166338Seric		4    minor errors
243266338Seric		5    message collection
243366338Seric		6    vrfy logging, creation of return-to-sender
243466338Seric		7    delivery failures
243566338Seric		8    delivery successes
243666338Seric		9    delivery tempfails (queue ups)
243766338Seric		10   database expansion
243866338Seric		>64  debugging
243966338Seric	Allow IDA-style separated processing on S= and R= in Mailer
244066338Seric		definition lines.  Note that rulesets 1 and 2 are
244166338Seric		still used for both addresses as before.  Bruce Lilly
244266338Seric		gave a convincing argument that RFC976 insists on
244366338Seric		this behaviour.
244466338Seric	Added some time zones to arpatounix -- they may not be in the
244566338Seric		standards, but they are in use.  However, I may delete
244666338Seric		arpatounix entirely -- there appears to be no reason
244766338Seric		for it to exist.
244866338Seric	Change to UUCP mailer (in cf directory) to try to do a saner job.
244966338Seric		I'm still not certain about this mailer in general.
245066338Seric
245166338Seric6.22/6.5	93/02/15
245266338Seric	Fix bug that prevents saving letters in ~/dead.letter.
245366338Seric	Don't add angle brackets in VRFY command if angle brackets already
245466338Seric		exist in the address.
245566338Seric	Fix bogus error message in udbexpand.
245666338Seric	Null terminate host buffers in buildaddr (broken in 6.21) --
245766338Seric		IMPORTANT FIX!!
245866338Seric
245966338Seric6.21/6.5	93/02/15
246066338Seric	Fix another incorrect error message in alias.c, found by Azuma
246166338Seric		Okamoto.
246266338Seric	Fix a couple of problems in the more-configurable config files,
246366338Seric		found by Tom Ivar Helbekkmo.
246466338Seric	Fix problem with quoted :include: entries.
246566338Seric	Don't duplicate the filename on verbose printing of .forward and
246666338Seric		:include: contents.
246766338Seric	Extend size of prescan buffer (to allow bigger addresses).  Also,
246866338Seric		detect some buffer overflows.
246966338Seric	Log user SMTP protocol errors (log level 4).
247066338Seric
247166338Seric6.20/6.4	93/02/14
247266338Seric	Fix another problem in the MCI state machine caused when there
247366338Seric		were errors generated from the other end to commands
247466338Seric		other than RCPT.
247566338Seric
247666338Seric6.19/6.4	93/02/14
247766338Seric	Include load average support for DEC Alpha running OSF/1.
247866338Seric	Fix multiple-response problem with errors in MAIL From: line.
247966338Seric	Fix SMTP reply codes for invalid address syntaxes (give 501;
248066338Seric		never give multiple error messages for a single message).
248166338Seric	Fix problem where a cached connection timeout rejects all
248266338Seric		later connects to that host.
248366338Seric	Fix incorrect error message if alias.c is compiled with DBM only.
248466338Seric	Additional changes to fix nested conditionals (from Bruce Lilly).
248566338Seric	Recover more gracefully from operating system failures, particularly
248666338Seric		NULL returns from openmailer (from Noritoshi Demizu,
248766338Seric		OMRON Corporation).
248866338Seric	Log forward, alias, and userdb expand operations on log level 10;
248966338Seric		concept suggested by P{r (Pell) Emanuelsson.
249066338Seric	Changes for HPUX 8.07 compatibility.
249166338Seric
249266338Seric6.18/6.4	93/02/12
249366338Seric	Allow any config option to be set using an M4 define.
249466338Seric	Change UNAME compile flag to HASUNAME for IDA compatibility
249566338Seric		(besides, it's a better name).
249666338Seric	Note in README that on SunOS it must be linked -Bstatic.
249766338Seric	Fairly major change in domain.c to handle wildcard MX records
249866338Seric		more rationally.  NOTE: the "w" option (no wildcard MX
249966338Seric		records match local domain) has been eliminated.
250066338Seric	Fix some unset variable references pointed out by Bruce Lilly.
250166338Seric	Fix host name in process titles when using cached connection.
250266338Seric
250366338Seric6.17/6.3	93/01/28
250466338Seric	Fix System 5 compatibility changes to be compatible with the rest
250566338Seric		of the world.
250666338Seric
250766338Seric6.16/6.3	93/01/28
250866338Seric	Experimental fix for problem handling errors in the SMTP
250966338Seric		protocol in conjunction with connection caching.
251066338Seric	System 5 compatibility changes.
251166338Seric
251266338Seric6.15/6.3	93/01/26
251366338Seric	Fix a bug that causes local mail delivered using -odq to be
251466338Seric		eliminated as a duplicate (because it matched the
251566338Seric		ctladdr, now passed in as a C line).  These changes
251666338Seric		are pretty tricky......
251766338Seric
251866338Seric6.14/6.3	93/01/25
251966338Seric	Add debugging for some MCI errors.
252066338Seric
252166338Seric6.13/6.3	93/01/22
252266338Seric	Fix -e compatibility flag to take a value.
252366338Seric	Fix a couple of minor compilation warnings on Sun cc.
252466338Seric	Improve error messages in a few cases to be more self-explanatory.
252566338Seric
252666338Seric6.12/6.3	93/01/21
252766338Seric	Fix yet-another problem with environment handling, pointed out
252866338Seric		by Yoshitaka Tokugawa and Tom Ivar Helbekkmo.
252966338Seric	Some heuristics to try to limit resource exhaustion problems
253066338Seric		if a downstream host has been down for a long time.
253166338Seric	Fix problem with incorrect host name being logged in "Connection
253266338Seric		timed out" messages (from Tom Ivar Helbekkmo).
253366338Seric	Fix some ANSI C problems (from Takahiro Kanbe).
253466338Seric	Properly log message sender on returned mail during queue run.
253566338Seric	Count number of recipients properly.
253666338Seric	Fix a problem in yp map code.
253766338Seric	Diagnose "message timed out" (from Motonori Nakamura).
253866338Seric
253966338Seric6.11/6.3	93/01/20
254066338Seric	Fix problem with address delimitor inside quotes.
254166338Seric	Define $k and $=k to be the UUCP name (from the uname call)
254266338Seric		based on code from Bruce Lilly.
254366338Seric
254466338Seric6.10/6.2	93/01/18
254566338Seric	Implement arpatounix (largely code from Bruce Lilly).
254666338Seric	Log more info (suggested by John Myers).
254766338Seric	Allow nested $?...$|...$. (inspired by code from Bruce Lilly of
254866338Seric		Sony US).
254966338Seric	POSIX compatibility (noted by Keith Bostic).
255066338Seric	Handle SMTP MAIL command errors properly (urged by several people,
255166338Seric		notably John Myers of CMU).
255266338Seric	Do early diagnosis of .cf errors (notably referencing a RHS
255366338Seric		substitution that isn't on the LHS).
255466338Seric	Adjust checkpointing to better handle batched recipients, suggested
255566338Seric		by John Myers.
255666338Seric	Fix miscellaneous bugs.
255766338Seric	(config files:)  Implement MAIL_HUB for all local mail (to handle
255866338Seric		NFS-mounted directories) as urged by Tom Ivar Helbekkmo
255966338Seric		of the Norwegian School of Economics.
256066338Seric
256166338Seric6.9/6.1 	93/01/13
256266338Seric	Environment handling simplification/bug fix -- child processes
256366338Seric		get a minimal, fixed environment.  This avoids different
256466338Seric		behaviour in queue runs.
256566338Seric	Handle commas inside comments properly.
256666338Seric	Properly limit large messages submitted in -obq mode.
256766338Seric
256866338Seric6.8/6.1		93/01/10
256966338Seric	Check mtime of thaw file against .cf and sendmail binary, based on
257066338Seric		code from John Myers.
257166338Seric
257266338Seric6.7/6.1		93/01/10
257366338Seric	MX piggybacking, based on code from John Myers@CMU.
257466338Seric	Allow checkcompat to return -1 to mean tempfail.
257566338Seric	Bug fix in m_mno computation.
257666338Seric
257766338Seric6.6/6.1		93/01/09
257866338Seric	Tuning of queueing functions as recommended by John Gardiner Myers.
257966338Seric	Return mail headers (no body) on messages with negative precedence.
258066338Seric	Minor other bug fixes.
258166338Seric
258266338Seric6.5/6.1		93/01/03
258366338Seric	Fix botch causing queued headers to have ?XX? prefixes.
258466338Seric
258566338Seric6.4/6.1		93/01/02
258666338Seric	Changes to recognize special mailer types (e.g., file) early.
258766338Seric
258866338Seric6.3/6.1		93/01/01
258966338Seric	Pass timeouts to sfgets.
259066338Seric	Check for control characters in addresses.
259166338Seric	Fixed deferred error reporting.
259266338Seric	Report duplicate aliases.
259366338Seric	Handle mixed case recursive aliases.
259466338Seric	Misc bug fixes.
259566338Seric
259666338Seric6.2/6.1		92/12/30
259766338Seric	Put return-receipt-to on a conf.c flag (but don't set it).
259866338Seric	Fix minor syslog problem.
2599