166352Seric			SENDMAIL RELEASE NOTES
2*69664Seric	     @(#)RELEASE_NOTES	8.7.Beta (Berkeley) 05/24/95
366352Seric
466352SericThis listing shows the version of the sendmail binary, the version
566352Sericof the sendmail configuration files, the date of release, and a
666352Sericsummary of the changes in that release.
766352Seric
869632Seric8.7/8.7		95/xx/xx	CURRENTLY IN BETA PRERELEASE!!!
969632Seric	Fix a problem that could cause sendmail to run out of file
1069632Seric		descriptors due to a trashed data structure after a
1169632Seric		vfork.  Fix from Brian Coan of the Institute for
1269632Seric		Global Communications.
1369632Seric	Change the VRFY response if you have disabled VRFY -- some
1469632Seric		people seemed to think that it was too rude.
1569632Seric	Avoid reference to uninitialized file descriptor if HASFLOCK
1669632Seric		was not defined.  This was used "safely" in the sense
1769632Seric		that it only did a stat, but it would have set the
1869632Seric		map modification time improperly.  Problem pointed out
1969632Seric		by Roy Mongiovi of Georgia Tech.
2069632Seric	Clean up the Subject: line on warning messages and return
2169632Seric		receipts so that they don't say "Returned mail:"; this
2269632Seric		can be confusing.
2369632Seric	Move ruleset entry/exit debugging from 21.2 to 21.1 -- this is
2469632Seric		useful enough to make it worthwhile printing on "-d".
2569632Seric	Avoid logging alias statistics every time you read the alias
2669632Seric		file on systems with no database method compiled in.
2769632Seric	If you have a name with a trailing dot, and you try looking it
2869632Seric		up using gethostbyname without the dot (for /etc/hosts
2969632Seric		compatibility), be sure to turn off RES_DEFNAMES and
3069632Seric		RES_DNSRCH to avoid finding the wrong name accidently.
3169632Seric		Problem noted by Charles Amos of the University of
3269632Seric		Maryland.
3369632Seric	Don't do timeouts in collect if you are not running SMTP.
3469632Seric		There is nothing that says you can't have a long
3569632Seric		running program piped into sendmail (possibly via
3669632Seric		/bin/mail, which just execs sendmail).  Problem reported
3769632Seric		by Don "Truck" Lewis of Silicon Systems.
3869632Seric	Try gethostbyname() even if the DNS lookup fails iff option I
3969632Seric		is not set.  This allows you to have hosts listed in
4069632Seric		NIS or /etc/hosts that are not known to DNS.  It's normally
4169632Seric		a bad idea, but can be useful on firewall machines.  This
4269632Seric		should really be broken out on a separate flag, I suppose.
4369632Seric	Avoid compile warnings against BIND 4.9.3, which uses function
4469632Seric		prototypes.  From Don Lewis of Silicon Systems.
4569632Seric	Avoid possible incorrect diagnosis of DNS-related errors caused
4669632Seric		by things like attempts to resolve uucp names using
4769632Seric		$[ ... $] -- the fix is to clear h_errno at appropriate
4869632Seric		times.  From Kyle Jones of UUNET.
4969632Seric	SECURITY: avoid denial-of-service attacks possible by destroying
5069632Seric		the alias database file by setting resource limits low.
5169632Seric		This involves adding two new compile-time options:
5269632Seric		HASSETRLIMIT (indicating that setrlimit(2) support is
5369632Seric		available) and HASULIMIT (indicating that ulimit(2) support
5469632Seric		is available -- the Release 3 form is used).  The former
5569632Seric		is assumed on BSD-based systems, the latter on System
5669632Seric		V-based systems.  Attack noted by Phil Brandenberger of
5769632Seric		Swarthmore University.
5869632Seric	New syntaxes in test (-bt) mode:
5969632Seric		``.Dmvalue'' will define macro "m" to "value".
6069632Seric		``.Ccvalue'' will add "value" to class "c".
6169632Seric		``.Sruleset'' will dump the contents of the indicated
6269632Seric			ruleset.
6369632Seric		``-ddebug-spec'' is equivalent to the command-line
6469632Seric			-d debug flag.
6569632Seric		``$m'' will print the value of macro "m".
6669632Seric		``/mx host'' returns the MX records for ``host''.
6769632Seric		``/try address'' will parse address, returning the value of
6869632Seric			crackaddr (essentially, the comment information)
6969632Seric			and the parsed address (the same as -bv).
7069632Seric	Somewhat better handling of UNIX-domain socket addresses -- it
7169632Seric		should show the pathname rather than hex bytes.
7269632Seric	Restore ``-ba'' mode -- this reads a file from stdin and parses
7369632Seric		the header for envelope sender information and uses
7469632Seric		CR-LF as message terminators.  It was thought to be
7569632Seric		obsolete (used only for Arpanet NCP protocols), but it
7669632Seric		turns out that the UK ``Grey Book'' protocols require
7769632Seric		that functionality.
7869632Seric	Fix a fix in previous release -- if gethostname and gethostbyname
7969632Seric		return a name without dots, and if a DNS lookup of that
8069632Seric		name fails, wait one minute and try again even if DNS
8169632Seric		not specified in the config file -- the problem is that
8269632Seric		this code is executed before the config file is read.
8369632Seric		This can result in an extra 60 second delay on startup
8469632Seric		if (1) you have DNS compiled in, (2) you are not running
8569632Seric		DNS, (3) your system hostname (as returned by hostname(1))
8669632Seric		has no dot, AND (4) the canonical name listed in /etc/hosts
8769632Seric		or your NIS map has no dot.
8869632Seric	Check for proper domain name on HELO and EHLO commands per
8969632Seric		RFC 1123 section 5.2.5.  Problem noted by Thomas Dwyer III
9069632Seric		of Michigan Technological University.
9169632Seric	Relax chownsafe rules slightly -- old version said that if you
9269632Seric		can't tell if _POSIX_CHOWN_RESTRICTED is set (that is,
9369632Seric		if fpathconf returned EINVAL or ENOSYS), assume that
9469632Seric		chown is not safe.  The new version falls back to whether
9569632Seric		you are on a BSD system or not.  This is important for
9669632Seric		SunOS, which apparently always returns one of those
9769632Seric		error codes.  This impacts whether you can mail to files
9869632Seric		or not.
9969632Seric	Syntax errors such as unbalanced parentheses in the configuration
10069632Seric		file could be omitted if you had "Oem" prior to the
10169632Seric		syntax error in the config file.  Change to always print
10269632Seric		the error message.  It was especially wierd because it
10369632Seric		would cause a "warning" message to be sent to the Postmaster
10469632Seric		for every message sent (but with no transcript).  Problem
10569632Seric		noted by Gregory Paris of Motorola.
10669632Seric	Rewrite collect and putbody to handle full 8-bit data, including
10769632Seric		zero bytes.  These changes are internally extensive, but
10869632Seric		should have minimal impact on external function.
10969632Seric	Allow full words for option names -- if the option letter is
11069632Seric		(apparently) a space, then take the word following -- e.g.,
11169632Seric			O MatchGECOS=TRUE
11269632Seric		The full list of old and new names is as follows:
11369632Seric			7	SevenBitInput
11469632Seric			8	EightBitMode
11569632Seric			A	AliasFile
11669632Seric			a	AliasWait
11769632Seric			B	BlankSub
11869632Seric			b	MinFreeBlocks/MaxMessageSize
11969632Seric			C	CheckpointInterval
12069632Seric			c	HoldExpensive
12169632Seric			D	AutoRebuildAliases
12269632Seric			d	DeliveryMode
12369632Seric			E	ErrorHeader
12469632Seric			e	ErrorMode
12569632Seric			f	SaveFromLine
12669632Seric			F	TempFileMode
12769632Seric			G	MatchGECOS
12869632Seric			H	HelpFile
12969632Seric			h	MaxHopCount
13069632Seric			i	IgnoreDots
13169632Seric			I	ResolverOptions
13269632Seric			J	ForwardPath
13369632Seric			j	SendMimeErrors
13469632Seric			k	ConnectionCacheSize
13569632Seric			K	ConnectionCacheTimeout
13669632Seric			L	LogLevel
13769632Seric			l	UseErrorsTo
13869632Seric			m	MeToo
13969632Seric			n	CheckAliases
14069632Seric			O	DaemonPortOptions
14169632Seric			o	OldStyleHeaders
14269632Seric			P	PostmasterCopy
14369632Seric			p	PrivacyOptions
14469632Seric			Q	QueueDirectory
14569632Seric			q	QueueFactor
14669632Seric			R	DontPruneRoutes
14769632Seric			r, T	Timeout
14869632Seric			S	StatusFile
14969632Seric			s	SuperSafe
15069632Seric			t	TimeZoneSpec
15169632Seric			u	DefaultUser
15269632Seric			U	UserDatabaseSpec
15369632Seric			V	FallbackMXhost
15469632Seric			v	Verbose
15569632Seric			w	TryNullMXList
15669632Seric			x	QueueLA
15769632Seric			X	RefuseLA
15869632Seric			Y	ForkEachJob
15969632Seric			y	RecipientFactor
16069632Seric			z	ClassFactor
16169632Seric			Z	RetryFactor
16269632Seric		To avoid possible problems with an older sendmail,
16369632Seric		configuration level 6 is accepted by this version of
16469632Seric		sendmail; any config file using the new names should
16569632Seric		specify "V6" in the configuration.
16669632Seric	Change address parsing to properly note that a phrase before a
16769632Seric		colon and a trailing semicolon are essentially the same
16869632Seric		as text outside of angle brackets (i.e., sendmail should
16969632Seric		treat them as comments).  This is to handle the
17069632Seric		``group name: addr1, addr2, ..., addrN;'' syntax (it will
17169632Seric		assume that ``group name:'' is a comment on the first
17269632Seric		address and the ``;'' is a comment on the last address).
17369632Seric		This requires config file support to get right.  It does
17469632Seric		understand that :: is NOT this syntax, and can be turned
17569632Seric		off completely by setting the ColonOkInAddresses option.
17669632Seric	Level 6 config files added with new mailer flags:
17769632Seric		    A	Addresses are aliasable.
17869632Seric		    i	Do udb rewriting on envelope as well as header
17969632Seric			sender lines.  Applies to the from address mailer
18069632Seric			flags rather than the recipient mailer flags.
18169632Seric		    j	Do udb rewriting on header recipient addresses.
18269632Seric			Applies to the sender mailer flags rather than the
18369632Seric			recipient mailer flags.
18469632Seric		    k	Disable check for loops when doing HELO command.
18569632Seric		    o	Always run as the mail recipient, even on local
18669632Seric			delivery.
18769632Seric		    w	Check for an /etc/passwd entry for this user.
18869632Seric		    5	Pass addresses through ruleset 5.
18969632Seric		    :	Check for :include: on this address.
19069632Seric		    |	Check for |program on this address.
19169632Seric		    /	Check for /file on this address.
19269632Seric		    @	Look up sender header addresses in the user
19369632Seric			database.  Applies to the mailer flags for the
19469632Seric			mailer corresponding to the envelope sender
19569632Seric			address, rather than to recipient mailer flags.
19669632Seric		Pre-level 6 configuration files set A, w, 5, :, |, /, and @
19769632Seric		on the "local" mailer, the o flag on the "prog" and "*file*"
19869632Seric		mailers, and the ColonOkInAddresses option.
19969632Seric	Eight-to-seven bit MIME conversions.  This borrows ideas from
20069632Seric		John Beck of Hewlett-Packard, who generously contributed
20169632Seric		their implementation to me, which I then didn't use (see
20269632Seric		mime.c for an explanation of why).  This adds the
20369632Seric		EightBitMode option (a.k.a. `8') and an F=8 mailer flag
20469632Seric		to control handling of 8-bit data.  These have to cope with
20569632Seric		two types of 8-bit data: unlabelled 8-bit data (that is,
20669632Seric		8-bit data that is entered without declaring it as 8-bit
20769632Seric		MIME -- technically this is illegal according to the
20869632Seric		specs) and labelled 8-bit data (that is, it was declared
20969632Seric		as 8BITMIME in the ESMTP session or by using the
21069632Seric		-B8BITMIME command line flag).  If the F=8 mailer flag is
21169632Seric		set then 8-bit data is sent to non-8BITMIME machines
21269632Seric		instead of converting to 7 bit (essentially using
21369632Seric		just-send-8 semantics).  The values for EightBitMode are:
21469632Seric		    m	convert unlabelled 8-bit input to 8BITMIME, and do
21569632Seric			any necessary conversion of 8BITMIME to 7BIT
21669632Seric			(essentially, the full MIME option).
21769632Seric		    p	pass unlabelled 8-bit input, but convert labelled
21869632Seric			8BITMIME input to 7BIT as required (default).
21969632Seric		    s	strict adherence: reject unlabelled 8-bit input,
22069632Seric			convert 8BITMIME to 7BIT as required.  The F=8
22169632Seric			flag is ignored.
22269632Seric		Unlabelled 8-bit data is rejected in mode `s' regardless of
22369632Seric			the setting of F=8.
22469632Seric	Add new internal class 'n', which is the set of MIME Content-Types
22569632Seric		which can not be 8 to 7 bit encoded because of other
22669632Seric		considerations.  Types "multipart/*" and "message/*" are
22769632Seric		never directly encoded (although their components can be).
22869632Seric	Add new internal class 'e'.  This is the set of MIME
22969632Seric		Content-Transfer-Encodings that can be converted to
23069632Seric		a seven bit format (Quoted-Printable or Base64).  It is
23169632Seric		preinitialized to contain "7bit", "8bit", and "binary".
23269632Seric	Add C=charset mailer parameter and the the DefaultCharSet option (no
23369632Seric		short name) to set the default character set to use in the
23469632Seric		Content-Type: header when doing encoding of an 8-bit message
23569632Seric		which isn't marked as MIME into MIME format.  If the C=
23669632Seric		parameter is set on the Envelope From address, use that as
23769632Seric		the default encoding; else use the DefaultCharSet option.
23869632Seric		If neither is set, it defaults to "unknown-8bit" as
23969632Seric		suggested by RFC 1428 section 3.
24069632Seric	Allow ``U=user:group'' field in mailer definition to set a default
24169632Seric		user and group that a mailer will be executed as.  This
24269632Seric		overrides the 'u' and 'g' options, and if the `F=S' flag is
24369632Seric		also set, it is the uid/gid that will always be used (that
24469632Seric		is, the controlling address is ignored).  The values may be
24569632Seric		numeric or symbolic; if only a symbolic user is given (no
24669632Seric		group) that user's default group in the passwd file is used
24769632Seric		as the group.  Based on code donated by Chip Rosenthal of
24869632Seric		Unicom.
24969632Seric	Allow `u' option to also accept user:group as a value, in the same
25069632Seric		fashion as the U= mailer option.
25169632Seric	Add the symbolic time zone name in the Arpanet format dates (as
25269632Seric		a comment).  This adds a new compile-time configuration
25369632Seric		flag: TZ_TYPE can be set to TZ_TM_NAME (use the value
25469632Seric		of (struct tm *)->tm_name), TZ_TM_ZONE (use the value
25569632Seric		of (struct tm *)->tm_zone), TZ_TZNAME (use extern char
25669632Seric		*tzname[(struct tm *)->tm_isdst]), TZ_TIMEZONE (use
25769632Seric		timezone()), or TZ_NONE (don't include the comment).  Code
25869632Seric		from Chip Rosenthal.
25969632Seric	The "Timeout" option (formerly "r") is extended to allow suboptions.
26069632Seric		For example,
26169632Seric		    O Timeout.helo = 2m
26269632Seric		There are also two new suboptions "queuereturn" and
26369632Seric		"queuewarn"; these subsume the old T option.  Thus, to
26469632Seric		set them both the preferred new syntax is
26569632Seric		    O Timeout.queuereturn = 5d
26669632Seric		    O Timeout.queuewarn = 4h
26769632Seric	Sort queue by host name instead of by message priority if the
26869632Seric		QueueSortOrder option (no short name) is set is set to
26969632Seric		``host''.  This makes better use of the connection cache,
27069632Seric		but may delay more ``interactive'' messages behind large
27169632Seric		backlogs under some circumstances.  This is probably a
27269632Seric		good option if you have high speed links or don't do lots
27369632Seric		of ``batch'' messages, but less good if you are using
27469632Seric		something like PPP on a 14.4 modem.  Based on code
27569632Seric		contributed by Roy Mongiovi of Georgia Tech (my main
27669632Seric		contribution was to make it configurable).
27769632Seric	Save i-number of df file in qf file to simplify rebuilding of queue
27869632Seric		after disasterous disk crash.  Suggested by Kyle Jones of
27969632Seric		UUNET; closely based on code from KJS DECWRL code written
28069632Seric		by Paul Vixie.  NOTA BENE: The qf files produced by 8.7
28169632Seric		are NOT back compatible with 8.6 -- that is, you can convert
28269632Seric		from 8.6 to 8.7, but not the other direction.
28369632Seric	Add ``F=d'' mailer flag to disable all use of angle brackets in
28469632Seric		route-addrs in envelopes; this is because in some cases
28569632Seric		they can be sent to the shell, which interprets them as
28669632Seric		I/O redirection.
28769632Seric	Don't include error file (option E) with return-receipts; this
28869632Seric		can be confusing.
28969632Seric	Don't send "Warning: cannot send" messages to owner-* or
29069632Seric		*-request addresses.  Suggested by Christophe Wolfhugel
29169632Seric		of the Institut Pasteur, Paris.
29269632Seric	Allow -O command line flag to set long form options.
29369632Seric	Add "MinQueueAge" option to set the minimum time between attempts
29469632Seric		to run the queue.  For example, if the queue interval
29569632Seric		(-q value) is five minutes, but the minimum queue age
29669632Seric		is fifteen minutes, jobs won't be tried more often than
29769632Seric		once every fifteen minutes.  This can be used to give
29869632Seric		you more responsiveness if your delivery mode is set to
29969632Seric		queue-only.
30069632Seric	Allow "fileopen" timeout (default: 60 seconds) for opening
30169632Seric		:include: and .forward files.
30269632Seric	Add "-k", "-v", and "-z" flags to map definitions; these set the
30369632Seric		key field name, the value field name, and the field
30469632Seric		delimiter.  The field delimiter can be a single character
30569632Seric		or the sequence "\t" or "\n" for tab or newline.
30669632Seric		These are for use by NIS+ and similar access methods.
30769632Seric	Add "nisplus" map class.  Takes -k and -v flags to choose the
30869632Seric		key and value field names respectively.  Code donated by
30969632Seric		Sun Microsystems.
31069632Seric	Add "hesiod" map class.  The "file name" is used as the
31169632Seric		"HesiodNameType" parameter to hes_resolve(3).  Returns the
31269632Seric		first value found for the match.  Code donated by Scott
31369632Seric		Hutton of Indiana University.
31469632Seric	Add "netinfo" (NeXT NetInfo) map class.  Maps can have a -k flag to
31569632Seric		specify the name of the property that is searched as the
31669632Seric		key and a -v flag to specify the name of the property that
31769632Seric		is returned as the value (defaults to "members").  The
31869632Seric		default map is "/aliases".
31969632Seric	Add "text" map class.  This does slow, linear searches through
32069632Seric		text files.  The -z flag specifies a column delimiter
32169632Seric		(defaults to any sequence of white space), the -k flag
32269632Seric		sets the key column number, and the -v flag sets the
32369632Seric		value column number.  Lines beginning with `#' are treated
32469632Seric		as comments.
32569632Seric	Add "program" map class to execute arbitrary programs.  The search
32669632Seric		key is presented as the last argument; the output is one
32769632Seric		line read from the programs standard output.  Exit statuses
32869632Seric		are from sysexits.h.
32969632Seric	Add "sequence" map class -- searches maps in sequence until it
33069632Seric		finds a match.  For example, the declarations:
33169632Seric		    Kmap1 ...
33269632Seric		    Kmap2 ...
33369632Seric		    Kmapseq sequence map1 map2
33469632Seric		defines a map "mapseq" that first searches map1; if the
33569632Seric		value is found it is returned immediately, otherwise
33669632Seric		map2 is searched and the value returned.
33769632Seric	Add "switch" map class.  This is much like "sequence" except that
33869632Seric		the ordering is fetched from an external file, usually
33969632Seric		the system service switch.  The parameter is the name of
34069632Seric		the service to switch on, and the maps that it will use
34169632Seric		are this name followed by ".service_type".  For example,
34269632Seric		if the declaration of the map is
34369632Seric		    Ksample switch hosts
34469632Seric		and the system service switch specifies that hosts are
34569632Seric		looked up using dns and nis in that order, then this is
34669632Seric		equivalent to
34769632Seric		    Ksample sequence hosts.dns hosts.nis
34869632Seric		The subordinate maps must already be defined.
34969632Seric	Add "user" map class -- looks up users using getpwnam.  Takes a
35069632Seric		"-v field" flag on the definition that tells what passwd
35169632Seric		entry to return -- legal values are name, passwd, uid, gid,
35269632Seric		gecos, dir, and shell.  Generally expected to be used with
35369632Seric		the -m (matchonly) flag.
35469632Seric	Add "bestmx" map class -- returns the best MX value for the host
35569632Seric		listed as the value.  If there are several "best" MX records
35669632Seric		for this host, one will be chosen at random.
35769632Seric	Add "userdb" map class -- looks up entries in the user database.
35869632Seric		The "file name" is actually the tag that will be used,
35969632Seric		typically "mailname".  If there are multiple entries
36069632Seric		matching the name, the one chosen is undefined.
36169632Seric	Add multiple queue timeouts (both return and warning).  These are
36269632Seric		set by the Precedence: or Priority: header fields to one of
36369632Seric		three values.  If a Priority: is set and has value "normal",
36469632Seric		"urgent", or "non-urgent" the corresponding timeouts are
36569632Seric		used.  If no priority is set, the Precedence: is consulted;
36669632Seric		if negative, non-urgent timeouts are used; if greater than
36769632Seric		zero, urgent timeouts are used.  Otherwise, normal timeouts
36869632Seric		are used.  The timeouts are set by setting the six timeouts
36969632Seric		queue{warn,return}.{urgent,normal,non-urgent}.
37069632Seric	Fix problem when a mail address is resolved to a $#error mailer
37169632Seric		with a temporary failure indication; it works in SMTP,
37269632Seric		but when delivering locally the mail is silently discarded.
37369632Seric		This patch, from Kyle Jones of UUNET, bounces it instead
37469632Seric		of queueing it (queueing is very hard).
37569632Seric	When using /etc/hosts or NIS-style lookups, don't assume that
37669632Seric		the first name in the list is the best one -- instead,
37769632Seric		search for the first one with a dot.  For example, if
37869632Seric		an /etc/hosts entry reads
37969632Seric		    128.32.149.68	mammoth mammoth.CS.Berkeley.EDU
38069632Seric		this change will use the second name as the canonical
38169632Seric		machine name instead of the initial, unqualified name.
38269632Seric		This heuristic is only used for finding your own name on
38369632Seric		startup, when the system may not be fully configured yet.
38469632Seric	Change dequote map to replace spaces in quoted text with a value
38569632Seric		indicated by the -s flag on the dequote map definition.
38669632Seric		For example, ``Mdequote dequote -s_'' will change
38769632Seric		"Foo Bar" into an unquoted Foo_Bar instead of leaving it
38869632Seric		quoted (because of the space character).  Suggested by Dan
38969632Seric		Oscarsson for use in X.400 addresses.
39069632Seric	Implement long macro names as ${name}; long class names can
39169632Seric		be similarly referenced as $={name} and $~{name}.
39269632Seric		Definitions are (e.g.) ``D{name}value''.  Names that have
39369632Seric		a leading lower case letter or punctuation characters are
39469632Seric		reserved for internal use by sendmail; i.e., config files
39569632Seric		should use names that begin with a capital letter.  Based
39669632Seric		on code contributed by Dan Oscarsson.
39769632Seric	Fix core dump if getgrgid returns a null group list (as opposed
39869632Seric		to an empty group list, that is, a pointer to a list
39969632Seric		with no members).  Fix from Andrew Chang of Sun Microsystems.
40069632Seric	Fix possible core dump if malloc fails -- if the malloc in xalloc
40169632Seric		failed, it called syserr which called newstr which called
40269632Seric		xalloc....  The newstr is now avoided for "panic" messages.
40369632Seric		Reported by Stuart Kemp of James Cook University.
40469632Seric	Improve connection cache timeouts; previously, they were not even
40569632Seric		checked if you were delivering to anything other than an
40669632Seric		IPC-connected host, so a series of (say) local mail
40769632Seric		deliveries could cause cached connections to be open
40869632Seric		much longer than the specified timeout.
40969632Seric	If an incoming message exceeds the maximum message size, stop
41069632Seric		writing the incoming bytes to the queue data file, since
41169632Seric		this can fill your mqueue partition -- this is a possible
41269632Seric		denial-of-service attack.
41369632Seric	Don't reject all numeric local user names unless HESIOD is
41469632Seric		defined.  It turns out that Posix allows all-numeric
41569632Seric		user names.  Fix from Tony Sanders of BSDI.
41669632Seric	Add service switch support.  If the local OS has a service
41769632Seric		switch (e.g., /etc/nsswitch.conf on Solaris) that will
41869632Seric		be used; otherwise, it falls back to using a local
41969632Seric		mechanism based on the ServiceSwitchFile option
42069632Seric		(default: /etc/service.switch).  For example, if the
42169632Seric		service switch lists "files" and "nis" for the aliases
42269632Seric		service, that will be the default lookup order.  Note
42369632Seric		that you can still stack aliases files however, although
42469632Seric		you have to list them explicitly as "implicit:filename".
42569632Seric	Option I (NameServerOptions) no longer sets the "UseNameServer"
42669632Seric		variable which tells whether or not DNS should be considered
42769632Seric		canonical.  This is now determined based on whether or not
42869632Seric		"dns" is in the service list for "hosts".
42969632Seric	Add preliminary support for the ESMTP "DSN" extension (Delivery
43069632Seric		Status Notifications).  This is not yet a standard
43169632Seric		and the implementation is for experimentation only.
43269632Seric		For this reason it only announces itself as "X-DSN-0"
43369632Seric		instead of "DSN".  DSN notifications override
43469632Seric		Return-Receipt-To:.
43569632Seric	Add T=mtstype keyletter to mailer definitions to define the value
43669632Seric		for the Final-MTS-Type: and Remote-MTS-Type: fields in the
43769632Seric		DSN-standard return message.
43869632Seric	Extend heuristic to force running in ESMTP mode to look for the
43969632Seric		six-character string "ESMTP " anywhere in the 220 greeting
44069632Seric		message (not just the second line).  This is to provide
44169632Seric		better compatibility with other ESMTP servers.
44269632Seric	Print sequence number of job when running the queue so you can
44369632Seric		easily see how much progress you have made.  Suggested
44469632Seric		by Peter Wemm of DIALix.
44569632Seric	Map newlines to spaces in logged message-ids; some versions of
44669632Seric		syslog truncate the rest of the line after newlines.
44769632Seric		Suggested by Fletcher Mattox of U. Texas.
44869632Seric	Move up forking for job runs so that if a message is split into
44969632Seric		multiple envelopes you don't get "fork storms" -- this
45069632Seric		also improves the connection cache utilization.
45169632Seric	Accept "<<>>", "<<<>>>", and so forth as equivalent to "<>" for
45269632Seric		the purposes of refusing to send error returns.  Suggested
45369632Seric		by Motonori Nakamura of Ritsumeikan University.
45469632Seric	Relax rules on when a file can be written when referenced from
45569632Seric		the aliases file: use the default uid/gid instead of the
45669632Seric		real uid/gid.  This allows you to create a file owned by
45769632Seric		and writable only by the default uid/gid that will work
45869632Seric		all the time (without having the setuid bit set).  Change
45969632Seric		suggested by Shau-Ping Lo and Andrew Cheng of Sun
46069632Seric		Microsystems.
46169632Seric	Add "DialDelay" option (no short name) to provide an "extra"
46269632Seric		delay for dial on demand systems.  If this is non-zero
46369632Seric		and a connect fails, sendmail will wait this long and
46469632Seric		then try again.  If it takes longer than the kernel
46569632Seric		timeout interval to establish the connection, this
46669632Seric		option can give the network software time to establish
46769632Seric		the link.  The default units are seconds.
46869632Seric	Move logging of sender information to be as early as possible;
46969632Seric		previously, it could be delayed a while for SMTP mail
47069632Seric		sent to aliases.  Suggested by Brad Knowles of the
47169632Seric		Defense Information Systems Agency.
47269632Seric	Call res_init() before setting RES_DEBUG; this is required by
47369632Seric		BIND 4.9.3, or so I'm told.  From Douglas Anderson of
47469632Seric		the National Computer Security Center.
47569632Seric	Add xdelay= field in logs -- this is a transaction delay, telling
47669632Seric		you how long it took to deliver to this address on the
47769632Seric		last try.  It is intended to be used for sorting mailing
47869632Seric		lists to favor "quick" addresses.  Provided for use by
47969632Seric		the mailprio scripts (see below).
48069632Seric	If a map cannot be opened, and that map is non-optional, and
48169632Seric		an address requires that map for resolution, queue the
48269632Seric		map instead of bouncing it.  This involves creating a
48369632Seric		pseudo-class of maps called "bogus-map" -- if a required
48469632Seric		map cannot be opened, the class is changed to bogus-map;
48569632Seric		all queries against bogus-map return "tempfail".  The
48669632Seric		bogus-map class is not directly accessible.  A sample
48769632Seric		implementation was donated by Jem Taylor of Glasgow
48869632Seric		University Computing Service.
48969632Seric	Don't make a bad ``MAIL FROM:'' address on one message blow away
49069632Seric		other messages to the same host later in the queue.
49169632Seric		Problem noted by Eric Prestemon of American University.
49269632Seric	Fix a possible core dump when mailing to a program that talks
49369632Seric		SMTP on its standard input.  Fix from Keith Moore of
49469632Seric		the University of Kentucky.
49569632Seric	Make it possible to resolve filenames to $#local $: @ /filename;
49669632Seric		previously, the "@" would cause it to not be recognized
49769632Seric		as a file.  Problem noted by Brian Hill of U.C. Davis.
49869632Seric	Accept a -1 signal to re-exec the daemon.  This only works if
49969632Seric		argv[0] is a full path to sendmail.
50069632Seric	Fix bug in "addr=..." field in O option on little-endian machines
50169632Seric		-- the network number wasn't being converted to network
50269632Seric		byte order.  Patch from Kurt Lidl of Pix Technologies
50369632Seric		Corporation.
50469632Seric	Pre-initialize the resolver early on; this is to avoid a bug with
50569632Seric		BIND 4.9.3 that can cause the _res.retry field to get
50669632Seric		reset to zero, causing all name server lookups to time
50769632Seric		out.  Fix from Matt Day of Artisoft.
50869632Seric	Restore T line (trusted users) in config file -- but instead of
50969632Seric		locking out the -f flag, they just tell whether or not
51069632Seric		an X-Authentication-Warning: will be added.  This really
51169632Seric		just creates new entries in class 't', so "Ft/file/name"
51269632Seric		can be used to read trusted user names from a file.
51369632Seric	Improve NEWDB alias file rebuilding so it will create them
51469632Seric		properly if they do not already exist.  This had been
51569632Seric		a MAYBENEXTRELEASE feature in 8.6.9.
51669632Seric	Check for @:@ entry in NIS maps before starting up to avoid
51769632Seric		(but not prevent, sigh) race conditions.  This ought to
51869632Seric		be handled properly in ypserv, but isn't.  Suggested by
51969632Seric		Michael Beirne of Motorola.
52069632Seric	Refuse connections if there isn't enough space on the filesystem
52169632Seric		holding the queue.  Contributed by Robert Dana of Wolf
52269632Seric		Communications.
52369632Seric	Skip checking for directory permissions in the path to a file
52469632Seric		when checking for file permissions iff setreuid()
52569632Seric		succeeded -- it is unnecessary in that case.  This avoids
52669632Seric		significant performance problems when looking for .forward
52769632Seric		files.  Based on a suggestion by Win Bent of USC.
52869632Seric	Allow symbolic ruleset names.  Syntax can be "Sname" to get an
52969632Seric		arbitrary ruleset number assigned or "Sname = integer"
53069632Seric		to assign a specific ruleset number.  Reference is
53169632Seric		$>name_or_number.  Names can be composed of alphas, digits,
53269632Seric		underscore, or hyphen (first character must be non-numeric).
53369632Seric	Allow -o flag on AliasFile lines to make the alias file optional.
53469632Seric		From Bryan Costales of ICSI.
53569632Seric	Add NoRecipientAction option to handle the case where there is
53669632Seric		no legal recipient header in the message.  It can take
53769632Seric		on values:
53869632Seric		  None			Leave the message as is.  The
53969632Seric					message will be passed on even
54069632Seric					though it is in technically
54169632Seric					illegal syntax.
54269632Seric		  Add-To		Add a To: header with any
54369632Seric					recipients that it can find from
54469632Seric					the envelope.  This risks exposing
54569632Seric					Bcc: recipients.
54669632Seric		  Add-Apparently-To	Add an Apparently-To: header.  This
54769632Seric					has almost no redeeming social value,
54869632Seric					and is provided only for back
54969632Seric					compatibility.
55069632Seric		  Add-To-Undisclosed	Add a header reading
55169632Seric					To: undisclosed-recipients:;
55269632Seric					which will have the effect of
55369632Seric					making the message legal without
55469632Seric					exposing Bcc: recipients.
55569632Seric		  Add-Bcc		To add an empty Bcc: header.
55669632Seric					There is a chance that mailers down
55769632Seric					the line will delete this header,
55869632Seric					which could cause exposure of Bcc:
55969632Seric					recipients.
56069632Seric		The default is NoRecipientAction=None.
56169632Seric	Truncate (rather than delete) Bcc: lines in the header.  This
56269632Seric		should prevent later sendmails (at least, those that don't
56369632Seric		themselves delete Bcc:) from considering this message to
56469632Seric		be non-conforming -- although it does imply that non-blind
56569632Seric		recipients can see that a Bcc: was sent, albeit not to whom.
56669632Seric	Add SafeFileEnvironment option.  If declared, files named as delivery
56769632Seric		targets must be regular files in addition to the regular
56869632Seric		checks.  Also, if the option is non-null then it is used as
56969632Seric		the name of a directory that is used as a chroot(2)
57069632Seric		environment for the delivery; the file names listed in an
57169632Seric		alias or forward should include the name of this root.
57269632Seric		For example, if you run with
57369632Seric			O SafeFileEnvironment=/arch
57469632Seric		then aliases should reference "/arch/rest/of/path".  If a
57569632Seric		value is given, sendmail also won't try to save to
57669632Seric		/usr/tmp/dead.letter (instead it just leaves the job in the
57769632Seric		queue as Qfxxxxxx).  Inspired by *Hobbit*'s sendmail patch kit.
57869632Seric	Support -A flag for alias files; this will comma concatenate like
57969632Seric		entries.  For example, given the aliases:
58069632Seric			list: member1
58169632Seric			list: member2
58269632Seric		and an alias file declared as:
58369632Seric			OAhash:-A /etc/aliases
58469632Seric		the final alias inserted will be "list: member1,member2";
58569632Seric		without -A you will get an error on the second and subsequent
58669632Seric		alias for "list".  Contributed by Bryan Costales of ICSI.
58769632Seric	Line-buffer transcript file.  Suggested by Liudvikas Bukys.
58869632Seric	Fix a problem that could cause very long addresses to core dump in
58969632Seric		some special circumstances.  Problem pointed out by Allan
59069632Seric		Johannesen.
59169632Seric	(Internal change.)  Change interface to expand() (macro expansion)
59269632Seric		to be simpler and more consistent.
59369632Seric	Delete check for funny qf file names.  This didn't really give
59469632Seric		any extra security and caused some people some problems.
59569632Seric		(If you -really- want this, define PICKY_QF_NAME_CHECK
59669632Seric		at compile time.)  Suggested by Kyle Jones of UUNET.
59769632Seric	(Internal change.)  Change EF_NORETURN to EF_NO_BODY_RETN and
59869632Seric		merge with DSN code; this is simpler and more consistent.
59969632Seric		This may affect some people who have written their own
60069632Seric		checkcompat() routine.
60169632Seric	(Internal change.)  Eliminate `D' line in qf file.  The df file
60269632Seric		is now assumed to be the same name as the qf file (with
60369632Seric		the `q' changed to a `d', of course).
60469632Seric	Avoid forking for delivery if all recipient mailers are marked as
60569632Seric		"expensive" -- this can be a major cost on some systems.
60669632Seric		Essentially, this forces sendmail into "queue only" mode
60769632Seric		if all it is going to do is queue anyway.
60869632Seric	Avoid sending a null message in some rather unusual circumstances
60969632Seric		(specifically, the RCPT command returns a temporary
61069632Seric		failure but the connection is lost before the DATA
61169632Seric		command).  Fix from Scott Hammond of Secure Computing
61269632Seric		Corporation.
61369632Seric	Change makesendmail to use a somewhat more rational naming scheme:
61469632Seric		Makefiles and obj directories are named $os.$rel.$arch,
61569632Seric		where $os is the operating system (e.g., SunOS), $rel is
61669632Seric		the release number (e.g., 5.3), and $arch is the machine
61769632Seric		architecture (e.g., sun4).  Any of these can be omitted,
61869632Seric		and anything after the first dot in a release number can
61969632Seric		be replaced with "x" (e.g., SunOS.4.x.sun4).  The previous
62069632Seric		version used $os.$arch.$rel and was rather less general.
62169632Seric	Ignore IDENT return value if the OSTYPE field returns "OTHER",
62269632Seric		as indicated by RFC 1413.  Pointed out by Kari Hurtta
62369632Seric		of the Finnish Meteorological Institute.
62469632Seric	Fix problem that could cause multiple responses to DATA command
62569632Seric		on header syntax errors (e.g., lines beginning with colons).
62669632Seric		Problem noted by Jens Thomassen of the University of Oslo.
62769632Seric	Don't let null bytes in headers cause truncation of the rest of
62869632Seric		the header.
62969632Seric	Log Authentication-Warning:s.  Suggested by Motonori Nakamura.
63069632Seric	Increase timeouts on message data puts to allow time for receivers
63169632Seric		to canonify addresses in headers on the fly.  This is still
63269632Seric		a rather ugly heuristic.  From Motonori Nakamura.
63369632Seric	Add "HasWildcardMX" suboption to ResolverOptions; if set, MX
63469632Seric		records are not used when canonifying names.  This is
63569632Seric		useful if you have a wildcard MX record, although it
63669632Seric		may cause other problems.  In general, don't use wildcard
63769632Seric		MX records.  Patch from Motonori Nakamura.
63869632Seric	Eliminate default two-line SMTP greeting message.  Instead of
63969632Seric		adding an extra "ESMTP spoken here" line, the word "ESMTP"
64069632Seric		is added between the first and second word of the first
64169632Seric		line of the greeting message (i.e., immediately after the
64269632Seric		host name).  This eliminates the need for the BROKEN_SMTP_PEERS
64369632Seric		compile flag.  Old sendmails won't see the ESMTP, but that's
64469632Seric		acceptable because SIZE was the only useful extension that
64569632Seric		old sendmails understand.
64669632Seric	Avoid gethostbyname calls on UNIX domain sockets during SIGUSR1
64769632Seric		invoked state dumps.  From Masaharu Onishi.
64869632Seric	Allow on-line comments in .forward and :include: files; they are
64969632Seric		introduced by the string "<LWSP>#@#<LWSP>", where <LWSP>
65069632Seric		is a space or a tab.  This is intended for native
65169632Seric		representation of non-ASCII sets such as Japanese, where
65269632Seric		existing encodings would be unreadable or would lose
65369632Seric		data -- for example,
65469632Seric		 <motonori@cs.ritsumei.ac.jp> NAKAMURA Motonori
65569632Seric					(romanized/less information)
65669632Seric		 <motonori@cs.ritsumei.ac.jp> =?ISO-2022-JP?B?GyRCQ2ZCPBsoQg==?=
65769632Seric					      =?ISO-2022-JP?B?GyRCQUdFNRsoQg==?=
65869632Seric					(with MIME encoding, not human readable)
65969632Seric		 <motonori@cs.ritsumei.ac.jp> #@# ^[$BCfB<^[(B ^[$BAGE5^[(B
66069632Seric					(native encoding with ISO-2022-JP)
66169632Seric		The last form is human readable in the Japanese environment.
66269632Seric		Based on a fix from (surprise!) Motonori Nakamura.
66369632Seric	Don't make SMTP error returns on MAIL FROM: line be "sticky" for all
66469632Seric		messages to that host; these are most frequently associated
66569632Seric		with addresses rather than the host, with the exception of
66669632Seric		421 (service shutting down).  The effect was to cause queues
66769632Seric		to sometimes take an excessive time to flush.  Reported by
66869632Seric		Robert Sargent of Southern Geographics Technologies.
66969632Seric	Add Nice=N mailer option to set the niceness at which a mailer will
67069632Seric		run.
67169632Seric	When looking for a default config file (that is, not specified using
67269632Seric		a -C flag), try a configuration file name extended by the
67369632Seric		binary version number -- e.g., sendmail.8.7.Alpha.9.cf,
67469632Seric		sendmail.8.7.Alpha.cf, sendmail.8.7.cf, sendmail.8.cf, and
67569632Seric		sendmail.cf in that order.  This should make it easier to
67669632Seric		test new versions in a shared environment.
67769632Seric	Log queue runs that are skipped due to high loads.  They are logged
67869632Seric		at LOG_INFO priority iff the log level is > 8.  Contributed
67969632Seric		by Bruce Nagel of Data General.
68069632Seric	Allow the error mailer to accept a DSN-style error status code
68169632Seric		instead of an sysexits status code in the host part.
68269632Seric		Anything with a dot will be interpreted as a DSN-style code.
68369632Seric	Add new mailer flag: F=3 will tell translations to Quoted-Printable
68469632Seric		to encode characters that might be munged by an EBCDIC system
68569632Seric		in addition to the set required by RFC 1521.  The additional
68669632Seric		characters are !, ", #, $, @, [, \, ], ^, `, {, |, }, and ~.
68769632Seric		(Think of "IBM 360" as the mnemonic for this flag.)
68869632Seric	Change check for mailing to files to look for a pathname of [FILE]
68969632Seric		rather than looking for the mailer named *file*.  The mapping
69069632Seric		of leading slashes still goes to the *file* mailer.  This
69169632Seric		allows you to implement the *file* mailer as a separate
69269632Seric		program, for example, to insert a Content-Length: header
69369632Seric		or do special security policy.  However, note that the usual
69469632Seric		initial checking for the file permissions is still done, and
69569632Seric		the program in question needs to be very careful about how
69669632Seric		it does the file write to avoid security problems.
69769632Seric	Be able to read ~root/.forward even if the path isn't accessible to
69869632Seric		regular users.  This is disrecommended because sendmail
69969632Seric		sometimes does not run as root (e.g., when an unsafe option
70069632Seric		is specified on the command line), but should otherwise be
70169632Seric		safe because .forward files must be owned by the user for
70269632Seric		whom mail is being forwarded, and cannot be a symbolic link.
70369632Seric		Suggested by Forrest Aldrich of Wang Laboratories.
70469632Seric	Add new "HostsFile" option that is the pathname to the /etc/hosts
70569632Seric		file.  This is used for canonifying hostnames when the
70669632Seric		service type is "files".
70769632Seric	Implement programs on F (read class from file) line.  The syntax is
70869632Seric		Fc|/path/to/program to read the output from the program
70969632Seric		into class "c".
71069632Seric	Probe the network interfaces to find alternate names for this
71169632Seric		host.  Requires the SIOCGIFCONF ioctl call.  Code
71269632Seric		contributed by SunSoft.
71369632Seric	Add "E" configuration line to set or propogate environment
71469632Seric		variables into children.  "E<envar>" will propogate
71569632Seric		the named variable from the environment when sendmail
71669632Seric		was invoked into any children it calls; "E<envar>=<value>"
71769632Seric		sets the named variable to the indicated value.  Any
71869632Seric		variables not explicitly named will not be in the child
71969632Seric		environment.  However, sendmail still forces an
72069632Seric		"AGENT=sendmail" environment variable, in part to enforce
72169632Seric		at least one environment variable, since many programs and
72269632Seric		libraries die horribly if this is not guaranteed.
723*69664Seric	Change heuristic for rebuilding both NEWDB and NDBM versions of
724*69664Seric		alias databases -- new algorithm looks for the substring
725*69664Seric		"/yp/" in the file name.  This is more portable and involves
726*69664Seric		less overhead.  Suggested by Motonori Nakamura.
72769632Seric	PORTABILITY FIXES:
72869632Seric		Solaris 2 from Rob McMahon <cudcv@csv.warwick.ac.uk>.
72969632Seric		System V Release 4 from Motonori Nakamura of Ritsumeikan
73069632Seric			University.  This expands the disk size
73169632Seric			checking to include all (?) SVR4 configurations.
73269632Seric		System V Release 4 from Kimmo Suominen -- initgroups(3)
73369632Seric			and setrlimit(2) are both available.
73469632Seric		System V Release 4 from sob@sculley.ffg.com -- some versions
73569632Seric			apparently "have EX_OK defined in other headerfiles."
73669632Seric		Linux Makefile typo.
73769632Seric		Linux getusershell(3) is broken in Slackware 2.0 --
73869632Seric			from Andrew Pam of Xanadu Australia.
73969632Seric		More Linux tweaking from John Kennedy of California State
74069632Seric			University, Chico.
74169632Seric		Cray changes from Eric Wassenaar:  ``On Cray, shorts,
74269632Seric			ints, and longs are all 64 bits, and all structs
74369632Seric			are multiples of 64 bits.  This means that the
74469632Seric			sizeof operator returns only multiples of 8.
74569632Seric			This requires adaptation of code that really
74669632Seric			deals with 32 bit or 16 bit fields, such as IP
74769632Seric			addresses or nameserver fields.''
74869632Seric		DG/UX 5.4.3 from Mark T. Robinson <mtr@ornl.gov>.  To
74969632Seric			get the old behaviour, use -DDGUX_5_4_2.
75069632Seric		DG/UX hack: add _FORCE_MAIL_LOCAL_=yes environment
75169632Seric			variable to fix bogus /bin/mail behaviour.
75269632Seric		Tandem NonStop-UX from Rick McCarty <mccarty@mpd.tandem.com>.
75369632Seric			This also cleans up some System V Release 4 compile
75469632Seric			problems.
75569632Seric		Solaris 2: sendmail.cw file should be in /etc/mail to
75669632Seric			match all the other configuration files.  Fix
75769632Seric			from Glenn Barry of Emory University.
75869632Seric		Solaris 2.3: compile problem in conf.c.  Fix from Alain
75969632Seric			Nissen of the University of Liege, Belgium.
76069632Seric		Ultrix: freespace calculation was incorrect.  Fix from
76169632Seric			Takashi Kizu of Osaka University.
76269632Seric		SVR4: running in background gets a SIGTTOU because the
76369632Seric			emulation code doesn't realize that "getpeername"
76469632Seric			doesn't require reading the file.  Fix from Peter
76569632Seric			Wemm of DIALix.
76669632Seric		Solaris 2.3: due to an apparent bug in the socket emulation
76769632Seric			library, sockets can get into a "wedged" state where
76869632Seric			they just return EPROTO; closing and re-opening the
76969632Seric			socket clears the problem.  Fix from Bob Manson
77069632Seric			of Ohio State University.
77169632Seric		Hitachi 3050R & 3050RX running HI-UX/WE2: portability
77269632Seric			fixes from Akihiro Hashimoto ("Hash") of Chiba
77369632Seric			University.
77469632Seric		AIX changes to allow setproctitle to work from Rainer Sch�pf
77569632Seric			of Zentrum f�r Datenverarbeitung der Universit�t
77669632Seric			Mainz.
77769632Seric		SCO Unix from Chip Rosenthal of Unicom (code was using the
77869632Seric			wrong statfs call).
77969632Seric		ANSI C fixes from Adam Glass (NetBSD project).
78069632Seric		Stardent Titan/ANSI C fixes from Kate Hedstrom of Rutgers
78169632Seric			University.
78269632Seric		DG-UX fixes from Bruce Nagel of Data General.
78369632Seric		IRIX64 updates from Mark Levinson of the University of
78469632Seric			Rochester Medical Center.
78569632Seric		Altos System V (``the first UNIX/XENIX merge the Altos
78669632Seric			did for their Series 1000 & Series 2000 line;
78769632Seric			their merged code was licenced back to AT&T and
78869632Seric			Microsoft and became System V release 3.2'') from
78969632Seric			Tim Rice <timr@crl.com>.
79069632Seric		OSF/1 running on Intel Paragon from Jeff A. Earickson
79169632Seric			<jeff@ssd.intel.com> of Intel Scalable Systems
79269632Seric			Divison.
79369632Seric		Amdahl UTS System V 2.1.5 (SVr3-based) from Janet Jackson
79469632Seric			<janet@dialix.oz.au>.
79569632Seric		System V Release 4 (statvfs semantic fix) from Alain
79669632Seric			Durand of I.M.A.G.
79769632Seric		HP-UX 10.x multiprocessor load average changes from
79869632Seric			Scott Hutton and Jeff Sumler of Indiana University.
79969632Seric		Cray CSOS from Scott Bolte of Cray Computer Corporation.
80069632Seric		Unicos 8.0 from Douglas K. Rand of the University of North
80169632Seric			Dakota, Scientific Computing Center.
80269632Seric		Solaris 2.4 fixes from Sanjay Dani of Dani Communications.
80369632Seric		ConvexOS 11.0 from Christophe Wolfhugel.
80469632Seric		IRIX 4.0.5 from David Ashton-Reader of CADcentre.
80569632Seric		ISC UNIX from J. J. Bailey.
80669632Seric		HP-UX 9.xx on the 8xx series machines from Remy Giraud
80769632Seric			of Meteo France.
80869632Seric		HP-UX configuration from Tom Lane <tgl@sss.pgh.pa.us>.
80969632Seric		IRIX 5.2 and 5.3 from Kari E. Hurtta.
81069632Seric		FreeBSD 2.0 from Mike Hickey of Federal Data Corporation.
81169632Seric		Sony NEWS-OS 4.2.1R and 6.0.3 from Motonori Nakamura.
81269632Seric		Omron LUNA unios-b, mach from Motonori Nakamura.
81369632Seric		NEC EWS-UX/V 4.2 from Motonori Nakamura.
81469632Seric		NeXT 2.1 from Bryan Costales.
81569632Seric		AUX patch thanks to Mike Erwin of Apple Computer.
81669632Seric		HP-UX 10.0 from John Beck of Hewlett-Packard.
81769632Seric		Ultrix: allow -DBROKEN_RES_SEARCH=0 if you are using a
81869632Seric			non-DEC resolver.  Suggested by Allan Johannesen.
81969632Seric	MAKEMAP: allow -d flag to allow insertion of duplicate aliases
82069632Seric		in type ``btree'' maps.  The semantics of this are undefined
82169632Seric		for regular maps, but it can be useful for the user database.
82269632Seric	MAKEMAP: lock database file while rebuilding to avoid sendmail
82369632Seric		lookups while the rebuild is going on.  There is a race
82469632Seric		condition between the open(... O_TRUNC ...) and the lock
82569632Seric		on the file, but it should be quite small.
82669632Seric	SMRSH: sendmail restricted shell added to the release.  This can
82769632Seric		be used as an alternative to /bin/sh for the "prog" mailer,
82869632Seric		giving the local administrator more control over what
82969632Seric		programs can be run from sendmail.
83069632Seric	CONTRIB: a patch to rmail.c from Bill Gianopoulos of Raytheon
83169632Seric		to allow rmail to compile on systems that don't have
83269632Seric		function prototypes and systems that don't have snprintf.
83369632Seric	CONTRIB: add the "mailprio" scripts that will help you sort mailing
83469632Seric		lists by transaction delay times so that addresses that
83569632Seric		respond quickly get sent first.  This is to prevent very
83669632Seric		sluggish servers from delaying other peoples' mail.
83769632Seric		Contributed by Tony Sanders of BSDI.
83869632Seric	CONTRIB: add the "bsdi.mc" file as contributed by Tony Sanders
83969632Seric		of BSDI.  This has a lot of comments to help people out.
84069632Seric	CONFIG: fix mail from <> so it will properly convert to
84169632Seric		MAILER-DAEMON on local addresses.
84269632Seric	CONFIG: fix code that was supposed to catch colons in host
84369632Seric		names.  Problem noted by John Gardiner Myers of CMU.
84469632Seric	CONFIG: allow use of SMTP_MAILER_MAX in nullclient configuration.
84569632Seric		From Paul Riddle of the University of Maryland, Baltimore
84669632Seric		County.
84769632Seric	CONFIG: Catch and reject "." as a host address.
84869632Seric	CONFIG: Generalize domaintable to look up all domains, not
84969632Seric		just unqualified ones.
85069632Seric	CONFIG: Delete OLD_SENDMAIL support -- as near as I can tell, it
85169632Seric		was never used and didn't work anyway.
85269632Seric	CONFIG: Set flags A, w, 5, :, /, |, and @ on the "local" mailer
85369632Seric		and d on all mailers in the UUCP class.
85469632Seric	CONFIG: Allow "user+detail" to be aliased specially: it will first
85569632Seric		look for an alias for "user+detail", then for "user+*", and
85669632Seric		finally for "user".  This is intended for forwarding mail
85769632Seric		for system aliases such as root and postmaster to a
85869632Seric		centralized hub.
85969632Seric	CONFIG: add confEIGHT_BIT_HANDLING to set option 8 (see above).
86069632Seric	CONFIG: add smtp8 mailer; this has the F=8 (just-send-8) flag set.
86169632Seric		The F=8 flag is also set on the "relay" mailer, since
86269632Seric		this is expected to be another sendmail.
86369632Seric	CONFIG: avoid qualifying all UUCP addresses sent via SMTP with
86469632Seric		the name of the UUCP_RELAY -- in some cases, this is the
86569632Seric		wrong value (e.g., when we have local UUCP connections),
86669632Seric		and this can create unreplyable addresses.  From Chip
86769632Seric		Rosenthal of Unicom.
86869632Seric	CONFIG: add confRECEIVED_HEADER to change the format of the
86969632Seric		Received: header inserted into all messages. Suggested by
87069632Seric		Gary Mills of the University of Manitoba.
87169632Seric	CONFIG: Make "notsticky" the default; use FEATURE(stickyhost)
87269632Seric		to get the old behaviour.  I did this upon observing
87369632Seric		that almost everyone needed this feature, and that the
87469632Seric		concept I was trying to make happen didn't work with
87569632Seric		some user agents anyway.  FEATURE(notsticky) still works,
87669632Seric		but it is a no-op.
87769632Seric	CONFIG: Add LUSER_RELAY -- the host to which unrecognized user
87869632Seric		names are sent, rather than immediately diagnosing them
87969632Seric		as User Unknown.
88069632Seric	CONFIG: Add SMTP_MAILER_ARGS, ESMTP_MAILER_ARGS, SMTP8_MAILER_ARGS,
88169632Seric		and RELAY_MAILER_ARGS to set the arguments for the
88269632Seric		indicated mailers.  All default to "IPC $h".  Patch from
88369632Seric		Larry Parmelee of Cornell University.
88469632Seric	CONFIG: pop mailer needs F=n flag to avoid "annoying side effects
88569632Seric		on the client side" and F=P to get an appropriate
88669632Seric		return-path.  From Kimmo Suominen.
88769632Seric	CONFIG: add FEATURE(local_procmail) to use the procmail program
88869632Seric		as the local mailer.  For addresses of the form "user+detail"
88969632Seric		the "detail" part is passed to procmail via the -a flag.
89069632Seric		Contributed by Kimmo Suominen.
89169632Seric	CONFIG: add MAILER(procmail) to add an interface to procmail for
89269632Seric		use from mailertables.  This lets you execute arbitrary
89369632Seric		procmail scripts.  Contributed by Kimmo Suominen.
89469632Seric	CONFIG: add T= fields (MTS type) to local, smtp, and uucp mailers.
89569632Seric	CONFIG: add OSTYPE(ptx2) for DYNIX/ptx 2.x from Sequent.  From
89669632Seric		Paul Southworth of CICNet Systems Support.
89769632Seric	CONFIG: use -a$g as default to UUCP mailers, instead of -a$f.
89869632Seric		This causes the null return path to be rewritten as
89969632Seric		MAILER-DAEMON; otherwise UUCP gets horribly confused.
90069632Seric		From Michael Hohmuth of Technische Universitat Dresden.
90169632Seric	CONFIG: Add FEATURE(bestmx_is_local) to cause any hosts that
90269632Seric		list us as the best possible MX record to be treated as
90369632Seric		though they were local (essentially, assume that they
90469632Seric		are included in $=w).  This can cause additional DNS
90569632Seric		traffic, but is easier to administer if this fits your
90669632Seric		local model.  It does not work reliably if there are
90769632Seric		multiple hosts that share the best MX preference.
90869632Seric		Code contributed by John Oleynick of Rutgers.
90969632Seric	CONFIG: Add FEATURE(smrsh) to use smrsh (the SendMail Restricted
91069632Seric		SHell) instead of /bin/sh as the program used for delivery
91169632Seric		to programs.  If an argument is included, it is used as
91269632Seric		the path to smrsh; otherwise, /usr/local/etc/smrsh is
91369632Seric		assumed.
91469632Seric	CONFIG: Add LOCAL_MAILER_MAX and PROCMAILER_MAILER_MAX to limit the
91569632Seric		size of messages to the local and procmail mailers
91669632Seric		respectively.  Contributed by Brad Knowles of the Defense
91769632Seric		Information Systems Agency.
91869632Seric	CONFIG: Handle leading ``phrase:'' and trailing ``;'' as comments
91969632Seric		(just like text outside of angle brackets) in order to
92069632Seric		properly deal with ``group: addr1, ... addrN;'' syntax.
92169632Seric	CONFIG: Require OSTYPE macro (the defaults really don't apply to
92269632Seric		any real systems any more) and tweak the DOMAIN macro
92369632Seric		so that it is less likely that users will accidently use
92469632Seric		the Berkeley defaults.  Also, create some generic files
92569632Seric		that really can be used in the real world.
92669632Seric	CONFIG: Add new configuration macros to set character sets for
92769632Seric		messages _arriving from_ various mailers: LOCAL_MAILER_CHARSET,
92869632Seric		SMTP_MAILER_CHARSET, and UUCP_MAILER_CHARSET.
92969632Seric	CONFIG: Change UUCP_MAX_SIZE to UUCP_MAILER_MAX for consistency.
93069632Seric		The old name will still be accepted for a while at least.
93169632Seric	CONFIG: Implement DECNET_RELAY as spec for host to which DECNET
93269632Seric		mail (.DECNET pseudo-domain or node::user) will be sent.
93369632Seric		As with all relays, it can be ``mailer:hostname''.  Suggested
93469632Seric		by Scott Hutton.
93569632Seric	CONFIG: Add MAILER(mail11) to get DECnet support.  Code contributed
93669632Seric		by Barb Dijker of Labyrinth Computer Services.
937*69664Seric	CONFIG: change confCHECK_ALIASES to default to False -- it has poor
938*69664Seric		performance for large alias files, and this confused many
939*69664Seric		people.
94069632Seric	NEW FILES:
94169632Seric		cf/cf/cs-hpux10.mc
94269632Seric		cf/cf/cs-solaris2.mc
94369632Seric		cf/cf/generic-hpux10.mc
94469632Seric		cf/cf/generic-hpux9.mc
94569632Seric		cf/cf/generic-osf1.mc
94669632Seric		cf/cf/generic-solaris2.mc
94769632Seric		cf/cf/generic-sunos4.1.mc
94869632Seric		cf/cf/generic-ultrix4.mc
94969632Seric		cf/cf/huginn.cs.mc
95069632Seric		cf/domain/berkeley-only.m4
95169632Seric		cf/domain/generic.m4
95269632Seric		cf/feature/bestmx_is_local.m4
95369632Seric		cf/feature/local_procmail.m4
95469632Seric		cf/feature/smrsh.m4
95569632Seric		cf/feature/stickydomain.m4
956*69664Seric		cf/mailer/mail11.m4
95769632Seric		cf/mailer/procmail.m4
95869632Seric		cf/ostype/amdahl-uts.m4
95969632Seric		cf/ostype/hpux10.m4
96069632Seric		cf/ostype/ptx2.m4
96169632Seric		cf/ostype/unknown.m4
96269632Seric		contrib/bsdi.mc
96369632Seric		contrib/mailprio
96469632Seric		contrib/rmail.oldsys.patch
96569632Seric		smrsh/README
96669632Seric		smrsh/smrsh.8
96769632Seric		smrsh/smrsh.c
96869632Seric		src/Makefiles/Makefile.CSOS
969*69664Seric		src/Makefiles/Makefile.EWS-UX_V
97069632Seric		src/Makefiles/Makefile.IRIX.5.x
97169632Seric		src/Makefiles/Makefile.IRIX64
97269632Seric		src/Makefiles/Makefile.ISC
973*69664Seric		src/Makefiles/Makefile.NEWS-OS.4.x
974*69664Seric		src/Makefiles/Makefile.NEWS-OS.6.x
97569632Seric		src/Makefiles/Makefile.NonStop-UX
97669632Seric		src/Makefiles/Makefile.Paragon
97769632Seric		src/Makefiles/Makefile.SunOS.5.3
97869632Seric		src/Makefiles/Makefile.SunOS.5.4
97969632Seric		src/Makefiles/Makefile.UNIX_SV.4.2.i386
98069632Seric		src/Makefiles/Makefile.uts.systemV
98169632Seric		src/mime.c
982*69664Seric		test/t_seteuid.c
98369632Seric	RENAMED FILES:
98469632Seric		cf/cf/alpha.mc =>		cf/cf/s2k-osf1.mc
98569632Seric		cf/cf/chez.mc =>		cf/cf/chez.cs.mc
98669632Seric		cf/cf/hpux-cs-exposed.mc =>	cf/cf/cs-hpux9.mc
98769632Seric		cf/cf/osf1-cs-exposed.mc =>	cf/cf/cs-osf1.mc
98869632Seric		cf/cf/s2k.mc =>			cf/cf/s2k-ultrix4.mc
98969632Seric		cf/cf/sunos4.1-cs-exposed.mc =>	cf/cf/cs-sunos4.1.mc
99069632Seric		cf/cf/ultrix4.1-cs-exposed.mc => cf/cf/cs-ultrix4.mc
99169632Seric		cf/cf/vangogh.mc =>		cf/cf/vangogh.cs.mc
99269632Seric		cf/domain/Berkeley.m4 =>	cf/domain/Berkeley.EDU.m4
99369632Seric		cf/domain/cs-exposed.m4 =>	cf/domain/CS.Berkeley.EDU.m4
99469632Seric		cf/domain/eecs-hidden.m4 =>	cf/domain/EECS.Berkeley.EDU.m4
99569632Seric		cf/domain/s2k.m4 =>		cf/domain/S2K.Berkeley.EDU.m4
99669632Seric		cf/ostype/hpux.m4 =>		cf/ostype/hpux9.m4
99769632Seric		cf/ostype/ultrix4.1.m4 =>	cf/ostype/ultrix4.m4
99869632Seric		src/Makefile.* =>		src/Makefiles/Makefile.*
99969632Seric	OBSOLETED FILES:
100069632Seric		cf/cf/cogsci.mc
100169632Seric		cf/cf/cs-exposed.mc
100269632Seric		cf/cf/cs-hidden.mc
100369632Seric		cf/cf/hpux-cs-hidden.mc
100469632Seric		cf/cf/knecht.mc
100569632Seric		cf/cf/osf1-cs-hidden.mc
100669632Seric		cf/cf/sunos3.5-cs-exposed.mc
100769632Seric		cf/cf/sunos3.5-cs-hidden.mc
100869632Seric		cf/cf/sunos4.1-cs-hidden.mc
100969632Seric		cf/cf/ultrix4.1-cs-hidden.mc
101069632Seric		cf/domain/cs-hidden.m4
101169632Seric		contrib/rcpt-streaming
101269632Seric		src/Makefiles/Makefile.SunOS.5.x
101369632Seric
101468613Seric8.6.12/8.6.12	95/03/28
101568613Seric	Fix to IDENT code (it was getting the size of the reply buffer
101668613Seric		too small, so nothing was ever accepted).  Fix from several
101768613Seric		people, including Allan Johannesen, Shane Castle of the
101868613Seric		Boulder County Information Services, and Jeff Smith of
101968613Seric		Warwick University (all arrived within a few hours of
102068613Seric		each other!).
102168613Seric	Fix a problem that could cause large jobs to run out of
102268613Seric		file descriptors on systems that use vfork() rather
102368613Seric		than fork().
102468613Seric
102568503Seric8.6.11/8.6.11	95/03/08
102668503Seric	The ``possible attack'' message would be logged more often
102768503Seric		than necessary if you are using Pine as a user agent.
102868503Seric	The wrong host would be reported in the ``possible attack''
102968503Seric		message when attempted from IDENT.
103068503Seric	In some cases the syslog buffer could be overflowed when
103168503Seric		reporting the ``possible attack'' message.  This can
103268503Seric		cause denial of service attacks.  Truncate the message
103368503Seric		to 80 characters to prevent this problem.
103468503Seric	When reading the IDENT response a loop is needed around the
103568503Seric		read from the network to ensure that you don't get
103668503Seric		partial lines.
103768503Seric	Password entries without any shell listed (that is, a null
103868503Seric		shell) wouldn't match as "ok".  Problem noted by
103968503Seric		Rob McMahon.
104068503Seric	When running BIND 4.9.x a problem could occur because the
104168503Seric		_res.options field is initialized differently than it
104268503Seric		was historically -- this requires that sendmail call
104368503Seric		res_init before it tweaks any bits.
104468503Seric	Fix an incompatibility in openxscript() between the file open mode
104568503Seric		and the stdio mode passed to fdopen.  This caused UnixWare
104668503Seric		2.0 to have conniptions.  Fix from Martin Sohnius of
104768503Seric		Novell Labs Europe.
104868503Seric	Fix problem with static linking of local getopt routine when
104968503Seric		using GNU's ld command.  Fix from John Kennedy of
105068503Seric		Cal State Chico.
105168503Seric	It was possible to turn off privacy flags.  Problem noted by
105268503Seric		*Hobbit*.
105368503Seric	Be more paranoid about writing files.  Suggestions by *Hobbit*
105468503Seric		and Liudvikas Bukys.
105568503Seric	MAKEMAP: fixes for 64 bit machines (DEC Alphas in particular)
105668503Seric		from Spider Boardman.
105768503Seric	CONFIG: No changes (version number only, to keep it in sync
105868503Seric		with the binaries).
105968503Seric
106068280Seric8.6.10/8.6.10	95/02/10
106168274Seric	SECURITY: Diagnose bogus values to some command line flags that
106268274Seric		could allow trash to get into headers and qf files.
106368274Seric	Validate the name of the user returned by the IDENT protocol.
106468274Seric		Some systems that really dislike IDENT send intentionally
106568274Seric		bogus information.  Problem pointed out by Michael Bushnell
106668274Seric		of the Free Software Foundation.  Has some security
106768274Seric		implications.
106868274Seric	Fix a problem causing error messages about DNS problems when
106968274Seric		the host name contained a percent sign to act oddly
107068274Seric		because it was passed as a printf-style format string.
107168274Seric		In some cases this could cause core dumps.
107268274Seric	Avoid possible buffer overrun in returntosender() if error
107368274Seric		message is quite ling.  From Fletcher Mattox of the
107468274Seric		University of Texas.
107568274Seric	Fix a problem that would silently drop "too many hops" error
107668274Seric		messages if and only if you were sending to an alias.
107768274Seric		From Jon Giltner of the University of Colorado and
107868274Seric		Dan Harton of Oak Ridge National Laboratory.
107968274Seric	Fix a bug that caused core dumps on some systems if -d11.2 was
108068274Seric		set and e->e_message was null.  Fix from Bruce Nagel of
108168274Seric		Data General.
108268274Seric	Fix problem that can still cause df files to be left around
108368274Seric		after "hop count exceeded" messages.  Fix from Andrew
108468274Seric		Chang and Shau-Ping Lo of SunSoft.
108568274Seric	Fix a problem that can cause buffer overflows on very long
108668274Seric		user names (as might occur if you piped to a program
108768274Seric		with a lot of arguments).
108868274Seric	Avoid returning an error and re-queueing if the host signature
108968274Seric		is null; this can occur on addresses like ``user@.''.
109068274Seric		Problem noted by Wesley Craig and the University of
109168274Seric		Michigan.
109268274Seric	Avoid possible calls to malloc(0) if MCI caching is turned
109368274Seric		off.  Bug fix from Pierre David of the Laboratoire
109468274Seric		Parallelisme, Reseaux, Systemes et Modelisation (PRiSM),
109568274Seric		Universite de Versailles - St Quentin, and Jacky
109668274Seric		Thibault.
109768274Seric	Make a local copy of the line being sent via senttolist() -- in
109868274Seric		some cases, buffers could get trashed by map lookups
109968274Seric		causing it to do unexpected things.  This also simplifies
110068274Seric		some of the map code.
110168503Seric	CONFIG: No changes (version number only, to keep it in sync
110268503Seric		with the binaries).
110368274Seric
110466956Seric8.6.9/8.6.9	94/04/19
110566920Seric	Do all mail delivery completely disconnected from any terminal.
110666920Seric		This provides consistency with daemon delivery and
110766920Seric		may have some security implications.
110866920Seric	Make sure that malloc doesn't get called with zero size,
110966920Seric		since that fails on some systems.  Reported by Ed
111066920Seric		Hill of the University of Iowa.
111166920Seric	Fix multi-line values for $e (SMTP greeting message).  Reported
111266920Seric		by Mike O'Connor of Ford Motor Company.
111366920Seric	Avoid syserr if no NIS domain name is defined, but the map it
111466920Seric		is trying to open is optional.  From Win Bent of USC.
111566920Seric	Changes for picky compilers from Ed Gould of Digital Equipment.
111666920Seric	Hesiod support for UDB from Todd Miller of the University of
111766920Seric		Colorado.  Use "hesiod" as the service name in the U
111866920Seric		option.
111966920Seric	Fix a problem that failed to set the "authentic" host name (that
112066920Seric		is, the one derived from the socket info) if you called
112166920Seric		sendmail -bs from inetd.  Based on code contributed by
112266920Seric		Todd Miller (this problem was also reported by Guy Helmer
112366920Seric		of Dakota State University).  This also fixes a related
112466996Seric		problem reported by Liudvikas Bukys of the University of
112566996Seric		Rochester.
112666920Seric	Parameterize "nroff -h" in all the Makefiles so people with
112766920Seric		variant versions can use them easily.  Suggested by
112866920Seric		Peter Collinson of Hillside Systems.
112966920Seric	SMTP "MAIL" commands with multiple ESMTP parameters required two
113066920Seric		spaces between parameters instead of one.  Reported by
113166920Seric		Valdis Kletnieks of Virginia Tech.
113266920Seric	Reduce the number of system calls during message collection by
113366920Seric		using global timeouts around the collect() loop.  This
113466920Seric		code was contributed by Eric Wassenaar.
113566920Seric	If the initial hostname name gathering results in a name
113666920Seric		without a dot (usually caused by NIS misconfiguration)
113766920Seric		and BIND is compiled in, directly access DNS to get
113866920Seric		the canonical name.  This should make life easier for
113966920Seric		Solaris systems.  If it still can't be resolved, and
114066920Seric		if the name server is listed as "required", try again
114166920Seric		in 30 seconds.  If that also fails, exit immediately to
114266920Seric		avoid bogus "config error: mail loops back to myself"
114366920Seric		messages.
114466920Seric	Improve the "MAIL DELETED BECAUSE OF LACK OF DISK SPACE" error
114566920Seric		message to explain how much space was available and
114666920Seric		sound a bit less threatening.  Suggested by Stan Janet
114766920Seric		of the National Institute of Standards and Technology.
114866920Seric	If mail is delivered to an alias that has an owner, deliver any
114966920Seric		requested return-receipt immediately, and strip the
115066920Seric		Return-Receipt-To: header from the subsequent message.
115166920Seric		This prevents a certain class of denial of service
115266920Seric		attack, arguably gives more reasonable semantics, and
115366920Seric		moves things more towards what will probably become a
115466920Seric		network standard.  Suggested by Christopher Davis of
115566920Seric		Kapor Enterprises.
115666920Seric	Add a "noreceipts" privacy flag to turn off all return receipts
115766920Seric		without recompiling.
115866920Seric	Avoid printing ESMTP parameters as part of the error message
115966920Seric		if there are errors during parsing.  This change is
116066920Seric		purely cosmetic.
116166920Seric	Avoid sending out error messages during the collect phase of
116266920Seric		SMTP; there is an MVS mailer from UCLA that gets
116366920Seric		confused by this.  Of course, I think it's their bug....
116466920Seric	Check for the $j macro getting undefined, losing a dot, or getting
116566920Seric		lost from $=w in the daemon before accepting a connection;
116666920Seric		if it is, it dumps state, prints a LOG_ALERT message,
116766920Seric		and drops core for debugging.  This is an attempt to
116866920Seric		track down a bug that I thought was long since gone.
116966920Seric		If you see this, please forward the log fragment to
117066920Seric		sendmail@CS.Berkeley.EDU.
117166920Seric	Change OLD_NEWDB from a #ifdef to a #if so it can be turned off
117266920Seric		with -DOLD_NEWDB=0 on the command line.  From Christophe
117366920Seric		Wolfhugel.
117466920Seric	Instead of trying to truncate the listen queue for the server
117566920Seric		SMTP port when the load average is too high, just close
117666920Seric		the port completely and reopen it later as needed.
117766920Seric		This ensures that the other end gets a quick "connection
117866920Seric		refused" response, and that the connection can be
117966920Seric		recovered later.  In particular, some socket emulations
118066920Seric		seem to get confused if you tweak the listen queue
118166920Seric		size around and can never start listening to connections
118266920Seric		again.  The down side is that someone could start up
118366920Seric		another daemon process in the interim, so you could
118466920Seric		have multiple daemons all not listening to connections;
118566920Seric		this could in turn cause the sendmail.pid file to be
118666920Seric		incorrect.  A better approach might be to accept the
118766920Seric		connection and give a 421 code, but that could break
118866920Seric		other mailers in mysterious ways and have paging behaviour
118966920Seric		implications.
119066920Seric	Fix a glitch in TCP-level debugging that caused flag 16.101 to
119166920Seric		set debugging on the wrong socket.  From Eric Wassenaar.
119266920Seric	When creating a df* temporary file, be sure you truncate any
119366920Seric		existing data in the file -- otherwise system crashes
119466920Seric		and the like could result in extra data being sent.
119566920Seric	DOC: Replace the CHANGES-R5-R8 readme file with a paper in the
119666920Seric		doc directory.  This includes some additional
119766920Seric		information.
119866920Seric	CONFIG: change UUCP rules to never add $U! or $k! on the front
119966920Seric		of recipient envelope addresses.  This should have been
120066920Seric		handled by the $&h trick, but broke if people were
120166920Seric		mixing domainized and UUCP addresses.  They should
120266920Seric		probably have converted all the way over to uucp-uudom
120366920Seric		instead of uucp-{new,old}, but the failure mode was to
120466920Seric		loop the mail, which was bad news.
120566920Seric	Portability fixes:
120666920Seric		Newer BSDI systems (several people).
120766920Seric		Older BSDI systems from Christophe Wolfhugel.
120866920Seric		Intergraph CLIX, from Paul Southworth of CICNet.
120966920Seric		UnixWare, from Evan Champion.
121066920Seric		NetBSD from Adam Glass.
121166920Seric		Solaris from Quentin Campbell of the University of
121266920Seric			Newcastle upon Tyne.
121366920Seric		IRIX from Dean Cookson and Bill Driscoll of Mitre
121466920Seric			Corporation.
121569632Seric		NCR 3000 from Kevin Darcy of Chrysler Financial Corporation.
121666920Seric		SunOS (it has setsid() and setvbuf() calls) from
121766920Seric			Jonathan Kamens of OpenVision Technologies.
121866920Seric		HP-UX from Tor Lillqvist.
121966920Seric	New Files:
122066920Seric		src/Makefile.CLIX
122166920Seric		src/Makefile.NCR3000
122266920Seric		doc/changes/Makefile
122366920Seric		doc/changes/changes.me
122466920Seric		doc/changes/changes.ps
122566920Seric
122666432Seric8.6.8/8.6.6	94/03/21
122766432Seric	SECURITY: it was possible to read any file as root using the
122866432Seric		E (error message) option.  Reported by Richard Jones;
122966432Seric		fixed by Michael Corrigan and Christophe Wolfhugel.
123066432Seric
123166356Seric8.6.7/8.6.6	94/03/14
123266356Seric	SECURITY: it was possible to get root access by using wierd
123366356Seric		values to the -d flag.  Thanks to Alain Durand of
123466356Seric		INRIA for forwarding me the notice from the bugtraq
123566356Seric		list.
123666356Seric
123766352Seric8.6.6/8.6.6	94/03/13
123866352Seric	SECURITY: the ability to give files away on System V-based
123966352Seric		systems proved dangerous -- don't run as the owner
124066352Seric		of a :include: file on a system that allows giveaways.
124166352Seric		Unfortunately, this also applies to determining a
124266352Seric		valid shell.
124366352Seric	IMPORTANT: Previous versions weren't expiring old connections
124466352Seric		in the connection cache for a long time under some
124566352Seric		circumstances.  This could result in resource exhaustion,
124666352Seric		both at your end and at the other end.  This checks the
124766352Seric		connections for timeouts much more frequently.  From
124866352Seric		Doug Anderson of NCSC.
124966352Seric	Fix a glitch that snuck in that caused programs to be run as
125066352Seric		the sender instead of the recipient if the mail was
125166352Seric		from a local user to another local user.  From
125266352Seric		Motonori Nakamura of Kyoto University.
125366352Seric	Fix "wildcard" on /etc/shell matching -- instead of looking
125466352Seric		for "*", look for "/SENDMAIL/ANY/SHELL/".  From
125566352Seric		Bryan Costales of ICSI.
125666352Seric	Change the method used to declare the "statfs" availability;
125766352Seric		instead of HASSTATFS and/or HASUSTAT with a ton of
125866352Seric		tweaking in conf.c, there is a single #define called
125966352Seric		SFS_TYPE which takes on one of six values (SFS_NONE
126066352Seric		for no statfs availability, SFS_USTAT for the ustat(2)
126166352Seric		syscall, SFS_4ARGS for a four argument statfs(2) call,
126266352Seric		and SFS_VFS, SFS_MOUNT, or SFS_STATFS for a two argument
126366352Seric		statfs(2) call with the declarations in <sys/vfs.h>,
126466352Seric		<sys/mount.h>, or <sys/statfs.h> respectively).
126566352Seric	Fix glitch in NetInfo support that could return garbage if
126666352Seric		there was no "/locations/sendmail" property.  From
126766352Seric		David Meyer of the University of Virginia.
126866352Seric	Change HASFLOCK from defined/not-defined to a 0/1 definition
126966352Seric		to allow Linux to turn it off even though it is a
127066352Seric		BSD-like system.
127166352Seric	Allow setting of "ident" timeout to zero to turn off the ident
127266352Seric		protocol entirely.
127366352Seric	Make 7-bit stripping local to a connection (instead of to a
127466352Seric		mailer); this allows you to specify that SMTP is a
127566352Seric		7-bit channel, but revert to 8-bit should it advertise
127666352Seric		that it supports 8BITMIME.  You still have to specify
127766352Seric		mailer flag 7 to get this stripping at all.
127866352Seric	Improve makesendmail script so it handles more cases automatically.
127966352Seric	Tighten up restrictions on taking ownership of :include: files
128066352Seric		to avoid problems on systems that allow you to give away
128166352Seric		files.
128266352Seric	Fix a problem that made it impossible to rebuild the alias
128366352Seric		file if it was on a read-only file system.  From
128466352Seric		Harry Edmon of the University of Washington.
128566352Seric	Improve MX randomization function.  From John Gardiner Myers
128666352Seric		of CMU.
128766352Seric	Fix a minor glitch causing a bogus message to be printed (used
128866352Seric		%s instead of %d in a printf string for the line number)
128966352Seric		when a bad queue file was read.  From Harry Edmon.
129066352Seric	Allow $s to remain NULL on locally generated mail.  I'm not
129166352Seric		sure this is necessary, but a lot of people have complained
129266352Seric		about it, and there is a legitimate question as to whether
129366352Seric		"localhost" is legal as an 822-style domain.
129466352Seric	Fix a problem with very short line lengths (mailer L= flag) in
129566352Seric		headers.  This causes a leading space to be added onto
129666352Seric		continuation lines (including in the body!), and also
129766352Seric		tries to wrap headers containing addresses (From:, To:,
129866352Seric		etc) intelligently at the shorter line lengths.  Problem
129966352Seric		Reported by Lars-Johan Liman of SUNET Operations Center.
130066352Seric	Log the real user name when logging syserrs, since these can have
130166352Seric		security implications.  Suggested by several people.
130266352Seric	Fix address logging of cached connections -- it used to always
130366352Seric		log the numeric address as zero.  This is a somewhat
130466352Seric		bogus implementation in that it does an extra system
130566352Seric		call, but it should be an inexpensive one.  Fix from
130666352Seric		Motonori Nakamura.
130766352Seric	Tighten up handling of short syslog buffers even more -- there
130866352Seric		were cases where the outgoing relay= name was too long
130966352Seric		to share a line with delay= and mailer= logging.
131066352Seric	Limit the overhead on split envelopes to one open file descriptor
131166352Seric		per envelope -- previously the overhead was three
131266352Seric		descriptors.  This was in response to a problem reported
131366352Seric		by P{r (Pell) Emanuelsson.
131466352Seric	Fixes to better handle the case of unexpected connection closes;
131566352Seric		this redirects the output to the transcript so the info
131666352Seric		is not lost.  From Eric Wassenaar.
131766352Seric	Fix potential string overrun if you macro evaluate a string that
131866352Seric		has a naked $ at the end.  Problem noted by James Matheson
131966352Seric		<jmrm@eng.cam.ac.uk>.
132066352Seric	Make default error number on $#error messages 553 (``Requested
132166352Seric		action not taken: mailbox name not allowed'') instead of
132266352Seric		501 (``Syntax error in parameters or arguments'') to
132366352Seric		avoid bogus "protocol error" messages.
132466352Seric	Strip off any existing trailing dot on names during $[ ... $]
132566352Seric		lookup.  This prevents it from ending up with two dots
132666352Seric		on the end of dot terminated names.  From Wesley Craig
132766352Seric		of the University of Michigan and Bryan Costales of ICSI.
132866352Seric	Clean up file class reading so that the debugging information is
132966352Seric		more informative.  It hadn't been using setclass, so you
133066352Seric		didn't see the class items being added.
133166352Seric	Avoid core dump if you are running a version of sendmail where
133266352Seric		NIS is compiled in, and you specify an NIS map, but
133366352Seric		NIS is not running.  Fix from John Oleynick of
133466352Seric		Rutgers.
133566352Seric	Diagnose bizarre case where res_search returns a failure value,
133666352Seric		but sets h_errno to a success value.
133766352Seric	Make sure that "too many hops" messages are considered important
133866352Seric		enough to send an error to the Postmaster (that is, the
133966352Seric		address specified in the P option).  This fix should
134066352Seric		help problems that cause the df file to be left around
134166352Seric		sometimes -- unfortunately, I can't seem to reproduce
134266352Seric		the problem myself.
134366352Seric	Avoid core dump (null pointer reference) on EXPN command; this
134466352Seric		only occurred if your log level was set to 10 or higher
134566352Seric		and the target account was an alias or had a .forward file.
134666352Seric		Problem noted by Janne Himanka.
134766352Seric	Avoid "denial of service" attacks by someone who is flooding your
134866352Seric		SMTP port with bad commands by shutting the connection
134966352Seric		after 25 bad commands are issued.  From Kyle Jones of
135066352Seric		UUNET.
135166352Seric	Fix core dump on error messages with very long "to" buffers;
135266352Seric		fmtmsg overflows the message buffer.  Fixed by trimming
135366352Seric		the to address to 203 characters.  Problem reported by
135466352Seric		John Oleynick.
135566352Seric	Fix configuration for HASFLOCK -- there were some spots where
135666352Seric		a #ifndef was incorrectly #ifdef.  Pointed out by
135766352Seric		George Baltz of the University of Maryland.
135866352Seric	Fix a typo in savemail() that could cause the error message To:
135966352Seric		lists to be incorrect in some places.  From Motonori
136066352Seric		Nakamura.
136166352Seric	Fix a glitch that can cause duplicate error messages on split
136266352Seric		envelopes where an address on one of the lists has a
136366352Seric		name server failure.  Fix from Voradesh Yenbut of the
136466352Seric		University of Washington.
136566352Seric	Fix possible bogus pointer reference on ESMTP parameters that
136666352Seric		don't have an ``=value'' part.
136766352Seric	CNAME loops caused an error message to be generated, but also
136866352Seric		re-queued the message.  Changed to just re-queue the
136966352Seric		message (it's really hard to just bounce it because
137066352Seric		of the wierd way the name server works in the presence
137166352Seric		of CNAME loops).  Problem noted by James M.R.Matheson
137266352Seric		of Cambridge University.
137366352Seric	Avoid giving ``warning: foo owned process doing -bs'' messages
137466352Seric		if they use ``MAIL FROM:<foo>'' where foo is their true
137566352Seric		user name.  Suggested by Andreas Stolcke of ICSI.
137666352Seric	Change the NAMED_BIND compile flag to be a 0/1 flag so you can
137766352Seric		override it easily in the Makefile -- that is, you can
137866352Seric		turn it off using -DNAMED_BIND=0.
137966352Seric	If a gethostbyname(...) of an address with a trailing dot fails,
138066352Seric		try it without the trailing dot.  This is because if
138166352Seric		you have a version of gethostbyname() that falls back
138266352Seric		to NIS or the /etc/hosts file it will fail to find
138366352Seric		perfectly reasonable names that just don't happen to
138466352Seric		be dot terminated in the hosts file.  You don't want to
138566352Seric		strip the dot first though because we're trying to ensure
138666352Seric		that country names that match one of your subdomains get
138766352Seric		a chance.
138866352Seric	PRALIASES: fix bogus output on non-null-terminated strings.
138966352Seric		From Bill Gianopoulos of Raytheon.
139066352Seric	CONFIG: Avoid rewriting anything that matches $w to be $j.
139166352Seric		This was in code intended to only catch the self-literal
139266352Seric		address (that is, [1.2.3.4], where 1.2.3.4 is your
139366352Seric		IP address), but the code was broken.  However, it will
139466352Seric		still do this if $M is defined; this is necessary to
139566352Seric		get client configurations to work (sigh).  Note that this
139666352Seric		means that $M overrides :mailname entries in the user
139766352Seric		database!  Problem noted by Paul Southworth.
139866352Seric	CONFIG: Fix definition of Solaris help file location.  From
139966352Seric		Steve Cliffe <steve@gorgon.cs.uow.edu.au>.
140066352Seric	CONFIG: Fix bug that broke news.group.USENET mappings.
140166352Seric	CONFIG: Allow declaration of SMTP_MAILER_MAX, FAX_MAILER_MAX,
140266352Seric		and USENET_MAILER_MAX to tweak the maximum message
140366352Seric		size for various mailers.
140466352Seric	CONFIG: Change definition of USENET_MAILER_ARGS to include argv[0]
140566352Seric		instead of assuming that it is "inews" for consistency
140666352Seric		with other mailers.  From Michael Corrigan of UC San Diego.
140766352Seric	CONFIG: When mail is forwarded to a LOCAL_RELAY or a MAIL_HUB,
140866352Seric		qualify the address in the SMTP envelope as user@{relay|hub}
140966352Seric		instead of user@$j.  From Bill Wisner of The Well.
141066352Seric	CONFIG: Fix route-addr syntax in nullrelay configuration set.
141166352Seric	CONFIG: Don't turn off case mapping of user names in the local
141266352Seric		mailer for IRIX.  This was different than most every other
141366352Seric		system.
141466352Seric	CONFIG: Avoid infinite loops on certainly list:; syntaxes in
141566352Seric		envelope.  Noted by Thierry Besancon
141666352Seric		<besancon@excalibur.ens.fr>.
141766352Seric	CONFIG: Don't include -z by default on uux line -- most systems
141866352Seric		don't want it set by default.  Pointed out by Philippe
141966352Seric		Michel of Thomson CSF.
142066352Seric	CONFIG: Fix some bugs with mailertables -- for example, if your
142166352Seric		host name was foo.bar.ray.com and you matched against
142266352Seric		".ray.com", the old implementation bound %1 to "bar"
142366352Seric		instead of "foo.bar".  Also, allow "." in the mailertable
142466352Seric		to match anything -- essentially, take over SMART_HOST.
142566352Seric		This also moves matching of explicit local host names
142666352Seric		before the mailertable so they don't have to be special
142766352Seric		cased in the mailertable data.  Reported by Bill
142866352Seric		Gianopoulos of Raytheon; the fix for the %1 binding
142966352Seric		problem was contributed by Nicholas Comanos of the
143066352Seric		University of Sydney.
143166352Seric	CONFIG: Don't include "root" in class $=L (users to deliver
143266352Seric		locally, even if a hub or relay exists) by default.
143366352Seric		This is because of the known bug where definition of
143466352Seric		both a LOCAL_RELAY and a MAIL_HUB causes $=L to ignore
143566352Seric		both and deliver into the local mailbox.
143666352Seric	CONFIG: Move up bitdomain and uudomain handling so that they
143766352Seric		are done before .UUCP class matching; uudomain was
143866352Seric		reported as ineffective before.  This also frees up
143966352Seric		diversion 8 for future use.  Problem reported by Kimmo
144066352Seric		Suominen.
144166352Seric	CONFIG: Don't try to convert dotted IP address (e.g., [1.2.3.4])
144266352Seric		into host names.  As pointed out by Jonathan Kamens,
144366352Seric		these are often used because either the forward or reverse
144466352Seric		mapping is broken; this translation makes it broken again.
144566352Seric	DOC: Clarify $@ and $: in the Install & Op Guide.  From Kimmo
144666352Seric		Suominen.
144766352Seric	Portability fixes:
144866352Seric		Unicos from David L. Kensiski of Sterling Sofware.
144966352Seric		DomainOS from Don Lewis of Silicon Systems.
145066352Seric		GNU m4 1.0.3 from Karst Koymans of Utrecht University.
145166352Seric		Convex from Kimmo Suominen <kim@tac.nyc.ny.us>.
145266352Seric		NetBSD from Adam Glass <glass@sun-lamp.cs.berkeley.edu>.
145366352Seric		BSD/386 from Tony Sanders of BSDI.
145466352Seric		Apollo from Eric Wassenaar.
145566352Seric		DGUX from Doug Anderson.
145666352Seric		Sequent DYNIX/ptx 2.0 from Tim Wright of Sequent.
145766352Seric	NEW FILES:
145866352Seric		src/Makefile.DomainOS
145966352Seric		src/Makefile.PTX
146066352Seric		src/Makefile.SunOS.5.1
146166352Seric		src/Makefile.SunOS.5.2
146266352Seric		src/Makefile.SunOS.5.x
146366352Seric		src/mailq.1
146466352Seric		cf/ostype/domainos.m4
146566352Seric		doc/op/Makefile
146666352Seric		doc/intro/Makefile
146766352Seric		doc/usenix/Makefile
146866352Seric
146966348Seric8.6.5/8.6.5	94/01/13
147066348Seric	Security fix:  /.forward could be owned by anyone (the test
147166348Seric		to allow root to own any file was backwards).  From
147266348Seric		Bob Campbell at U.C. Berkeley.
147366348Seric	Security fix: group ids were not completely set when programs
147466348Seric		were invoked.  This caused programs to have group
147566348Seric		permissions they should not have had (usually group
147666348Seric		daemon instead of their own group).  In particular,
147766348Seric		Perl scripts would refuse to run.
147866348Seric	Security: check to make sure files that are written are not
147966348Seric		symbolic links (at least under some circumstances).
148066348Seric		Although this does not respond to a specific known
148166348Seric		attack, it's just a good idea.  Suggested by
148266348Seric		Christian Wettergren.
148366348Seric	Security fix: if a user had an NFS mounted home directory on
148466348Seric		a system with a restricted shell listed in their
148566348Seric		/etc/passwd entry, they could still execute any
148666348Seric		program by putting that in their .forward file.
148766348Seric		This fix prevents that by insisting that their shell
148866348Seric		appear in /etc/shells before allowing a .forward to
148966348Seric		execute a program or write a file.  You can disable
149066348Seric		this by putting "*" in /etc/shells.  It also won't
149166348Seric		permit world-writable :include: files to reference
149266348Seric		programs or files (there's no way to disable this).
149366348Seric		These behaviours are only one level deep -- for
149466348Seric		example, it is legal for a world-writable :include:
149566348Seric		file to reference an alias that writes a file, on
149666348Seric		the assumption that the alias file is well controlled.
149766348Seric	Security fix: root was not treated suspiciously enough when
149866348Seric		looking into subdirectories.  This would potentially
149966348Seric		allow a cracker to examine files that were publically
150066348Seric		readable but in a non-publically searchable directory.
150166348Seric	Fix a problem that causes an error on QUIT on a cached
150266348Seric		connection to create problems on the current job.
150366348Seric		These are typically unrelated, so errors occur in
150466348Seric		the wrong place.
150566348Seric	Reset CurrentLA in sendall() -- this makes sendmail queue
150666348Seric		runs more responsive to load average, and fixes a
150766348Seric		problem that ignored the load average in locally
150866348Seric		generated mail.  From Eric Wassenaar.
150966348Seric	Fix possible core dump on aliases with null LHS.  From
151066348Seric		John Orthoefer of BB&N.
151166348Seric	Revert to using flock() whenever possible -- there are just
151266348Seric		too many bugs in fcntl() locking, particularly over
151366348Seric		NFS, that cause sendmail to fail in perverse ways.
151466348Seric	Fix a bug that causes the connection cache to get confused
151566348Seric		when sending error messages.  This resulted in
151666348Seric		"unexpected close" messages.  It should fix itself
151766348Seric		on the following queue run.  Problem noted by
151866996Seric		Liudvikas Bukys of the University of Rochester.
151966348Seric	Include $k in $=k as documented in the Install & Op Guide.
152066348Seric		This seems odd, but it was documented....  From
152166348Seric		Michael Corrigan of UCSD.
152266348Seric	Fix problem that caused :include:s from alias files to be
152366348Seric		forced to be owned by root instead of daemon
152466348Seric		(actually DefUid).  From Tim Irvin.
152566348Seric	Diagnose unrecognized I option values -- from Mortin Forssen
152666348Seric		of the Chalmers University of Technology.
152766348Seric	Make "error" mailer work consistently when there is no error
152866348Seric		code associated with it -- previously it returned OK
152966348Seric		even though there was a real problem.  Now it assumes
153066348Seric		EX_UNAVAILABLE.
153166348Seric	Fix bug that caused the last header line of messages that had
153266348Seric		no body and which were terminated with EOF instead of
153366348Seric		"." to be discarded.  Problem noted by Liudvikas Bukys.
153466348Seric	Fix core dump on SMTP mail to programs that failed -- it tried
153566348Seric		to go to a "next MX host" when none existed, causing
153666348Seric		a core dump.  From der Mouse at McGill University.
153766348Seric	Change IDENTPROTO from a defined/not defined to a 0/1 switch;
153866348Seric		this makes it easier to turn it off (using
153966348Seric		-DIDENTPROTO=0 in the Makefile).  From der Mouse.
154066348Seric	Fix YP_MASTER_NAME store to use the unupdated result of
154166348Seric		gethostname() (instead of myhostname(), which tries
154266348Seric		to fully qualify the name) to be consistent with
154366348Seric		SunOS.  If your hostname is unqualified, this fixes
154466348Seric		transfers to slave servers.  Bug noted by Keith
154566348Seric		McMillan of Ameritech Services, Inc.
154666348Seric	Fix Ultrix problem: gethostbyname() can return a very large
154766348Seric		(> 500) h_length field, which causes the sockaddr
154866348Seric		to be trashed.  Use the size of the sockaddr instead.
154966348Seric		Fix from Bob Manson of Ohio State.
155066348Seric	Don't assume "-a." on host lookups if NAMED_BIND is not
155166348Seric		defined -- this confuses gethostbyname on hosts
155266348Seric		file lookups, which doesn't understand the trailing
155366348Seric		dot convention.
155466348Seric	Log SMTP server subprocesses that die with a signal instead
155566348Seric		of from a clean exit.
155666348Seric	If you don't have option "I" set, don't assume that a DNS
155766348Seric		"host unknown" message is authoritative -- it
155866348Seric		might still be found in /etc/hosts.
155966348Seric	Fix a problem that would cause Deferred: messages to be sent
156066348Seric		as the subject of an error message, even though the
156166348Seric		actual cause of a message was more severe than that.
156266348Seric		Problem noted by Chris Seabrook of OSSI.
156366348Seric	Fix race condition in DBM alias file locking.  From Kyle
156466348Seric		Jones of UUNET.
156566348Seric	Limit delivery syslog line length to avoid bugs in some
156666348Seric		versions of syslog(3).  This adds a new compile time
156766348Seric		variable SYSLOG_BUFSIZE.  From Jay Plett of Princeton
156866348Seric		University, which is in turn derived from IDA.
156966348Seric	Fix quotes inside of comments in addresses -- previously
157066348Seric		it insisted that they be balanced, but the 822 spec
157166348Seric		says that they should be ignored.
157266348Seric	Dump open file state to syslog upon receiving SIGUSR1 (for
157366348Seric		debugging).  This also evaluates ruleset 89, if set
157466348Seric		(with the null input), and logs the result.  This
157566348Seric		should be used sparingly, since the rewrite process
157666348Seric		is not reentrant.
157766348Seric	Change -qI, -qR, and -qS flags to be case-insensitive as
157866348Seric		documented in the Bat Book.
157966348Seric	If the mailer returned EX_IOERR or EX_OSERR, sendmail did not
158066348Seric		return an error message and did not requeue the message.
158166348Seric		Fix based on code from Roland Dirlewanger of
158266348Seric		Reseau Regional Aquarel, Bordeaux, France.
158366348Seric	Fix a problem that caused a seg fault if you got a 421 error
158466348Seric		code during some parts of connection initialization.
158566348Seric		I've only seen this when talking to buggy mailers on
158666348Seric		the other end, but it shouldn't give a seg fault in
158766348Seric		any case.  From Amir Plivatsky.
158866348Seric	Fix core dump caused by a ruleset call that returns null.
158966348Seric		Fix from Bryan Costales of ICSI.
159066348Seric	Full-Name: field was being ignored.  Fix from Motonori Nakamura
159166348Seric		of Kyoto University.
159266348Seric	Fix a possible problem with very long input lines in setproctitle.
159366348Seric		From P{r Emanuelsson.
159466348Seric	Avoid putting "This is a warning message" out on return receipts.
159566348Seric		Suggested by Douglas Anderson.
159666348Seric	Detect loops caused by recursive ruleset calls.  Suggested by
159766348Seric		Bryan Costales.
159866348Seric	Initialize non-alias maps during alias rebuilds -- they may be
159966348Seric		needed for parsing.  Problem noted by Douglas Anderson.
160066348Seric	Log sender address even if no message was collected in SMTP
160166348Seric		(e.g., if all RCPTs failed).  Suggested by Motonori
160266348Seric		Nakamura.
160366348Seric	Don't reflect the owner-list contents into the envelope sender
160466348Seric		address if the value contains ", :, /, or | (to avoid
160566348Seric		illegal addresses appearing there).
160666348Seric	Efficiency hack for toktype macro -- from Craig Partridge of
160766348Seric		BB&N.
160866348Seric	Clean up DNS error printing so that a host name is always
160966348Seric		included.
161066348Seric	Remember to set $i during queue runs.  Reported by Stephen
161166348Seric		Campbell of Dartmouth University.
161266348Seric	If ${HOSTALIASES} is set, use it during canonification so that
161366348Seric		headers are properly mapped.  Reported by Anne Bennett
161466348Seric		of Concordia University.
161566348Seric	Avoid printing misleading error message if SMTP mailer (not
161666348Seric		using [IPC]) should die on a core dump.
161766348Seric	Avoid incorrect diagnosis of "file 1 closed" when it is caused
161866348Seric		by the other end closing the connection.  From
161966348Seric		Dave Morrison of Oracle.
162066348Seric	Improve several of the error messages printed by "mailq"
162166348Seric		to include a host name or other useful information.
162266348Seric	Add NetInfo preliminary support for NeXT systems.  From Vince
162366348Seric		DeMarco.
162466348Seric	Fix a glitch that sometimes caused :include:s that pointed to
162566348Seric		NFS filesystems that were down to give an "aliasing/
162666348Seric		forwarding loop broken" message instead of queueing
162766348Seric		the message for retry.  Noted by William C Fenner of
162866348Seric		the NRL Connection Machine Facility.
162966348Seric	Fix a problem that could cause a core dump if the input sequence
163066348Seric		had (or somehow acquired) a \231 character.
163166348Seric	Make sure that route-addrs always have <angle brackets> around
163266348Seric		them in non-SMTP envelopes (SMTP envelopes already do
163366348Seric		this properly).
163466348Seric	Avoid wierd headers on unbalanced punctuation of the form:
163566348Seric		``Joe User <user)'' -- this caused reference to the
163666348Seric		null macro.  Fix from Rick McCarty of IO.COM.
163766348Seric	Fix a problem that caused an alias "user: user@local.host" to
163866348Seric		not have the QNOTREMOTE bit set; this caused configs
163966348Seric		to act as if FEATURE(notsticky) was defined even when
164066348Seric		it was not.  The effect of the problem was to make it
164166348Seric		very hard to to set up satellite sites that had a few
164266348Seric		local accounts, with everything else forwarded to a
164366348Seric		corporate hub.  Reported by Detlef Drewanz of the
164466348Seric		University of Rostock and Mark Frost of NCD.
164566348Seric	Change queuing to not call rulesets 3, {1 or 2}, 4 on header
164666348Seric		addresses.  This is more efficient (fewer name server
164766348Seric		calls) and fixes certain unusual configurations, such
164866348Seric		as those that have ruleset 4 do something that is
164966348Seric		non-idempotent unless a mailer-specific ruleset did
165066348Seric		something else.  Problem reported by Brian J. Coan
165166348Seric		of the Institute for Global Communications.
165266348Seric	Fix the "obsolete argument" routine in main to better understand
165366348Seric		new arguments.  For example, if you used ``sendmail
165466348Seric		-C config -v -q'' it would choke on the -q because
165566348Seric		the -C would stop looking for old-format arguments.
165666348Seric	Fix the code that was intended to allow two users to forward their
165766348Seric		mail to the same program and have them appear unique.
165866348Seric	Portability fixes for:
165966348Seric		SCO UNIX from Murray Kucherawy.
166066348Seric		SCO Open Server 3.2v4 from Philippe Brand.
166166348Seric		System V Release 4 from Rick Ellis and others.
166266348Seric		OSF/1 from Steve Campbell.
166366348Seric		DG/UX from Ben Mesander of the USGS and Bryan Curnutt
166466348Seric			of Stoner Associates.
166566348Seric		Motorola SysV88 from Kevin Johnson of Motorola.
166666348Seric		Solaris 2.3 from Casper H.S. Dik of the University
166766348Seric			of Amsterdam and John Caruso of University
166866348Seric			of Maryland.
166966348Seric		FreeBSD from Ollivier Robert.
167066348Seric		NetBSD from Adam Glass.
167166348Seric		TitanOS from Kate Hedstrom of Rutgers University.
167266348Seric		Irix from Bryan Curnutt.
167366348Seric		Dynix from Jim Davis of the University of Arizona.
167466348Seric		RISC/os.
167566348Seric		Linux from John Kennedy of California State University
167666348Seric			at Chico.
167766348Seric		Solaris 2.x from Tony Boner of the U.S. Air Force.
167866348Seric		NEXTSTEP 3.x from Vince DeMarco.
167966348Seric		HP-UX from various people.  NOTA BENE:  the location
168066348Seric			of the config file has moved to /usr/lib
168166348Seric			to match the HP-UX version of sendmail.
168266348Seric	CONFIG: Don't do any recipient rewriting on relay mailer;
168366348Seric		since this is intended only for internal use, the
168466348Seric		usual RFC 821/822/1123 rules can be relaxed.  The
168566348Seric		main point of this is to avoid munging (ugh) UUCP
168666348Seric		addresses when relaying internally.
168766348Seric	CONFIG: fix typo in mailer/uucp.m4 that mutilates list:;
168866348Seric		syntax addresses delivered via UUCP.  Solution
168966348Seric		provided by Peter Wemm.
169066348Seric	CONFIG: fix thumb-fumble in default UUCP relaying in ruleset
169166348Seric		zero; it caused double @ signs in addresses.  From
169266348Seric		Irving Reid of the University of Toronto.
169366348Seric	CONFIG: Portability fixes for SCO Unix 3.2 with TCP/IP 1.2.1
169466348Seric		from Markku Toijala of ICL Personal Systems Oy.
169566348Seric	CONFIG: Add trailing "." on pseudo-domains for consistency;
169666348Seric		this fixes a problem (noted by Al Whaley of Sunnyside)
169766348Seric		that made it hard to recognize your own pseudodomain
169866348Seric		names.
169966348Seric	CONFIG: catch "@host" syntax errors (i.e., null local-parts)
170066348Seric		rather than letting them get "local configuration
170166348Seric		error"s.  Problem noted by John Gardiner Myers.
170266348Seric	CONFIG: add uucp-uudom mailer variant, based on code posted
170366348Seric		by Spider Boardman <spider@Orb.Nashua.NH.US>; this
170466348Seric		has uucp-dom semantics but old UUCP syntax.  This
170566348Seric		also permits "uucp-old" as an alias for "uucp" and
170666348Seric		"uucp-new" as a synonym for "suucp" for consistency.
170766348Seric	CONFIG: add POP mailer support (from Kimmo Suominen
170866348Seric		<kim@grendel.lut.fi>).
170966348Seric	CONFIG: drop CSNET_RELAY support -- CSNET is long gone.
171066348Seric	CONFIG: fix bug caused with domain literal addresses (e.g.,
171166348Seric		``[128.32.131.12]'') when FEATURE(allmasquerade)
171266348Seric		was set; it would get an additional @masquerade.host
171366348Seric		added to the address.  Problem noted by Peter Wan
171466348Seric		of Georgia Tech.
171566348Seric	CONFIG: make sure that the local UUCP name is in $=w.  From
171666348Seric		Jim Murray of Stratus.
171766348Seric	CONFIG: changes to UUCP rewriting to simulate IDA-style "V"
171866348Seric		mailer flag.  Briefly, if you are sending to host
171966348Seric		"foo", then it rewrites "foo!...!baz" to "...!baz",
172066348Seric		"foo!baz" remains "foo!baz", and anything else has
172166348Seric		the local name prepended.
172266348Seric	CONFIG: portability fixes for HP-UX.
172366348Seric	DOC: several minor problems fixed in the Install & Op Guide.
172466348Seric	MAKEMAP: fix core dump problem on lines that are too long or
172566348Seric		which lack newline.  From Mark Delany.
172666348Seric	MAILSTATS: print sums of columns (total messages & kbytes
172766348Seric		in and out of the system).  From Tom Ferrin of UC
172866348Seric		San Francisco Computer Graphics Lab.
172966348Seric	SIGNIFICANT USER- OR SYSAD-VISIBLE CHANGES:
173066348Seric		On HP-UX, /etc/sendmail.cf has been moved to
173166348Seric			/usr/lib/sendmail.cf to match HP sendmail.
173266348Seric		Permissions have been tightened up on world-writable
173366348Seric			:include: files and accounts that have shells
173466348Seric			that are not listed in /etc/shells.  This may
173566348Seric			cause some .forward files that have worked
173666348Seric			before to start failing.
173766348Seric		SIGUSR1 dumps some state to the log.
173866348Seric	NEW FILES:
173966348Seric		src/Makefile.DGUX
174066348Seric		src/Makefile.Dynix
174166348Seric		src/Makefile.FreeBSD
174266348Seric		src/Makefile.Mach386
174366348Seric		src/Makefile.NetBSD
174466348Seric		src/Makefile.RISCos
174566348Seric		src/Makefile.SCO
174666348Seric		src/Makefile.SVR4
174766348Seric		src/Makefile.Titan
174866348Seric		cf/mailer/pop.m4
174966348Seric		cf/ostype/bsdi1.0.m4
175066348Seric		cf/ostype/dgux.m4
175166348Seric		cf/ostype/dynix3.2.m4
175266348Seric		cf/ostype/sco3.2.m4
175366348Seric		makemap/Makefile.dist
175466348Seric		praliases/Makefile.dist
175566348Seric
175666347Seric8.6.4/8.6.4	93/10/31
175766347Seric	Repair core-dump problem (write to read-only memory segment)
175866347Seric		if you fall back to the return-to-Postmaster case in
175966347Seric		savemail.  Problem reported by Richard Liu.
176066347Seric	Immediately diagnose bogus sender addresses in SMTP.  This
176166347Seric		makes quite certain that crackers can't use this
176266347Seric		class of attack.
176366347Seric	Reliability Fix:  check return value from fclose() and fsync()
176466347Seric		in a few critical places.
176566347Seric	Minor problem in initsys() that reversed a condition for
176666347Seric		redirecting the output channel on queue runs.  It's
176766347Seric		not clear this code even does anything.  From Eric
176866347Seric		Wassenaar of the Dutch National Institute for Nuclear
176966347Seric		and High-Energy Physics.
177066347Seric	Fix some problems that caused queue runs to do "too much work",
177166347Seric		such as double-reading the Errors-To: header.  From
177266347Seric		Eric Wassenaar.
177366347Seric	Error messages on writing the temporary file (including the
177466347Seric		data file) were getting suppressed in SMTP -- this
177566347Seric		fix causes them to be properly reported.  From Eric
177666347Seric		Wassenaar.
177766347Seric	Some changes to support AF_UNIX sockets -- this will only
177866347Seric		really become relevant in the next release, but some
177966347Seric		people need it for local patches.  From Michael
178066347Seric		Corrigan of UC San Diego.
178166347Seric	Use dynamically allocated memory (instead of static buffers)
178266347Seric		for macros defined in initsys() and settime(); since
178366347Seric		these can have different values depending on which
178466347Seric		envelope they are in.  From Eric Wassenaar.
178566347Seric	Improve logging to show ctladdr on to= logging; this tells you
178666347Seric		what uid/gid processes ran as.
178766347Seric	Fix a problem that caused error messages to be discarded if
178866347Seric		the sender address was unparseable for some reason;
178966347Seric		this was supposed to fall back to the "return to
179066347Seric		postmaster" case.
179166347Seric	Improve aliaswait backoff algorithm.
179266347Seric	Portability patches for Linux (8.6.3 required another header
179366347Seric		file) (from Karl London) and SCO UNIX.
179466347Seric	CONFIG: patch prog mailer to not strip host name off of envelope
179566347Seric		addresses (so that it matches local again).  From
179666347Seric		Christopher Davis.
179766347Seric	CONFIG: change uucp-dom mailer so that "<>" translates to $n;
179866347Seric		this prevents uux from seeing lines with null names like
179966347Seric		``From   Sat Oct 30 14:55:31 1993''.  From Motonori
180066347Seric		Nakamura of Kyoto University.
180166347Seric	CONFIG: handle <list:;> syntax correctly.  This isn't legal, but
180266347Seric		it shouldn't fail miserably.  From Motonori Nakamura.
180366347Seric
180466346Seric8.6.3/8.6.3	93/10/24
180566346Seric	IMPORTANT FIX: Fix several problems that caused open files to
180666346Seric		be "lost" during queue runs; this overflowed the open
180766346Seric		file table on large runs.  An assumption that fdopen
180866346Seric		always succeeds sometimes resulted in core dumps when
180966346Seric		this happens; sometimes the message is delivered twice,
181066346Seric		sometimes (probably) infinite times.  This problem in
181166346Seric		various form was reported by P{r (Pell) Emanuelsson and
181266346Seric		Robert Campbell of U.C. Berkeley.
181366346Seric	Special diagnosis of EMFILE error conditions -- it now prints
181466346Seric		the known open file descriptors so you can figure out
181566346Seric		what is consuming so much resources.
181666346Seric	Fix a couple of problems caused by early address parsing
181766346Seric		errors -- one caused it to return a "this is only a
181866346Seric		warning" when it really wasn't, and the other started
181966346Seric		parsing through a random pointer.  The first was
182066346Seric		noted by Eric Wassenaar.
182166346Seric	Fix an infinite loop problem caused by null components in the
182266346Seric		host signature.  Problem noted by Jan Sorensen.
182366346Seric	Be sure to reset the "current date" when sending an error
182466346Seric		message -- PostMasterCopy messages were being sent
182566346Seric		with an old Date: header.
182666346Seric	Fix a problem that caused duplicated mail when sendmail was
182766346Seric		(1) compiled without HASFLOCK, (2) you are sending to
182866346Seric		an alias that has an owner-* alias, (3) you execute
182966346Seric		sendmail with -t flag, (4) you run in -odb mode, and
183066346Seric		(5) the sender specifies both the alias name and
183166346Seric		another alias [i.e., the envelope is split], then
183266346Seric		duplicate messages are sent.  The problem description
183366346Seric		and one-line fix are from Motonori Nakamura of Kyoto
183466346Seric		University.
183566346Seric	Avoid a problem that causes error messages to be discarded
183666346Seric		in some cases -- this was the result of a "fix" to
183766346Seric		avoid duplicate error messages, but two are better
183866346Seric		than zero.  Reported by Tim Rylance.
183966346Seric	Fix a minor botch in checkfd012() -- fix from Dave Hill of
184066346Seric		Computervision R&D Ltd.
184166346Seric	Remove "X-Authentication-Warning: <user> set sender to <address>
184266346Seric		using -f" entirely -- it is far too eager to include
184366346Seric		this, and it is confusing folks.  I'll try to make it
184466346Seric		work "right" in 8.7.  Problem noted by Yoshitaka
184566346Seric		Tokugawa of dit Co., Ltd.
184666346Seric	Fix a race condition with the errno value in tick() and
184766346Seric		reapchild() -- this caused occasional misdiagnosis
184866346Seric		of problems.  Kyle Jones of UUNET helped this along.
184966346Seric	Repair rule loop-detection code.  From Michael Corrigan of
185066346Seric		U.C. San Diego.
185166346Seric	Fix a problem that caused sender domain addition (C mailer
185266346Seric		flag to be ignored if you use -odq or use -odb with
185366346Seric		a high load average.  Problem reported by Jim Murray
185466346Seric		of Stratus.
185566346Seric	Fix ident protocol on multi-homed machines.  It was not
185666346Seric		always using the correct interface.  Fix from J.R.
185766346Seric		Oldroyd of Opal.
185866346Seric	Previously, sendmail assumed that any SMTP greeting message
185966346Seric		that wasn't 2xx was a temporary failure -- it should
186066346Seric		only take 4xx as a temporary failure, and return a
186166346Seric		solid error message on anything else -- for example,
186266346Seric		to allow you to reject connections on a workstation
186366346Seric		that is MXed to a mail server.
186466346Seric	Portability enhancements for 386BSD/FreeBSD/NetBSD from
186566346Seric		Ollivier Robert.
186666346Seric	CONFIG: FEATURE(always_add_domain) didn't always add the domain;
186766346Seric		in particular, on local mail it modified the header sender
186866346Seric		but not the header recipient address(es).  Reported by
186966346Seric		Jeffrey Honig of Cornell University.  Also, strip
187066346Seric		any host from envelope recipient address(es), since
187166346Seric		local mailers don't understand host names -- this is
187266346Seric		to help mailertable entries.  From Christopher Davis.
187366346Seric	CONFIG: masquerading didn't apply to addresses that already
187466346Seric		had a domain.  This change replaces a local hostname
187566346Seric		by the masquerade name in the SMTP mailer (previously
187666346Seric		it only added the masquerade name if it didn't already
187766346Seric		have a domain name).  Several people complained about
187866346Seric		this.
187966346Seric
188066345Seric8.6.2/8.6.2	93/10/15
188166345Seric	Put a "successful delivery" message in the transcript for
188266345Seric		addresses that get return-receipts.
188366345Seric	Put a prominent "this is only a warning" message in warning
188466345Seric		messages -- some people don't read carefully enough
188566345Seric		and end up sending the message several times.
188666345Seric	Include reason for temporary failure in the "warning" return
188766345Seric		message.  Currently, it just says "cannot send for
188866345Seric		four hours".
188966345Seric	Fix the "Original message received" time generated for
189066345Seric		returntosender messages.  It was previously listed as
189166345Seric		the current time.  Bug reported by Eric Hagberg of
189266345Seric		Cornell University Medical College.
189366345Seric	If there is an error when writing the body of a message,
189466345Seric		don't send the trailing dot and wait for a response
189566345Seric		in sender SMTP, as this could cause the connection to
189666345Seric		hang up under some bizarre circumstances.  From Eric
189766345Seric		Wassenaar.
189866345Seric	Fix some server SMTP synchronization problems caused when
189966345Seric		connections fail during message collection.  From
190066345Seric		Eric Wassenaar.
190166345Seric	Fix a problem that can cause srvrsmtp to reject mail if the
190266345Seric		name server is down -- it accepts the RCPT but rejects
190366345Seric		the DATA command.  Problem reported by Jim Murray of
190466345Seric		Stratus.
190566345Seric	Fix a problem that can cause core dumps if the config file
190666345Seric		incorrectly resolves to a null hostname.  Reported by
190766345Seric		Allan Johannesen of WPI.
190866345Seric	Non-root use of -C flag, dangerous -f flags, and use of -oQ
190966345Seric		by non-root users were not put into
191066345Seric		X-Authentication-Warning:s as intended because the
191166345Seric		config file hadn't set the PrivacyFlags yet.  Fix
191266345Seric		from Sven-Ove Westberg of the University of Lulea.
191366345Seric	Under very odd circumstances, the alias file rebuild code
191466345Seric		could get confused as to whether a database was
191566345Seric		open or not.
191666345Seric	Check "vendor code" on the end of V lines -- this is
191766345Seric		intended to provide a hook for vendor-specific
191866345Seric		configuration syntax.  (This is a "new feature",
191966345Seric		but I've made an exception to my rule in a belief
192066345Seric		that this is a highly exceptional case.)
192166345Seric	Portability fixes for DG/UX (from Douglas Anderson of NCSC),
192266345Seric		SCO Unix (from Murray Kucherawy), A/UX, and OSF/1
192366345Seric		(from Jon Forrest of UC Berkeley)
192466345Seric	CONFIG: fix ``mailer:host'' form of UUCP relay naming.
192566345Seric
192666344Seric8.6.1/8.6	93/10/08
192766344Seric	Portability fixes for A/UX and Encore UMAX V.
192866344Seric	Fix error message handling -- if you had a name server down
192966344Seric		causing an error during parsing, that message was never
193066344Seric		propogated to the queue file.
193166344Seric
193266343Seric8.6/8.6		93/10/05
193366343Seric	Configuration cleanup: make it easier to undo IDENTPROTO in
193466343Seric		conf.h (other systems have the same bug).
193566343Seric	If HASGETDTABLESIZE and _SC_OPEN_MAX are both defined, assume
193666343Seric		getdtablesize() instead of sysconf(); a disturbingly
193766343Seric		large number of systems defined _SC_OPEN_MAX in the
193866343Seric		header files but don't have the syscall.
193966343Seric	Another patch to really truly ignore MX records in getcanonname
194066343Seric		if trymx == FALSE.
194166343Seric	Fix problem that caused the "250 IAA25499 Message accepted for
194266343Seric		delivery" message to be omitted if there was an error
194366343Seric		in the header of the message (e.g., a bad Errors-To:
194466343Seric		line).  Pointed out by Michael Corrigan of UCSD.
194566343Seric	Announce name of host we are chatting when we get errors; this
194666343Seric		is an IDA-ism suggested by Christophe Wolfhugel.
194766343Seric	Portability fixes for Alpha OSF/1 (from Anthony Baxter of the
194866343Seric		Australian Artificial Intelligence Institute), SCO Unix
194966343Seric		(from Murray Kucherawy of Hookup Communication Corp.),
195066343Seric		NeXT (from Vince DeMarco and myself), Linux (from
195166343Seric		Karl London <karl@borg.demon.co.uk>), BSDI (from
195266343Seric		Christophe Wolfhugel, and SVR4 on Dell (from Kimmo
195366343Seric		Suominen), AUX 3.0 on Macintosh, and ANSI C compilers.
195466343Seric	Some changes to get around gcc optimizer bugs.  From Takahiro
195566343Seric		Kanbe.
195666343Seric	Fix error recovery in queueup if another tf file of the same
195766343Seric		name already exists.  Problem stumbled over by Bill
195866343Seric		Wisner of The Well.
195966343Seric	Output YP_MASTER_NAME and YP_LAST_MODIFIED without null bytes.
196066343Seric		Problem noted by Keith McMillan of Ameritech Services.
196166343Seric	Deal with group permissions properly when opening .forward and
196266343Seric		:include: files.  This relaxes the 8.1C restrictions
196366343Seric		slightly more.  This includes proper setting of groups
196466343Seric		when reading :include: files, allowing you to read some
196566343Seric		files that you should be able to read but have previously
196666343Seric		been denied unless you owned them or they had "other"
196766343Seric		read permission.
196866343Seric	Make certain that $j is in $=w (after the .cf is read) so that
196966343Seric		if the user is forced to override some silly system,
197066343Seric		MX suppression will still work.
197166343Seric	Fix a couple of efficiency problems where newstr was double-
197266343Seric		calling expensive routines.  In at least one case, it
197366343Seric		wasn't guaranteed that they would always return the
197466343Seric		same result.  Problem noted by Christophe Wolfhugel.
197566343Seric	Fix null pointer dereference in putoutmsg -- only on an error
197666343Seric		condition from a non-SMTP mailer.  From Motonori
197766343Seric		Nakamura.
197866343Seric	Macro expand "C" line class definitions before scanning so that
197966343Seric		"CX $Z" works.
198066343Seric	Fix problem that caused error message to be sent while still
198166343Seric		trying to send the original message if the connection
198266343Seric		is closed during a DATA command after getting an error
198366343Seric		on an RCPT command (pretty obscure).  Problem reported
198466343Seric		by John Myers of CMU.
198566343Seric	Fix reply to NOOP to be 250 instead of 200 -- this is a long
198666343Seric		term bug.
198766343Seric	Fix a nasty bug causing core dumps when returning the "warning:
198866343Seric		cannot deliver for N hours -- will keep trying" message;
198966343Seric		it only occurred if you had PostMasterCopy set and
199066343Seric		only on some architectures.  Although sendmail would
199166343Seric		keep trying, it would send error messages on each
199266343Seric		queue interval.  This is an important fix.
199366343Seric	Allow u and g options to take user and group names respectively.
199466343Seric	Don't do a chdir into the queue directory in -bt mode to make
199566343Seric		ruleset testing a bit easier.
199666343Seric	Don't allow users to turn off logging (using -oL) on the command
199766343Seric		line -- command line can only raise, not lower, logging
199866343Seric		level.
199966343Seric	Set $u to the original recipient on the SMTP transaction or on
200066343Seric		the command line.  This is only done if there is exactly
200166343Seric		one recipient.  Technically, this does not meet the
200266343Seric		specs, because it does not guarantee a domain on the
200366343Seric		address.
200466343Seric	Fix a problem that dumped error messages on bad addresses if
200566343Seric		you used the -t flag.  Problem noted by Josh Smith of
200666343Seric		Harvey Mudd College.
200766343Seric	Given an address such as ``<foo> <bar>'', auto-quote the first
200866343Seric		``<foo>'' part, giving ``"<foo>" <bar>''.  This is to
200966343Seric		avoid the problem of people who use angle brackets in
201066343Seric		their full name information.
201166343Seric	Fix a null pointer dereference if you set option "l", have
201266343Seric		an Errors-To: header in the message, and have Errors-To:
201366343Seric		defined in the config file H lines.  From J.R. Oldroyd.
201466343Seric	Put YPCOMPAT on #ifdef NIS instead -- it's one less thing to get
201566343Seric		wrong when compiling.  Suggested by Rick McCarty of TI.
201666343Seric	Fix a problem that could pass negative SIZE parameter if the
201766343Seric		df file got lost; this would cause servers to always
201866343Seric		give a temporary failure, making the problem even worse.
201966343Seric		Problem noted by Allan Johannesen of WPI.
202066343Seric	Add "ident" timeout (one of the "r" option selectors) for IDENT
202166343Seric		protocol timeouts (30s default).  Requested by Murray
202266343Seric		Kucherawy of HookUp Communication Corp. to handle bogus
202366343Seric		PC TCP/IP implementations.
202466343Seric	Change $w default definition to be just the first component of
202566343Seric		the domain name on config level 5.  The $j macro defaults
202666343Seric		to the FQDN; $m remains as before.  This lets well-behaved
202766343Seric		config files use any of the short, long, or subdomain
202866343Seric		names.
202966343Seric	Add makesendmail script in src to try to automate multi-architecture
203066343Seric		builds.  I know, this is sub-optimal, but it is still
203166343Seric		helpful.
203266343Seric	Fix very obscure race condition that can cause a queue run to
203366343Seric		get a queue file for an already completed job.  This
203466343Seric		problem has existed for years.  Problem noted by the
203566343Seric		long suffering Allan Johannesen of WPI.
203666343Seric	Fix a problem that caused the raw sender name to be passed to
203766343Seric		udbsender instead of the canonified name -- this caused
203866343Seric		it to sometimes miss records that it should have found.
203966343Seric	Relax check of name on HELO packet so that a program using -bs
204066343Seric		that claims to be itself works properly.
204166343Seric	Restore rewriting of $: part of address through 2, R, 4 in
204266343Seric		buildaddr -- this requires passing a lot of flags to get
204366343Seric		it right.  Unlike old versions, this ONLY rewrites
204466343Seric		recipient addresses, not sender addresses.
204566343Seric	Fix a bug that caused core dumps in config files that cannot
204666343Seric		resolve /file/name style addresses.  Fix from Jonathan
204766343Seric		Kamens of OpenVision Technologies.
204866343Seric	Fix problem with fcntl locking that can cause error returns to
204966343Seric		be lost if the lock is lost; this required fully
205066343Seric		queueing everything, dropping the envelope (so errors
205166343Seric		would get returned), and then re-reading the queue from
205266343Seric		scratch.
205366343Seric	Fix a problem that caused aliases that redefine an otherwise
205466343Seric		true address to still send to the original address
205566343Seric		if and only if the alias failed in certain bizarre
205666343Seric		ways (e.g, if they pointed at a list:; syntax address).
205766343Seric		Problem pointed out by Jonathan Kamens.
205866343Seric	Remove support for frozen configuration files.  They caused
205966343Seric		more trouble than it was worth.
206066343Seric	Fix problem that can cause error messages to get ignored when
206166343Seric		using both -odb and -t flags.  Problem noted by Rob
206266343Seric		McNicholas at U.C. Berkeley.
206366343Seric	Include all "normal" variations on hostname in $=w.  For example,
206466343Seric		if the host name is vangogh.cs.berkeley.edu, $=w will
206566343Seric		contain vangogh, vangogh.cs, and vangogh.cs.berkeley.edu.
206666343Seric	Add "restrictqrun" privacy flag -- without this, anyone can run
206766343Seric		the queue.
206866343Seric	Reset SmtpPhase global on initial connection creation so that
206966343Seric		messages don't come out with stale information.
207066343Seric	Pass an "ext" argument to lockfile so that error/log messages
207166343Seric		will properly reflect the true filename being locked.
207266343Seric	Put all [...] address forms into $=w -- this eliminates the need
207366343Seric		for MAXIPADDR in conf.h.  Suggested by John Gardiner
207466343Seric		Myers of CMU.
207566343Seric	Fix a bug that can cause qf files to be left around even after
207666343Seric		an SMTP RSET command.  Problem and fix from Michael
207766343Seric		Corrigan.
207866343Seric	Don't send a PostMasterCopy to errors when the Precedence: is
207966343Seric		negative.  Error reports still go to the envelope
208066343Seric		sender address.
208166343Seric	Add LA_SHORT for load averages.
208266343Seric	Lock sendmail.st file when posting statistics.
208366343Seric	Add "SendBufSize" and "RcvBufSize" suboptions to "O" option to
208466343Seric		set the size of the TCP send and receive buffers; if you
208566343Seric		run over a slow slip line you may need to set these down
208666343Seric		(although it would be better to fix the SLIP implementation
208766343Seric		so that it's not necessary to recompile every program
208866343Seric		that does bulk data transfer).
208966343Seric	Allow null defaults on $( ... $) lookups.  Problem reported by
209066343Seric		Amir Plivatsky.
209166343Seric	Diagnose crufty S and V config lines.  This resulted from an
209266343Seric		observation that some people were using the SITE macro
209366343Seric		without the SITECONFIG macro first, which was causing
209466343Seric		bogus config files that were not caught.
209566343Seric	Fix makemap -f flag to turn off case folding (it was turning it
209666343Seric		on instead).  THIS IS A USER VISIBLE CHANGE!!!
209766343Seric	Fix a problem that caused multiple error messages to be sent if
209866343Seric		you used "sendmail -t -oem -odb", your system uses fcntl
209966343Seric		locking, and one of the recipient addresses is unknown.
210066343Seric	Reset uid earlier in include() so that recursive .forwards or
210166343Seric		:include:s don't use the wrong uid.
210266343Seric	If file descriptor 0, 1, or 2 was closed when sendmail was
210366343Seric		called, the code to recover the descriptor was broken.
210466343Seric		This sometimes (only sometimes) caused problems with the
210566343Seric		alias file.  Fix from Motonori Nakamura.
210666343Seric	Fix a problem that caused aliaswait to go into infinite recursion
210766343Seric		if the @:@ metasymbol wasn't found in the alias file.
210866343Seric	Improve error message on newaliases if database files cannot be
210966343Seric		opened or if running with no database format defined.
211066343Seric	Do a better estimation of the size of error messages when NoReturn
211166343Seric		is set.  Problem noted by P{r (Pell) Emanuelsson.
211266343Seric	Fix a problem causing the "c" option (don't connect to expensive
211366343Seric		mailers) to be ignored in SMTP.  Problem noted and the
211466343Seric		solution suggested by Robert Elz of Munnari University.
211566343Seric	Improve connection caching algorithm by passing "[host]" to
211666343Seric		hostsignature, which strips the square brackets and
211766343Seric		returns the real name.  This allows mailertable entries
211866343Seric		to match regular entries.
211966343Seric	Re-enable Return-Receipt-To: -- people seem to want this stupid
212066343Seric		feature, even if it doesn't work right.
212166343Seric	Catch and log attempts to try the "wiz" command in server SMTP.
212266343Seric		This also ups the log level from LOG_NOTICE to LOG_CRIT.
212366343Seric	Be more generous at assigning $z to the home directory -- do this
212466343Seric		for programs that are specified through a .forward file.
212566343Seric		Fix from Andrew Chang of Sun Microsystems.
212666343Seric	Always save a fatal error message in preference to a non-fatal
212766343Seric		error message so that the "subject" line of return
212866343Seric		messages is the best possible.
212966343Seric	CONFIG: reduce the number of quotes needed to quote configuration
213066343Seric		parameters with commas: two quotes should work now, e.g.,
213166343Seric		define(ALIAS_FILE, ``/etc/aliases,/etc/aliases.local'').
213266343Seric	CONFIG: class $=Z is a set of UUCP hosts that use uucp-dom
213366343Seric		connections (domain-ized UUCP).
213466343Seric	CONFIG: fix bug in default maps (-o must be before database file
213566343Seric		name).  Pointed out by Christophe Wolfhugel.
213666343Seric	CONFIG: add FEATURE(nodns) to state that we are not relying on
213766343Seric		DNS.  This would presumably be used in UUCP islands.
213866343Seric	CONFIG: add OSTYPE(nextstep) and OSTYPE(linux).
213966343Seric	CONFIG: log $u in Received: line.  This is in technical violation
214066343Seric		of the standards, since it doesn't guarantee a domain
214166343Seric		on the address.
214266343Seric	CONFIG: don't assume "m" in local mailer flags -- this means that
214366343Seric		if you redefine LOCAL_MAILER_FLAGS you will have to include
214466343Seric		the "m" flag should you want it.  Apparently some Solaris 2.2
214566343Seric		installations can't handle multiple local recipients.
214666343Seric		Problem noted by Josh Smith.
214766343Seric	CONFIG: add confDOMAIN_NAME to set $j (if undefined, $j defaults).
214866343Seric	CONFIG: change default version level from 4 to 5.
214966343Seric	CONFIG: add FEATURE(nullclient) to create a config file that
215066343Seric		forwards all mail to a hub without ever looking at the
215166343Seric		addresses in any detail.
215266343Seric	CONFIG: properly strip mailer: information off of relays when
215366343Seric		used to change .BITNET form into %-hack form.
215466343Seric	CONFIG: fix a problem that caused infinite loops if presented
215566343Seric		with an address such as "!foo".
215666343Seric	CONFIG: check for self literal (e.g., [128.32.131.12]) even if
215766343Seric		the reverse "PTR" mapping is broken.  There's a better
215866343Seric		way to do this, but the change is fairly major and I
215966343Seric		want to hold it for another release.  Problem noted by
216066343Seric		Bret Marquis.
216166343Seric
216266342Seric8.5/8.5		93/07/23
216366342Seric	Serious bug: if you used a command line recipient that was unknown
216466342Seric		sendmail would not send a return message (it was treating
216566342Seric		everything as though it had an SMTP-style client that
216666342Seric		would do the return itself).  Problem noted by Josh Smith.
216766342Seric	Change "trymx" option in getcanonname() to ignore all MX data,
216866342Seric		even during a T_ANY query.  This actually didn't break
216966342Seric		anything, because the only time you called getcanonname
217066342Seric		with !trymx was if you already knew there were no MX
217166342Seric		records, but it is somewhat cleaner.  From Motonori
217266342Seric		Nakamura.
217366342Seric	Don't call getcanonname from getmxrr if you already know there
217466342Seric		are no DNS records matching the name.
217566342Seric	Fix a problem causing error messages to always include "The
217666342Seric		original message was received ... from localhost".
217766342Seric		The correct original host information is now included.
217866342Seric	Previous change to cf/sh/makeinfo.sh doesn't port to Ultrix (their
217966342Seric		version of "test" doesn't have the -x flag).  Change it
218066342Seric		to use -f instead.  From John Myers.
218166342Seric	CONFIG: 8.4 mistakenly set the default SMTP-style mailer to
218266342Seric		esmtp -- it should be smtp.
218366342Seric	CONFIG: send all relayed mail using confRELAY_MAILER (defaults
218466342Seric		to "relay" (a variant of "smtp") if MAILER(smtp) is used,
218566342Seric		else "suucp" if MAILER(uucp) is used, else "unknown");
218666342Seric		this cleans up the configs somewhat.  This fixes a serious
218766342Seric		problem that caused route-addrs to get mistaken as relays,
218866342Seric		pointed out by John Myers.  WARNING: this also causes
218966342Seric		the default on SMART_HOST to change from "suucp" to
219066342Seric		"relay" if you have MAILER(smtp) specified.
219166342Seric
219266341Seric8.4/8.4		93/07/22
219366341Seric	Add option `w'.  If you receive a message that comes to you because
219466341Seric		you are the best (lowest preference) target of an MX, and
219566341Seric		you haven't explicitly recognized the source MX host in
219666341Seric		your .cf file, this option will cause you to try the target
219766341Seric		host directly (as if there were no MX for it at all).  If
219866341Seric		`w' is not set, this case is a configuration error.
219966341Seric		Beware: if `w' is set, senders may get bogus errors like
220066341Seric		"message timed out" or "host unknown" for problems that
220166341Seric		are really configuration errors.  This option is
220266341Seric		disrecommended, provided only for compatibility with
220366341Seric		UIUC sendmail.
220466341Seric	Fix a problem that caused the incoming socket to be left open
220566341Seric		when sendmail forks after the DATA command.  This caused
220666341Seric		calling systems to wait in FIN_WAIT_2 state until the
220766341Seric		entire list was processed and the child closed -- a
220866341Seric		potentially prodigious amount of time.  Problem noted
220966341Seric		by Neil Rickert.
221066341Seric	Fix problem (created in 6.64) that caused mail sent to multiple
221166341Seric		addresses, one of which was a bad address, to completely
221266341Seric		suppress the sending of the message.  This changes
221366341Seric		handling of EF_FATALERRS somewhat, and adds an
221466341Seric		EF_GLOBALERRS flag.  This also fixes a potential problem
221566341Seric		with duplicate error messages if there is a syntax error
221666341Seric		in the header of a message that isn't noticed until late
221766341Seric		in processing.  Original problem pointed out by Josh Smith
221866341Seric		of Harvey Mudd College.  This release includes quite a bit
221966341Seric		of dickering with error handling (see below).
222066341Seric	Back out SMTP transaction if MAIL gets nested 501 error.  This
222166341Seric		will only hurt already-broken software and should help
222266341Seric		humans.
222366341Seric	Fix a problem that broke aliases when neither NDBM nor NEWDB were
222466341Seric		compiled in.  It would never read the alias file.
222566341Seric	Repair unbalanced `)' and `>' (the "open" versions are already
222666341Seric		repaired).
222766341Seric	Logging of "done" in dropenvelope() was incorrect: it would
222866341Seric		log this even when the queue file still existed.  Change
222966341Seric		this to only log "done" (at log level 11) when the
223066341Seric		queue file is actually removed.  From John Myers.
223166341Seric	Log "lost connection" in server SMTP at log level 20 if there
223266341Seric		is no pending transaction.  Some senders just close the
223366341Seric		connection rather than sending QUIT.
223466341Seric	Fix a bug causing getmxrr to add a dot to the end of unqualified
223566341Seric		domains that do not have MX records -- this would cause
223666341Seric		the subsequent host name lookup to fail.  The problem
223766341Seric		only occurred if you had FEATURE(nocanonify) set.
223866341Seric		Problem noted by Rick McCarty of Texas Instruments.
223966341Seric	Fix invocation of setvbuf when passed a -X flag -- I had
224066341Seric		unwittingly used an ANSI C extension, and this caused
224166341Seric		core dumps on some machines.
224266341Seric	Diagnose self-destructive alias loops on RCPT as well as EXPN.
224366341Seric		Previously it just gave an empty send queue, which
224466341Seric		then gave either "Need RCPT (recipient)" at the DATA
224566341Seric		(confusing, since you had given an RCPT command which
224666341Seric		returned 250) or just dropped the email, depending on
224766341Seric		whether you were running VERBose mode.  Now it usually
224866341Seric		diagnoses this case as "aliasing/forwarding loop broken".
224966341Seric		Unfortunately, it still doesn't adequately diagnose
225066341Seric		some true error conditions.
225166341Seric	Add internal concept of "warning messages" using 6xx codes.
225266341Seric		These are not reported only to Postmaster.  Unbalanced
225366341Seric		parens, brackets, and quotes are printed as 653 codes.
225466341Seric		They are always mapped to 5xx codes before use in SMTP.
225566341Seric	Clean up error messages to tell both the actual address that
225666341Seric		failed and the alias they arose from.  This makes it
225766341Seric		somewhat easier to diagnose problems.  Difficulty noted
225866341Seric		by Motonori Nakamura.
225966341Seric	Fix a problem that inappropriately added a ctladdr to addresses
226066341Seric		that shouldn't have had one during a queue run.  This
226166341Seric		caused error messages to be handled differently during
226266341Seric		a queue run than a direct run.
226366341Seric	Don't print the qf name and line number if you get errors during
226466341Seric		the direct run of the queue from srvrsmtp -- this was
226566341Seric		just extra stuff for users to crawl through.
226666341Seric	Put command line flags on second line of pid file so you can
226766341Seric		auto-restart the daemon with all appropriate arguments.
226866341Seric		Use "kill `head -1 /etc/sendmail.pid`" to stop the
226966341Seric		daemon, and "eval `tail -1 /etc/sendmail.pid`" to
227066341Seric		restart it.
227166341Seric	Remove the ``setuid(getuid())'' in main -- this caused the
227266341Seric		IDENT daemon to screw up.  This required that I change
227366341Seric		HASSETEUID to HASSETREUID and complicate the mode
227466341Seric		changing somewhat because both Ultrix and SunOS seem
227566341Seric		to have a bug causing seteuid() to set the saved uid
227666341Seric		as well as the effective.  The program test/t_setreuid.c
227766341Seric		will test to see if your implementation of setreuid(2)
227866341Seric		is appropriately functional.
227966341Seric	The FallBackMX (option V) handling failed to properly identify
228066341Seric		fallback to yourself -- most of the code was there,
228166341Seric		but it wasn't being enabled.  Problem noted by Murray
228266341Seric		Kucherawy of the University of Waterloo.
228366341Seric	Change :include: open timeout from ETIMEDOUT to an internal
228466341Seric		code EOPENTIMEOUT; this avoids adding "during SmtpPhase
228566341Seric		with CurHostName" in error messages, which can be
228666341Seric		confusing.  Reported by Jonathan Kamens of OpenVision
228766341Seric		Technologies.
228866341Seric	Back out setpgrp (setpgid on POSIX systems) call to reset the
228966341Seric		process group id.  The original fix was to get around
229066341Seric		some problems with recalcitrant MUAs, but it breaks
229166341Seric		any call from a shell that creates a process group id
229266341Seric		different from the process id.  I could try to fix
229366341Seric		this by diddling the tty owner (using tcsetpgrp or
229466341Seric		equivalent) but this is too likely to break other
229566341Seric		things.
229666341Seric	Portability changes:
229766341Seric		Support -M as equivalent to -oM on Ultrix -- apparently
229866341Seric			DECnet calls sendmail with -MrDECnet -Ms<HOST> -bs
229966341Seric			instead of using standard flags.  Oh joy.  This
230066341Seric			behaviour reported by Jon Giltner of University
230166341Seric			of Colorado.
230266341Seric		SGI IRIX  -- this includes several changes that should
230366341Seric			help other strict ANSI compilers.
230466341Seric		SCO Unix -- from Murray Kucherawy of HookUp Communication
230566341Seric			Corporation.
230666341Seric		Solaris running the Sun C compiler (which despite the
230766341Seric			documentation apparently doesn't define
230866341Seric			__STDC__ by default).
230966341Seric		ConvexOS from Eric Schnoebelen of Convex.
231066341Seric		Sony NEWS workstations and Omron LUNA workstations from
231166341Seric			Motonori Nakamura.
231266341Seric	CONFIG: add confTRY_NULL_MX_LIST to set option `w'.
231366341Seric	CONFIG: delete `C' and `e' from default SMTP mailers flags;
231466341Seric		several people have made a good argument that this
231566341Seric		creates more problems than it solves (although this
231666341Seric		may prove painful in the short run).
231766341Seric	CONFIG: generalize all the relays to accept a "mailer:host"
231866341Seric		format.
231966341Seric	CONFIG: move local processing in ruleset 0 into a new ruleset
232066341Seric		98 (8 on old sendmail).  Domain literal [a.b.c.d]
232166341Seric		addresses are also passed through this ruleset.
232266341Seric	CONFIG: if neither SMART_HOST nor MAILER(smtp) were defined,
232366341Seric		internet-style addresses would "fall off the end" of
232466341Seric		ruleset zero and be interpreted as local -- however,
232566341Seric		the angle brackets confused the recursive call.
232666341Seric		These are now diagnosed as "Unrecognized host name".
232766341Seric	CONFIG: USENET rules weren't included in S0 because of a mistaken
232866341Seric		ifdef(`_MAILER_USENET_') instead of
232966341Seric		ifdef(`_MAILER_usenet_').  Problem found by Rein Tollevik
233066341Seric		of SINTEF RUNIT, Oslo.
233166341Seric	CONFIG: move up LOCAL_RULE_0 processing so that it happens very
233266341Seric		early in ruleset 0; this allows .mc authors to bypass
233366341Seric		things like the "short circuit" code for local addresses.
233466341Seric		Prompted by a comment by Bill Wisner of The Well.
233566341Seric	CONFIG: add confSMTP_MAILER to define the mailer used (smtp or
233666341Seric		esmtp) to send SMTP mail.  This allows you to default
233766341Seric		to esmtp but use a mailertable or other override to
233866341Seric		deal with broken servers.  This logic was pointed out
233966341Seric		to me by Bill Wisner.  Ditto for confLOCAL_MAILER.
234066341Seric	Changes to cf/sh/makeinfo.sh to make it portable to SVR4
234166341Seric		environments.  Ugly as sin.
234266341Seric
234366340Seric8.3/8.3		93/07/13
234466340Seric	Fix setuid problems introduced in 8.2 that caused messages
234566340Seric		like "Cannot create qfXXXXXX: Invalid argument"
234666340Seric		or "Cannot reopen dfXXXXXX: Permission denied".  This
234766340Seric		involved a new compile flag "HASSETEUID" that takes
234866340Seric		the place of the old _POSIX_SAVED_IDS -- it turns out
234966340Seric		that the POSIX interface is broken enough to break
235066340Seric		some systems badly.  This includes some fixes for
235166340Seric		HP-UX.  Also fixes problems where the real uid is
235266340Seric		not reset properly on startup (from Neil Rickert).
235366340Seric	Fix a problem that caused timed out messages to not report the
235466340Seric		addresses that timed out.  Error messages are also more
235566340Seric		"user friendly".
235666340Seric	Drop required bandwidth on connections from 64 bytes/sec to
235766340Seric		16 bytes/sec.
235866340Seric	Further Solaris portability changes -- doesn't require the BSD
235966340Seric		compatibility library.  This also adds a new
236066340Seric		"HASGETDTABLESIZE" compile flag which can be used if
236166340Seric		you want to use getdtablesize(2) instead of sysconf(2).
236266340Seric		These are loosely based on changes from David Meyer at
236366340Seric		University of Oregon.  This now seems to work, at least
236466340Seric		for quick test cases.
236566340Seric	Fix a problem that can cause duplicate error messages to be
236666340Seric		sent if you are in SMTP, you send to multiple addresses,
236766340Seric		and at least one of those addresses is good and points
236866340Seric		to an account that has a .forward file (whew!).
236966340Seric	Fix a problem causing messages to be discarded if checkcompat()
237066340Seric		returned EX_TEMPFAIL (because it didn't properly mark
237166340Seric		the "to" address).  Problem noted by John Myers.
237266340Seric	Fix dfopen to return NULL if the open failed; I was depending
237366340Seric		on fdopen(-1) returning NULL, which isn't the case.  This
237466340Seric		isn't serious, but does result in wierd error diagnoses.
237566340Seric		From Michael Corrigan.
237666340Seric	CONFIG: add UUCP_MAX_SIZE M4 macro to set the maximum size of
237766340Seric		messages sent through UUCP-family mailers.  Suggested
237866340Seric		by Bill Wisner of The Well.
237966340Seric	CONFIG: if both MAILER(uucp) and MAILER(smtp) are specified,
238066340Seric		include a "uucp-dom" mailer that uses domain-style
238166340Seric		addressing.  Suggested by Bill Wisner.
238266340Seric	CONFIG: Add LOCAL_SHELL_FLAGS and LOCAL_SHELL_ARGS to match
238366340Seric		LOCAL_MAILER_FLAGS and LOCAL_MAILER_ARGS.  Suggested by
238466340Seric		Christophe Wolfhugel.
238566340Seric	CONFIG: Add OSTYPE(aix3).  From Christophe Wolfhugel.
238666340Seric
238766339Seric8.2/8.2		93/07/11
238866339Seric	Don't drop out on config file parse errors in -bt mode.
238966339Seric	On older configuration files, assume option "l" (use Errors-To
239066339Seric		header) for back compatibility.  NOTE:  this DOES NOT
239166339Seric		imply an endorsement of the Errors-To: header in any way.
239266339Seric	Accept -x flag on AIX-3 as well as OSF/1.  Why, why, why???
239366339Seric	Don't log errors on EHLO -- it isn't a "real" error for an old
239466339Seric		SMTP server to give an error on this command, and
239566339Seric		logging it in the transcript can be confusing.  Fix
239666339Seric		from Bill Wisner.
239766339Seric	IRIX compatibility changes provided by Dan Rich
239866339Seric		<drich@sandman.lerc.nasa.gov>.
239966339Seric	Solaris 2 compatibility changes.  Provided by Bob Cunningham
240066339Seric		<bob@kahala.soest.hawaii.edu>, John Oleynick
240166339Seric		<juo@klinzhai.rutgers.edu>
240266339Seric	Debugging: -d17 was overloaded (hostsignature and usersmtp.c);
240366339Seric		move usersmtp (smtpinit and smtpmailfrom) to -d18 to
240466339Seric		match the other flags in that file.
240566339Seric	Flush transcript before fork in mailfile().  From Eric Wassenaar.
240666339Seric	Save h_errno in mci struct and improve error message display.
240766339Seric		Changes from Eric Wassenaar.
240866339Seric	Open /dev/null for the transcript if the create of the xf file
240966339Seric		failed; this avoids at least one possible null pointer
241066339Seric		reference in very wierd cases.  From Eric Wassenaar.
241166339Seric	Clean up statistics gathering; it was over-reporting because of
241266339Seric		forks.  From Eric Wassenaar.
241366339Seric	Fix problem that causes old Return-Path: line to override new
241466339Seric		Return-Path: line (conf.c needs H_FORCE to avoid
241566339Seric		re-using old value).  From Motonori Nakamura.
241666339Seric	Fix broken -m flag in K definition -- even if -m (match only)
241766339Seric		was specified, it would still replace the key with the
241866339Seric		value.  Noted by Rick McCarty of Texas Instruments.
241966339Seric	If the name server timed out over several days, no "timed out"
242066339Seric		message would ever be sent back.  The timeout code
242166339Seric		has been moved from markfailure() to dropenvelope()
242266339Seric		so that all such failures should be diagnosted.  Pointed
242366339Seric		out by Christophe Wolfhugel and others.
242466339Seric	Relax safefile() constraints: directories in an include or
242566339Seric		forward path must be readable by self if the controlling
242666339Seric		user owns the entry, readable by all otherwise (e.g.,
242766339Seric		when reading your .forward file, you have to own and
242866339Seric		have X permssion in it; everyone needs X permission in
242966339Seric		the root and directories leading up to your home);
243066339Seric		include files must be readable by anyone, but need not
243166339Seric		be owned by you.
243266339Seric	If _POSIX_SAVED_IDS is defined, setuid to the owner before
243366339Seric		reading a .forward file; this gets around some problems
243466339Seric		on NFS mounts if root permission is not exported and
243566339Seric		the user's home directory isn't x'able.
243666339Seric	Additional NeXT portability enhancements from Axel Zinser.
243766339Seric	Additional HP-UX portability enhancements from Brian Bullen.
243866339Seric	Add a timeout around SMTP message writes; this assumes you can
243966339Seric		get throughput of at least 64 bytes/second.  Note that
244066339Seric		this does not impact the "datafinal" default, which
244166339Seric		is separate; this is just intended to work around
244266339Seric		network clogs that will occur before the final dot
244366339Seric		is sent.  From Eric Wassenaar.
244466339Seric	Change map code to set the "include null" flag adaptively --
244566339Seric		it initially tries both, but if it finds anything
244666339Seric		matching without a null it never tries again with a
244766339Seric		null and vice versa.  If -N is specified, it never
244866339Seric		tries without the null and creates new maps with a
244966339Seric		null byte.  If -O is specified, it never tries with
245066339Seric		the null (for efficiency).  If -N and -O are specified,
245166339Seric		you get -NO (get it?) lookup at all, so this would
245266339Seric		be a bad idea.  If you don't specify either -N or -O,
245366339Seric		it adapts.
245466339Seric	Fix recognition of "same from address" so that MH submissions
245566339Seric		will insert the appropriate full name information;
245666339Seric		this used to work and got broken somewhere along the
245766339Seric		way.
245866339Seric	Some changes to eliminate some unnecessary SYSERRs in the
245966339Seric		log.  For example, if you lost a connection, don't
246066339Seric		bother reporting that fact on the connection you lost.
246166339Seric	Add some "extended debugging" flags to try to track down
246266339Seric		why we get occassional problems with file descriptor
246366339Seric		one being closed when execing a mailer; it seems to
246466339Seric		only happen when there has been another error in the
246566339Seric		same transaction.  This requires XDEBUG, defined
246666339Seric		by default in conf.h.
246766339Seric	Add "-X filename" command line flag, which logs both sides of
246866339Seric		all SMTP transactions.  This is intended ONLY for
246966339Seric		debugging bad implementations of other mailers; start
247066339Seric		it up, send a message from a mailer that is failing,
247166339Seric		and then kill it off and examine the indicated log.
247266339Seric		This output is not intended to be particularly human
247366339Seric		readable.  This also adds the HASSETVBUF compile
247466339Seric		flag, defaulted on if your compiler defines __STDC__.
247566339Seric	CONFIG: change SMART_HOST to override an SMTP mailer.  If you
247666339Seric		have a local net that should get direct connects, you
247766339Seric		will need to use LOCAL_NET_CONFIG to catch these hosts.
247866339Seric		See cf/README for an example.
247966339Seric	CONFIG: add LOCAL_MAILER_ARGS (default: `mail -d $u') to handle
248066339Seric		sites that don't use the -d flag.
248166339Seric	CONFIG: hide recipient addresses as well as sender addresses
248266339Seric		behind $M if FEATURE(allmasquerade) is specified; this
248366339Seric		has been requested by several people, but can break
248466339Seric		local aliases.  For example, if you mail to "localalias"
248566339Seric		this will be rewritten as "localalias@masqueradehost";
248666339Seric		although initial delivery will work, replies will be
248766339Seric		broken.  Use it sparingly.
248866339Seric	CONFIG: add FEATURE(domaintable).  This maps unqualified domains
248966339Seric		to qualified domains in headers.  I believe this is
249066339Seric		largely equivalent to the IDA feature of the same name.
249166339Seric	CONFIG: use $U as UUCP name instead of $k.  This permits you
249266339Seric		to override the "system name" as your UUCP name --
249366339Seric		in particular, to use domain-ized UUCP names.  From
249466339Seric		Bill Wisner of The Well.
249566339Seric	CONFIG: create new mailer "esmtp" that always tries EHLO
249666339Seric		first.  This is currently unused in the config files,
249766339Seric		but could be used in a mailertable entry.
249866339Seric
249966338Seric8.1C/8.1B	93/06/27
250066338Seric	Serious security bug fix: it was possible to read any file on
250166338Seric		the system, regardless of ownership and permissions.
250266338Seric	If a subroutine returns a fully qualified address, return it
250366338Seric		immediately instead of feeding it back into rewriting.
250466338Seric		This fixes a problem with mailertable lookups.
250566338Seric	CONFIG: fix some M4 frotz (concat => CONCAT)
250666338Seric
250766338Seric8.1B/8.1A	93/06/12
250866338Seric	Serious bug fix: pattern matching backup algorithm stepped by
250966338Seric		two tokens in classes instead of one.  Found by Claus
251066338Seric		Assmann at University of Kiel, Germany.
251166338Seric
251266338Seric8.1A/8.1A	93/06/08
251366338Seric	Another mailertable fix....
251466338Seric
251566338Seric8.1/8.1		93/06/07
251666338Seric	4.4BSD freeze.  No semantic changes.
251766338Seric
251866338Seric6.65/6.34	93/06/06
251966338Seric	Fix some lintish problems.
252066338Seric	Fix some cases where server SMTP behaved poorly when handed bogus
252166338Seric		input, pointed out by Eric Wassenaar.
252266338Seric	CONFIG: fix some more (sigh) mailertable bugs -- thanks to
252366338Seric		Motonori Nakamura of Kyoto University (again).
252466338Seric
252566338Seric6.64/6.33	93/06/05
252666338Seric	Don't send 050 (-v) information after the 250 response to a QUIT
252766338Seric		command in srvrsmtp -- clients usually close the connection
252866338Seric		at this point, and it causes bogus error messages.
252966338Seric	Don't send messages that have errors on input (such as unbalanced
253066338Seric		parentheses) during SMTP transactions, since a return
253166338Seric		message has (probably) already been sent.
253266338Seric	Give better diagnostics on timeouts during network reads, including
253366338Seric		information similar to the SMTP phase.
253466338Seric	Fix bug that caused SMTP messages to deliver synchronously; this
253566338Seric		happened after the DATA 250, and hence caused reading the
253666338Seric		next command to be delayed.
253766338Seric	Ignore Errors-To: header unless 'l' (lower case el) header is
253866338Seric		specified.  The Errors-To: header violates RFC 1123.
253966338Seric		Errors-To: was only needed to take the place of the
254066338Seric		envelope sender in the days when most Unix mailers
254166338Seric		didn't understand about the two kinds of senders.
254266338Seric	Don't send warning messages in response to automatically generated
254366338Seric		messages (that is, those From:<>).
254466338Seric	CONFIG: fix some rather stupid typos in the mailertable code
254566338Seric		pointed out by Motonori Nakamura of Kyoto University.
254666338Seric	CONFIG: add confUSE_ERRORS_TO configuration option.
254766338Seric	CONFIG: if ALWAYS_ADD_DOMAIN is selected, try to use $M
254866338Seric		(masquerade name) instead of $j.
254966338Seric	CONFIG: don't add dots to relay names (added in 6.29); it breaks
255066338Seric		several things, and can be simulated by dot terminating
255166338Seric		the names of relays.  For example, use:
255266338Seric			DBbit.net.relay.
255366338Seric		(note the trailing dot).
255466338Seric
255566338Seric6.63/6.32	93/06/01
255666338Seric	Fix prototypes to eliminate chars in argument lists -- some
255766338Seric		compilers are pissy about this.
255866338Seric	Log protocol ($r) and body type if set so we can determine if
255966338Seric		the adaptive algorithms are working.
256066338Seric	Pessimize on locking of database files (particularly for NEWDB
256166338Seric		databases) during opens.  There were problems with
256266338Seric		processes opening the file while it was rebuilt; since
256366338Seric		NEWDB caches heavily, the reader opened an empty file,
256466338Seric		which is an error.  If your system has the ability to
256566338Seric		lock atomically on open, this works properly; otherwise,
256666338Seric		there are race conditions.
256766338Seric	Check mod time on .pag file instead of .dir in NDBM aliases
256866338Seric		because the .dir file doesn't get updated for small
256966338Seric		alias files.  From John Gardiner Myers of CMU.
257066338Seric	More Solaris portability -- it now compiles on Solaris, but
257166338Seric		hangs up in gethostbyname().
257266338Seric	Move setting of RES_DEBUG flag before first myhostname() call
257366338Seric		so we can see name server traffic on that call.
257466338Seric	Fsync() queue files.
257566338Seric	Fix a problem that causes -bi to try to rebuild maps other than
257666338Seric		the alias file(s).
257766338Seric	Fix a problem that caused udb to reject entries from any but
257866338Seric		the first database listed.
257966338Seric	Rearrange doc subdirectory for 4.4BSD release tape.
258066338Seric	CONFIG: put $r into the Received line.  This was an oversight.
258166338Seric	CONFIG: fix typo (call to ruleset 99 should have been rulset 90).
258266338Seric	CONFIG: move "auxiliary" subroutines to be in ruleset 90-99
258366338Seric		range -- in the long run, single digit rulesets may
258466338Seric		become reserved for builtin use by sendmail.
258566338Seric	CONFIG: fix major problem that causes host aliases (that is,
258666338Seric		anything in $=w != $j) to not be recognized.  This has
258766338Seric		been around since 6.30.
258866338Seric
258966338Seric6.62/6.31	93/05/28
259066338Seric	BETA RELEASE
259166338Seric	Fix recursive syserr (if there is an error printing a syserr
259266338Seric		message).  This makes the code much less eager to consider
259366338Seric		a write error as serious.  This also includes some
259466338Seric		heuristics to be clever about closed connections.
259566338Seric	Lock NEWDB files during gets.  This requires version 1.5 or later
259666338Seric		of the db library.  If you have an older version, you
259766338Seric		can use -DOLD_NEWDB.  This will go away in a few weeks.
259866338Seric	Fix problem causing aliases that use host maps to get overwritten.
259966338Seric	Do appropriate byte swapping on port numbers in ident protocol
260066338Seric		code.  Fix from Allan Johannesen of WPI.
260166338Seric	Defer opening of map files to the same time as alias files so that
260266338Seric		the daemon will tend to pick up new versions more promptly.
260366338Seric	Prototype a bunch more functions.
260466338Seric	Some Solaris 2.1 changes (still doesn't link though).
260566338Seric	Try to simplify Makefiles by including more subordinate #defines
260666338Seric		in conf.h (based on OS type).
260766338Seric	CONFIG: check for domains if FEATURE(mailertable) is defined.
260866338Seric		For example, if the host name is "knecht.cs.berkeley.edu"
260966338Seric		it will search the following mailertable keys:
261066338Seric			knecht.cs.berkeley.edu
261166338Seric			.cs.berkeley.edu
261266338Seric			.berkeley.edu
261366338Seric			.edu
261466338Seric		This could be used to replace the special relays for bitnet
261566338Seric		and similar nets.
261666338Seric
261766338Seric6.61/6.30	93/05/24
261866338Seric	Fix problem that prevented appending dots on canonified host
261966338Seric		names.  This breaks tons of config files -- very
262066338Seric		important fix.
262166338Seric	Fix improper pointer dereference in response to HELO command.
262266338Seric	Fix core dump if debugging set in map_rewrite.
262366338Seric	CONFIG: add FEATURE(always_add_domain) to always attach the
262466338Seric		local domain (only impacts local mail).
262566338Seric	CONFIG: try to avoid turning names into $j -- although
262666338Seric		technically a host can only have one "canonical name",
262766338Seric		it seems to be common practice to have several.
262866338Seric
262966338Seric6.60/6.29	93/05/22
263066338Seric	Major change: merge alias databases with maps.  This expands and
263166338Seric		changes the map class interface but fixes a bunch of bugs.
263266338Seric		The important user-visible change is that the file name
263366338Seric		in a K line now does not include the ".db" extension; this
263466338Seric		is added automatically.  Also, the -d (NIS domain) flag is
263566338Seric		missing from the K config line; use @domain instead.
263666338Seric		When compiling, the *_MAP names are gone -- just compile
263766338Seric		in NDBM, NEWDB, and/or NIS support.
263866338Seric	Announce mailer/host/user triple on -bv flag -- from Brian
263966338Seric		Bullen of Stirling University.
264066338Seric	Don't send more than one line in response to HELO -- it confuses
264166338Seric		Pony Express, which then behaves very badly.  However,
264266338Seric		this change does send two line 220 greetings, with the
264366338Seric		second line reading "ESMTP spoken here".  The usersmtp
264466338Seric		module recognizes this and goes into ESMTP mode regardless
264566338Seric		of the setting of the "a" mailer flag.  Thus, "a" means
264666338Seric		"always try EHLO".
264766338Seric	AIX portability changes (thanks to Christophe Wolfhugel of
264866338Seric		Herve Schauer Consultants (Paris) for providing me with
264966338Seric		an INSA account for this purpose).  Lightly tested.  Use
265066338Seric		-D_AIX3.  This probably breaks compatibility with some
265166338Seric		older systems (e.g., 4.2bsd) but still works on SunOS
265266338Seric		4.1.2, Ultrix 4.2A, HP-UX 8.07, OSF/1 T1.3, and AIX 3.2.3.
265366338Seric	Fix a problem causing an error message loop if the output channel
265466338Seric		is hosed.
265566338Seric	Add the Makefiles that I use for various environments -- some are
265666338Seric		Berkeley make versions and some are old make versions.
265766338Seric		My makefile for the NeXT box has gotten lost, alas!
265866338Seric	PRALIASES: support for printing NEWDB databases.  From
265966338Seric		Michael J. Corrigan of U.C. San Diego.
266066338Seric	CONFIG: don't pass pseudo-domains to $[ ... $] (if you have
266166338Seric		a wildcard MX it can have wierd results).  From
266266338Seric		Christophe Wolfhugel.
266366338Seric	CONFIG: dot terminate relay hostnames in S0.  From Christophe
266466338Seric		Wolfhugel.
266566338Seric
266666338Seric6.59/6.28	93/05/13
266766338Seric	Log version with SMTP daemon startup message.
266866338Seric	Adjust setproctitle to work on NetBSD and BSD/386.
266966338Seric	Fix null pointer reference in MX fallback code.
267066338Seric	A bunch of minor fixes from Eric Wassenaar:
267166338Seric		If deliver cannot execv the mailer, return EX_OSERR
267266338Seric			instead of EX_TEMPFAIL (to give better
267366338Seric			error messages).
267466338Seric		Consistently malloc e_message.
267566338Seric		Catch degenerate case of calling returntosender()
267666338Seric			with an empty returnq.
267766338Seric		MIME reformatting.
267866338Seric
267966338Seric6.58/6.28	93/05/13
268066338Seric	Fix bug that can cause incorrect verbose display of user smtp
268166338Seric		messages.
268266338Seric	Disable SMTP VERB command if PRIV_NOEXPN is set (since this
268366338Seric		could reveal the same information.
268466338Seric	Allow failure when reading SMTP greeting message to go on to
268566338Seric		next MX host.
268666338Seric	Add "MIME-Version: 1.0" header if using MIME (this was NOT
268766338Seric		included in RFC 1344, but Bill King of Allan-Bradley
268866338Seric		Company forwarded me email from Nathaniel Borenstein
268966338Seric		claiming that it was an inadvertent omission).
269066338Seric	Don't use Content-Type: X-message-header.  According to John
269166338Seric		Myers of CMU, many MIME readers will completely ignore
269266338Seric		the data if they don't recognize it.  Instead, just
269366338Seric		add a blank line to make it a legal (empty) message.
269466338Seric	Fix problem causing dots to keep getting appended to cached
269566338Seric		hostnames.  This can cause buffer overrun conditions.
269666338Seric		The problem was found by Erik Forsberg of Retix,
269766338Seric		although I used a different bug fix than he provided.
269866338Seric	Fix parsing of split header/envelope rewriting specs -- from
269966338Seric		Eric Forsberg.
270066338Seric	Fix from Eric Wassenaar to correct To: lists in error messages.
270166338Seric
270266338Seric6.57/6.28	93/05/11
270366338Seric	Fix minor glitch causing extra ctladdrs to be output to queue
270466338Seric		file.  Just an annoyance.
270566338Seric	Cache results of name server canonification lookups to avoid
270666338Seric		backed up queue runs.
270766338Seric	Major rewrite of alias.c: considerable cleanup, plus sample
270866338Seric		(untested) support for NIS aliases.  The "A" option
270966338Seric		can now be a comma separated list (or be repeated) --
271066338Seric		that is, you can have multiple alias databases.  Each
271166338Seric		database can have the syntax ``class:file''; if no class
271266338Seric		is specified, the "implicit" class is assumed.  Implicit
271366338Seric		searches through a list of compiled in types -- hash,
271466338Seric		dbm, nis, and stab.  Alias files are searched in the
271566338Seric		order they are listed.  For example:
271666338Seric			OAhash:/etc/aliases.local,/etc/aliases
271766338Seric			OAnis:mail.aliases@my.nis.domain
271866338Seric		first searches the hash database /etc/aliases.local,
271966338Seric		then the regular /etc/aliases database, then the NIS
272066338Seric		map "mail.aliases" in the NIS domain "my.nis.domain".
272166338Seric	If in Verbose mode (probably from VERB command) run SMTP job
272266338Seric		in foreground and don't do RCPT optimizations.
272366338Seric	Add udb :mailsender as equivalent to owner- for regular aliases.
272466338Seric	Delete option 8; add option 7 that means the opposite.  That is,
272566338Seric		default to 8-bit mode; a special option is needed to
272666338Seric		force sendmail into 7 bit mode.
272766338Seric	Send error messages in encapsulated MIME format.
272866338Seric	New compile flag "NIS" that turns on NIS alias and NIS map
272966338Seric		support.
273066338Seric	Add "j" option to send error messages in MIME (RFC 1341)
273166338Seric		encapsulated message format per RFC 1344.  The
273266338Seric		syntax is pretty ugly if you don't have MIME-aware
273366338Seric		user agents.
273466338Seric	Clean up message handling (for display in mailq output).
273566338Seric	New setproctitle implementation for 4.4bsd.
273666338Seric	Create files (such as ~/dead.letter) using mode FileMode (the
273766338Seric		F option value) instead of 0666.
273866338Seric	Fix bug causing output of EXPN command to not be fully qualified.
273966338Seric		This may cause some problems with UUCP addresses that
274066338Seric		will require some config file assistance -- specifically,
274166338Seric		the $: part has to include the host name for this output
274266338Seric		to make sense.
274366338Seric	Fix a problem that sometimes diagnosed errors and still sent the
274466338Seric		message if the header syntax was bad.
274566338Seric	Fix a bug that caused an error message to be emailed when sendmail
274666338Seric		was operating in -bv mode.
274766338Seric	Add "ListenQueueSize" keyword to daemon options option (OO) to
274866338Seric		set the queue size parameter passed to listen().  You
274966338Seric		will normally have to tweak your kernel to up this.
275066338Seric	Strip spaces off of beginning of message-id before logging (in
275166338Seric		case it was folded across lines).
275266338Seric	Tweak compile flags in daemon.c -- there were some cases where
275366338Seric		it wouldn't work without NETINET.
275466338Seric	Change *file* mailer to output all the usual default headers
275566338Seric		(From, Date, Message-Id).  It gets used when sending
275666338Seric		back error messages.
275766338Seric	CONFIG: explicitly catch and diagnose list:; syntax in ruleset
275866338Seric		zero -- this is not a valid recipient syntax according
275966338Seric		to RFC 821.
276066338Seric	CONFIG: add confMIME_FORMAT_ERRORS to send error messages in
276166338Seric		MIME format.  Defaults to on.
276266338Seric	CONFIG: add SMTP_MAILER_FLAGS and UUCP_MAILER_FLAGS to augment
276366338Seric		the flags for those mailers.
276466338Seric
276566338Seric6.56/6.27	93/05/01
276666338Seric	Fix problem that causes the fallback mail to postmaster
276766338Seric		(case ESM_POSTMASTER in savemail()) to not look at
276866338Seric		aliases (ugh).
276966338Seric	Some more HPUX tweaking (compile flag hpux => __hpux so it
277066338Seric		still works in ANSI mode).
277166338Seric	Don't try to flock non-regular files when mailing to a file.
277266338Seric		In particular, this was a problem if you tried to
277366338Seric		send to /dev/null.
277466338Seric	Fix a wierd bug that can cause senders to be queued as
277566338Seric		recipients if the name server is down when the mail
277666338Seric		is initially sent.  This hack just ignores sender
277766338Seric		deletion (essentially, it sets the MeToo flag) if there
277866338Seric		is a TEMPFAIL during processing of the sender address.
277966338Seric		Obscure.
278066338Seric	Fix a dangling else problem -- from Brian Bullen from University
278166338Seric		of Stirling, UK.
278266338Seric	Add the "b" mailer flag to force a blank line on the end of
278366338Seric		messages.  Some brilliant versions of /bin/mail insist
278466338Seric		on this but do not add it themselves.
278566338Seric	Add the "g" mailer flag to prevent user SMTP from sending
278666338Seric		"MAIL From:<>".  This is only intended to be a
278766338Seric		transitional gesture, and should not be used if at
278866338Seric		all possible.  It appears that Berkeley and IDA
278966338Seric		config files have always handled this properly; the
279066338Seric		UK config kit apparently does not.
279166338Seric	Don't lowercase and then capitalize header field names -- leave
279266338Seric		them with original capitalization.  Fixes from Bill
279366338Seric		King of Allen-Bradley Company.
279466338Seric	Further cleanup and improved reporting of error messages,
279566338Seric		particularly conditions that cause messages to be
279666338Seric		requeued for future delivery.
279766338Seric	Tweak syslog priorities in some cases.
279866338Seric	CONFIG: clean up route-addr on UUCP addresses.
279966338Seric
280066338Seric6.55/6.25	93/04/27
280166338Seric	HPUX 8.07 compatibility changes in getla() -- I had to make
280266338Seric		these changes to get it to work at Berkeley, although
280366338Seric		others seem to have been working before (???).
280466338Seric	Various patches to XLA code.
280566338Seric	Fix problem that causes setuid bit on files to be ignored from
280666338Seric		SMTP or in queue runs.  Problem noted by Jason Ornstein
280766338Seric		of Under The Wire, Inc.
280866338Seric	Fix problem that can cause CNAMEs to be ignored.
280966338Seric	Generalize getmxrr to match local host in $=w instead of a
281066338Seric		single name passed in.
281166338Seric	Some cleanup from Eric Wassenaar:
281266338Seric		Use FileMailer instead of ProgMailer in two places.
281366338Seric		Eliminate duplicate 8th-bit stripping in commaize.
281466338Seric		Fix a problem with mis-parsing of backslash escapes
281566338Seric			under some circumstances.
281666338Seric	NIS map fix (was always including trailing null character)
281766338Seric		from Mike Glendinning of Ingres UK.
281866338Seric	Add "a" mailer flag to try using ESMTP.  It tries the EHLO
281966338Seric		command and if that fails falls back to regular SMTP.
282066338Seric		Also parses EHLO option keywords.  If host supports
282166338Seric		SIZE extension, this is added to the MAIL FROM:
282266338Seric		command.
282366338Seric	Extend "b" option to include a second value which is the
282466338Seric		maximum message size this server is willing to accept.
282566338Seric		For example, a value of "10/1000000" says that there
282666338Seric		must be ten blocks free, and sendmail will reject
282766338Seric		any message larger than one megabyte.
282866338Seric	Some portability hooks for NeXT (this could be applicable
282966338Seric		to Mach in general).  You have to create an empty
283066338Seric		file called "unistd.h" to get it to compile.
283166338Seric	Adjust config values (MAXLINE, MAXATOM, and PSBUFSIZE) to
283266338Seric		be more generous.
283366338Seric	Add X400-Received: to the list of headers tagged with H_TRACE
283466338Seric		in conf.c.  From Bill King, Allen-Bradley Co.
283566338Seric
283666338Seric6.54/6.25	93/04/19
283766338Seric	Fix problem that caused redefinition of SMTP and QUEUE compile
283866338Seric		flags.  Pointed out by Jon Forrest of the Sequoia 2000
283966338Seric		project at Berkeley.
284066338Seric	Properly handle \! hack -- it was treating host\!user as one
284166338Seric		token (host!user) instead of three (host, !, user).
284266338Seric		Fix from Eric Wassenaar of NIKHEF-H.
284366338Seric	Fix compilation problem in getauthinfo() if IDENTPROTO is off.
284466338Seric	Turn off DEFNAMES and DNSRCH when getting the hostsignature
284566338Seric		(i.e., MX records) in level 1 configuration files; this
284666338Seric		matches the old behaviour.  From Motonori Nakamura of
284766338Seric		Kyoto University.
284866338Seric	Improve error message printing -- if sent through an alias,
284966338Seric		error messages include the name of the alias in the
285066338Seric		message.  Unfortunately, in order to make this work
285166338Seric		properly in queue runs, this changes the format of the
285266338Seric		C line in the qf file.  The relatively uselessness of
285366338Seric		the previous information was pointed out to me by
285466338Seric		Allan E Johannesen of WPI.
285566338Seric	Add XLA compile flag to add hooks to Christophe Wolfhugel's
285666338Seric		extended load average code.  This is still in very early
285766338Seric		form.  For information regarding the guts of the xla
285866338Seric		code, contact Christophe.Wolfhugel@grasp.insa-lyon.fr.
285966338Seric	Additional hooks for detecting tempfails in rewriting rules
286066338Seric		(that is, in map lookups).
286166338Seric
286266338Seric6.53/6.25	93/04/15
286366338Seric	Properly diagnose ruleset zero returning null (instead of a mailer
286466338Seric		triple).  From Motonori Nakamura of Kyoto University.
286566338Seric	More generalization of socket code for other protocols.
286666338Seric	Shorten timeouts on reverse name lookups -- since they are done
286766338Seric		during connection establishment, long timeouts here can
286866338Seric		cause higher level timeouts.  This mainly serves to accept
286966338Seric		mail from hosts that do not have proper reverse (PTR) DNS
287066338Seric		records set up.
287166338Seric	Reset e_statmsg before each mailer invocation to avoid bogus
287266338Seric		messages in the log.
287366338Seric	Redefine $r, $s, and $_ in error envelopes so you don't get
287466338Seric		incorrect cruft in the error message.  Problem noted by
287566338Seric		Motonori Nakamura of Kyoto University.
287666338Seric	Fix a problem that can cause failure to return errors to Postmaster
287766338Seric		in certain cases.  From Motonori Nakamura.
287866338Seric	Fix a problem that can cause some systems to give duplicate error
287966338Seric		messages when a bad syntax address such as "<a" is presented
288066338Seric		to an SMTP server.   It doesn't seem to occur on all
288166338Seric		machines.  From Motonori Nakamura.
288266338Seric	Default IDENTPROTO off for Ultrix and HPUX, which apparently have
288366338Seric		the interesting "feature" that when they receive a "Host
288466338Seric		unreachable" message they closes all open connections to
288566338Seric		that host.  However, some firewall gateways send this message
288666338Seric		if you try to connect to an unauthorized port, such as the
288766338Seric		IDENT port (113).  Thus, no email can be received from such
288866338Seric		hosts.  There is some evidence that versions of Ultrix before
288966338Seric		4.3 do not have this problem.  Thanks to Tom Ivar Helbekkmo
289066338Seric		for pointing out this behaviour to me and to Michael Corrigan
289166338Seric		of U.C. San Diego for informing me about the HPUX problem.
289266338Seric	Allow IPC mailers to return a colon-separated list of hosts in the
289366338Seric		$@ clause; these are searched in order as though they were
289466338Seric		MX records.
289566338Seric	When sending an error report, print the list of addresses tagged
289666338Seric		as bad.  Requested by Allan E Johannesen of WPI.
289766338Seric	Change map function calls to return a status code.  This gets
289866338Seric		passed back as the result of rewrite.  Parseaddr marks
289966338Seric		the address as a QUEUEUP address if the return code is
290066338Seric		EX_TEMPFAIL.  All this to queue properly if the name
290166338Seric		server is down.  This code is not well tested.  This code
290266338Seric		changes the interface to map lookup functions (a fifth
290366338Seric		parameter, int *statp, is added).  Feature requested by
290466338Seric		Dan Oscarsson.
290566338Seric	Don't delete quotes (in the dequote map) if there are spaces in
290666338Seric		the string, since this would cause them to be replaced by
290766338Seric		the SpaceSub character.
290866338Seric	Accept BODY=8BITMIME on SMTP MAIL command.  This isn't advertised
290966338Seric		because the 8BIT to 7BIT translation doesn't exist yet.
291066338Seric		This does add a "bodytype" field to both envelope and
291166338Seric		queue file and a -B command line flag to pass the type in
291266338Seric		during direct invocations.
291366338Seric	Discard return error messages only on responses to responses to
291466338Seric		responses, not on responses to responses.  That is, the
291566338Seric		algorithm is to try return to sender, then return to
291666338Seric		postmaster, then discard.  Previously it discarded
291766338Seric		immediately if the return to sender pass failed.
291866338Seric	CONFIG: back out change to hide unqualified hostnames behind %-hack.
291966338Seric		This screws up local aliases and .forward files.
292066338Seric	CONFIG: add FEATURE(nocanonify) to turn off calls to $[ ... $];
292166338Seric		some sites only handle completely canonified names.
292266338Seric		Requested by John Gardiner Myers of CMU.
292366338Seric	CONFIG: some UUCP code was still included even if FEATURE(nouucp)
292466338Seric		was specified.
292566338Seric
292666338Seric6.52/6.24	93/04/10
292766338Seric	Clean up some minor glitches on error return messages pointed out
292866338Seric		by Motonori Nakamura of Kyoto University.
292966338Seric	Fix reply() to not reset SmtpReplyBuffer on fatal errors; this
293066338Seric		was supposed to reset SmtpMsg Buffer.  This makes the
293166338Seric		client side code virtually useless.  Reported by Allan
293266338Seric		E Johannesen of WPI and Phil Brandenberger of Swarthmore.
293366338Seric	Better debug messages if fuzzy is disabled, suggested by Allan
293466338Seric		E Johannesen of WPI.
293566338Seric	Offset SmtpReplyBuffer by four in usersmtp when checking for
293666338Seric		loopback.  From Eric Wassenaar.
293766338Seric	Don't set $s until after runinchild in srvrsmtp -- otherwise
293866338Seric		it gets cleared.  From Eric Wassenaar.
293966338Seric	Implement IDA-style $&x for deferred macro expansion.
294066338Seric	More POSIX compatibility.
294166338Seric	CONFIG: Hide unqualified hostnames behind %-hack using $s as the
294266338Seric		actual sender.  This is only done if $r is non-null, that
294366338Seric		is, if this is not locally submitted mail.
294466338Seric	CONFIG: Add FEATURE(bitdomain) allowing mapping of BITNET host
294566338Seric		names to internet domains.  A program contributed by
294666338Seric		John Gardiner Myers of CMU to create the maps is included
294766338Seric		in the contrib directory (in the "misc" tar file).
294866338Seric	CONFIG: Add FEATURE(uucpdomain) for a similar mapping for UUCP
294966338Seric		hosts.  There is currently no tool to create this map.
295066338Seric
295166338Seric6.51/6.23	93/04/04
295266338Seric	Add D= mailer flag to specify a path of possible working directories
295366338Seric		in which to execute the mailer.  This is intended for the
295466338Seric		prog mailer; some shells can get upset if they don't have
295566338Seric		access to the current directory.
295666338Seric	Add RFC 1413 (IDENT) protocol support.  This is only very loosely
295766338Seric		tested.  This adds a $_ macro to be the authenticated
295866338Seric		info (in ``user@domain [address]'' form) and debug flag
295966338Seric		9 to trace the protocol.
296066338Seric	Check for loopbacks in usersmtp instead of srvrsmtp -- there is no
296166338Seric		reason for a local agent to not be talking to the localhost
296266338Seric		(although the inverse is not true).
296366338Seric	Add a few hooks for automated map rebuilding.  This is certainly
296466338Seric		not done yet.
296566338Seric	CONFIG: Have prog mailer specify a path of ``D=$z:/'' -- that is,
296666338Seric		user's home directory then the root.
296766338Seric	CONFIG: Log RFC 1413 identification in Received: line.
296866338Seric
296966338Seric6.50/6.22	93/04/01
297066338Seric	Fixes to requeueing code to make it compute priority, nrcpts,
297166338Seric		and the like properly.
297266338Seric
297366338Seric6.49/6.22	93/04/01
297466338Seric	Diagnose incorrect privacy flags.  Suggested by Bryan Costales
297566338Seric		of ICSI.
297666338Seric	Some ANSI C fixes.
297766338Seric	Arrange to quote backslashes as well as other special characters
297866338Seric		in the phrase part of a route-addr.
297966338Seric	Some fixes to FallBackMX code suggested by Motonori Nakamura of
298066338Seric		Kyoto University.
298166338Seric	More vigorous zeroing of CurHostAddr to avoid logging of bogus
298266338Seric		host addresses when you are actually just printing
298366338Seric		information from the MCI structure; problem noted by
298466338Seric		Michael Corrigan of U.C. San Diego.
298566338Seric	Don't ignore rest of queue if any job is not runnable.  This can
298666338Seric		also cause an incorrect job to be lost.  Fix from
298766338Seric		Eric Wassenaar.
298866338Seric	Always respond "quickly" to RCPT command; do alias expansion and
298966338Seric		the like later.  This also means that mail for lists that
299066338Seric		have errors will be acccepted, and an error sent back
299166338Seric		later.  This is done by instantiating the queue file
299266338Seric		and then immediately running and requeueing it.
299366338Seric
299466338Seric6.48/6.22	93/03/30
299566338Seric	Fix incorrect diagnosis of infinite loop in ruleset.  Problem noted
299666338Seric		by several people.
299766338Seric	Improve information printed when infinite loops are discovered.
299866338Seric	Zero CurHostAddr to fix erroneous internet addresses in log when no
299966338Seric		addresses can be bound.  Pointed out by Motonori Nakamura
300066338Seric		of Kyoto University.
300166338Seric	"Probe" SMTP connections using RSET instead of NOOP "just in case".
300266338Seric		Suggested by John Gardiner Myers of CMU.
300366338Seric	Don't warn about -f if you are setting sender to yourself.
300466338Seric
300566338Seric6.47/6.22	93/03/29
300666338Seric	Fix incompatible call to endmailer in smtpquit which causes core
300766338Seric		dumps.  Noted by Allan E Johannesen of WPI.
300866338Seric	HPUX portability changes from Michael J. Corrigan of UC San Diego.
300966338Seric	Require MAIL before RCPT command in srvrsmtp.c.  This had been
301066338Seric		intentional from the 821 draft days when the order wasn't
301166338Seric		clear, but is silly now.
301266338Seric	Fix bug in nis_magic routine that was initializing parameters
301366338Seric		incorrectly.  Fix from Takahiro Kanbe of Fuji Xerox
301466338Seric		Information Systems Co., Ltd.
301566338Seric	Change default for PrivacyFlags in conf.c to 0 -- since it always
301666338Seric		"or"s in new values, there was no way to turn off the
301766338Seric		AuthWarning stuff.
301866338Seric	Add O option to set SMTP daemon options.
301966338Seric	Add V option to set fallback MX host.  This always sorts at lower
302066338Seric		priority than anything it gets from the name server.  It
302166338Seric		should only be used for environments with very bad network
302266338Seric		connectivity.  Requested by several people.
302366338Seric	Log sending info.  It's not clear this is a good idea.
302466338Seric	CONFIG: fix typo in mailertable code.  Noted by Phil Brandenberger
302566338Seric		of Swarthmore.
302666338Seric	CONFIG: add confDAEMON_OPTIONS and confFALLBACK_MX to set options
302766338Seric		O and V, respectively.
302866338Seric
302966338Seric6.46/6.21	93/03/26
303066338Seric	Fix botch in server SMTP that broke transactions that did not
303166338Seric		use HELO first (like MH).  Fix from Michael Corrigan
303266338Seric		of U.C. San Diego.
303366338Seric	Fall back to other MX records if there is an error anywhere
303466338Seric		in delivery (actually on MAIL or DATA -- RCPT is harder).
303566338Seric		Suggested by John Gardiner Myers and Motonori Nakamura.
303666338Seric	Revert to non-prototypes -- it turns out that our ANSI C
303766338Seric		compiler is more forgiving than most others about
303866338Seric		mixing prototyped extern declarations with non-prototyped
303966338Seric		function definitions.
304066338Seric	Fix a problem with multi-word class matching pointed out by
304166338Seric		Neil Rickert.  Given:
304266338Seric			CX b a.b.c
304366338Seric			R$+ $=X $+	$: $1 < $2 > $3
304466338Seric		the input "user@a.b.c" failed instead of being properly
304566338Seric		rewritten as "user@a.<b>.c".
304666338Seric	Neil also convinced me that it was correct that $~ should match
304766338Seric		only one token -- the problem is that it's always possible
304866338Seric		to add another token, so $~ matches far too eagerly.
304966338Seric
305066338Seric6.45/6.21	93/03/25
305166338Seric	Implement multi-word classes (properly!).
305266338Seric
305366338Seric6.44/6.21	93/03/25
305466338Seric	Add X-Authentication-Warning: headers to clue users into possible
305566338Seric		attempts to forge mail.  This is on the authwarnings
305666338Seric		privacy flag, but is the default.  Suggested by Bryan
305766338Seric		Costales of ICSI.
305866338Seric	Pass default units for convtime in so they can be more reasonable.
305966338Seric	Allow config files to always add a new Comments: header (i.e.,
306066338Seric		they will be added even if an old one already exists).
306166338Seric		Suggested by Bryan Costales of ICSI.
306266338Seric	Allow config files to delete an existing Return-Path: header.
306366338Seric		These should only be added at final delivery.  Suggested
306466338Seric		by Bryan Costales of ICSI.
306566338Seric	Some debugging additions.  Suggested by Bryan Costales of ICSI.
306666338Seric	Clean up logging of Family 0 addresses.  Noted by David Muir
306766338Seric		Sharnoff and others.
306866338Seric	Add a "dequote" map class.  This allows config files to strip
306966338Seric		quotes off of addresses.  Note that this is not a builtin
307066338Seric		map, just a class -- so you have to define the map
307166338Seric		using the K line.
307266338Seric	Fix a bug in the queueup() loop getting a locked tf where in
307366338Seric		very odd cases it can fall off the bottom and core dump.
307466338Seric		Of course, it was P{r Emanuelsson who found it....
307566338Seric	Open a new transcript when splitting an envelope.  Problem found
307666338Seric		by Allan E Johannesen of WPI.
307766338Seric	Improved error output in endmailer if the mailer core dumps.
307866338Seric	CONFIG: Fix typo in UUCP mailer definition.
307966338Seric	CONFIG: Default several of the new options on: eight bit input,
308066338Seric		privacy flags set to "authwarnings", and message warning
308166338Seric		set to 4h.
308266338Seric	CONFIG: Use dequote map.
308366338Seric
308466338Seric6.43/6.20	93/03/23
308566338Seric	Fix problem with assumption of an sa_len field in a generic
308666338Seric		sockaddr -- it turns out that most vendors haven't
308766338Seric		picked up this (very important) fix.
308866338Seric	Change compilation flags for daemon code -- select one or both
308966338Seric		of NETINET or NETISO, but don't ever set DAEMON manually.
309066338Seric	CONFIG: add FEATURE(mailertable) to do IDA-style mailertables.
309166338Seric
309266338Seric6.42/6.19	93/03/19
309366338Seric	Use Postmaster as default fallback return address, not root.
309466338Seric	POSIX changes for file descriptor handling.
309566338Seric	Diagnose errors writing new queue file.
309666338Seric	If you change the owner using an owner- alias, also change the
309766338Seric		error mode to EM_MAIL so that errors don't get dropped
309866338Seric		into an inappropriate directory.  Problem noted by
309966338Seric		Allan E Johannesen of WPI.
310066338Seric	If you are su'ed to root, send email as who you really are, not
310166338Seric		as root.  From Brian Kantor of U.C. San Diego.
310266338Seric	Allow warning messages to be sent after a configurable interval
310366338Seric		has passed without delivery.  The message is sent only
310466338Seric		once per envelope.  This changes the format of the qf
310566338Seric		file to have an F line, and the format of the T option
310666338Seric		to accept take the format "return/warn" (both intervals).
310766338Seric	Don't force all local names to lower case -- this was left over
310866338Seric		from the wierd handling of case mapping on aliases.  It
310966338Seric		is now driven (as expected) by the "u" mailer flag.
311066338Seric		Problem noted by P{r Emanuelsson.
311166338Seric	Fix problem that caused headers on returned email to be trashed;
311266338Seric		they were getting freed, but are still accessible via
311366338Seric		BlankEnvelope.
311466338Seric	Fix problem that caused bogus ids to be created on returned
311566338Seric		mail.
311666338Seric	Add support for ISO and other non-INET networking.  This is by
311766338Seric		no means finished yet.  This does assume a lot of other
311866338Seric		system support, like a version of gethostbyname that
311966338Seric		returns non-AF_INET addresses.
312066338Seric	CONFIG: change default on prog mailer to keep upper case in
312166338Seric		user names (i.e., in the program command line).
312266338Seric	CONFIG: strip trailing dots off of hosts in uucp mailer before
312366338Seric		convert to bang format.
312466338Seric	CONFIG: create new "relay" mailer for $R (LOCAL_RELAY) and $H
312566338Seric		(MAIL_HUB) delivery that doesn't add local domain.  Note
312666338Seric		that this violates 821, but is probably "more correct"
312766338Seric		for what we are trying to do.  Problem pointed out by
312866338Seric		Michael Graff of Iowa State.
312966338Seric
313066338Seric6.41/6.18	93/03/18
313166338Seric	Clean up unnecessary creates of queue ids (i.e., empty qf files)
313266338Seric		when not needed, such as when starting up an SMTP
313366338Seric		connection.
313466338Seric	Fix problem where split envelopes aren't instantiated in the queue.
313566338Seric		This is quite a serious bug.
313666338Seric	Owner- aliases had problems with leading spaces causing a
313766338Seric		premature delimitation.
313866338Seric
313966338Seric6.40/6.18	93/03/18
314066338Seric	Have ending 250 (after DATA) include the id; suggested by
314166338Seric		Brian Kantor of UC San Diego.
314266338Seric	Add logging on envelope splitting.
314366338Seric	Change queue ids to have one more letter encoding the hour of
314466338Seric		the day so that during a single day there is a greater
314566338Seric		likelihood of uniqueness; requested by Brian Kantor.
314666338Seric
314766338Seric6.39/6.18	93/03/18
314866338Seric	Fix minor compile problem if LOCKF is defined.
314966338Seric	Define size of tobuf in conf.h.  Observed by Toshinari Takahashi
315066338Seric		of Toshiba.
315166338Seric	Restore e_sender -- this is equivalent to e_from.q_paddr without
315266338Seric		decorations such as angle brackets and comments.
315366338Seric	OSF/1 on Alpha changes from Allan E Johannesen of WPI.
315466338Seric	CONFIG: fix typo in S3 for list syntax (;: => :;).  Thanks to
315566338Seric		Christopher Hoover for noting the problem.
315666338Seric
315766338Seric6.38/6.17	93/03/17
315866338Seric	Pass envelope to disconnect to avoid another use of CurEnv, which
315966338Seric		can apparently end up being null at inopportune times.
316066338Seric	Log "received from" as "relay=" for consistency (suggested by
316166338Seric		John Gardiner Myers).
316266338Seric	Fix major bug in header handling:  if no From: line existed in
316366338Seric		the header (so sendmail inserts one), and the sender is
316466338Seric		an alias that has an owner, the From: line shows the
316566338Seric		owner (as well as the envelope).  Fixed by early binding
316666338Seric		the headers (which will change debugging output).
316766338Seric	HPUX portability patches from Michael J. Corrigan of UC San Diego.
316866338Seric	Some attempts to adapt better to out of open file conditions.
316966338Seric	Some changes to ctladdr handling in queue files.
317066338Seric
317166338Seric6.37/6.17	93/03/16
317266338Seric	MAJOR CHANGE:  delete e_sender and e_returnpath (why are these
317366338Seric		different from e_from?) and $< macro.
317466338Seric	Log correct IP address in relay= field even if the connection
317566338Seric		times out.
317666338Seric	Log "received from [RESPONSE]" on EF_RESPONSE messages (from
317766338Seric		John Gardiner Myers).
317866338Seric	Fixes to SysExMsg logging (sometimes just got "message: %s"
317966338Seric		instead of "message: error message"), noted by Eric
318066338Seric		Wassenaar.  Also reported by Motonori Nakamura.
318166338Seric	Improvements to MX piggybacking code, from Motonori Nakamura.
318266338Seric	Fix case where CurHostName points to an auto variable that has
318366338Seric		been deallocated (from Motonori Nakamura).
318466338Seric	Fix bug causing newlines to be included in aliases if option
318566338Seric		"n" (check alias RHS) is set; bug noted by David Muir
318666338Seric		Sharnoff.
318766338Seric	Fix problem causing user names that should be mapped to lower
318866338Seric		case to not be mapped if they are sent during a queue
318966338Seric		run.  This greatly simplifies the case mapping code.
319066338Seric		Problem noted by Allan E Johannesen of WPI.
319166338Seric	Don't do recipient address rewriting in buildaddr.  This
319266338Seric		improperly did recipient rewriting on sender addresses,
319366338Seric		and just seems bogus in general -- but the change could
319466338Seric		break some .cf files.
319566338Seric	Pass TZ envariable to child processes for System V.
319666338Seric	CONFIG: allow LOCAL_RULE_1 and LOCAL_RULE_2 if you want to
319766338Seric		define those rulesets.
319866338Seric	KNOWN PROBLEM:  I have seen some problems on SunOS that causes
319966338Seric		the User Data Base to give errors on some addresses.  I
320066338Seric		have tracked the problem back at least as far as 93.02.15
320166338Seric		(version 6.22).  Running with debugging on makes it
320266338Seric		go away, so I conclude that it is referencing uninitialized
320366338Seric		stack data.  I haven't been able to track this down yet.
320466338Seric
320566338Seric6.36/6.16	93/03/08
320666338Seric	Allow local mailer to specify $@host -- this lets you assign the
320766338Seric		"foo" part of jgm+foo to $h for passing in to the local
320866338Seric		mailer.
320966338Seric	Additional debug printing in getcanonname (show query type).
321066338Seric	Don't add the e_fromdomain on sender addresses -- this interacts
321166338Seric		wierdly with the owner- code.
321266338Seric	Improve delivery logging to not log obvious or meaningless stuff.
321366338Seric	Include numeric IP address in Received: lines per RFC 1123 section
321466338Seric		5.2.8.
321566338Seric	Fixed a bug in checking stat() return value if restrictmailq is
321666338Seric		set.  Also, check the entire group set instead of just the
321766338Seric		primary group.  Both from John Gardiner Myers.
321866338Seric	Don't have usrerr automatically print errno, since this is often
321966338Seric		misleading.
322066338Seric	Use transienterror() in makeconnection after connect() fails and
322166338Seric		in openmailer after execve() fails (from Eric Wassenaar).
322266338Seric		Also moved transienterror() from util.c to conf.c.
322366338Seric	Clean up from= logging on response messages.
322466338Seric	Undo patch allowing prescan to return a null vector -- it breaks
322566338Seric		too many things.
322666338Seric	Config: FEATURE(notsticky) lets you use UDB for everything coming
322766338Seric		in to the machine, even if it is specifically targetted
322866338Seric		to this machine.  Without it, UDB is bypassed if the user
322966338Seric		name is fully qualified.
323066338Seric	Config: fix another minor botch with <> (local mailer wasn't
323166338Seric		mapping them properly).
323266338Seric
323366338Seric6.35/6.15	93/03/05
323466338Seric	Fix getrealhostname to return null if sinlen <= 0 -- this can
323566338Seric		occur if stdin is a pipe.
323666338Seric	Avoid infinite loop in getcanonname if name server return
323766338Seric		NO_DATA (for example).
323866338Seric	Config: avoid having C flag qualify list syntax and error syntax.
323966338Seric
324066338Seric6.34/6.14	93/03/05
324166338Seric	Fix logging in deliver to not pass too many parameters to Ultrix
324266338Seric		versions of syslog.
324366338Seric	Don't write the pid file until after the daemon has actually
324466338Seric		opened and conditioned the connection.
324566338Seric	Consider addresses "different" if their q_uids differ (so that
324666338Seric		two users forwarding to the same program will be seen
324766338Seric		as different, rather than the same).
324866338Seric	Fix problem with bad parameters in main() -- they set ExitStat
324966338Seric		but don't exit.
325066338Seric	Fix null pointer references through RealHostName -- painfully
325166338Seric		discovered by Allan E Johannesen of WPI.
325266338Seric	Fix bug causing user@@localhost to core dump (yuch).
325366338Seric	Config: don't put two @host.dom.ain on users in $=E in SMTP
325466338Seric		mailer.  Also, catch user@ (no host) in ruleset 0.
325566338Seric
325666338Seric6.33/6.13	93/03/03
325766338Seric	Config: add confCW_FILE as the name of the cw configuration file
325866338Seric		(defaults to /etc/sendmail.cw).  From P{r Emanuelsson.
325966338Seric	Allow prescan to return a pointer to an empty list -- this is
326066338Seric		not an error.  Also, clean up error reporting to avoid
326166338Seric		double errors (prescan reports once, then the caller
326266338Seric		reports again).
326366338Seric	Changes to avoid trusting T_ANY queries -- run them, but if you
326466338Seric		don't get the info you expected, do T_A and T_MX queries
326566338Seric		anyhow.  This also fixes an oversight where _res.options
326666338Seric		bits were being ignored.
326766338Seric	If PRIV_NOVRFY is set, use 252 response code instead of 502 per
326866338Seric		RFC 1123 section 5.2.3.  It's not 100% clear that this
326966338Seric		is correct, but it probably works better with stupid
327066338Seric		mailers that do a VRFY and only check the first digit.
327166338Seric
327266338Seric6.32/6.12	93/03/02
327366338Seric	Fix uninitialized variable "protocol" in smtp code.
327466338Seric	Include <unistd.h> in sendmail.h -- move towards POSIX/ANSI.
327566338Seric	Additional hooks for RFC 1427 (ESMTP SIZE extension).  This
327666338Seric		includes requiring that enoughspace() know the system
327766338Seric		block size, which will undoubtedly break most ports.
327866338Seric	Trace flag 19 in use for srvrsmtp.c.
327966338Seric	Additional logging -- notably the sending mailer name.  This
328066338Seric		also changes the delivery logging to strict field=value
328166338Seric		syntax.
328266338Seric	Fix some problems with messages getting sent even to addresses
328366338Seric		that had been marked bad -- from Eric Wassenaar.
328466338Seric	More WIDE changes: accept host name inside [...] as non-MXed
328566338Seric		host.  This is intended ONLY for use inside firewalled
328666338Seric		environments, where the MX points at the gateway.
328766338Seric	Change .cf file conventions so that mapping for <> addresses
328866338Seric		don't have an @ in them (to avoid confusing the C mailer
328966338Seric		flag).  Pointed out by Neil Rickert.
329066338Seric	Config extensions for Sam Leffler's FlexFAX software.
329166338Seric
329266338Seric6.31/6.10	93/02/28
329366338Seric	Fix some more bugs in alias owner code -- there were some wierd
329466338Seric		cases where an error in a non-aliased name would override
329566338Seric		the return info in an aliased name with an owner.
329666338Seric	Changes from WIDE Project, forwarded to me by Motonori Nakamura:
329766338Seric		Log actual delivery host (after MX et al); from
329866338Seric			yasuhiro@dcl.co.jp.
329966338Seric		Log daemon startup.
330066338Seric		Deliver Postmaster copies without a body.
330166338Seric		Better logging of SMTP senders.
330266338Seric		Send all program email as daemon even when local.
330366338Seric	As requested in various forms from many people, accept -qIstring
330466338Seric		to limit queue runs to jobs with queue-id matching string.
330566338Seric		Similarly for -qRstring for recipients, -qSstring for
330666338Seric		senders.
330766338Seric	Initial hooks for ESMTP support (see RFC 1425).
330866338Seric	Fixed a syntax error in the UUCP mailer specification that caused
330966338Seric		core dumps on startup.
331066338Seric	Check for missing A= or P= arguments in mailer definitions.
331166338Seric
331266338Seric6.30/6.10	93/02/27
331366338Seric	Require FROZENCONFIG compilation flag to include frozen
331466338Seric		configuration code.  Frozen configuration is really
331566338Seric		not a very good idea any more, particularly in shared
331666338Seric		library environments.
331766338Seric	Do better checking of errno after opens of :include: and .forward
331866338Seric		files to defer delivery on network and other transient
331966338Seric		errors.  Suggestion from Craig Everhart.
332066338Seric	Fix minor botch in read timeout macro processing.
332166338Seric	Add FEATURE(nouucp) to config files for sites that know absolutely
332266338Seric		nothing about UUCP.
332366338Seric	Add built cf files to distribution tape and clarify how to build
332466338Seric		them if you don't have the Berkeley make.
332566338Seric	Some sizeof(long) portability changes for the Alpha, from Allan
332666338Seric		E Johannesen.
332766338Seric	Add "restrictmailq" privacy flag -- if set, only people in the same
332866338Seric		group as your queue directory can print the queue.  If you
332966338Seric		set this, be sure you also restrict access to log files....
333066338Seric	Fix another bug in owner-list stuff that can cause data files to
333166338Seric		be "lost".
333266338Seric	Fix a bug with queue runs that cause forwards to yourself to go
333366338Seric		into alias/forwarding loops.  I'm still iffy about this
333466338Seric		fix.
333566338Seric	Fix from Eric Wassenaar for suppression of return message code.
333666338Seric
333766338Seric6.29/6.9	93/02/24
333866338Seric	Fix yet another problem in alias owner code -- put the wrong return
333966338Seric		address on the enclosed return-to-sender letter.
334066338Seric
334166338Seric6.28/6.9	93/02/24
334266338Seric	Fix botch in alias owner code that caused it to not operate if the
334366338Seric		error was detected locally.
334466338Seric
334566338Seric6.27/6.9	93/02/24
334666338Seric	M_LOCAL => M_LOCALMAILER to avoid conflict with Ultrix include
334766338Seric		file <sys/mount.h>.
334866338Seric	Miscellaneous bug fixes from Eric Wassenaar:
334966338Seric		sendmail -bv -t logs the from line even though in verify
335066338Seric			mode only.
335166338Seric		sendmail -v can go into queue mode if shouldqueue returns
335266338Seric			TRUE.
335366338Seric	Add route-addr pruning per RFC 1123 section 5.3.3.  This can be
335466338Seric		disabled using the "R" option.
335566338Seric	Delete (always undocumented) -R flag (save original recipients);
335666338Seric		there are ways to syslog(3) these now.
335766338Seric	Clean up SMTP reply codes -- specify them as needed in the code,
335866338Seric		instead of in conf.c -- this was needed during the NCP to
335966338Seric		TCP transition, but seems silly now.  This also changes
336066338Seric		parameters to message and nmessage.
336166338Seric	Have mailstats read the .cf file to find the sendmail.st file and
336266338Seric		get text versions of mailer names.  An initial version of
336366338Seric		this code was provided by Tuominen Keijo (although the
336466338Seric		comments indicate the good bits were written by "E.V.").
336566338Seric	Add yet more System V compatibility hacks.
336666338Seric	Fix bug in VRFY code (assumes everything must be a local user).
336766338Seric	Allow specification of any of the hard-wired pathnames in the
336866338Seric		Makefile.
336966338Seric	Delete concept of "trusted users" -- this really didn't provide
337066338Seric		any security anyway, and caused some problems.
337166338Seric	Delete last vestige of support for the word "at" as an equivalent
337266338Seric		to the character "@".
337366338Seric	Propagate owner-foo alias information into the envelope sender.
337466338Seric		Based on code from John Gardiner Myers.  This is a major
337566338Seric		semantic change -- beware!
337666338Seric	Allow $@ on LHS to indicate "match zero" -- this is used to match
337766338Seric		the null expression.
337866338Seric
337966338Seric6.26/6.8	93/02/21
338066338Seric	Don't "lose" queue runs.  Very important fix from (who else?)
338166338Seric		Eric Wassenaar.
338266338Seric	Completely reset state on RSET command -- from Eric Wassenaar.
338366338Seric	Send error messages and return receipts using an envelope sender
338466338Seric		of <> regardless of the setting of $n.  Rewriting rules
338566338Seric		can undo this if they feel the necessity, as might be
338666338Seric		needed for networks that don't understand the syntax.
338766338Seric		This is permitted by RFC 821 section 3.6 and required by
338866338Seric		RFC 1123 section 5.3.3.  THIS REQUIRES VERSION 4 CONFIG
338966338Seric		FILES because the rulesets must be able to parse <>
339066338Seric		properly.
339166338Seric	Don't ever send error messages to "<>" -- they will get sent to
339266338Seric		the local postmaster or dumped in /usr/tmp/dead.letter
339366338Seric		instead.  Per RFC 1123 section 5.3.3.
339466338Seric	Explicitly check for email to yourself as a dotted quad.  You
339566338Seric		have to call $[ [ ... ] $] to get this.
339666338Seric	Up the message timeout to five days per RFC 1123 section 5.3.1.1.
339766338Seric	Make all read timeouts individually configurable, as strongly
339866338Seric		recommended by RFC 1123 section 5.3.2.
339966338Seric	Use f_bavail (blocks available to regular users) instead of f_bfree
340066338Seric		(blocks available to superuser) in free block checks.
340166338Seric	Change $d macro to be the current time, not the origination time,
340266338Seric		since this is consistent with how it is used now.
340366338Seric	Generalization of enoughspace from Eric Wassenaar covering
340466338Seric		SGI, Apollo, HPUX, Ultrix, and SunOS.
340566338Seric	Ignore process group signals -- some front ends can do this if
340666338Seric		you kill a window too quickly.  From Eric Wassenaar.
340766338Seric	Change umask to 022.
340866338Seric
340966338Seric6.25/6.8	93/02/20
341066338Seric	Close all cached connections before calling mailers and after
341166338Seric		forking for delivery (caused double closes which resulted
341266338Seric		in false errors).
341366338Seric	Add FEATURE(redirect) in config files -- this allows you to alias
341466338Seric		old addresses to a pointer to the new address that will
341566338Seric		give a 551 error message, but not deliver the mail.
341666338Seric	Some code changes to make the 551 errors look pretty.
341766338Seric	Names of M4 program paths in config files have changed -- they
341866338Seric		are all XXX_MAILER_PATH now, to match XXX_MAILER_FLAGS.
341966338Seric	Fix a bug in the QSELFREF code having to do with empty .forward
342066338Seric		files, reported by Eric Wassenaar.
342166338Seric	Add option "p" (privacy flags); this allows you to tune how
342266338Seric		picky the SMTP server will be.  This also adds the
342366338Seric		confPRIVACY_FLAGS M4 macro in the config files.
342466338Seric	Add option "b" (minimum blocks free).  If there are fewer than
342566338Seric		this number of blocks free on the filesystem containing
342666338Seric		the queue directory, the SMTP MAIL command will return
342766338Seric		a 452 response and ask you to try again later.  This
342866338Seric		also adds the confMIN_FREE_BLOCKS M4 macro in the config
342966338Seric		files.
343066338Seric	Made VRFY just verify (doesn't expand aliases and .forward files);
343166338Seric		EXPN does full expansion.  RCPT in queue-only mode also
343266338Seric		doesn't chase aliases and .forward.
343366338Seric
343466338Seric6.24/6.7	93/02/19
343566338Seric	Increase the number of domain search entries in domain.c to allow
343666338Seric		for the extra "" entry indicating the root domain.
343766338Seric		Reported by Motonori Nakamura of Kyoto U.
343866338Seric	Add a "SMART_HOST" in the configs for UUCP-connected sites that
343966338Seric		want to forward all mail with extra "@"s to that site.
344066338Seric		Also allows SMART_HOST, LOCAL_RELAY, and MAIL_HUB to
344166338Seric		be specified as ``mailer:hostname'' to use an alternate
344266338Seric		mailer.
344366338Seric	Clarified and updated some wording in the Operations Guide.
344466338Seric	Add the "c" mailer flag -- this suppresses all comment parts of
344566338Seric		addresses (requested by John Curran of NEARnet).
344666338Seric	Have -v print prompts in -bt mode even if stdin is not a terminal
344766338Seric		(default behaviour is to be silent if not reading from
344866338Seric		a terminal).  Suggested by Bryan Costales, ICSI.
344966338Seric	Move the metacharacters from C0 space (\001-\037) into C1 space
345066338Seric		(\201-\237).  This also fixes a bunch of potential bugs
345166338Seric		with G1 characters (\240-\276) in headers relating to
345266338Seric		negative numbers passed to isspace() et al.
345366338Seric	Add YP_LAST_MODIFIED and YP_MASTER_NAME to DBM version of alias
345466338Seric		database if YPCOMPAT is #defined.  Enhancement from
345566338Seric		Takahiro Kanbe of Fuji Xerox Information Systems Co., Ltd.
345666338Seric	Add "list" Precedence (-30); this can be used with old sendmails
345766338Seric		which will map to precedence 0 (which will return error
345866338Seric		messages).  Suggested by Stephen R. van den Berg.
345966338Seric	Many bug fixes from Eric Wassenaar of the National Institute for
346066338Seric			Nuclear and High-Energy Physics, Amsterdam:
346166338Seric		Clear timeouts properly on open failures in include().
346266338Seric		Don't dereference through NULL if no home directory found.
346366338Seric		Re-establish SIGCHLD signal on System 5 in reapchild().
346466338Seric		Avoid NULL pointer reference on -pFOO flag.
346566338Seric		Properly handle backslash escapes in comments.
346666338Seric		Correctly check reply status on SMTP NOOP command.
346766338Seric		Properly save SMTP error message if peer gives
346866338Seric			"Service Shutting Down" message.
346966338Seric		Avoid writing to the transcript if it couldn't be opened.
347066338Seric		Signal errors in SMTP children to parent properly.
347166338Seric	Handle self references in a list more globally (include a
347266338Seric		QSELFREF bit in the address flags).  This enhancement
347366338Seric		was suggested by Eric Wassenaar.
347466338Seric	Use initgroups() in hpux, even though it's System-V based.  The
347566338Seric		HASINITGROUPS compile flag can set this on other systems.
347666338Seric		This HPUX behaviour was pointed out by Eric Wassenaar.
347766338Seric
347866338Seric6.23/6.6	93/02/16
347966338Seric	Clean up handling of LogLevel to make it easier to figure out
348066338Seric		what's on what level.
348166338Seric	Change log levels to have some consistency:
348266338Seric		1    serious system failures, security problems
348366338Seric		2    lost communications, protocol failures
348466338Seric		3    other serious failures
348566338Seric		4    minor errors
348666338Seric		5    message collection
348766338Seric		6    vrfy logging, creation of return-to-sender
348866338Seric		7    delivery failures
348966338Seric		8    delivery successes
349066338Seric		9    delivery tempfails (queue ups)
349166338Seric		10   database expansion
349266338Seric		>64  debugging
349366338Seric	Allow IDA-style separated processing on S= and R= in Mailer
349466338Seric		definition lines.  Note that rulesets 1 and 2 are
349566338Seric		still used for both addresses as before.  Bruce Lilly
349666338Seric		gave a convincing argument that RFC976 insists on
349766338Seric		this behaviour.
349866338Seric	Added some time zones to arpatounix -- they may not be in the
349966338Seric		standards, but they are in use.  However, I may delete
350066338Seric		arpatounix entirely -- there appears to be no reason
350166338Seric		for it to exist.
350266338Seric	Change to UUCP mailer (in cf directory) to try to do a saner job.
350366338Seric		I'm still not certain about this mailer in general.
350466338Seric
350566338Seric6.22/6.5	93/02/15
350666338Seric	Fix bug that prevents saving letters in ~/dead.letter.
350766338Seric	Don't add angle brackets in VRFY command if angle brackets already
350866338Seric		exist in the address.
350966338Seric	Fix bogus error message in udbexpand.
351066338Seric	Null terminate host buffers in buildaddr (broken in 6.21) --
351166338Seric		IMPORTANT FIX!!
351266338Seric
351366338Seric6.21/6.5	93/02/15
351466338Seric	Fix another incorrect error message in alias.c, found by Azuma
351566338Seric		Okamoto.
351666338Seric	Fix a couple of problems in the more-configurable config files,
351766338Seric		found by Tom Ivar Helbekkmo.
351866338Seric	Fix problem with quoted :include: entries.
351966338Seric	Don't duplicate the filename on verbose printing of .forward and
352066338Seric		:include: contents.
352166338Seric	Extend size of prescan buffer (to allow bigger addresses).  Also,
352266338Seric		detect some buffer overflows.
352366338Seric	Log user SMTP protocol errors (log level 4).
352466338Seric
352566338Seric6.20/6.4	93/02/14
352666338Seric	Fix another problem in the MCI state machine caused when there
352766338Seric		were errors generated from the other end to commands
352866338Seric		other than RCPT.
352966338Seric
353066338Seric6.19/6.4	93/02/14
353166338Seric	Include load average support for DEC Alpha running OSF/1.
353266338Seric	Fix multiple-response problem with errors in MAIL From: line.
353366338Seric	Fix SMTP reply codes for invalid address syntaxes (give 501;
353466338Seric		never give multiple error messages for a single message).
353566338Seric	Fix problem where a cached connection timeout rejects all
353666338Seric		later connects to that host.
353766338Seric	Fix incorrect error message if alias.c is compiled with DBM only.
353866338Seric	Additional changes to fix nested conditionals (from Bruce Lilly).
353966338Seric	Recover more gracefully from operating system failures, particularly
354066338Seric		NULL returns from openmailer (from Noritoshi Demizu,
354166338Seric		OMRON Corporation).
354266338Seric	Log forward, alias, and userdb expand operations on log level 10;
354366338Seric		concept suggested by P{r (Pell) Emanuelsson.
354466338Seric	Changes for HPUX 8.07 compatibility.
354566338Seric
354666338Seric6.18/6.4	93/02/12
354766338Seric	Allow any config option to be set using an M4 define.
354866338Seric	Change UNAME compile flag to HASUNAME for IDA compatibility
354966338Seric		(besides, it's a better name).
355066338Seric	Note in README that on SunOS it must be linked -Bstatic.
355166338Seric	Fairly major change in domain.c to handle wildcard MX records
355266338Seric		more rationally.  NOTE: the "w" option (no wildcard MX
355366338Seric		records match local domain) has been eliminated.
355466338Seric	Fix some unset variable references pointed out by Bruce Lilly.
355566338Seric	Fix host name in process titles when using cached connection.
355666338Seric
355766338Seric6.17/6.3	93/01/28
355866338Seric	Fix System 5 compatibility changes to be compatible with the rest
355966338Seric		of the world.
356066338Seric
356166338Seric6.16/6.3	93/01/28
356266338Seric	Experimental fix for problem handling errors in the SMTP
356366338Seric		protocol in conjunction with connection caching.
356466338Seric	System 5 compatibility changes.
356566338Seric
356666338Seric6.15/6.3	93/01/26
356766338Seric	Fix a bug that causes local mail delivered using -odq to be
356866338Seric		eliminated as a duplicate (because it matched the
356966338Seric		ctladdr, now passed in as a C line).  These changes
357066338Seric		are pretty tricky......
357166338Seric
357266338Seric6.14/6.3	93/01/25
357366338Seric	Add debugging for some MCI errors.
357466338Seric
357566338Seric6.13/6.3	93/01/22
357666338Seric	Fix -e compatibility flag to take a value.
357766338Seric	Fix a couple of minor compilation warnings on Sun cc.
357866338Seric	Improve error messages in a few cases to be more self-explanatory.
357966338Seric
358066338Seric6.12/6.3	93/01/21
358166338Seric	Fix yet-another problem with environment handling, pointed out
358266338Seric		by Yoshitaka Tokugawa and Tom Ivar Helbekkmo.
358366338Seric	Some heuristics to try to limit resource exhaustion problems
358466338Seric		if a downstream host has been down for a long time.
358566338Seric	Fix problem with incorrect host name being logged in "Connection
358666338Seric		timed out" messages (from Tom Ivar Helbekkmo).
358766338Seric	Fix some ANSI C problems (from Takahiro Kanbe).
358866338Seric	Properly log message sender on returned mail during queue run.
358966338Seric	Count number of recipients properly.
359066338Seric	Fix a problem in yp map code.
359166338Seric	Diagnose "message timed out" (from Motonori Nakamura).
359266338Seric
359366338Seric6.11/6.3	93/01/20
359466338Seric	Fix problem with address delimitor inside quotes.
359566338Seric	Define $k and $=k to be the UUCP name (from the uname call)
359666338Seric		based on code from Bruce Lilly.
359766338Seric
359866338Seric6.10/6.2	93/01/18
359966338Seric	Implement arpatounix (largely code from Bruce Lilly).
360066338Seric	Log more info (suggested by John Myers).
360166338Seric	Allow nested $?...$|...$. (inspired by code from Bruce Lilly of
360266338Seric		Sony US).
360366338Seric	POSIX compatibility (noted by Keith Bostic).
360466338Seric	Handle SMTP MAIL command errors properly (urged by several people,
360566338Seric		notably John Myers of CMU).
360666338Seric	Do early diagnosis of .cf errors (notably referencing a RHS
360766338Seric		substitution that isn't on the LHS).
360866338Seric	Adjust checkpointing to better handle batched recipients, suggested
360966338Seric		by John Myers.
361066338Seric	Fix miscellaneous bugs.
361166338Seric	(config files:)  Implement MAIL_HUB for all local mail (to handle
361266338Seric		NFS-mounted directories) as urged by Tom Ivar Helbekkmo
361366338Seric		of the Norwegian School of Economics.
361466338Seric
361566338Seric6.9/6.1 	93/01/13
361666338Seric	Environment handling simplification/bug fix -- child processes
361766338Seric		get a minimal, fixed environment.  This avoids different
361866338Seric		behaviour in queue runs.
361966338Seric	Handle commas inside comments properly.
362066338Seric	Properly limit large messages submitted in -obq mode.
362166338Seric
362266338Seric6.8/6.1		93/01/10
362366338Seric	Check mtime of thaw file against .cf and sendmail binary, based on
362466338Seric		code from John Myers.
362566338Seric
362666338Seric6.7/6.1		93/01/10
362766338Seric	MX piggybacking, based on code from John Myers@CMU.
362866338Seric	Allow checkcompat to return -1 to mean tempfail.
362966338Seric	Bug fix in m_mno computation.
363066338Seric
363166338Seric6.6/6.1		93/01/09
363266338Seric	Tuning of queueing functions as recommended by John Gardiner Myers.
363366338Seric	Return mail headers (no body) on messages with negative precedence.
363466338Seric	Minor other bug fixes.
363566338Seric
363666338Seric6.5/6.1		93/01/03
363766338Seric	Fix botch causing queued headers to have ?XX? prefixes.
363866338Seric
363966338Seric6.4/6.1		93/01/02
364066338Seric	Changes to recognize special mailer types (e.g., file) early.
364166338Seric
364266338Seric6.3/6.1		93/01/01
364366338Seric	Pass timeouts to sfgets.
364466338Seric	Check for control characters in addresses.
364566338Seric	Fixed deferred error reporting.
364666338Seric	Report duplicate aliases.
364766338Seric	Handle mixed case recursive aliases.
364866338Seric	Misc bug fixes.
364966338Seric
365066338Seric6.2/6.1		92/12/30
365166338Seric	Put return-receipt-to on a conf.c flag (but don't set it).
365266338Seric	Fix minor syslog problem.
3653