1			SENDMAIL RELEASE NOTES
2	     @(#)RELEASE_NOTES	8.6.10.2 (Berkeley) 02/10/95
3
4This listing shows the version of the sendmail binary, the version
5of the sendmail configuration files, the date of release, and a
6summary of the changes in that release.
7
88.6.10/8.6.10	95/02/10
9	SECURITY: Diagnose bogus values to some command line flags that
10		could allow trash to get into headers and qf files.
11	Validate the name of the user returned by the IDENT protocol.
12		Some systems that really dislike IDENT send intentionally
13		bogus information.  Problem pointed out by Michael Bushnell
14		of the Free Software Foundation.  Has some security
15		implications.
16	Fix a problem causing error messages about DNS problems when
17		the host name contained a percent sign to act oddly
18		because it was passed as a printf-style format string.
19		In some cases this could cause core dumps.
20	Avoid possible buffer overrun in returntosender() if error
21		message is quite ling.  From Fletcher Mattox of the
22		University of Texas.
23	Fix a problem that would silently drop "too many hops" error
24		messages if and only if you were sending to an alias.
25		From Jon Giltner of the University of Colorado and
26		Dan Harton of Oak Ridge National Laboratory.
27	Fix a bug that caused core dumps on some systems if -d11.2 was
28		set and e->e_message was null.  Fix from Bruce Nagel of
29		Data General.
30	Fix problem that can still cause df files to be left around
31		after "hop count exceeded" messages.  Fix from Andrew
32		Chang and Shau-Ping Lo of SunSoft.
33	Fix a problem that can cause buffer overflows on very long
34		user names (as might occur if you piped to a program
35		with a lot of arguments).
36	Avoid returning an error and re-queueing if the host signature
37		is null; this can occur on addresses like ``user@.''.
38		Problem noted by Wesley Craig and the University of
39		Michigan.
40	Avoid possible calls to malloc(0) if MCI caching is turned
41		off.  Bug fix from Pierre David of the Laboratoire
42		Parallelisme, Reseaux, Systemes et Modelisation (PRiSM),
43		Universite de Versailles - St Quentin, and Jacky
44		Thibault.
45	Make a local copy of the line being sent via senttolist() -- in
46		some cases, buffers could get trashed by map lookups
47		causing it to do unexpected things.  This also simplifies
48		some of the map code.
49
508.6.9/8.6.9	94/04/19
51	Do all mail delivery completely disconnected from any terminal.
52		This provides consistency with daemon delivery and
53		may have some security implications.
54	Make sure that malloc doesn't get called with zero size,
55		since that fails on some systems.  Reported by Ed
56		Hill of the University of Iowa.
57	Fix multi-line values for $e (SMTP greeting message).  Reported
58		by Mike O'Connor of Ford Motor Company.
59	Avoid syserr if no NIS domain name is defined, but the map it
60		is trying to open is optional.  From Win Bent of USC.
61	Changes for picky compilers from Ed Gould of Digital Equipment.
62	Hesiod support for UDB from Todd Miller of the University of
63		Colorado.  Use "hesiod" as the service name in the U
64		option.
65	Fix a problem that failed to set the "authentic" host name (that
66		is, the one derived from the socket info) if you called
67		sendmail -bs from inetd.  Based on code contributed by
68		Todd Miller (this problem was also reported by Guy Helmer
69		of Dakota State University).  This also fixes a related
70		problem reported by Liudvikas Bukys of the University of
71		Rochester.
72	Parameterize "nroff -h" in all the Makefiles so people with
73		variant versions can use them easily.  Suggested by
74		Peter Collinson of Hillside Systems.
75	SMTP "MAIL" commands with multiple ESMTP parameters required two
76		spaces between parameters instead of one.  Reported by
77		Valdis Kletnieks of Virginia Tech.
78	Reduce the number of system calls during message collection by
79		using global timeouts around the collect() loop.  This
80		code was contributed by Eric Wassenaar.
81	If the initial hostname name gathering results in a name
82		without a dot (usually caused by NIS misconfiguration)
83		and BIND is compiled in, directly access DNS to get
84		the canonical name.  This should make life easier for
85		Solaris systems.  If it still can't be resolved, and
86		if the name server is listed as "required", try again
87		in 30 seconds.  If that also fails, exit immediately to
88		avoid bogus "config error: mail loops back to myself"
89		messages.
90	Improve the "MAIL DELETED BECAUSE OF LACK OF DISK SPACE" error
91		message to explain how much space was available and
92		sound a bit less threatening.  Suggested by Stan Janet
93		of the National Institute of Standards and Technology.
94	If mail is delivered to an alias that has an owner, deliver any
95		requested return-receipt immediately, and strip the
96		Return-Receipt-To: header from the subsequent message.
97		This prevents a certain class of denial of service
98		attack, arguably gives more reasonable semantics, and
99		moves things more towards what will probably become a
100		network standard.  Suggested by Christopher Davis of
101		Kapor Enterprises.
102	Add a "noreceipts" privacy flag to turn off all return receipts
103		without recompiling.
104	Avoid printing ESMTP parameters as part of the error message
105		if there are errors during parsing.  This change is
106		purely cosmetic.
107	Avoid sending out error messages during the collect phase of
108		SMTP; there is an MVS mailer from UCLA that gets
109		confused by this.  Of course, I think it's their bug....
110	Check for the $j macro getting undefined, losing a dot, or getting
111		lost from $=w in the daemon before accepting a connection;
112		if it is, it dumps state, prints a LOG_ALERT message,
113		and drops core for debugging.  This is an attempt to
114		track down a bug that I thought was long since gone.
115		If you see this, please forward the log fragment to
116		sendmail@CS.Berkeley.EDU.
117	Change OLD_NEWDB from a #ifdef to a #if so it can be turned off
118		with -DOLD_NEWDB=0 on the command line.  From Christophe
119		Wolfhugel.
120	Instead of trying to truncate the listen queue for the server
121		SMTP port when the load average is too high, just close
122		the port completely and reopen it later as needed.
123		This ensures that the other end gets a quick "connection
124		refused" response, and that the connection can be
125		recovered later.  In particular, some socket emulations
126		seem to get confused if you tweak the listen queue
127		size around and can never start listening to connections
128		again.  The down side is that someone could start up
129		another daemon process in the interim, so you could
130		have multiple daemons all not listening to connections;
131		this could in turn cause the sendmail.pid file to be
132		incorrect.  A better approach might be to accept the
133		connection and give a 421 code, but that could break
134		other mailers in mysterious ways and have paging behaviour
135		implications.
136	Fix a glitch in TCP-level debugging that caused flag 16.101 to
137		set debugging on the wrong socket.  From Eric Wassenaar.
138	When creating a df* temporary file, be sure you truncate any
139		existing data in the file -- otherwise system crashes
140		and the like could result in extra data being sent.
141	DOC: Replace the CHANGES-R5-R8 readme file with a paper in the
142		doc directory.  This includes some additional
143		information.
144	CONFIG: change UUCP rules to never add $U! or $k! on the front
145		of recipient envelope addresses.  This should have been
146		handled by the $&h trick, but broke if people were
147		mixing domainized and UUCP addresses.  They should
148		probably have converted all the way over to uucp-uudom
149		instead of uucp-{new,old}, but the failure mode was to
150		loop the mail, which was bad news.
151	Portability fixes:
152		Newer BSDI systems (several people).
153		Older BSDI systems from Christophe Wolfhugel.
154		Intergraph CLIX, from Paul Southworth of CICNet.
155		UnixWare, from Evan Champion.
156		NetBSD from Adam Glass.
157		Solaris from Quentin Campbell of the University of
158			Newcastle upon Tyne.
159		IRIX from Dean Cookson and Bill Driscoll of Mitre
160			Corporation.
161		NCR 3000 from Kevin Darcy of Chrysler Corporation.
162		SunOS (it has setsid() and setvbuf() calls) from
163			Jonathan Kamens of OpenVision Technologies.
164		HP-UX from Tor Lillqvist.
165	New Files:
166		src/Makefile.CLIX
167		src/Makefile.NCR3000
168		doc/changes/Makefile
169		doc/changes/changes.me
170		doc/changes/changes.ps
171
1728.6.8/8.6.6	94/03/21
173	SECURITY: it was possible to read any file as root using the
174		E (error message) option.  Reported by Richard Jones;
175		fixed by Michael Corrigan and Christophe Wolfhugel.
176
1778.6.7/8.6.6	94/03/14
178	SECURITY: it was possible to get root access by using wierd
179		values to the -d flag.  Thanks to Alain Durand of
180		INRIA for forwarding me the notice from the bugtraq
181		list.
182
1838.6.6/8.6.6	94/03/13
184	SECURITY: the ability to give files away on System V-based
185		systems proved dangerous -- don't run as the owner
186		of a :include: file on a system that allows giveaways.
187		Unfortunately, this also applies to determining a
188		valid shell.
189	IMPORTANT: Previous versions weren't expiring old connections
190		in the connection cache for a long time under some
191		circumstances.  This could result in resource exhaustion,
192		both at your end and at the other end.  This checks the
193		connections for timeouts much more frequently.  From
194		Doug Anderson of NCSC.
195	Fix a glitch that snuck in that caused programs to be run as
196		the sender instead of the recipient if the mail was
197		from a local user to another local user.  From
198		Motonori Nakamura of Kyoto University.
199	Fix "wildcard" on /etc/shell matching -- instead of looking
200		for "*", look for "/SENDMAIL/ANY/SHELL/".  From
201		Bryan Costales of ICSI.
202	Change the method used to declare the "statfs" availability;
203		instead of HASSTATFS and/or HASUSTAT with a ton of
204		tweaking in conf.c, there is a single #define called
205		SFS_TYPE which takes on one of six values (SFS_NONE
206		for no statfs availability, SFS_USTAT for the ustat(2)
207		syscall, SFS_4ARGS for a four argument statfs(2) call,
208		and SFS_VFS, SFS_MOUNT, or SFS_STATFS for a two argument
209		statfs(2) call with the declarations in <sys/vfs.h>,
210		<sys/mount.h>, or <sys/statfs.h> respectively).
211	Fix glitch in NetInfo support that could return garbage if
212		there was no "/locations/sendmail" property.  From
213		David Meyer of the University of Virginia.
214	Change HASFLOCK from defined/not-defined to a 0/1 definition
215		to allow Linux to turn it off even though it is a
216		BSD-like system.
217	Allow setting of "ident" timeout to zero to turn off the ident
218		protocol entirely.
219	Make 7-bit stripping local to a connection (instead of to a
220		mailer); this allows you to specify that SMTP is a
221		7-bit channel, but revert to 8-bit should it advertise
222		that it supports 8BITMIME.  You still have to specify
223		mailer flag 7 to get this stripping at all.
224	Improve makesendmail script so it handles more cases automatically.
225	Tighten up restrictions on taking ownership of :include: files
226		to avoid problems on systems that allow you to give away
227		files.
228	Fix a problem that made it impossible to rebuild the alias
229		file if it was on a read-only file system.  From
230		Harry Edmon of the University of Washington.
231	Improve MX randomization function.  From John Gardiner Myers
232		of CMU.
233	Fix a minor glitch causing a bogus message to be printed (used
234		%s instead of %d in a printf string for the line number)
235		when a bad queue file was read.  From Harry Edmon.
236	Allow $s to remain NULL on locally generated mail.  I'm not
237		sure this is necessary, but a lot of people have complained
238		about it, and there is a legitimate question as to whether
239		"localhost" is legal as an 822-style domain.
240	Fix a problem with very short line lengths (mailer L= flag) in
241		headers.  This causes a leading space to be added onto
242		continuation lines (including in the body!), and also
243		tries to wrap headers containing addresses (From:, To:,
244		etc) intelligently at the shorter line lengths.  Problem
245		Reported by Lars-Johan Liman of SUNET Operations Center.
246	Log the real user name when logging syserrs, since these can have
247		security implications.  Suggested by several people.
248	Fix address logging of cached connections -- it used to always
249		log the numeric address as zero.  This is a somewhat
250		bogus implementation in that it does an extra system
251		call, but it should be an inexpensive one.  Fix from
252		Motonori Nakamura.
253	Tighten up handling of short syslog buffers even more -- there
254		were cases where the outgoing relay= name was too long
255		to share a line with delay= and mailer= logging.
256	Limit the overhead on split envelopes to one open file descriptor
257		per envelope -- previously the overhead was three
258		descriptors.  This was in response to a problem reported
259		by P{r (Pell) Emanuelsson.
260	Fixes to better handle the case of unexpected connection closes;
261		this redirects the output to the transcript so the info
262		is not lost.  From Eric Wassenaar.
263	Fix potential string overrun if you macro evaluate a string that
264		has a naked $ at the end.  Problem noted by James Matheson
265		<jmrm@eng.cam.ac.uk>.
266	Make default error number on $#error messages 553 (``Requested
267		action not taken: mailbox name not allowed'') instead of
268		501 (``Syntax error in parameters or arguments'') to
269		avoid bogus "protocol error" messages.
270	Strip off any existing trailing dot on names during $[ ... $]
271		lookup.  This prevents it from ending up with two dots
272		on the end of dot terminated names.  From Wesley Craig
273		of the University of Michigan and Bryan Costales of ICSI.
274	Clean up file class reading so that the debugging information is
275		more informative.  It hadn't been using setclass, so you
276		didn't see the class items being added.
277	Avoid core dump if you are running a version of sendmail where
278		NIS is compiled in, and you specify an NIS map, but
279		NIS is not running.  Fix from John Oleynick of
280		Rutgers.
281	Diagnose bizarre case where res_search returns a failure value,
282		but sets h_errno to a success value.
283	Make sure that "too many hops" messages are considered important
284		enough to send an error to the Postmaster (that is, the
285		address specified in the P option).  This fix should
286		help problems that cause the df file to be left around
287		sometimes -- unfortunately, I can't seem to reproduce
288		the problem myself.
289	Avoid core dump (null pointer reference) on EXPN command; this
290		only occurred if your log level was set to 10 or higher
291		and the target account was an alias or had a .forward file.
292		Problem noted by Janne Himanka.
293	Avoid "denial of service" attacks by someone who is flooding your
294		SMTP port with bad commands by shutting the connection
295		after 25 bad commands are issued.  From Kyle Jones of
296		UUNET.
297	Fix core dump on error messages with very long "to" buffers;
298		fmtmsg overflows the message buffer.  Fixed by trimming
299		the to address to 203 characters.  Problem reported by
300		John Oleynick.
301	Fix configuration for HASFLOCK -- there were some spots where
302		a #ifndef was incorrectly #ifdef.  Pointed out by
303		George Baltz of the University of Maryland.
304	Fix a typo in savemail() that could cause the error message To:
305		lists to be incorrect in some places.  From Motonori
306		Nakamura.
307	Fix a glitch that can cause duplicate error messages on split
308		envelopes where an address on one of the lists has a
309		name server failure.  Fix from Voradesh Yenbut of the
310		University of Washington.
311	Fix possible bogus pointer reference on ESMTP parameters that
312		don't have an ``=value'' part.
313	CNAME loops caused an error message to be generated, but also
314		re-queued the message.  Changed to just re-queue the
315		message (it's really hard to just bounce it because
316		of the wierd way the name server works in the presence
317		of CNAME loops).  Problem noted by James M.R.Matheson
318		of Cambridge University.
319	Avoid giving ``warning: foo owned process doing -bs'' messages
320		if they use ``MAIL FROM:<foo>'' where foo is their true
321		user name.  Suggested by Andreas Stolcke of ICSI.
322	Change the NAMED_BIND compile flag to be a 0/1 flag so you can
323		override it easily in the Makefile -- that is, you can
324		turn it off using -DNAMED_BIND=0.
325	If a gethostbyname(...) of an address with a trailing dot fails,
326		try it without the trailing dot.  This is because if
327		you have a version of gethostbyname() that falls back
328		to NIS or the /etc/hosts file it will fail to find
329		perfectly reasonable names that just don't happen to
330		be dot terminated in the hosts file.  You don't want to
331		strip the dot first though because we're trying to ensure
332		that country names that match one of your subdomains get
333		a chance.
334	PRALIASES: fix bogus output on non-null-terminated strings.
335		From Bill Gianopoulos of Raytheon.
336	CONFIG: Avoid rewriting anything that matches $w to be $j.
337		This was in code intended to only catch the self-literal
338		address (that is, [1.2.3.4], where 1.2.3.4 is your
339		IP address), but the code was broken.  However, it will
340		still do this if $M is defined; this is necessary to
341		get client configurations to work (sigh).  Note that this
342		means that $M overrides :mailname entries in the user
343		database!  Problem noted by Paul Southworth.
344	CONFIG: Fix definition of Solaris help file location.  From
345		Steve Cliffe <steve@gorgon.cs.uow.edu.au>.
346	CONFIG: Fix bug that broke news.group.USENET mappings.
347	CONFIG: Allow declaration of SMTP_MAILER_MAX, FAX_MAILER_MAX,
348		and USENET_MAILER_MAX to tweak the maximum message
349		size for various mailers.
350	CONFIG: Change definition of USENET_MAILER_ARGS to include argv[0]
351		instead of assuming that it is "inews" for consistency
352		with other mailers.  From Michael Corrigan of UC San Diego.
353	CONFIG: When mail is forwarded to a LOCAL_RELAY or a MAIL_HUB,
354		qualify the address in the SMTP envelope as user@{relay|hub}
355		instead of user@$j.  From Bill Wisner of The Well.
356	CONFIG: Fix route-addr syntax in nullrelay configuration set.
357	CONFIG: Don't turn off case mapping of user names in the local
358		mailer for IRIX.  This was different than most every other
359		system.
360	CONFIG: Avoid infinite loops on certainly list:; syntaxes in
361		envelope.  Noted by Thierry Besancon
362		<besancon@excalibur.ens.fr>.
363	CONFIG: Don't include -z by default on uux line -- most systems
364		don't want it set by default.  Pointed out by Philippe
365		Michel of Thomson CSF.
366	CONFIG: Fix some bugs with mailertables -- for example, if your
367		host name was foo.bar.ray.com and you matched against
368		".ray.com", the old implementation bound %1 to "bar"
369		instead of "foo.bar".  Also, allow "." in the mailertable
370		to match anything -- essentially, take over SMART_HOST.
371		This also moves matching of explicit local host names
372		before the mailertable so they don't have to be special
373		cased in the mailertable data.  Reported by Bill
374		Gianopoulos of Raytheon; the fix for the %1 binding
375		problem was contributed by Nicholas Comanos of the
376		University of Sydney.
377	CONFIG: Don't include "root" in class $=L (users to deliver
378		locally, even if a hub or relay exists) by default.
379		This is because of the known bug where definition of
380		both a LOCAL_RELAY and a MAIL_HUB causes $=L to ignore
381		both and deliver into the local mailbox.
382	CONFIG: Move up bitdomain and uudomain handling so that they
383		are done before .UUCP class matching; uudomain was
384		reported as ineffective before.  This also frees up
385		diversion 8 for future use.  Problem reported by Kimmo
386		Suominen.
387	CONFIG: Don't try to convert dotted IP address (e.g., [1.2.3.4])
388		into host names.  As pointed out by Jonathan Kamens,
389		these are often used because either the forward or reverse
390		mapping is broken; this translation makes it broken again.
391	DOC: Clarify $@ and $: in the Install & Op Guide.  From Kimmo
392		Suominen.
393	Portability fixes:
394		Unicos from David L. Kensiski of Sterling Sofware.
395		DomainOS from Don Lewis of Silicon Systems.
396		GNU m4 1.0.3 from Karst Koymans of Utrecht University.
397		Convex from Kimmo Suominen <kim@tac.nyc.ny.us>.
398		NetBSD from Adam Glass <glass@sun-lamp.cs.berkeley.edu>.
399		BSD/386 from Tony Sanders of BSDI.
400		Apollo from Eric Wassenaar.
401		DGUX from Doug Anderson.
402		Sequent DYNIX/ptx 2.0 from Tim Wright of Sequent.
403	NEW FILES:
404		src/Makefile.DomainOS
405		src/Makefile.PTX
406		src/Makefile.SunOS.5.1
407		src/Makefile.SunOS.5.2
408		src/Makefile.SunOS.5.x
409		src/mailq.1
410		cf/ostype/domainos.m4
411		doc/op/Makefile
412		doc/intro/Makefile
413		doc/usenix/Makefile
414
4158.6.5/8.6.5	94/01/13
416	Security fix:  /.forward could be owned by anyone (the test
417		to allow root to own any file was backwards).  From
418		Bob Campbell at U.C. Berkeley.
419	Security fix: group ids were not completely set when programs
420		were invoked.  This caused programs to have group
421		permissions they should not have had (usually group
422		daemon instead of their own group).  In particular,
423		Perl scripts would refuse to run.
424	Security: check to make sure files that are written are not
425		symbolic links (at least under some circumstances).
426		Although this does not respond to a specific known
427		attack, it's just a good idea.  Suggested by
428		Christian Wettergren.
429	Security fix: if a user had an NFS mounted home directory on
430		a system with a restricted shell listed in their
431		/etc/passwd entry, they could still execute any
432		program by putting that in their .forward file.
433		This fix prevents that by insisting that their shell
434		appear in /etc/shells before allowing a .forward to
435		execute a program or write a file.  You can disable
436		this by putting "*" in /etc/shells.  It also won't
437		permit world-writable :include: files to reference
438		programs or files (there's no way to disable this).
439		These behaviours are only one level deep -- for
440		example, it is legal for a world-writable :include:
441		file to reference an alias that writes a file, on
442		the assumption that the alias file is well controlled.
443	Security fix: root was not treated suspiciously enough when
444		looking into subdirectories.  This would potentially
445		allow a cracker to examine files that were publically
446		readable but in a non-publically searchable directory.
447	Fix a problem that causes an error on QUIT on a cached
448		connection to create problems on the current job.
449		These are typically unrelated, so errors occur in
450		the wrong place.
451	Reset CurrentLA in sendall() -- this makes sendmail queue
452		runs more responsive to load average, and fixes a
453		problem that ignored the load average in locally
454		generated mail.  From Eric Wassenaar.
455	Fix possible core dump on aliases with null LHS.  From
456		John Orthoefer of BB&N.
457	Revert to using flock() whenever possible -- there are just
458		too many bugs in fcntl() locking, particularly over
459		NFS, that cause sendmail to fail in perverse ways.
460	Fix a bug that causes the connection cache to get confused
461		when sending error messages.  This resulted in
462		"unexpected close" messages.  It should fix itself
463		on the following queue run.  Problem noted by
464		Liudvikas Bukys of the University of Rochester.
465	Include $k in $=k as documented in the Install & Op Guide.
466		This seems odd, but it was documented....  From
467		Michael Corrigan of UCSD.
468	Fix problem that caused :include:s from alias files to be
469		forced to be owned by root instead of daemon
470		(actually DefUid).  From Tim Irvin.
471	Diagnose unrecognized I option values -- from Mortin Forssen
472		of the Chalmers University of Technology.
473	Make "error" mailer work consistently when there is no error
474		code associated with it -- previously it returned OK
475		even though there was a real problem.  Now it assumes
476		EX_UNAVAILABLE.
477	Fix bug that caused the last header line of messages that had
478		no body and which were terminated with EOF instead of
479		"." to be discarded.  Problem noted by Liudvikas Bukys.
480	Fix core dump on SMTP mail to programs that failed -- it tried
481		to go to a "next MX host" when none existed, causing
482		a core dump.  From der Mouse at McGill University.
483	Change IDENTPROTO from a defined/not defined to a 0/1 switch;
484		this makes it easier to turn it off (using
485		-DIDENTPROTO=0 in the Makefile).  From der Mouse.
486	Fix YP_MASTER_NAME store to use the unupdated result of
487		gethostname() (instead of myhostname(), which tries
488		to fully qualify the name) to be consistent with
489		SunOS.  If your hostname is unqualified, this fixes
490		transfers to slave servers.  Bug noted by Keith
491		McMillan of Ameritech Services, Inc.
492	Fix Ultrix problem: gethostbyname() can return a very large
493		(> 500) h_length field, which causes the sockaddr
494		to be trashed.  Use the size of the sockaddr instead.
495		Fix from Bob Manson of Ohio State.
496	Don't assume "-a." on host lookups if NAMED_BIND is not
497		defined -- this confuses gethostbyname on hosts
498		file lookups, which doesn't understand the trailing
499		dot convention.
500	Log SMTP server subprocesses that die with a signal instead
501		of from a clean exit.
502	If you don't have option "I" set, don't assume that a DNS
503		"host unknown" message is authoritative -- it
504		might still be found in /etc/hosts.
505	Fix a problem that would cause Deferred: messages to be sent
506		as the subject of an error message, even though the
507		actual cause of a message was more severe than that.
508		Problem noted by Chris Seabrook of OSSI.
509	Fix race condition in DBM alias file locking.  From Kyle
510		Jones of UUNET.
511	Limit delivery syslog line length to avoid bugs in some
512		versions of syslog(3).  This adds a new compile time
513		variable SYSLOG_BUFSIZE.  From Jay Plett of Princeton
514		University, which is in turn derived from IDA.
515	Fix quotes inside of comments in addresses -- previously
516		it insisted that they be balanced, but the 822 spec
517		says that they should be ignored.
518	Dump open file state to syslog upon receiving SIGUSR1 (for
519		debugging).  This also evaluates ruleset 89, if set
520		(with the null input), and logs the result.  This
521		should be used sparingly, since the rewrite process
522		is not reentrant.
523	Change -qI, -qR, and -qS flags to be case-insensitive as
524		documented in the Bat Book.
525	If the mailer returned EX_IOERR or EX_OSERR, sendmail did not
526		return an error message and did not requeue the message.
527		Fix based on code from Roland Dirlewanger of
528		Reseau Regional Aquarel, Bordeaux, France.
529	Fix a problem that caused a seg fault if you got a 421 error
530		code during some parts of connection initialization.
531		I've only seen this when talking to buggy mailers on
532		the other end, but it shouldn't give a seg fault in
533		any case.  From Amir Plivatsky.
534	Fix core dump caused by a ruleset call that returns null.
535		Fix from Bryan Costales of ICSI.
536	Full-Name: field was being ignored.  Fix from Motonori Nakamura
537		of Kyoto University.
538	Fix a possible problem with very long input lines in setproctitle.
539		From P{r Emanuelsson.
540	Avoid putting "This is a warning message" out on return receipts.
541		Suggested by Douglas Anderson.
542	Detect loops caused by recursive ruleset calls.  Suggested by
543		Bryan Costales.
544	Initialize non-alias maps during alias rebuilds -- they may be
545		needed for parsing.  Problem noted by Douglas Anderson.
546	Log sender address even if no message was collected in SMTP
547		(e.g., if all RCPTs failed).  Suggested by Motonori
548		Nakamura.
549	Don't reflect the owner-list contents into the envelope sender
550		address if the value contains ", :, /, or | (to avoid
551		illegal addresses appearing there).
552	Efficiency hack for toktype macro -- from Craig Partridge of
553		BB&N.
554	Clean up DNS error printing so that a host name is always
555		included.
556	Remember to set $i during queue runs.  Reported by Stephen
557		Campbell of Dartmouth University.
558	If ${HOSTALIASES} is set, use it during canonification so that
559		headers are properly mapped.  Reported by Anne Bennett
560		of Concordia University.
561	Avoid printing misleading error message if SMTP mailer (not
562		using [IPC]) should die on a core dump.
563	Avoid incorrect diagnosis of "file 1 closed" when it is caused
564		by the other end closing the connection.  From
565		Dave Morrison of Oracle.
566	Improve several of the error messages printed by "mailq"
567		to include a host name or other useful information.
568	Add NetInfo preliminary support for NeXT systems.  From Vince
569		DeMarco.
570	Fix a glitch that sometimes caused :include:s that pointed to
571		NFS filesystems that were down to give an "aliasing/
572		forwarding loop broken" message instead of queueing
573		the message for retry.  Noted by William C Fenner of
574		the NRL Connection Machine Facility.
575	Fix a problem that could cause a core dump if the input sequence
576		had (or somehow acquired) a \231 character.
577	Make sure that route-addrs always have <angle brackets> around
578		them in non-SMTP envelopes (SMTP envelopes already do
579		this properly).
580	Avoid wierd headers on unbalanced punctuation of the form:
581		``Joe User <user)'' -- this caused reference to the
582		null macro.  Fix from Rick McCarty of IO.COM.
583	Fix a problem that caused an alias "user: user@local.host" to
584		not have the QNOTREMOTE bit set; this caused configs
585		to act as if FEATURE(notsticky) was defined even when
586		it was not.  The effect of the problem was to make it
587		very hard to to set up satellite sites that had a few
588		local accounts, with everything else forwarded to a
589		corporate hub.  Reported by Detlef Drewanz of the
590		University of Rostock and Mark Frost of NCD.
591	Change queuing to not call rulesets 3, {1 or 2}, 4 on header
592		addresses.  This is more efficient (fewer name server
593		calls) and fixes certain unusual configurations, such
594		as those that have ruleset 4 do something that is
595		non-idempotent unless a mailer-specific ruleset did
596		something else.  Problem reported by Brian J. Coan
597		of the Institute for Global Communications.
598	Fix the "obsolete argument" routine in main to better understand
599		new arguments.  For example, if you used ``sendmail
600		-C config -v -q'' it would choke on the -q because
601		the -C would stop looking for old-format arguments.
602	Fix the code that was intended to allow two users to forward their
603		mail to the same program and have them appear unique.
604	Portability fixes for:
605		SCO UNIX from Murray Kucherawy.
606		SCO Open Server 3.2v4 from Philippe Brand.
607		System V Release 4 from Rick Ellis and others.
608		OSF/1 from Steve Campbell.
609		DG/UX from Ben Mesander of the USGS and Bryan Curnutt
610			of Stoner Associates.
611		Motorola SysV88 from Kevin Johnson of Motorola.
612		Solaris 2.3 from Casper H.S. Dik of the University
613			of Amsterdam and John Caruso of University
614			of Maryland.
615		FreeBSD from Ollivier Robert.
616		NetBSD from Adam Glass.
617		TitanOS from Kate Hedstrom of Rutgers University.
618		Irix from Bryan Curnutt.
619		Dynix from Jim Davis of the University of Arizona.
620		RISC/os.
621		Linux from John Kennedy of California State University
622			at Chico.
623		Solaris 2.x from Tony Boner of the U.S. Air Force.
624		NEXTSTEP 3.x from Vince DeMarco.
625		HP-UX from various people.  NOTA BENE:  the location
626			of the config file has moved to /usr/lib
627			to match the HP-UX version of sendmail.
628	CONFIG: Don't do any recipient rewriting on relay mailer;
629		since this is intended only for internal use, the
630		usual RFC 821/822/1123 rules can be relaxed.  The
631		main point of this is to avoid munging (ugh) UUCP
632		addresses when relaying internally.
633	CONFIG: fix typo in mailer/uucp.m4 that mutilates list:;
634		syntax addresses delivered via UUCP.  Solution
635		provided by Peter Wemm.
636	CONFIG: fix thumb-fumble in default UUCP relaying in ruleset
637		zero; it caused double @ signs in addresses.  From
638		Irving Reid of the University of Toronto.
639	CONFIG: Portability fixes for SCO Unix 3.2 with TCP/IP 1.2.1
640		from Markku Toijala of ICL Personal Systems Oy.
641	CONFIG: Add trailing "." on pseudo-domains for consistency;
642		this fixes a problem (noted by Al Whaley of Sunnyside)
643		that made it hard to recognize your own pseudodomain
644		names.
645	CONFIG: catch "@host" syntax errors (i.e., null local-parts)
646		rather than letting them get "local configuration
647		error"s.  Problem noted by John Gardiner Myers.
648	CONFIG: add uucp-uudom mailer variant, based on code posted
649		by Spider Boardman <spider@Orb.Nashua.NH.US>; this
650		has uucp-dom semantics but old UUCP syntax.  This
651		also permits "uucp-old" as an alias for "uucp" and
652		"uucp-new" as a synonym for "suucp" for consistency.
653	CONFIG: add POP mailer support (from Kimmo Suominen
654		<kim@grendel.lut.fi>).
655	CONFIG: drop CSNET_RELAY support -- CSNET is long gone.
656	CONFIG: fix bug caused with domain literal addresses (e.g.,
657		``[128.32.131.12]'') when FEATURE(allmasquerade)
658		was set; it would get an additional @masquerade.host
659		added to the address.  Problem noted by Peter Wan
660		of Georgia Tech.
661	CONFIG: make sure that the local UUCP name is in $=w.  From
662		Jim Murray of Stratus.
663	CONFIG: changes to UUCP rewriting to simulate IDA-style "V"
664		mailer flag.  Briefly, if you are sending to host
665		"foo", then it rewrites "foo!...!baz" to "...!baz",
666		"foo!baz" remains "foo!baz", and anything else has
667		the local name prepended.
668	CONFIG: portability fixes for HP-UX.
669	DOC: several minor problems fixed in the Install & Op Guide.
670	MAKEMAP: fix core dump problem on lines that are too long or
671		which lack newline.  From Mark Delany.
672	MAILSTATS: print sums of columns (total messages & kbytes
673		in and out of the system).  From Tom Ferrin of UC
674		San Francisco Computer Graphics Lab.
675	SIGNIFICANT USER- OR SYSAD-VISIBLE CHANGES:
676		On HP-UX, /etc/sendmail.cf has been moved to
677			/usr/lib/sendmail.cf to match HP sendmail.
678		Permissions have been tightened up on world-writable
679			:include: files and accounts that have shells
680			that are not listed in /etc/shells.  This may
681			cause some .forward files that have worked
682			before to start failing.
683		SIGUSR1 dumps some state to the log.
684	NEW FILES:
685		src/Makefile.DGUX
686		src/Makefile.Dynix
687		src/Makefile.FreeBSD
688		src/Makefile.Mach386
689		src/Makefile.NetBSD
690		src/Makefile.RISCos
691		src/Makefile.SCO
692		src/Makefile.SVR4
693		src/Makefile.Titan
694		cf/mailer/pop.m4
695		cf/ostype/bsdi1.0.m4
696		cf/ostype/dgux.m4
697		cf/ostype/dynix3.2.m4
698		cf/ostype/sco3.2.m4
699		makemap/Makefile.dist
700		praliases/Makefile.dist
701
7028.6.4/8.6.4	93/10/31
703	Repair core-dump problem (write to read-only memory segment)
704		if you fall back to the return-to-Postmaster case in
705		savemail.  Problem reported by Richard Liu.
706	Immediately diagnose bogus sender addresses in SMTP.  This
707		makes quite certain that crackers can't use this
708		class of attack.
709	Reliability Fix:  check return value from fclose() and fsync()
710		in a few critical places.
711	Minor problem in initsys() that reversed a condition for
712		redirecting the output channel on queue runs.  It's
713		not clear this code even does anything.  From Eric
714		Wassenaar of the Dutch National Institute for Nuclear
715		and High-Energy Physics.
716	Fix some problems that caused queue runs to do "too much work",
717		such as double-reading the Errors-To: header.  From
718		Eric Wassenaar.
719	Error messages on writing the temporary file (including the
720		data file) were getting suppressed in SMTP -- this
721		fix causes them to be properly reported.  From Eric
722		Wassenaar.
723	Some changes to support AF_UNIX sockets -- this will only
724		really become relevant in the next release, but some
725		people need it for local patches.  From Michael
726		Corrigan of UC San Diego.
727	Use dynamically allocated memory (instead of static buffers)
728		for macros defined in initsys() and settime(); since
729		these can have different values depending on which
730		envelope they are in.  From Eric Wassenaar.
731	Improve logging to show ctladdr on to= logging; this tells you
732		what uid/gid processes ran as.
733	Fix a problem that caused error messages to be discarded if
734		the sender address was unparseable for some reason;
735		this was supposed to fall back to the "return to
736		postmaster" case.
737	Improve aliaswait backoff algorithm.
738	Portability patches for Linux (8.6.3 required another header
739		file) (from Karl London) and SCO UNIX.
740	CONFIG: patch prog mailer to not strip host name off of envelope
741		addresses (so that it matches local again).  From
742		Christopher Davis.
743	CONFIG: change uucp-dom mailer so that "<>" translates to $n;
744		this prevents uux from seeing lines with null names like
745		``From   Sat Oct 30 14:55:31 1993''.  From Motonori
746		Nakamura of Kyoto University.
747	CONFIG: handle <list:;> syntax correctly.  This isn't legal, but
748		it shouldn't fail miserably.  From Motonori Nakamura.
749
7508.6.3/8.6.3	93/10/24
751	IMPORTANT FIX: Fix several problems that caused open files to
752		be "lost" during queue runs; this overflowed the open
753		file table on large runs.  An assumption that fdopen
754		always succeeds sometimes resulted in core dumps when
755		this happens; sometimes the message is delivered twice,
756		sometimes (probably) infinite times.  This problem in
757		various form was reported by P{r (Pell) Emanuelsson and
758		Robert Campbell of U.C. Berkeley.
759	Special diagnosis of EMFILE error conditions -- it now prints
760		the known open file descriptors so you can figure out
761		what is consuming so much resources.
762	Fix a couple of problems caused by early address parsing
763		errors -- one caused it to return a "this is only a
764		warning" when it really wasn't, and the other started
765		parsing through a random pointer.  The first was
766		noted by Eric Wassenaar.
767	Fix an infinite loop problem caused by null components in the
768		host signature.  Problem noted by Jan Sorensen.
769	Be sure to reset the "current date" when sending an error
770		message -- PostMasterCopy messages were being sent
771		with an old Date: header.
772	Fix a problem that caused duplicated mail when sendmail was
773		(1) compiled without HASFLOCK, (2) you are sending to
774		an alias that has an owner-* alias, (3) you execute
775		sendmail with -t flag, (4) you run in -odb mode, and
776		(5) the sender specifies both the alias name and
777		another alias [i.e., the envelope is split], then
778		duplicate messages are sent.  The problem description
779		and one-line fix are from Motonori Nakamura of Kyoto
780		University.
781	Avoid a problem that causes error messages to be discarded
782		in some cases -- this was the result of a "fix" to
783		avoid duplicate error messages, but two are better
784		than zero.  Reported by Tim Rylance.
785	Fix a minor botch in checkfd012() -- fix from Dave Hill of
786		Computervision R&D Ltd.
787	Remove "X-Authentication-Warning: <user> set sender to <address>
788		using -f" entirely -- it is far too eager to include
789		this, and it is confusing folks.  I'll try to make it
790		work "right" in 8.7.  Problem noted by Yoshitaka
791		Tokugawa of dit Co., Ltd.
792	Fix a race condition with the errno value in tick() and
793		reapchild() -- this caused occasional misdiagnosis
794		of problems.  Kyle Jones of UUNET helped this along.
795	Repair rule loop-detection code.  From Michael Corrigan of
796		U.C. San Diego.
797	Fix a problem that caused sender domain addition (C mailer
798		flag to be ignored if you use -odq or use -odb with
799		a high load average.  Problem reported by Jim Murray
800		of Stratus.
801	Fix ident protocol on multi-homed machines.  It was not
802		always using the correct interface.  Fix from J.R.
803		Oldroyd of Opal.
804	Previously, sendmail assumed that any SMTP greeting message
805		that wasn't 2xx was a temporary failure -- it should
806		only take 4xx as a temporary failure, and return a
807		solid error message on anything else -- for example,
808		to allow you to reject connections on a workstation
809		that is MXed to a mail server.
810	Portability enhancements for 386BSD/FreeBSD/NetBSD from
811		Ollivier Robert.
812	CONFIG: FEATURE(always_add_domain) didn't always add the domain;
813		in particular, on local mail it modified the header sender
814		but not the header recipient address(es).  Reported by
815		Jeffrey Honig of Cornell University.  Also, strip
816		any host from envelope recipient address(es), since
817		local mailers don't understand host names -- this is
818		to help mailertable entries.  From Christopher Davis.
819	CONFIG: masquerading didn't apply to addresses that already
820		had a domain.  This change replaces a local hostname
821		by the masquerade name in the SMTP mailer (previously
822		it only added the masquerade name if it didn't already
823		have a domain name).  Several people complained about
824		this.
825
8268.6.2/8.6.2	93/10/15
827	Put a "successful delivery" message in the transcript for
828		addresses that get return-receipts.
829	Put a prominent "this is only a warning" message in warning
830		messages -- some people don't read carefully enough
831		and end up sending the message several times.
832	Include reason for temporary failure in the "warning" return
833		message.  Currently, it just says "cannot send for
834		four hours".
835	Fix the "Original message received" time generated for
836		returntosender messages.  It was previously listed as
837		the current time.  Bug reported by Eric Hagberg of
838		Cornell University Medical College.
839	If there is an error when writing the body of a message,
840		don't send the trailing dot and wait for a response
841		in sender SMTP, as this could cause the connection to
842		hang up under some bizarre circumstances.  From Eric
843		Wassenaar.
844	Fix some server SMTP synchronization problems caused when
845		connections fail during message collection.  From
846		Eric Wassenaar.
847	Fix a problem that can cause srvrsmtp to reject mail if the
848		name server is down -- it accepts the RCPT but rejects
849		the DATA command.  Problem reported by Jim Murray of
850		Stratus.
851	Fix a problem that can cause core dumps if the config file
852		incorrectly resolves to a null hostname.  Reported by
853		Allan Johannesen of WPI.
854	Non-root use of -C flag, dangerous -f flags, and use of -oQ
855		by non-root users were not put into
856		X-Authentication-Warning:s as intended because the
857		config file hadn't set the PrivacyFlags yet.  Fix
858		from Sven-Ove Westberg of the University of Lulea.
859	Under very odd circumstances, the alias file rebuild code
860		could get confused as to whether a database was
861		open or not.
862	Check "vendor code" on the end of V lines -- this is
863		intended to provide a hook for vendor-specific
864		configuration syntax.  (This is a "new feature",
865		but I've made an exception to my rule in a belief
866		that this is a highly exceptional case.)
867	Portability fixes for DG/UX (from Douglas Anderson of NCSC),
868		SCO Unix (from Murray Kucherawy), A/UX, and OSF/1
869		(from Jon Forrest of UC Berkeley)
870	CONFIG: fix ``mailer:host'' form of UUCP relay naming.
871
8728.6.1/8.6	93/10/08
873	Portability fixes for A/UX and Encore UMAX V.
874	Fix error message handling -- if you had a name server down
875		causing an error during parsing, that message was never
876		propogated to the queue file.
877
8788.6/8.6		93/10/05
879	Configuration cleanup: make it easier to undo IDENTPROTO in
880		conf.h (other systems have the same bug).
881	If HASGETDTABLESIZE and _SC_OPEN_MAX are both defined, assume
882		getdtablesize() instead of sysconf(); a disturbingly
883		large number of systems defined _SC_OPEN_MAX in the
884		header files but don't have the syscall.
885	Another patch to really truly ignore MX records in getcanonname
886		if trymx == FALSE.
887	Fix problem that caused the "250 IAA25499 Message accepted for
888		delivery" message to be omitted if there was an error
889		in the header of the message (e.g., a bad Errors-To:
890		line).  Pointed out by Michael Corrigan of UCSD.
891	Announce name of host we are chatting when we get errors; this
892		is an IDA-ism suggested by Christophe Wolfhugel.
893	Portability fixes for Alpha OSF/1 (from Anthony Baxter of the
894		Australian Artificial Intelligence Institute), SCO Unix
895		(from Murray Kucherawy of Hookup Communication Corp.),
896		NeXT (from Vince DeMarco and myself), Linux (from
897		Karl London <karl@borg.demon.co.uk>), BSDI (from
898		Christophe Wolfhugel, and SVR4 on Dell (from Kimmo
899		Suominen), AUX 3.0 on Macintosh, and ANSI C compilers.
900	Some changes to get around gcc optimizer bugs.  From Takahiro
901		Kanbe.
902	Fix error recovery in queueup if another tf file of the same
903		name already exists.  Problem stumbled over by Bill
904		Wisner of The Well.
905	Output YP_MASTER_NAME and YP_LAST_MODIFIED without null bytes.
906		Problem noted by Keith McMillan of Ameritech Services.
907	Deal with group permissions properly when opening .forward and
908		:include: files.  This relaxes the 8.1C restrictions
909		slightly more.  This includes proper setting of groups
910		when reading :include: files, allowing you to read some
911		files that you should be able to read but have previously
912		been denied unless you owned them or they had "other"
913		read permission.
914	Make certain that $j is in $=w (after the .cf is read) so that
915		if the user is forced to override some silly system,
916		MX suppression will still work.
917	Fix a couple of efficiency problems where newstr was double-
918		calling expensive routines.  In at least one case, it
919		wasn't guaranteed that they would always return the
920		same result.  Problem noted by Christophe Wolfhugel.
921	Fix null pointer dereference in putoutmsg -- only on an error
922		condition from a non-SMTP mailer.  From Motonori
923		Nakamura.
924	Macro expand "C" line class definitions before scanning so that
925		"CX $Z" works.
926	Fix problem that caused error message to be sent while still
927		trying to send the original message if the connection
928		is closed during a DATA command after getting an error
929		on an RCPT command (pretty obscure).  Problem reported
930		by John Myers of CMU.
931	Fix reply to NOOP to be 250 instead of 200 -- this is a long
932		term bug.
933	Fix a nasty bug causing core dumps when returning the "warning:
934		cannot deliver for N hours -- will keep trying" message;
935		it only occurred if you had PostMasterCopy set and
936		only on some architectures.  Although sendmail would
937		keep trying, it would send error messages on each
938		queue interval.  This is an important fix.
939	Allow u and g options to take user and group names respectively.
940	Don't do a chdir into the queue directory in -bt mode to make
941		ruleset testing a bit easier.
942	Don't allow users to turn off logging (using -oL) on the command
943		line -- command line can only raise, not lower, logging
944		level.
945	Set $u to the original recipient on the SMTP transaction or on
946		the command line.  This is only done if there is exactly
947		one recipient.  Technically, this does not meet the
948		specs, because it does not guarantee a domain on the
949		address.
950	Fix a problem that dumped error messages on bad addresses if
951		you used the -t flag.  Problem noted by Josh Smith of
952		Harvey Mudd College.
953	Given an address such as ``<foo> <bar>'', auto-quote the first
954		``<foo>'' part, giving ``"<foo>" <bar>''.  This is to
955		avoid the problem of people who use angle brackets in
956		their full name information.
957	Fix a null pointer dereference if you set option "l", have
958		an Errors-To: header in the message, and have Errors-To:
959		defined in the config file H lines.  From J.R. Oldroyd.
960	Put YPCOMPAT on #ifdef NIS instead -- it's one less thing to get
961		wrong when compiling.  Suggested by Rick McCarty of TI.
962	Fix a problem that could pass negative SIZE parameter if the
963		df file got lost; this would cause servers to always
964		give a temporary failure, making the problem even worse.
965		Problem noted by Allan Johannesen of WPI.
966	Add "ident" timeout (one of the "r" option selectors) for IDENT
967		protocol timeouts (30s default).  Requested by Murray
968		Kucherawy of HookUp Communication Corp. to handle bogus
969		PC TCP/IP implementations.
970	Change $w default definition to be just the first component of
971		the domain name on config level 5.  The $j macro defaults
972		to the FQDN; $m remains as before.  This lets well-behaved
973		config files use any of the short, long, or subdomain
974		names.
975	Add makesendmail script in src to try to automate multi-architecture
976		builds.  I know, this is sub-optimal, but it is still
977		helpful.
978	Fix very obscure race condition that can cause a queue run to
979		get a queue file for an already completed job.  This
980		problem has existed for years.  Problem noted by the
981		long suffering Allan Johannesen of WPI.
982	Fix a problem that caused the raw sender name to be passed to
983		udbsender instead of the canonified name -- this caused
984		it to sometimes miss records that it should have found.
985	Relax check of name on HELO packet so that a program using -bs
986		that claims to be itself works properly.
987	Restore rewriting of $: part of address through 2, R, 4 in
988		buildaddr -- this requires passing a lot of flags to get
989		it right.  Unlike old versions, this ONLY rewrites
990		recipient addresses, not sender addresses.
991	Fix a bug that caused core dumps in config files that cannot
992		resolve /file/name style addresses.  Fix from Jonathan
993		Kamens of OpenVision Technologies.
994	Fix problem with fcntl locking that can cause error returns to
995		be lost if the lock is lost; this required fully
996		queueing everything, dropping the envelope (so errors
997		would get returned), and then re-reading the queue from
998		scratch.
999	Fix a problem that caused aliases that redefine an otherwise
1000		true address to still send to the original address
1001		if and only if the alias failed in certain bizarre
1002		ways (e.g, if they pointed at a list:; syntax address).
1003		Problem pointed out by Jonathan Kamens.
1004	Remove support for frozen configuration files.  They caused
1005		more trouble than it was worth.
1006	Fix problem that can cause error messages to get ignored when
1007		using both -odb and -t flags.  Problem noted by Rob
1008		McNicholas at U.C. Berkeley.
1009	Include all "normal" variations on hostname in $=w.  For example,
1010		if the host name is vangogh.cs.berkeley.edu, $=w will
1011		contain vangogh, vangogh.cs, and vangogh.cs.berkeley.edu.
1012	Add "restrictqrun" privacy flag -- without this, anyone can run
1013		the queue.
1014	Reset SmtpPhase global on initial connection creation so that
1015		messages don't come out with stale information.
1016	Pass an "ext" argument to lockfile so that error/log messages
1017		will properly reflect the true filename being locked.
1018	Put all [...] address forms into $=w -- this eliminates the need
1019		for MAXIPADDR in conf.h.  Suggested by John Gardiner
1020		Myers of CMU.
1021	Fix a bug that can cause qf files to be left around even after
1022		an SMTP RSET command.  Problem and fix from Michael
1023		Corrigan.
1024	Don't send a PostMasterCopy to errors when the Precedence: is
1025		negative.  Error reports still go to the envelope
1026		sender address.
1027	Add LA_SHORT for load averages.
1028	Lock sendmail.st file when posting statistics.
1029	Add "SendBufSize" and "RcvBufSize" suboptions to "O" option to
1030		set the size of the TCP send and receive buffers; if you
1031		run over a slow slip line you may need to set these down
1032		(although it would be better to fix the SLIP implementation
1033		so that it's not necessary to recompile every program
1034		that does bulk data transfer).
1035	Allow null defaults on $( ... $) lookups.  Problem reported by
1036		Amir Plivatsky.
1037	Diagnose crufty S and V config lines.  This resulted from an
1038		observation that some people were using the SITE macro
1039		without the SITECONFIG macro first, which was causing
1040		bogus config files that were not caught.
1041	Fix makemap -f flag to turn off case folding (it was turning it
1042		on instead).  THIS IS A USER VISIBLE CHANGE!!!
1043	Fix a problem that caused multiple error messages to be sent if
1044		you used "sendmail -t -oem -odb", your system uses fcntl
1045		locking, and one of the recipient addresses is unknown.
1046	Reset uid earlier in include() so that recursive .forwards or
1047		:include:s don't use the wrong uid.
1048	If file descriptor 0, 1, or 2 was closed when sendmail was
1049		called, the code to recover the descriptor was broken.
1050		This sometimes (only sometimes) caused problems with the
1051		alias file.  Fix from Motonori Nakamura.
1052	Fix a problem that caused aliaswait to go into infinite recursion
1053		if the @:@ metasymbol wasn't found in the alias file.
1054	Improve error message on newaliases if database files cannot be
1055		opened or if running with no database format defined.
1056	Do a better estimation of the size of error messages when NoReturn
1057		is set.  Problem noted by P{r (Pell) Emanuelsson.
1058	Fix a problem causing the "c" option (don't connect to expensive
1059		mailers) to be ignored in SMTP.  Problem noted and the
1060		solution suggested by Robert Elz of Munnari University.
1061	Improve connection caching algorithm by passing "[host]" to
1062		hostsignature, which strips the square brackets and
1063		returns the real name.  This allows mailertable entries
1064		to match regular entries.
1065	Re-enable Return-Receipt-To: -- people seem to want this stupid
1066		feature, even if it doesn't work right.
1067	Catch and log attempts to try the "wiz" command in server SMTP.
1068		This also ups the log level from LOG_NOTICE to LOG_CRIT.
1069	Be more generous at assigning $z to the home directory -- do this
1070		for programs that are specified through a .forward file.
1071		Fix from Andrew Chang of Sun Microsystems.
1072	Always save a fatal error message in preference to a non-fatal
1073		error message so that the "subject" line of return
1074		messages is the best possible.
1075	CONFIG: reduce the number of quotes needed to quote configuration
1076		parameters with commas: two quotes should work now, e.g.,
1077		define(ALIAS_FILE, ``/etc/aliases,/etc/aliases.local'').
1078	CONFIG: class $=Z is a set of UUCP hosts that use uucp-dom
1079		connections (domain-ized UUCP).
1080	CONFIG: fix bug in default maps (-o must be before database file
1081		name).  Pointed out by Christophe Wolfhugel.
1082	CONFIG: add FEATURE(nodns) to state that we are not relying on
1083		DNS.  This would presumably be used in UUCP islands.
1084	CONFIG: add OSTYPE(nextstep) and OSTYPE(linux).
1085	CONFIG: log $u in Received: line.  This is in technical violation
1086		of the standards, since it doesn't guarantee a domain
1087		on the address.
1088	CONFIG: don't assume "m" in local mailer flags -- this means that
1089		if you redefine LOCAL_MAILER_FLAGS you will have to include
1090		the "m" flag should you want it.  Apparently some Solaris 2.2
1091		installations can't handle multiple local recipients.
1092		Problem noted by Josh Smith.
1093	CONFIG: add confDOMAIN_NAME to set $j (if undefined, $j defaults).
1094	CONFIG: change default version level from 4 to 5.
1095	CONFIG: add FEATURE(nullclient) to create a config file that
1096		forwards all mail to a hub without ever looking at the
1097		addresses in any detail.
1098	CONFIG: properly strip mailer: information off of relays when
1099		used to change .BITNET form into %-hack form.
1100	CONFIG: fix a problem that caused infinite loops if presented
1101		with an address such as "!foo".
1102	CONFIG: check for self literal (e.g., [128.32.131.12]) even if
1103		the reverse "PTR" mapping is broken.  There's a better
1104		way to do this, but the change is fairly major and I
1105		want to hold it for another release.  Problem noted by
1106		Bret Marquis.
1107
11088.5/8.5		93/07/23
1109	Serious bug: if you used a command line recipient that was unknown
1110		sendmail would not send a return message (it was treating
1111		everything as though it had an SMTP-style client that
1112		would do the return itself).  Problem noted by Josh Smith.
1113	Change "trymx" option in getcanonname() to ignore all MX data,
1114		even during a T_ANY query.  This actually didn't break
1115		anything, because the only time you called getcanonname
1116		with !trymx was if you already knew there were no MX
1117		records, but it is somewhat cleaner.  From Motonori
1118		Nakamura.
1119	Don't call getcanonname from getmxrr if you already know there
1120		are no DNS records matching the name.
1121	Fix a problem causing error messages to always include "The
1122		original message was received ... from localhost".
1123		The correct original host information is now included.
1124	Previous change to cf/sh/makeinfo.sh doesn't port to Ultrix (their
1125		version of "test" doesn't have the -x flag).  Change it
1126		to use -f instead.  From John Myers.
1127	CONFIG: 8.4 mistakenly set the default SMTP-style mailer to
1128		esmtp -- it should be smtp.
1129	CONFIG: send all relayed mail using confRELAY_MAILER (defaults
1130		to "relay" (a variant of "smtp") if MAILER(smtp) is used,
1131		else "suucp" if MAILER(uucp) is used, else "unknown");
1132		this cleans up the configs somewhat.  This fixes a serious
1133		problem that caused route-addrs to get mistaken as relays,
1134		pointed out by John Myers.  WARNING: this also causes
1135		the default on SMART_HOST to change from "suucp" to
1136		"relay" if you have MAILER(smtp) specified.
1137
11388.4/8.4		93/07/22
1139	Add option `w'.  If you receive a message that comes to you because
1140		you are the best (lowest preference) target of an MX, and
1141		you haven't explicitly recognized the source MX host in
1142		your .cf file, this option will cause you to try the target
1143		host directly (as if there were no MX for it at all).  If
1144		`w' is not set, this case is a configuration error.
1145		Beware: if `w' is set, senders may get bogus errors like
1146		"message timed out" or "host unknown" for problems that
1147		are really configuration errors.  This option is
1148		disrecommended, provided only for compatibility with
1149		UIUC sendmail.
1150	Fix a problem that caused the incoming socket to be left open
1151		when sendmail forks after the DATA command.  This caused
1152		calling systems to wait in FIN_WAIT_2 state until the
1153		entire list was processed and the child closed -- a
1154		potentially prodigious amount of time.  Problem noted
1155		by Neil Rickert.
1156	Fix problem (created in 6.64) that caused mail sent to multiple
1157		addresses, one of which was a bad address, to completely
1158		suppress the sending of the message.  This changes
1159		handling of EF_FATALERRS somewhat, and adds an
1160		EF_GLOBALERRS flag.  This also fixes a potential problem
1161		with duplicate error messages if there is a syntax error
1162		in the header of a message that isn't noticed until late
1163		in processing.  Original problem pointed out by Josh Smith
1164		of Harvey Mudd College.  This release includes quite a bit
1165		of dickering with error handling (see below).
1166	Back out SMTP transaction if MAIL gets nested 501 error.  This
1167		will only hurt already-broken software and should help
1168		humans.
1169	Fix a problem that broke aliases when neither NDBM nor NEWDB were
1170		compiled in.  It would never read the alias file.
1171	Repair unbalanced `)' and `>' (the "open" versions are already
1172		repaired).
1173	Logging of "done" in dropenvelope() was incorrect: it would
1174		log this even when the queue file still existed.  Change
1175		this to only log "done" (at log level 11) when the
1176		queue file is actually removed.  From John Myers.
1177	Log "lost connection" in server SMTP at log level 20 if there
1178		is no pending transaction.  Some senders just close the
1179		connection rather than sending QUIT.
1180	Fix a bug causing getmxrr to add a dot to the end of unqualified
1181		domains that do not have MX records -- this would cause
1182		the subsequent host name lookup to fail.  The problem
1183		only occurred if you had FEATURE(nocanonify) set.
1184		Problem noted by Rick McCarty of Texas Instruments.
1185	Fix invocation of setvbuf when passed a -X flag -- I had
1186		unwittingly used an ANSI C extension, and this caused
1187		core dumps on some machines.
1188	Diagnose self-destructive alias loops on RCPT as well as EXPN.
1189		Previously it just gave an empty send queue, which
1190		then gave either "Need RCPT (recipient)" at the DATA
1191		(confusing, since you had given an RCPT command which
1192		returned 250) or just dropped the email, depending on
1193		whether you were running VERBose mode.  Now it usually
1194		diagnoses this case as "aliasing/forwarding loop broken".
1195		Unfortunately, it still doesn't adequately diagnose
1196		some true error conditions.
1197	Add internal concept of "warning messages" using 6xx codes.
1198		These are not reported only to Postmaster.  Unbalanced
1199		parens, brackets, and quotes are printed as 653 codes.
1200		They are always mapped to 5xx codes before use in SMTP.
1201	Clean up error messages to tell both the actual address that
1202		failed and the alias they arose from.  This makes it
1203		somewhat easier to diagnose problems.  Difficulty noted
1204		by Motonori Nakamura.
1205	Fix a problem that inappropriately added a ctladdr to addresses
1206		that shouldn't have had one during a queue run.  This
1207		caused error messages to be handled differently during
1208		a queue run than a direct run.
1209	Don't print the qf name and line number if you get errors during
1210		the direct run of the queue from srvrsmtp -- this was
1211		just extra stuff for users to crawl through.
1212	Put command line flags on second line of pid file so you can
1213		auto-restart the daemon with all appropriate arguments.
1214		Use "kill `head -1 /etc/sendmail.pid`" to stop the
1215		daemon, and "eval `tail -1 /etc/sendmail.pid`" to
1216		restart it.
1217	Remove the ``setuid(getuid())'' in main -- this caused the
1218		IDENT daemon to screw up.  This required that I change
1219		HASSETEUID to HASSETREUID and complicate the mode
1220		changing somewhat because both Ultrix and SunOS seem
1221		to have a bug causing seteuid() to set the saved uid
1222		as well as the effective.  The program test/t_setreuid.c
1223		will test to see if your implementation of setreuid(2)
1224		is appropriately functional.
1225	The FallBackMX (option V) handling failed to properly identify
1226		fallback to yourself -- most of the code was there,
1227		but it wasn't being enabled.  Problem noted by Murray
1228		Kucherawy of the University of Waterloo.
1229	Change :include: open timeout from ETIMEDOUT to an internal
1230		code EOPENTIMEOUT; this avoids adding "during SmtpPhase
1231		with CurHostName" in error messages, which can be
1232		confusing.  Reported by Jonathan Kamens of OpenVision
1233		Technologies.
1234	Back out setpgrp (setpgid on POSIX systems) call to reset the
1235		process group id.  The original fix was to get around
1236		some problems with recalcitrant MUAs, but it breaks
1237		any call from a shell that creates a process group id
1238		different from the process id.  I could try to fix
1239		this by diddling the tty owner (using tcsetpgrp or
1240		equivalent) but this is too likely to break other
1241		things.
1242	Portability changes:
1243		Support -M as equivalent to -oM on Ultrix -- apparently
1244			DECnet calls sendmail with -MrDECnet -Ms<HOST> -bs
1245			instead of using standard flags.  Oh joy.  This
1246			behaviour reported by Jon Giltner of University
1247			of Colorado.
1248		SGI IRIX  -- this includes several changes that should
1249			help other strict ANSI compilers.
1250		SCO Unix -- from Murray Kucherawy of HookUp Communication
1251			Corporation.
1252		Solaris running the Sun C compiler (which despite the
1253			documentation apparently doesn't define
1254			__STDC__ by default).
1255		ConvexOS from Eric Schnoebelen of Convex.
1256		Sony NEWS workstations and Omron LUNA workstations from
1257			Motonori Nakamura.
1258	CONFIG: add confTRY_NULL_MX_LIST to set option `w'.
1259	CONFIG: delete `C' and `e' from default SMTP mailers flags;
1260		several people have made a good argument that this
1261		creates more problems than it solves (although this
1262		may prove painful in the short run).
1263	CONFIG: generalize all the relays to accept a "mailer:host"
1264		format.
1265	CONFIG: move local processing in ruleset 0 into a new ruleset
1266		98 (8 on old sendmail).  Domain literal [a.b.c.d]
1267		addresses are also passed through this ruleset.
1268	CONFIG: if neither SMART_HOST nor MAILER(smtp) were defined,
1269		internet-style addresses would "fall off the end" of
1270		ruleset zero and be interpreted as local -- however,
1271		the angle brackets confused the recursive call.
1272		These are now diagnosed as "Unrecognized host name".
1273	CONFIG: USENET rules weren't included in S0 because of a mistaken
1274		ifdef(`_MAILER_USENET_') instead of
1275		ifdef(`_MAILER_usenet_').  Problem found by Rein Tollevik
1276		of SINTEF RUNIT, Oslo.
1277	CONFIG: move up LOCAL_RULE_0 processing so that it happens very
1278		early in ruleset 0; this allows .mc authors to bypass
1279		things like the "short circuit" code for local addresses.
1280		Prompted by a comment by Bill Wisner of The Well.
1281	CONFIG: add confSMTP_MAILER to define the mailer used (smtp or
1282		esmtp) to send SMTP mail.  This allows you to default
1283		to esmtp but use a mailertable or other override to
1284		deal with broken servers.  This logic was pointed out
1285		to me by Bill Wisner.  Ditto for confLOCAL_MAILER.
1286	Changes to cf/sh/makeinfo.sh to make it portable to SVR4
1287		environments.  Ugly as sin.
1288
12898.3/8.3		93/07/13
1290	Fix setuid problems introduced in 8.2 that caused messages
1291		like "Cannot create qfXXXXXX: Invalid argument"
1292		or "Cannot reopen dfXXXXXX: Permission denied".  This
1293		involved a new compile flag "HASSETEUID" that takes
1294		the place of the old _POSIX_SAVED_IDS -- it turns out
1295		that the POSIX interface is broken enough to break
1296		some systems badly.  This includes some fixes for
1297		HP-UX.  Also fixes problems where the real uid is
1298		not reset properly on startup (from Neil Rickert).
1299	Fix a problem that caused timed out messages to not report the
1300		addresses that timed out.  Error messages are also more
1301		"user friendly".
1302	Drop required bandwidth on connections from 64 bytes/sec to
1303		16 bytes/sec.
1304	Further Solaris portability changes -- doesn't require the BSD
1305		compatibility library.  This also adds a new
1306		"HASGETDTABLESIZE" compile flag which can be used if
1307		you want to use getdtablesize(2) instead of sysconf(2).
1308		These are loosely based on changes from David Meyer at
1309		University of Oregon.  This now seems to work, at least
1310		for quick test cases.
1311	Fix a problem that can cause duplicate error messages to be
1312		sent if you are in SMTP, you send to multiple addresses,
1313		and at least one of those addresses is good and points
1314		to an account that has a .forward file (whew!).
1315	Fix a problem causing messages to be discarded if checkcompat()
1316		returned EX_TEMPFAIL (because it didn't properly mark
1317		the "to" address).  Problem noted by John Myers.
1318	Fix dfopen to return NULL if the open failed; I was depending
1319		on fdopen(-1) returning NULL, which isn't the case.  This
1320		isn't serious, but does result in wierd error diagnoses.
1321		From Michael Corrigan.
1322	CONFIG: add UUCP_MAX_SIZE M4 macro to set the maximum size of
1323		messages sent through UUCP-family mailers.  Suggested
1324		by Bill Wisner of The Well.
1325	CONFIG: if both MAILER(uucp) and MAILER(smtp) are specified,
1326		include a "uucp-dom" mailer that uses domain-style
1327		addressing.  Suggested by Bill Wisner.
1328	CONFIG: Add LOCAL_SHELL_FLAGS and LOCAL_SHELL_ARGS to match
1329		LOCAL_MAILER_FLAGS and LOCAL_MAILER_ARGS.  Suggested by
1330		Christophe Wolfhugel.
1331	CONFIG: Add OSTYPE(aix3).  From Christophe Wolfhugel.
1332
13338.2/8.2		93/07/11
1334	Don't drop out on config file parse errors in -bt mode.
1335	On older configuration files, assume option "l" (use Errors-To
1336		header) for back compatibility.  NOTE:  this DOES NOT
1337		imply an endorsement of the Errors-To: header in any way.
1338	Accept -x flag on AIX-3 as well as OSF/1.  Why, why, why???
1339	Don't log errors on EHLO -- it isn't a "real" error for an old
1340		SMTP server to give an error on this command, and
1341		logging it in the transcript can be confusing.  Fix
1342		from Bill Wisner.
1343	IRIX compatibility changes provided by Dan Rich
1344		<drich@sandman.lerc.nasa.gov>.
1345	Solaris 2 compatibility changes.  Provided by Bob Cunningham
1346		<bob@kahala.soest.hawaii.edu>, John Oleynick
1347		<juo@klinzhai.rutgers.edu>
1348	Debugging: -d17 was overloaded (hostsignature and usersmtp.c);
1349		move usersmtp (smtpinit and smtpmailfrom) to -d18 to
1350		match the other flags in that file.
1351	Flush transcript before fork in mailfile().  From Eric Wassenaar.
1352	Save h_errno in mci struct and improve error message display.
1353		Changes from Eric Wassenaar.
1354	Open /dev/null for the transcript if the create of the xf file
1355		failed; this avoids at least one possible null pointer
1356		reference in very wierd cases.  From Eric Wassenaar.
1357	Clean up statistics gathering; it was over-reporting because of
1358		forks.  From Eric Wassenaar.
1359	Fix problem that causes old Return-Path: line to override new
1360		Return-Path: line (conf.c needs H_FORCE to avoid
1361		re-using old value).  From Motonori Nakamura.
1362	Fix broken -m flag in K definition -- even if -m (match only)
1363		was specified, it would still replace the key with the
1364		value.  Noted by Rick McCarty of Texas Instruments.
1365	If the name server timed out over several days, no "timed out"
1366		message would ever be sent back.  The timeout code
1367		has been moved from markfailure() to dropenvelope()
1368		so that all such failures should be diagnosted.  Pointed
1369		out by Christophe Wolfhugel and others.
1370	Relax safefile() constraints: directories in an include or
1371		forward path must be readable by self if the controlling
1372		user owns the entry, readable by all otherwise (e.g.,
1373		when reading your .forward file, you have to own and
1374		have X permssion in it; everyone needs X permission in
1375		the root and directories leading up to your home);
1376		include files must be readable by anyone, but need not
1377		be owned by you.
1378	If _POSIX_SAVED_IDS is defined, setuid to the owner before
1379		reading a .forward file; this gets around some problems
1380		on NFS mounts if root permission is not exported and
1381		the user's home directory isn't x'able.
1382	Additional NeXT portability enhancements from Axel Zinser.
1383	Additional HP-UX portability enhancements from Brian Bullen.
1384	Add a timeout around SMTP message writes; this assumes you can
1385		get throughput of at least 64 bytes/second.  Note that
1386		this does not impact the "datafinal" default, which
1387		is separate; this is just intended to work around
1388		network clogs that will occur before the final dot
1389		is sent.  From Eric Wassenaar.
1390	Change map code to set the "include null" flag adaptively --
1391		it initially tries both, but if it finds anything
1392		matching without a null it never tries again with a
1393		null and vice versa.  If -N is specified, it never
1394		tries without the null and creates new maps with a
1395		null byte.  If -O is specified, it never tries with
1396		the null (for efficiency).  If -N and -O are specified,
1397		you get -NO (get it?) lookup at all, so this would
1398		be a bad idea.  If you don't specify either -N or -O,
1399		it adapts.
1400	Fix recognition of "same from address" so that MH submissions
1401		will insert the appropriate full name information;
1402		this used to work and got broken somewhere along the
1403		way.
1404	Some changes to eliminate some unnecessary SYSERRs in the
1405		log.  For example, if you lost a connection, don't
1406		bother reporting that fact on the connection you lost.
1407	Add some "extended debugging" flags to try to track down
1408		why we get occassional problems with file descriptor
1409		one being closed when execing a mailer; it seems to
1410		only happen when there has been another error in the
1411		same transaction.  This requires XDEBUG, defined
1412		by default in conf.h.
1413	Add "-X filename" command line flag, which logs both sides of
1414		all SMTP transactions.  This is intended ONLY for
1415		debugging bad implementations of other mailers; start
1416		it up, send a message from a mailer that is failing,
1417		and then kill it off and examine the indicated log.
1418		This output is not intended to be particularly human
1419		readable.  This also adds the HASSETVBUF compile
1420		flag, defaulted on if your compiler defines __STDC__.
1421	CONFIG: change SMART_HOST to override an SMTP mailer.  If you
1422		have a local net that should get direct connects, you
1423		will need to use LOCAL_NET_CONFIG to catch these hosts.
1424		See cf/README for an example.
1425	CONFIG: add LOCAL_MAILER_ARGS (default: `mail -d $u') to handle
1426		sites that don't use the -d flag.
1427	CONFIG: hide recipient addresses as well as sender addresses
1428		behind $M if FEATURE(allmasquerade) is specified; this
1429		has been requested by several people, but can break
1430		local aliases.  For example, if you mail to "localalias"
1431		this will be rewritten as "localalias@masqueradehost";
1432		although initial delivery will work, replies will be
1433		broken.  Use it sparingly.
1434	CONFIG: add FEATURE(domaintable).  This maps unqualified domains
1435		to qualified domains in headers.  I believe this is
1436		largely equivalent to the IDA feature of the same name.
1437	CONFIG: use $U as UUCP name instead of $k.  This permits you
1438		to override the "system name" as your UUCP name --
1439		in particular, to use domain-ized UUCP names.  From
1440		Bill Wisner of The Well.
1441	CONFIG: create new mailer "esmtp" that always tries EHLO
1442		first.  This is currently unused in the config files,
1443		but could be used in a mailertable entry.
1444
14458.1C/8.1B	93/06/27
1446	Serious security bug fix: it was possible to read any file on
1447		the system, regardless of ownership and permissions.
1448	If a subroutine returns a fully qualified address, return it
1449		immediately instead of feeding it back into rewriting.
1450		This fixes a problem with mailertable lookups.
1451	CONFIG: fix some M4 frotz (concat => CONCAT)
1452
14538.1B/8.1A	93/06/12
1454	Serious bug fix: pattern matching backup algorithm stepped by
1455		two tokens in classes instead of one.  Found by Claus
1456		Assmann at University of Kiel, Germany.
1457
14588.1A/8.1A	93/06/08
1459	Another mailertable fix....
1460
14618.1/8.1		93/06/07
1462	4.4BSD freeze.  No semantic changes.
1463
14646.65/6.34	93/06/06
1465	Fix some lintish problems.
1466	Fix some cases where server SMTP behaved poorly when handed bogus
1467		input, pointed out by Eric Wassenaar.
1468	CONFIG: fix some more (sigh) mailertable bugs -- thanks to
1469		Motonori Nakamura of Kyoto University (again).
1470
14716.64/6.33	93/06/05
1472	Don't send 050 (-v) information after the 250 response to a QUIT
1473		command in srvrsmtp -- clients usually close the connection
1474		at this point, and it causes bogus error messages.
1475	Don't send messages that have errors on input (such as unbalanced
1476		parentheses) during SMTP transactions, since a return
1477		message has (probably) already been sent.
1478	Give better diagnostics on timeouts during network reads, including
1479		information similar to the SMTP phase.
1480	Fix bug that caused SMTP messages to deliver synchronously; this
1481		happened after the DATA 250, and hence caused reading the
1482		next command to be delayed.
1483	Ignore Errors-To: header unless 'l' (lower case el) header is
1484		specified.  The Errors-To: header violates RFC 1123.
1485		Errors-To: was only needed to take the place of the
1486		envelope sender in the days when most Unix mailers
1487		didn't understand about the two kinds of senders.
1488	Don't send warning messages in response to automatically generated
1489		messages (that is, those From:<>).
1490	CONFIG: fix some rather stupid typos in the mailertable code
1491		pointed out by Motonori Nakamura of Kyoto University.
1492	CONFIG: add confUSE_ERRORS_TO configuration option.
1493	CONFIG: if ALWAYS_ADD_DOMAIN is selected, try to use $M
1494		(masquerade name) instead of $j.
1495	CONFIG: don't add dots to relay names (added in 6.29); it breaks
1496		several things, and can be simulated by dot terminating
1497		the names of relays.  For example, use:
1498			DBbit.net.relay.
1499		(note the trailing dot).
1500
15016.63/6.32	93/06/01
1502	Fix prototypes to eliminate chars in argument lists -- some
1503		compilers are pissy about this.
1504	Log protocol ($r) and body type if set so we can determine if
1505		the adaptive algorithms are working.
1506	Pessimize on locking of database files (particularly for NEWDB
1507		databases) during opens.  There were problems with
1508		processes opening the file while it was rebuilt; since
1509		NEWDB caches heavily, the reader opened an empty file,
1510		which is an error.  If your system has the ability to
1511		lock atomically on open, this works properly; otherwise,
1512		there are race conditions.
1513	Check mod time on .pag file instead of .dir in NDBM aliases
1514		because the .dir file doesn't get updated for small
1515		alias files.  From John Gardiner Myers of CMU.
1516	More Solaris portability -- it now compiles on Solaris, but
1517		hangs up in gethostbyname().
1518	Move setting of RES_DEBUG flag before first myhostname() call
1519		so we can see name server traffic on that call.
1520	Fsync() queue files.
1521	Fix a problem that causes -bi to try to rebuild maps other than
1522		the alias file(s).
1523	Fix a problem that caused udb to reject entries from any but
1524		the first database listed.
1525	Rearrange doc subdirectory for 4.4BSD release tape.
1526	CONFIG: put $r into the Received line.  This was an oversight.
1527	CONFIG: fix typo (call to ruleset 99 should have been rulset 90).
1528	CONFIG: move "auxiliary" subroutines to be in ruleset 90-99
1529		range -- in the long run, single digit rulesets may
1530		become reserved for builtin use by sendmail.
1531	CONFIG: fix major problem that causes host aliases (that is,
1532		anything in $=w != $j) to not be recognized.  This has
1533		been around since 6.30.
1534
15356.62/6.31	93/05/28
1536	BETA RELEASE
1537	Fix recursive syserr (if there is an error printing a syserr
1538		message).  This makes the code much less eager to consider
1539		a write error as serious.  This also includes some
1540		heuristics to be clever about closed connections.
1541	Lock NEWDB files during gets.  This requires version 1.5 or later
1542		of the db library.  If you have an older version, you
1543		can use -DOLD_NEWDB.  This will go away in a few weeks.
1544	Fix problem causing aliases that use host maps to get overwritten.
1545	Do appropriate byte swapping on port numbers in ident protocol
1546		code.  Fix from Allan Johannesen of WPI.
1547	Defer opening of map files to the same time as alias files so that
1548		the daemon will tend to pick up new versions more promptly.
1549	Prototype a bunch more functions.
1550	Some Solaris 2.1 changes (still doesn't link though).
1551	Try to simplify Makefiles by including more subordinate #defines
1552		in conf.h (based on OS type).
1553	CONFIG: check for domains if FEATURE(mailertable) is defined.
1554		For example, if the host name is "knecht.cs.berkeley.edu"
1555		it will search the following mailertable keys:
1556			knecht.cs.berkeley.edu
1557			.cs.berkeley.edu
1558			.berkeley.edu
1559			.edu
1560		This could be used to replace the special relays for bitnet
1561		and similar nets.
1562
15636.61/6.30	93/05/24
1564	Fix problem that prevented appending dots on canonified host
1565		names.  This breaks tons of config files -- very
1566		important fix.
1567	Fix improper pointer dereference in response to HELO command.
1568	Fix core dump if debugging set in map_rewrite.
1569	CONFIG: add FEATURE(always_add_domain) to always attach the
1570		local domain (only impacts local mail).
1571	CONFIG: try to avoid turning names into $j -- although
1572		technically a host can only have one "canonical name",
1573		it seems to be common practice to have several.
1574
15756.60/6.29	93/05/22
1576	Major change: merge alias databases with maps.  This expands and
1577		changes the map class interface but fixes a bunch of bugs.
1578		The important user-visible change is that the file name
1579		in a K line now does not include the ".db" extension; this
1580		is added automatically.  Also, the -d (NIS domain) flag is
1581		missing from the K config line; use @domain instead.
1582		When compiling, the *_MAP names are gone -- just compile
1583		in NDBM, NEWDB, and/or NIS support.
1584	Announce mailer/host/user triple on -bv flag -- from Brian
1585		Bullen of Stirling University.
1586	Don't send more than one line in response to HELO -- it confuses
1587		Pony Express, which then behaves very badly.  However,
1588		this change does send two line 220 greetings, with the
1589		second line reading "ESMTP spoken here".  The usersmtp
1590		module recognizes this and goes into ESMTP mode regardless
1591		of the setting of the "a" mailer flag.  Thus, "a" means
1592		"always try EHLO".
1593	AIX portability changes (thanks to Christophe Wolfhugel of
1594		Herve Schauer Consultants (Paris) for providing me with
1595		an INSA account for this purpose).  Lightly tested.  Use
1596		-D_AIX3.  This probably breaks compatibility with some
1597		older systems (e.g., 4.2bsd) but still works on SunOS
1598		4.1.2, Ultrix 4.2A, HP-UX 8.07, OSF/1 T1.3, and AIX 3.2.3.
1599	Fix a problem causing an error message loop if the output channel
1600		is hosed.
1601	Add the Makefiles that I use for various environments -- some are
1602		Berkeley make versions and some are old make versions.
1603		My makefile for the NeXT box has gotten lost, alas!
1604	PRALIASES: support for printing NEWDB databases.  From
1605		Michael J. Corrigan of U.C. San Diego.
1606	CONFIG: don't pass pseudo-domains to $[ ... $] (if you have
1607		a wildcard MX it can have wierd results).  From
1608		Christophe Wolfhugel.
1609	CONFIG: dot terminate relay hostnames in S0.  From Christophe
1610		Wolfhugel.
1611
16126.59/6.28	93/05/13
1613	Log version with SMTP daemon startup message.
1614	Adjust setproctitle to work on NetBSD and BSD/386.
1615	Fix null pointer reference in MX fallback code.
1616	A bunch of minor fixes from Eric Wassenaar:
1617		If deliver cannot execv the mailer, return EX_OSERR
1618			instead of EX_TEMPFAIL (to give better
1619			error messages).
1620		Consistently malloc e_message.
1621		Catch degenerate case of calling returntosender()
1622			with an empty returnq.
1623		MIME reformatting.
1624
16256.58/6.28	93/05/13
1626	Fix bug that can cause incorrect verbose display of user smtp
1627		messages.
1628	Disable SMTP VERB command if PRIV_NOEXPN is set (since this
1629		could reveal the same information.
1630	Allow failure when reading SMTP greeting message to go on to
1631		next MX host.
1632	Add "MIME-Version: 1.0" header if using MIME (this was NOT
1633		included in RFC 1344, but Bill King of Allan-Bradley
1634		Company forwarded me email from Nathaniel Borenstein
1635		claiming that it was an inadvertent omission).
1636	Don't use Content-Type: X-message-header.  According to John
1637		Myers of CMU, many MIME readers will completely ignore
1638		the data if they don't recognize it.  Instead, just
1639		add a blank line to make it a legal (empty) message.
1640	Fix problem causing dots to keep getting appended to cached
1641		hostnames.  This can cause buffer overrun conditions.
1642		The problem was found by Erik Forsberg of Retix,
1643		although I used a different bug fix than he provided.
1644	Fix parsing of split header/envelope rewriting specs -- from
1645		Eric Forsberg.
1646	Fix from Eric Wassenaar to correct To: lists in error messages.
1647
16486.57/6.28	93/05/11
1649	Fix minor glitch causing extra ctladdrs to be output to queue
1650		file.  Just an annoyance.
1651	Cache results of name server canonification lookups to avoid
1652		backed up queue runs.
1653	Major rewrite of alias.c: considerable cleanup, plus sample
1654		(untested) support for NIS aliases.  The "A" option
1655		can now be a comma separated list (or be repeated) --
1656		that is, you can have multiple alias databases.  Each
1657		database can have the syntax ``class:file''; if no class
1658		is specified, the "implicit" class is assumed.  Implicit
1659		searches through a list of compiled in types -- hash,
1660		dbm, nis, and stab.  Alias files are searched in the
1661		order they are listed.  For example:
1662			OAhash:/etc/aliases.local,/etc/aliases
1663			OAnis:mail.aliases@my.nis.domain
1664		first searches the hash database /etc/aliases.local,
1665		then the regular /etc/aliases database, then the NIS
1666		map "mail.aliases" in the NIS domain "my.nis.domain".
1667	If in Verbose mode (probably from VERB command) run SMTP job
1668		in foreground and don't do RCPT optimizations.
1669	Add udb :mailsender as equivalent to owner- for regular aliases.
1670	Delete option 8; add option 7 that means the opposite.  That is,
1671		default to 8-bit mode; a special option is needed to
1672		force sendmail into 7 bit mode.
1673	Send error messages in encapsulated MIME format.
1674	New compile flag "NIS" that turns on NIS alias and NIS map
1675		support.
1676	Add "j" option to send error messages in MIME (RFC 1341)
1677		encapsulated message format per RFC 1344.  The
1678		syntax is pretty ugly if you don't have MIME-aware
1679		user agents.
1680	Clean up message handling (for display in mailq output).
1681	New setproctitle implementation for 4.4bsd.
1682	Create files (such as ~/dead.letter) using mode FileMode (the
1683		F option value) instead of 0666.
1684	Fix bug causing output of EXPN command to not be fully qualified.
1685		This may cause some problems with UUCP addresses that
1686		will require some config file assistance -- specifically,
1687		the $: part has to include the host name for this output
1688		to make sense.
1689	Fix a problem that sometimes diagnosed errors and still sent the
1690		message if the header syntax was bad.
1691	Fix a bug that caused an error message to be emailed when sendmail
1692		was operating in -bv mode.
1693	Add "ListenQueueSize" keyword to daemon options option (OO) to
1694		set the queue size parameter passed to listen().  You
1695		will normally have to tweak your kernel to up this.
1696	Strip spaces off of beginning of message-id before logging (in
1697		case it was folded across lines).
1698	Tweak compile flags in daemon.c -- there were some cases where
1699		it wouldn't work without NETINET.
1700	Change *file* mailer to output all the usual default headers
1701		(From, Date, Message-Id).  It gets used when sending
1702		back error messages.
1703	CONFIG: explicitly catch and diagnose list:; syntax in ruleset
1704		zero -- this is not a valid recipient syntax according
1705		to RFC 821.
1706	CONFIG: add confMIME_FORMAT_ERRORS to send error messages in
1707		MIME format.  Defaults to on.
1708	CONFIG: add SMTP_MAILER_FLAGS and UUCP_MAILER_FLAGS to augment
1709		the flags for those mailers.
1710
17116.56/6.27	93/05/01
1712	Fix problem that causes the fallback mail to postmaster
1713		(case ESM_POSTMASTER in savemail()) to not look at
1714		aliases (ugh).
1715	Some more HPUX tweaking (compile flag hpux => __hpux so it
1716		still works in ANSI mode).
1717	Don't try to flock non-regular files when mailing to a file.
1718		In particular, this was a problem if you tried to
1719		send to /dev/null.
1720	Fix a wierd bug that can cause senders to be queued as
1721		recipients if the name server is down when the mail
1722		is initially sent.  This hack just ignores sender
1723		deletion (essentially, it sets the MeToo flag) if there
1724		is a TEMPFAIL during processing of the sender address.
1725		Obscure.
1726	Fix a dangling else problem -- from Brian Bullen from University
1727		of Stirling, UK.
1728	Add the "b" mailer flag to force a blank line on the end of
1729		messages.  Some brilliant versions of /bin/mail insist
1730		on this but do not add it themselves.
1731	Add the "g" mailer flag to prevent user SMTP from sending
1732		"MAIL From:<>".  This is only intended to be a
1733		transitional gesture, and should not be used if at
1734		all possible.  It appears that Berkeley and IDA
1735		config files have always handled this properly; the
1736		UK config kit apparently does not.
1737	Don't lowercase and then capitalize header field names -- leave
1738		them with original capitalization.  Fixes from Bill
1739		King of Allen-Bradley Company.
1740	Further cleanup and improved reporting of error messages,
1741		particularly conditions that cause messages to be
1742		requeued for future delivery.
1743	Tweak syslog priorities in some cases.
1744	CONFIG: clean up route-addr on UUCP addresses.
1745
17466.55/6.25	93/04/27
1747	HPUX 8.07 compatibility changes in getla() -- I had to make
1748		these changes to get it to work at Berkeley, although
1749		others seem to have been working before (???).
1750	Various patches to XLA code.
1751	Fix problem that causes setuid bit on files to be ignored from
1752		SMTP or in queue runs.  Problem noted by Jason Ornstein
1753		of Under The Wire, Inc.
1754	Fix problem that can cause CNAMEs to be ignored.
1755	Generalize getmxrr to match local host in $=w instead of a
1756		single name passed in.
1757	Some cleanup from Eric Wassenaar:
1758		Use FileMailer instead of ProgMailer in two places.
1759		Eliminate duplicate 8th-bit stripping in commaize.
1760		Fix a problem with mis-parsing of backslash escapes
1761			under some circumstances.
1762	NIS map fix (was always including trailing null character)
1763		from Mike Glendinning of Ingres UK.
1764	Add "a" mailer flag to try using ESMTP.  It tries the EHLO
1765		command and if that fails falls back to regular SMTP.
1766		Also parses EHLO option keywords.  If host supports
1767		SIZE extension, this is added to the MAIL FROM:
1768		command.
1769	Extend "b" option to include a second value which is the
1770		maximum message size this server is willing to accept.
1771		For example, a value of "10/1000000" says that there
1772		must be ten blocks free, and sendmail will reject
1773		any message larger than one megabyte.
1774	Some portability hooks for NeXT (this could be applicable
1775		to Mach in general).  You have to create an empty
1776		file called "unistd.h" to get it to compile.
1777	Adjust config values (MAXLINE, MAXATOM, and PSBUFSIZE) to
1778		be more generous.
1779	Add X400-Received: to the list of headers tagged with H_TRACE
1780		in conf.c.  From Bill King, Allen-Bradley Co.
1781
17826.54/6.25	93/04/19
1783	Fix problem that caused redefinition of SMTP and QUEUE compile
1784		flags.  Pointed out by Jon Forrest of the Sequoia 2000
1785		project at Berkeley.
1786	Properly handle \! hack -- it was treating host\!user as one
1787		token (host!user) instead of three (host, !, user).
1788		Fix from Eric Wassenaar of NIKHEF-H.
1789	Fix compilation problem in getauthinfo() if IDENTPROTO is off.
1790	Turn off DEFNAMES and DNSRCH when getting the hostsignature
1791		(i.e., MX records) in level 1 configuration files; this
1792		matches the old behaviour.  From Motonori Nakamura of
1793		Kyoto University.
1794	Improve error message printing -- if sent through an alias,
1795		error messages include the name of the alias in the
1796		message.  Unfortunately, in order to make this work
1797		properly in queue runs, this changes the format of the
1798		C line in the qf file.  The relatively uselessness of
1799		the previous information was pointed out to me by
1800		Allan E Johannesen of WPI.
1801	Add XLA compile flag to add hooks to Christophe Wolfhugel's
1802		extended load average code.  This is still in very early
1803		form.  For information regarding the guts of the xla
1804		code, contact Christophe.Wolfhugel@grasp.insa-lyon.fr.
1805	Additional hooks for detecting tempfails in rewriting rules
1806		(that is, in map lookups).
1807
18086.53/6.25	93/04/15
1809	Properly diagnose ruleset zero returning null (instead of a mailer
1810		triple).  From Motonori Nakamura of Kyoto University.
1811	More generalization of socket code for other protocols.
1812	Shorten timeouts on reverse name lookups -- since they are done
1813		during connection establishment, long timeouts here can
1814		cause higher level timeouts.  This mainly serves to accept
1815		mail from hosts that do not have proper reverse (PTR) DNS
1816		records set up.
1817	Reset e_statmsg before each mailer invocation to avoid bogus
1818		messages in the log.
1819	Redefine $r, $s, and $_ in error envelopes so you don't get
1820		incorrect cruft in the error message.  Problem noted by
1821		Motonori Nakamura of Kyoto University.
1822	Fix a problem that can cause failure to return errors to Postmaster
1823		in certain cases.  From Motonori Nakamura.
1824	Fix a problem that can cause some systems to give duplicate error
1825		messages when a bad syntax address such as "<a" is presented
1826		to an SMTP server.   It doesn't seem to occur on all
1827		machines.  From Motonori Nakamura.
1828	Default IDENTPROTO off for Ultrix and HPUX, which apparently have
1829		the interesting "feature" that when they receive a "Host
1830		unreachable" message they closes all open connections to
1831		that host.  However, some firewall gateways send this message
1832		if you try to connect to an unauthorized port, such as the
1833		IDENT port (113).  Thus, no email can be received from such
1834		hosts.  There is some evidence that versions of Ultrix before
1835		4.3 do not have this problem.  Thanks to Tom Ivar Helbekkmo
1836		for pointing out this behaviour to me and to Michael Corrigan
1837		of U.C. San Diego for informing me about the HPUX problem.
1838	Allow IPC mailers to return a colon-separated list of hosts in the
1839		$@ clause; these are searched in order as though they were
1840		MX records.
1841	When sending an error report, print the list of addresses tagged
1842		as bad.  Requested by Allan E Johannesen of WPI.
1843	Change map function calls to return a status code.  This gets
1844		passed back as the result of rewrite.  Parseaddr marks
1845		the address as a QUEUEUP address if the return code is
1846		EX_TEMPFAIL.  All this to queue properly if the name
1847		server is down.  This code is not well tested.  This code
1848		changes the interface to map lookup functions (a fifth
1849		parameter, int *statp, is added).  Feature requested by
1850		Dan Oscarsson.
1851	Don't delete quotes (in the dequote map) if there are spaces in
1852		the string, since this would cause them to be replaced by
1853		the SpaceSub character.
1854	Accept BODY=8BITMIME on SMTP MAIL command.  This isn't advertised
1855		because the 8BIT to 7BIT translation doesn't exist yet.
1856		This does add a "bodytype" field to both envelope and
1857		queue file and a -B command line flag to pass the type in
1858		during direct invocations.
1859	Discard return error messages only on responses to responses to
1860		responses, not on responses to responses.  That is, the
1861		algorithm is to try return to sender, then return to
1862		postmaster, then discard.  Previously it discarded
1863		immediately if the return to sender pass failed.
1864	CONFIG: back out change to hide unqualified hostnames behind %-hack.
1865		This screws up local aliases and .forward files.
1866	CONFIG: add FEATURE(nocanonify) to turn off calls to $[ ... $];
1867		some sites only handle completely canonified names.
1868		Requested by John Gardiner Myers of CMU.
1869	CONFIG: some UUCP code was still included even if FEATURE(nouucp)
1870		was specified.
1871
18726.52/6.24	93/04/10
1873	Clean up some minor glitches on error return messages pointed out
1874		by Motonori Nakamura of Kyoto University.
1875	Fix reply() to not reset SmtpReplyBuffer on fatal errors; this
1876		was supposed to reset SmtpMsg Buffer.  This makes the
1877		client side code virtually useless.  Reported by Allan
1878		E Johannesen of WPI and Phil Brandenberger of Swarthmore.
1879	Better debug messages if fuzzy is disabled, suggested by Allan
1880		E Johannesen of WPI.
1881	Offset SmtpReplyBuffer by four in usersmtp when checking for
1882		loopback.  From Eric Wassenaar.
1883	Don't set $s until after runinchild in srvrsmtp -- otherwise
1884		it gets cleared.  From Eric Wassenaar.
1885	Implement IDA-style $&x for deferred macro expansion.
1886	More POSIX compatibility.
1887	CONFIG: Hide unqualified hostnames behind %-hack using $s as the
1888		actual sender.  This is only done if $r is non-null, that
1889		is, if this is not locally submitted mail.
1890	CONFIG: Add FEATURE(bitdomain) allowing mapping of BITNET host
1891		names to internet domains.  A program contributed by
1892		John Gardiner Myers of CMU to create the maps is included
1893		in the contrib directory (in the "misc" tar file).
1894	CONFIG: Add FEATURE(uucpdomain) for a similar mapping for UUCP
1895		hosts.  There is currently no tool to create this map.
1896
18976.51/6.23	93/04/04
1898	Add D= mailer flag to specify a path of possible working directories
1899		in which to execute the mailer.  This is intended for the
1900		prog mailer; some shells can get upset if they don't have
1901		access to the current directory.
1902	Add RFC 1413 (IDENT) protocol support.  This is only very loosely
1903		tested.  This adds a $_ macro to be the authenticated
1904		info (in ``user@domain [address]'' form) and debug flag
1905		9 to trace the protocol.
1906	Check for loopbacks in usersmtp instead of srvrsmtp -- there is no
1907		reason for a local agent to not be talking to the localhost
1908		(although the inverse is not true).
1909	Add a few hooks for automated map rebuilding.  This is certainly
1910		not done yet.
1911	CONFIG: Have prog mailer specify a path of ``D=$z:/'' -- that is,
1912		user's home directory then the root.
1913	CONFIG: Log RFC 1413 identification in Received: line.
1914
19156.50/6.22	93/04/01
1916	Fixes to requeueing code to make it compute priority, nrcpts,
1917		and the like properly.
1918
19196.49/6.22	93/04/01
1920	Diagnose incorrect privacy flags.  Suggested by Bryan Costales
1921		of ICSI.
1922	Some ANSI C fixes.
1923	Arrange to quote backslashes as well as other special characters
1924		in the phrase part of a route-addr.
1925	Some fixes to FallBackMX code suggested by Motonori Nakamura of
1926		Kyoto University.
1927	More vigorous zeroing of CurHostAddr to avoid logging of bogus
1928		host addresses when you are actually just printing
1929		information from the MCI structure; problem noted by
1930		Michael Corrigan of U.C. San Diego.
1931	Don't ignore rest of queue if any job is not runnable.  This can
1932		also cause an incorrect job to be lost.  Fix from
1933		Eric Wassenaar.
1934	Always respond "quickly" to RCPT command; do alias expansion and
1935		the like later.  This also means that mail for lists that
1936		have errors will be acccepted, and an error sent back
1937		later.  This is done by instantiating the queue file
1938		and then immediately running and requeueing it.
1939
19406.48/6.22	93/03/30
1941	Fix incorrect diagnosis of infinite loop in ruleset.  Problem noted
1942		by several people.
1943	Improve information printed when infinite loops are discovered.
1944	Zero CurHostAddr to fix erroneous internet addresses in log when no
1945		addresses can be bound.  Pointed out by Motonori Nakamura
1946		of Kyoto University.
1947	"Probe" SMTP connections using RSET instead of NOOP "just in case".
1948		Suggested by John Gardiner Myers of CMU.
1949	Don't warn about -f if you are setting sender to yourself.
1950
19516.47/6.22	93/03/29
1952	Fix incompatible call to endmailer in smtpquit which causes core
1953		dumps.  Noted by Allan E Johannesen of WPI.
1954	HPUX portability changes from Michael J. Corrigan of UC San Diego.
1955	Require MAIL before RCPT command in srvrsmtp.c.  This had been
1956		intentional from the 821 draft days when the order wasn't
1957		clear, but is silly now.
1958	Fix bug in nis_magic routine that was initializing parameters
1959		incorrectly.  Fix from Takahiro Kanbe of Fuji Xerox
1960		Information Systems Co., Ltd.
1961	Change default for PrivacyFlags in conf.c to 0 -- since it always
1962		"or"s in new values, there was no way to turn off the
1963		AuthWarning stuff.
1964	Add O option to set SMTP daemon options.
1965	Add V option to set fallback MX host.  This always sorts at lower
1966		priority than anything it gets from the name server.  It
1967		should only be used for environments with very bad network
1968		connectivity.  Requested by several people.
1969	Log sending info.  It's not clear this is a good idea.
1970	CONFIG: fix typo in mailertable code.  Noted by Phil Brandenberger
1971		of Swarthmore.
1972	CONFIG: add confDAEMON_OPTIONS and confFALLBACK_MX to set options
1973		O and V, respectively.
1974
19756.46/6.21	93/03/26
1976	Fix botch in server SMTP that broke transactions that did not
1977		use HELO first (like MH).  Fix from Michael Corrigan
1978		of U.C. San Diego.
1979	Fall back to other MX records if there is an error anywhere
1980		in delivery (actually on MAIL or DATA -- RCPT is harder).
1981		Suggested by John Gardiner Myers and Motonori Nakamura.
1982	Revert to non-prototypes -- it turns out that our ANSI C
1983		compiler is more forgiving than most others about
1984		mixing prototyped extern declarations with non-prototyped
1985		function definitions.
1986	Fix a problem with multi-word class matching pointed out by
1987		Neil Rickert.  Given:
1988			CX b a.b.c
1989			R$+ $=X $+	$: $1 < $2 > $3
1990		the input "user@a.b.c" failed instead of being properly
1991		rewritten as "user@a.<b>.c".
1992	Neil also convinced me that it was correct that $~ should match
1993		only one token -- the problem is that it's always possible
1994		to add another token, so $~ matches far too eagerly.
1995
19966.45/6.21	93/03/25
1997	Implement multi-word classes (properly!).
1998
19996.44/6.21	93/03/25
2000	Add X-Authentication-Warning: headers to clue users into possible
2001		attempts to forge mail.  This is on the authwarnings
2002		privacy flag, but is the default.  Suggested by Bryan
2003		Costales of ICSI.
2004	Pass default units for convtime in so they can be more reasonable.
2005	Allow config files to always add a new Comments: header (i.e.,
2006		they will be added even if an old one already exists).
2007		Suggested by Bryan Costales of ICSI.
2008	Allow config files to delete an existing Return-Path: header.
2009		These should only be added at final delivery.  Suggested
2010		by Bryan Costales of ICSI.
2011	Some debugging additions.  Suggested by Bryan Costales of ICSI.
2012	Clean up logging of Family 0 addresses.  Noted by David Muir
2013		Sharnoff and others.
2014	Add a "dequote" map class.  This allows config files to strip
2015		quotes off of addresses.  Note that this is not a builtin
2016		map, just a class -- so you have to define the map
2017		using the K line.
2018	Fix a bug in the queueup() loop getting a locked tf where in
2019		very odd cases it can fall off the bottom and core dump.
2020		Of course, it was P{r Emanuelsson who found it....
2021	Open a new transcript when splitting an envelope.  Problem found
2022		by Allan E Johannesen of WPI.
2023	Improved error output in endmailer if the mailer core dumps.
2024	CONFIG: Fix typo in UUCP mailer definition.
2025	CONFIG: Default several of the new options on: eight bit input,
2026		privacy flags set to "authwarnings", and message warning
2027		set to 4h.
2028	CONFIG: Use dequote map.
2029
20306.43/6.20	93/03/23
2031	Fix problem with assumption of an sa_len field in a generic
2032		sockaddr -- it turns out that most vendors haven't
2033		picked up this (very important) fix.
2034	Change compilation flags for daemon code -- select one or both
2035		of NETINET or NETISO, but don't ever set DAEMON manually.
2036	CONFIG: add FEATURE(mailertable) to do IDA-style mailertables.
2037
20386.42/6.19	93/03/19
2039	Use Postmaster as default fallback return address, not root.
2040	POSIX changes for file descriptor handling.
2041	Diagnose errors writing new queue file.
2042	If you change the owner using an owner- alias, also change the
2043		error mode to EM_MAIL so that errors don't get dropped
2044		into an inappropriate directory.  Problem noted by
2045		Allan E Johannesen of WPI.
2046	If you are su'ed to root, send email as who you really are, not
2047		as root.  From Brian Kantor of U.C. San Diego.
2048	Allow warning messages to be sent after a configurable interval
2049		has passed without delivery.  The message is sent only
2050		once per envelope.  This changes the format of the qf
2051		file to have an F line, and the format of the T option
2052		to accept take the format "return/warn" (both intervals).
2053	Don't force all local names to lower case -- this was left over
2054		from the wierd handling of case mapping on aliases.  It
2055		is now driven (as expected) by the "u" mailer flag.
2056		Problem noted by P{r Emanuelsson.
2057	Fix problem that caused headers on returned email to be trashed;
2058		they were getting freed, but are still accessible via
2059		BlankEnvelope.
2060	Fix problem that caused bogus ids to be created on returned
2061		mail.
2062	Add support for ISO and other non-INET networking.  This is by
2063		no means finished yet.  This does assume a lot of other
2064		system support, like a version of gethostbyname that
2065		returns non-AF_INET addresses.
2066	CONFIG: change default on prog mailer to keep upper case in
2067		user names (i.e., in the program command line).
2068	CONFIG: strip trailing dots off of hosts in uucp mailer before
2069		convert to bang format.
2070	CONFIG: create new "relay" mailer for $R (LOCAL_RELAY) and $H
2071		(MAIL_HUB) delivery that doesn't add local domain.  Note
2072		that this violates 821, but is probably "more correct"
2073		for what we are trying to do.  Problem pointed out by
2074		Michael Graff of Iowa State.
2075
20766.41/6.18	93/03/18
2077	Clean up unnecessary creates of queue ids (i.e., empty qf files)
2078		when not needed, such as when starting up an SMTP
2079		connection.
2080	Fix problem where split envelopes aren't instantiated in the queue.
2081		This is quite a serious bug.
2082	Owner- aliases had problems with leading spaces causing a
2083		premature delimitation.
2084
20856.40/6.18	93/03/18
2086	Have ending 250 (after DATA) include the id; suggested by
2087		Brian Kantor of UC San Diego.
2088	Add logging on envelope splitting.
2089	Change queue ids to have one more letter encoding the hour of
2090		the day so that during a single day there is a greater
2091		likelihood of uniqueness; requested by Brian Kantor.
2092
20936.39/6.18	93/03/18
2094	Fix minor compile problem if LOCKF is defined.
2095	Define size of tobuf in conf.h.  Observed by Toshinari Takahashi
2096		of Toshiba.
2097	Restore e_sender -- this is equivalent to e_from.q_paddr without
2098		decorations such as angle brackets and comments.
2099	OSF/1 on Alpha changes from Allan E Johannesen of WPI.
2100	CONFIG: fix typo in S3 for list syntax (;: => :;).  Thanks to
2101		Christopher Hoover for noting the problem.
2102
21036.38/6.17	93/03/17
2104	Pass envelope to disconnect to avoid another use of CurEnv, which
2105		can apparently end up being null at inopportune times.
2106	Log "received from" as "relay=" for consistency (suggested by
2107		John Gardiner Myers).
2108	Fix major bug in header handling:  if no From: line existed in
2109		the header (so sendmail inserts one), and the sender is
2110		an alias that has an owner, the From: line shows the
2111		owner (as well as the envelope).  Fixed by early binding
2112		the headers (which will change debugging output).
2113	HPUX portability patches from Michael J. Corrigan of UC San Diego.
2114	Some attempts to adapt better to out of open file conditions.
2115	Some changes to ctladdr handling in queue files.
2116
21176.37/6.17	93/03/16
2118	MAJOR CHANGE:  delete e_sender and e_returnpath (why are these
2119		different from e_from?) and $< macro.
2120	Log correct IP address in relay= field even if the connection
2121		times out.
2122	Log "received from [RESPONSE]" on EF_RESPONSE messages (from
2123		John Gardiner Myers).
2124	Fixes to SysExMsg logging (sometimes just got "message: %s"
2125		instead of "message: error message"), noted by Eric
2126		Wassenaar.  Also reported by Motonori Nakamura.
2127	Improvements to MX piggybacking code, from Motonori Nakamura.
2128	Fix case where CurHostName points to an auto variable that has
2129		been deallocated (from Motonori Nakamura).
2130	Fix bug causing newlines to be included in aliases if option
2131		"n" (check alias RHS) is set; bug noted by David Muir
2132		Sharnoff.
2133	Fix problem causing user names that should be mapped to lower
2134		case to not be mapped if they are sent during a queue
2135		run.  This greatly simplifies the case mapping code.
2136		Problem noted by Allan E Johannesen of WPI.
2137	Don't do recipient address rewriting in buildaddr.  This
2138		improperly did recipient rewriting on sender addresses,
2139		and just seems bogus in general -- but the change could
2140		break some .cf files.
2141	Pass TZ envariable to child processes for System V.
2142	CONFIG: allow LOCAL_RULE_1 and LOCAL_RULE_2 if you want to
2143		define those rulesets.
2144	KNOWN PROBLEM:  I have seen some problems on SunOS that causes
2145		the User Data Base to give errors on some addresses.  I
2146		have tracked the problem back at least as far as 93.02.15
2147		(version 6.22).  Running with debugging on makes it
2148		go away, so I conclude that it is referencing uninitialized
2149		stack data.  I haven't been able to track this down yet.
2150
21516.36/6.16	93/03/08
2152	Allow local mailer to specify $@host -- this lets you assign the
2153		"foo" part of jgm+foo to $h for passing in to the local
2154		mailer.
2155	Additional debug printing in getcanonname (show query type).
2156	Don't add the e_fromdomain on sender addresses -- this interacts
2157		wierdly with the owner- code.
2158	Improve delivery logging to not log obvious or meaningless stuff.
2159	Include numeric IP address in Received: lines per RFC 1123 section
2160		5.2.8.
2161	Fixed a bug in checking stat() return value if restrictmailq is
2162		set.  Also, check the entire group set instead of just the
2163		primary group.  Both from John Gardiner Myers.
2164	Don't have usrerr automatically print errno, since this is often
2165		misleading.
2166	Use transienterror() in makeconnection after connect() fails and
2167		in openmailer after execve() fails (from Eric Wassenaar).
2168		Also moved transienterror() from util.c to conf.c.
2169	Clean up from= logging on response messages.
2170	Undo patch allowing prescan to return a null vector -- it breaks
2171		too many things.
2172	Config: FEATURE(notsticky) lets you use UDB for everything coming
2173		in to the machine, even if it is specifically targetted
2174		to this machine.  Without it, UDB is bypassed if the user
2175		name is fully qualified.
2176	Config: fix another minor botch with <> (local mailer wasn't
2177		mapping them properly).
2178
21796.35/6.15	93/03/05
2180	Fix getrealhostname to return null if sinlen <= 0 -- this can
2181		occur if stdin is a pipe.
2182	Avoid infinite loop in getcanonname if name server return
2183		NO_DATA (for example).
2184	Config: avoid having C flag qualify list syntax and error syntax.
2185
21866.34/6.14	93/03/05
2187	Fix logging in deliver to not pass too many parameters to Ultrix
2188		versions of syslog.
2189	Don't write the pid file until after the daemon has actually
2190		opened and conditioned the connection.
2191	Consider addresses "different" if their q_uids differ (so that
2192		two users forwarding to the same program will be seen
2193		as different, rather than the same).
2194	Fix problem with bad parameters in main() -- they set ExitStat
2195		but don't exit.
2196	Fix null pointer references through RealHostName -- painfully
2197		discovered by Allan E Johannesen of WPI.
2198	Fix bug causing user@@localhost to core dump (yuch).
2199	Config: don't put two @host.dom.ain on users in $=E in SMTP
2200		mailer.  Also, catch user@ (no host) in ruleset 0.
2201
22026.33/6.13	93/03/03
2203	Config: add confCW_FILE as the name of the cw configuration file
2204		(defaults to /etc/sendmail.cw).  From P{r Emanuelsson.
2205	Allow prescan to return a pointer to an empty list -- this is
2206		not an error.  Also, clean up error reporting to avoid
2207		double errors (prescan reports once, then the caller
2208		reports again).
2209	Changes to avoid trusting T_ANY queries -- run them, but if you
2210		don't get the info you expected, do T_A and T_MX queries
2211		anyhow.  This also fixes an oversight where _res.options
2212		bits were being ignored.
2213	If PRIV_NOVRFY is set, use 252 response code instead of 502 per
2214		RFC 1123 section 5.2.3.  It's not 100% clear that this
2215		is correct, but it probably works better with stupid
2216		mailers that do a VRFY and only check the first digit.
2217
22186.32/6.12	93/03/02
2219	Fix uninitialized variable "protocol" in smtp code.
2220	Include <unistd.h> in sendmail.h -- move towards POSIX/ANSI.
2221	Additional hooks for RFC 1427 (ESMTP SIZE extension).  This
2222		includes requiring that enoughspace() know the system
2223		block size, which will undoubtedly break most ports.
2224	Trace flag 19 in use for srvrsmtp.c.
2225	Additional logging -- notably the sending mailer name.  This
2226		also changes the delivery logging to strict field=value
2227		syntax.
2228	Fix some problems with messages getting sent even to addresses
2229		that had been marked bad -- from Eric Wassenaar.
2230	More WIDE changes: accept host name inside [...] as non-MXed
2231		host.  This is intended ONLY for use inside firewalled
2232		environments, where the MX points at the gateway.
2233	Change .cf file conventions so that mapping for <> addresses
2234		don't have an @ in them (to avoid confusing the C mailer
2235		flag).  Pointed out by Neil Rickert.
2236	Config extensions for Sam Leffler's FlexFAX software.
2237
22386.31/6.10	93/02/28
2239	Fix some more bugs in alias owner code -- there were some wierd
2240		cases where an error in a non-aliased name would override
2241		the return info in an aliased name with an owner.
2242	Changes from WIDE Project, forwarded to me by Motonori Nakamura:
2243		Log actual delivery host (after MX et al); from
2244			yasuhiro@dcl.co.jp.
2245		Log daemon startup.
2246		Deliver Postmaster copies without a body.
2247		Better logging of SMTP senders.
2248		Send all program email as daemon even when local.
2249	As requested in various forms from many people, accept -qIstring
2250		to limit queue runs to jobs with queue-id matching string.
2251		Similarly for -qRstring for recipients, -qSstring for
2252		senders.
2253	Initial hooks for ESMTP support (see RFC 1425).
2254	Fixed a syntax error in the UUCP mailer specification that caused
2255		core dumps on startup.
2256	Check for missing A= or P= arguments in mailer definitions.
2257
22586.30/6.10	93/02/27
2259	Require FROZENCONFIG compilation flag to include frozen
2260		configuration code.  Frozen configuration is really
2261		not a very good idea any more, particularly in shared
2262		library environments.
2263	Do better checking of errno after opens of :include: and .forward
2264		files to defer delivery on network and other transient
2265		errors.  Suggestion from Craig Everhart.
2266	Fix minor botch in read timeout macro processing.
2267	Add FEATURE(nouucp) to config files for sites that know absolutely
2268		nothing about UUCP.
2269	Add built cf files to distribution tape and clarify how to build
2270		them if you don't have the Berkeley make.
2271	Some sizeof(long) portability changes for the Alpha, from Allan
2272		E Johannesen.
2273	Add "restrictmailq" privacy flag -- if set, only people in the same
2274		group as your queue directory can print the queue.  If you
2275		set this, be sure you also restrict access to log files....
2276	Fix another bug in owner-list stuff that can cause data files to
2277		be "lost".
2278	Fix a bug with queue runs that cause forwards to yourself to go
2279		into alias/forwarding loops.  I'm still iffy about this
2280		fix.
2281	Fix from Eric Wassenaar for suppression of return message code.
2282
22836.29/6.9	93/02/24
2284	Fix yet another problem in alias owner code -- put the wrong return
2285		address on the enclosed return-to-sender letter.
2286
22876.28/6.9	93/02/24
2288	Fix botch in alias owner code that caused it to not operate if the
2289		error was detected locally.
2290
22916.27/6.9	93/02/24
2292	M_LOCAL => M_LOCALMAILER to avoid conflict with Ultrix include
2293		file <sys/mount.h>.
2294	Miscellaneous bug fixes from Eric Wassenaar:
2295		sendmail -bv -t logs the from line even though in verify
2296			mode only.
2297		sendmail -v can go into queue mode if shouldqueue returns
2298			TRUE.
2299	Add route-addr pruning per RFC 1123 section 5.3.3.  This can be
2300		disabled using the "R" option.
2301	Delete (always undocumented) -R flag (save original recipients);
2302		there are ways to syslog(3) these now.
2303	Clean up SMTP reply codes -- specify them as needed in the code,
2304		instead of in conf.c -- this was needed during the NCP to
2305		TCP transition, but seems silly now.  This also changes
2306		parameters to message and nmessage.
2307	Have mailstats read the .cf file to find the sendmail.st file and
2308		get text versions of mailer names.  An initial version of
2309		this code was provided by Tuominen Keijo (although the
2310		comments indicate the good bits were written by "E.V.").
2311	Add yet more System V compatibility hacks.
2312	Fix bug in VRFY code (assumes everything must be a local user).
2313	Allow specification of any of the hard-wired pathnames in the
2314		Makefile.
2315	Delete concept of "trusted users" -- this really didn't provide
2316		any security anyway, and caused some problems.
2317	Delete last vestige of support for the word "at" as an equivalent
2318		to the character "@".
2319	Propagate owner-foo alias information into the envelope sender.
2320		Based on code from John Gardiner Myers.  This is a major
2321		semantic change -- beware!
2322	Allow $@ on LHS to indicate "match zero" -- this is used to match
2323		the null expression.
2324
23256.26/6.8	93/02/21
2326	Don't "lose" queue runs.  Very important fix from (who else?)
2327		Eric Wassenaar.
2328	Completely reset state on RSET command -- from Eric Wassenaar.
2329	Send error messages and return receipts using an envelope sender
2330		of <> regardless of the setting of $n.  Rewriting rules
2331		can undo this if they feel the necessity, as might be
2332		needed for networks that don't understand the syntax.
2333		This is permitted by RFC 821 section 3.6 and required by
2334		RFC 1123 section 5.3.3.  THIS REQUIRES VERSION 4 CONFIG
2335		FILES because the rulesets must be able to parse <>
2336		properly.
2337	Don't ever send error messages to "<>" -- they will get sent to
2338		the local postmaster or dumped in /usr/tmp/dead.letter
2339		instead.  Per RFC 1123 section 5.3.3.
2340	Explicitly check for email to yourself as a dotted quad.  You
2341		have to call $[ [ ... ] $] to get this.
2342	Up the message timeout to five days per RFC 1123 section 5.3.1.1.
2343	Make all read timeouts individually configurable, as strongly
2344		recommended by RFC 1123 section 5.3.2.
2345	Use f_bavail (blocks available to regular users) instead of f_bfree
2346		(blocks available to superuser) in free block checks.
2347	Change $d macro to be the current time, not the origination time,
2348		since this is consistent with how it is used now.
2349	Generalization of enoughspace from Eric Wassenaar covering
2350		SGI, Apollo, HPUX, Ultrix, and SunOS.
2351	Ignore process group signals -- some front ends can do this if
2352		you kill a window too quickly.  From Eric Wassenaar.
2353	Change umask to 022.
2354
23556.25/6.8	93/02/20
2356	Close all cached connections before calling mailers and after
2357		forking for delivery (caused double closes which resulted
2358		in false errors).
2359	Add FEATURE(redirect) in config files -- this allows you to alias
2360		old addresses to a pointer to the new address that will
2361		give a 551 error message, but not deliver the mail.
2362	Some code changes to make the 551 errors look pretty.
2363	Names of M4 program paths in config files have changed -- they
2364		are all XXX_MAILER_PATH now, to match XXX_MAILER_FLAGS.
2365	Fix a bug in the QSELFREF code having to do with empty .forward
2366		files, reported by Eric Wassenaar.
2367	Add option "p" (privacy flags); this allows you to tune how
2368		picky the SMTP server will be.  This also adds the
2369		confPRIVACY_FLAGS M4 macro in the config files.
2370	Add option "b" (minimum blocks free).  If there are fewer than
2371		this number of blocks free on the filesystem containing
2372		the queue directory, the SMTP MAIL command will return
2373		a 452 response and ask you to try again later.  This
2374		also adds the confMIN_FREE_BLOCKS M4 macro in the config
2375		files.
2376	Made VRFY just verify (doesn't expand aliases and .forward files);
2377		EXPN does full expansion.  RCPT in queue-only mode also
2378		doesn't chase aliases and .forward.
2379
23806.24/6.7	93/02/19
2381	Increase the number of domain search entries in domain.c to allow
2382		for the extra "" entry indicating the root domain.
2383		Reported by Motonori Nakamura of Kyoto U.
2384	Add a "SMART_HOST" in the configs for UUCP-connected sites that
2385		want to forward all mail with extra "@"s to that site.
2386		Also allows SMART_HOST, LOCAL_RELAY, and MAIL_HUB to
2387		be specified as ``mailer:hostname'' to use an alternate
2388		mailer.
2389	Clarified and updated some wording in the Operations Guide.
2390	Add the "c" mailer flag -- this suppresses all comment parts of
2391		addresses (requested by John Curran of NEARnet).
2392	Have -v print prompts in -bt mode even if stdin is not a terminal
2393		(default behaviour is to be silent if not reading from
2394		a terminal).  Suggested by Bryan Costales, ICSI.
2395	Move the metacharacters from C0 space (\001-\037) into C1 space
2396		(\201-\237).  This also fixes a bunch of potential bugs
2397		with G1 characters (\240-\276) in headers relating to
2398		negative numbers passed to isspace() et al.
2399	Add YP_LAST_MODIFIED and YP_MASTER_NAME to DBM version of alias
2400		database if YPCOMPAT is #defined.  Enhancement from
2401		Takahiro Kanbe of Fuji Xerox Information Systems Co., Ltd.
2402	Add "list" Precedence (-30); this can be used with old sendmails
2403		which will map to precedence 0 (which will return error
2404		messages).  Suggested by Stephen R. van den Berg.
2405	Many bug fixes from Eric Wassenaar of the National Institute for
2406			Nuclear and High-Energy Physics, Amsterdam:
2407		Clear timeouts properly on open failures in include().
2408		Don't dereference through NULL if no home directory found.
2409		Re-establish SIGCHLD signal on System 5 in reapchild().
2410		Avoid NULL pointer reference on -pFOO flag.
2411		Properly handle backslash escapes in comments.
2412		Correctly check reply status on SMTP NOOP command.
2413		Properly save SMTP error message if peer gives
2414			"Service Shutting Down" message.
2415		Avoid writing to the transcript if it couldn't be opened.
2416		Signal errors in SMTP children to parent properly.
2417	Handle self references in a list more globally (include a
2418		QSELFREF bit in the address flags).  This enhancement
2419		was suggested by Eric Wassenaar.
2420	Use initgroups() in hpux, even though it's System-V based.  The
2421		HASINITGROUPS compile flag can set this on other systems.
2422		This HPUX behaviour was pointed out by Eric Wassenaar.
2423
24246.23/6.6	93/02/16
2425	Clean up handling of LogLevel to make it easier to figure out
2426		what's on what level.
2427	Change log levels to have some consistency:
2428		1    serious system failures, security problems
2429		2    lost communications, protocol failures
2430		3    other serious failures
2431		4    minor errors
2432		5    message collection
2433		6    vrfy logging, creation of return-to-sender
2434		7    delivery failures
2435		8    delivery successes
2436		9    delivery tempfails (queue ups)
2437		10   database expansion
2438		>64  debugging
2439	Allow IDA-style separated processing on S= and R= in Mailer
2440		definition lines.  Note that rulesets 1 and 2 are
2441		still used for both addresses as before.  Bruce Lilly
2442		gave a convincing argument that RFC976 insists on
2443		this behaviour.
2444	Added some time zones to arpatounix -- they may not be in the
2445		standards, but they are in use.  However, I may delete
2446		arpatounix entirely -- there appears to be no reason
2447		for it to exist.
2448	Change to UUCP mailer (in cf directory) to try to do a saner job.
2449		I'm still not certain about this mailer in general.
2450
24516.22/6.5	93/02/15
2452	Fix bug that prevents saving letters in ~/dead.letter.
2453	Don't add angle brackets in VRFY command if angle brackets already
2454		exist in the address.
2455	Fix bogus error message in udbexpand.
2456	Null terminate host buffers in buildaddr (broken in 6.21) --
2457		IMPORTANT FIX!!
2458
24596.21/6.5	93/02/15
2460	Fix another incorrect error message in alias.c, found by Azuma
2461		Okamoto.
2462	Fix a couple of problems in the more-configurable config files,
2463		found by Tom Ivar Helbekkmo.
2464	Fix problem with quoted :include: entries.
2465	Don't duplicate the filename on verbose printing of .forward and
2466		:include: contents.
2467	Extend size of prescan buffer (to allow bigger addresses).  Also,
2468		detect some buffer overflows.
2469	Log user SMTP protocol errors (log level 4).
2470
24716.20/6.4	93/02/14
2472	Fix another problem in the MCI state machine caused when there
2473		were errors generated from the other end to commands
2474		other than RCPT.
2475
24766.19/6.4	93/02/14
2477	Include load average support for DEC Alpha running OSF/1.
2478	Fix multiple-response problem with errors in MAIL From: line.
2479	Fix SMTP reply codes for invalid address syntaxes (give 501;
2480		never give multiple error messages for a single message).
2481	Fix problem where a cached connection timeout rejects all
2482		later connects to that host.
2483	Fix incorrect error message if alias.c is compiled with DBM only.
2484	Additional changes to fix nested conditionals (from Bruce Lilly).
2485	Recover more gracefully from operating system failures, particularly
2486		NULL returns from openmailer (from Noritoshi Demizu,
2487		OMRON Corporation).
2488	Log forward, alias, and userdb expand operations on log level 10;
2489		concept suggested by P{r (Pell) Emanuelsson.
2490	Changes for HPUX 8.07 compatibility.
2491
24926.18/6.4	93/02/12
2493	Allow any config option to be set using an M4 define.
2494	Change UNAME compile flag to HASUNAME for IDA compatibility
2495		(besides, it's a better name).
2496	Note in README that on SunOS it must be linked -Bstatic.
2497	Fairly major change in domain.c to handle wildcard MX records
2498		more rationally.  NOTE: the "w" option (no wildcard MX
2499		records match local domain) has been eliminated.
2500	Fix some unset variable references pointed out by Bruce Lilly.
2501	Fix host name in process titles when using cached connection.
2502
25036.17/6.3	93/01/28
2504	Fix System 5 compatibility changes to be compatible with the rest
2505		of the world.
2506
25076.16/6.3	93/01/28
2508	Experimental fix for problem handling errors in the SMTP
2509		protocol in conjunction with connection caching.
2510	System 5 compatibility changes.
2511
25126.15/6.3	93/01/26
2513	Fix a bug that causes local mail delivered using -odq to be
2514		eliminated as a duplicate (because it matched the
2515		ctladdr, now passed in as a C line).  These changes
2516		are pretty tricky......
2517
25186.14/6.3	93/01/25
2519	Add debugging for some MCI errors.
2520
25216.13/6.3	93/01/22
2522	Fix -e compatibility flag to take a value.
2523	Fix a couple of minor compilation warnings on Sun cc.
2524	Improve error messages in a few cases to be more self-explanatory.
2525
25266.12/6.3	93/01/21
2527	Fix yet-another problem with environment handling, pointed out
2528		by Yoshitaka Tokugawa and Tom Ivar Helbekkmo.
2529	Some heuristics to try to limit resource exhaustion problems
2530		if a downstream host has been down for a long time.
2531	Fix problem with incorrect host name being logged in "Connection
2532		timed out" messages (from Tom Ivar Helbekkmo).
2533	Fix some ANSI C problems (from Takahiro Kanbe).
2534	Properly log message sender on returned mail during queue run.
2535	Count number of recipients properly.
2536	Fix a problem in yp map code.
2537	Diagnose "message timed out" (from Motonori Nakamura).
2538
25396.11/6.3	93/01/20
2540	Fix problem with address delimitor inside quotes.
2541	Define $k and $=k to be the UUCP name (from the uname call)
2542		based on code from Bruce Lilly.
2543
25446.10/6.2	93/01/18
2545	Implement arpatounix (largely code from Bruce Lilly).
2546	Log more info (suggested by John Myers).
2547	Allow nested $?...$|...$. (inspired by code from Bruce Lilly of
2548		Sony US).
2549	POSIX compatibility (noted by Keith Bostic).
2550	Handle SMTP MAIL command errors properly (urged by several people,
2551		notably John Myers of CMU).
2552	Do early diagnosis of .cf errors (notably referencing a RHS
2553		substitution that isn't on the LHS).
2554	Adjust checkpointing to better handle batched recipients, suggested
2555		by John Myers.
2556	Fix miscellaneous bugs.
2557	(config files:)  Implement MAIL_HUB for all local mail (to handle
2558		NFS-mounted directories) as urged by Tom Ivar Helbekkmo
2559		of the Norwegian School of Economics.
2560
25616.9/6.1 	93/01/13
2562	Environment handling simplification/bug fix -- child processes
2563		get a minimal, fixed environment.  This avoids different
2564		behaviour in queue runs.
2565	Handle commas inside comments properly.
2566	Properly limit large messages submitted in -obq mode.
2567
25686.8/6.1		93/01/10
2569	Check mtime of thaw file against .cf and sendmail binary, based on
2570		code from John Myers.
2571
25726.7/6.1		93/01/10
2573	MX piggybacking, based on code from John Myers@CMU.
2574	Allow checkcompat to return -1 to mean tempfail.
2575	Bug fix in m_mno computation.
2576
25776.6/6.1		93/01/09
2578	Tuning of queueing functions as recommended by John Gardiner Myers.
2579	Return mail headers (no body) on messages with negative precedence.
2580	Minor other bug fixes.
2581
25826.5/6.1		93/01/03
2583	Fix botch causing queued headers to have ?XX? prefixes.
2584
25856.4/6.1		93/01/02
2586	Changes to recognize special mailer types (e.g., file) early.
2587
25886.3/6.1		93/01/01
2589	Pass timeouts to sfgets.
2590	Check for control characters in addresses.
2591	Fixed deferred error reporting.
2592	Report duplicate aliases.
2593	Handle mixed case recursive aliases.
2594	Misc bug fixes.
2595
25966.2/6.1		92/12/30
2597	Put return-receipt-to on a conf.c flag (but don't set it).
2598	Fix minor syslog problem.
2599