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