Sendmail 8.12.3

Sendmail, Inc., and the Sendmail Consortium announce the availability of sendmail 8.12.3. This version fixes a long-standing MIME (7 to 8-bit) conversion bug and several smaller problems, e.g., a possible communication problem between the MTA and libmilter, a bug in handling (invalid) addresses containing 8-bit characters, a possible problem with small timeouts being lost on slow machines if itimers are used, and the handling of the 421 reply code and timeouts in the SMTP delivery code. There are two changes in the msp feature that may change the behavior: MX lookups are turned on for the SMTP mailers and hence `[localhost]' is used as default instead of `localhost', and confTIME_ZONE is set to USE_TZ in submit.mc. A complete list of changes can be found in the release notes below.

The version can be found at

ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.3.tar.gz
ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.3.tar.Z
ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.3.tar.sig
MD5 signatures:
5f376123cf75b51d95b9ca4caf386fdb sendmail.8.12.3.tar.gz
a6d0cc806e3810cd2f8caa061ebd888e sendmail.8.12.3.tar.Z
0a09a7543c284ca2228e116ad82e8576 sendmail.8.12.3.tar.sig

You only need one of the first two files (either the gzip'ed version or the compressed version). The .sig file contains the PGP signature of the tar file (after uncompressing it). The PGP signature was created using the Sendmail Signing Key/2002, available on the web site (http://www.sendmail.org/) or on the public key servers.

Since sendmail 8.11 and later includes hooks to cryptography, the following information from OpenSSL applies to sendmail as well.

PLEASE REMEMBER THAT EXPORT/IMPORT AND/OR USE OF STRONG CRYPTOGRAPHY SOFTWARE, PROVIDING CRYPTOGRAPHY HOOKS OR EVEN JUST COMMUNICATING TECHNICAL DETAILS ABOUT CRYPTOGRAPHY SOFTWARE IS ILLEGAL IN SOME PARTS OF THE WORLD. SO, WHEN YOU IMPORT THIS PACKAGE TO YOUR COUNTRY, RE-DISTRIBUTE IT FROM THERE OR EVEN JUST EMAIL TECHNICAL SUGGESTIONS OR EVEN SOURCE PATCHES TO THE AUTHOR OR OTHER PEOPLE YOU ARE STRONGLY ADVISED TO PAY CLOSE ATTENTION TO ANY EXPORT/IMPORT AND/OR USE LAWS WHICH APPLY TO YOU. THE AUTHORS ARE NOT LIABLE FOR ANY VIOLATIONS YOU MAKE HERE. SO BE CAREFUL, IT IS YOUR RESPONSIBILITY.

8.12.3/8.12.3	2002/04/05
	NOTICE: In general queue files should not be moved if queue groups
		are used.  In previous versions this could cause mail
		not to be delivered if a queue file is repeatedly moved
		by an external process whenever sendmail moved it back
		into the right place.  Some precautions have been taken
		to avoid moving queue files if not really necessary.
		sendmail may use links to refer to queue files and it
		may store the path of data files in queue files.  Hence
		queue files should not be moved unless those internals
		are understood and the integrity of the files is not
		compromised.  Problem noted by Anne Bennett of Concordia
		University.
	If an error mail is created, and the mail is split across different
		queue directories, and SuperSafe is off, then write the mail
		to disk before splitting it, otherwise an assertion is
		triggered.  Problem tracked down by Henning Schmiedehausen
		of INTERMETA.
	Fix possible race condition that could cause sendmail to forget
		running queues.  Problem noted by Jeff Wasilko of smoe.org.
	Handle bogus qf files better without triggering assertions.
		Problem noted by Guy Feltin.
	Protect against interrupted select() call when enforcing Milter
		read and write timeouts.  Patch from Gurusamy Sarathy of
		ActiveState.
	Matching queue IDs with -qI should be case sensitive.  Problem
		noted by Anne Bennett of Concordia University.
	If privileges have been dropped, don't try to change group ID to
		the RunAsUser group.  Problem noted by Neil Rickert of
		Northern Illinois University.
	Fix SafeFileEnvironment path munging when the specified path
		contains a trailing slash.  Based on patch from Dirk Meyer
		of Dinoex.
	Do not limit sendmail command line length to SM_ARG_MAX (usually
		4096).  Problem noted by Allan E Johannesen of Worcester
		Polytechnic Institute.
	Clear full name of sender for each new envelope to avoid bogus data
		if several mails are sent in one session and some of them
		do not have a From: header.  Problem noted by Bas Haakman.
	Change timeout check such that cached information about a connection
		will be immediately invalid if ConnectionCacheTimeout is zero.
		Based on patch from David Burns of Portland State University.
	Properly count message size for mailstats during mail collection.
		Problem noted by Werner Wiethege.
	Log complete response from LMTP delivery agent on failure.  Based on
		patch from by Motonori Nakamura of Kyoto University.
	Provide workaround for getopt() implementations that do not catch
		missing arguments.
	Fix the message size calculation if the message body is replaced by
		a milter filter and buffered file I/O is being used.
		Problem noted by Sergey Akhapkin of Dr.Web.
	Do not honor SIGUSR1 requests if running with extra privileges.
		Problem noted by Werner Wiethege.
	Prevent a file descriptor leak on mail delivery if the initial
		connect fails and DialDelay is set.  Patch from Servaas
		Vandenberghe of Katholieke Universiteit Leuven.
	Properly deal with a case where sendmail is called by root running
		a set-user-ID (non-root) program.  Problem noted by Jon
		Lusky of ISS Atlanta.
	Avoid leaving behind stray transcript (xf) files if multiple queue
		directories are used and mail is sent to a mailing list
		which has an owner- alias.  Problem noted by Anne Bennett
		of Concordia University.
	Fix class map parsing code if optional key is specified.  Problem
		found by Mario Nigrovic.
	The SMTP daemon no longer tries to fix up improperly dot-stuffed
		incoming messages.  A leading dot is always stripped by the
		SMTP receiver regardless of whether or not it is followed by
		another dot.  Problem noted by Jordan Ritter of darkridge.com.
	Fix corruption when doing automatic MIME 7-bit quoted-printable or
		base64 encoding to 8-bit text.  Problem noted by Mark
		Elvers.
	Correct the statistics gathered for total number of connections.
		Instead of being the exact same number as the total number
		of messages (T line in mailstats) it now represents the
		total number of TCP connections.
	Be more explicit about syntax errors in addresses, especially
		non-ASCII characters, and properly create DSNs if necessary.
		Problem noted by Leena Heino of the University of Tampere.
	Prevent small timeouts from being lost on slow machines if itimers
		are used.  Problem noted by Suresh Ramasubramanian.
	Prevent a race condition on child cleanup for delivery to files.
		Problem noted by Fletcher Mattox of the University of
		Texas.
	Change the SMTP error code for temporary map failures from 421
		to 451.
	Do not assume that realloc(NULL, size) works on all OS (this was
		only done in one place: queue group creation).  Based on
		patch by Bryan Costales.
	Initialize Timeout.iconnect in the code to prevent randomly short
		timeouts.  Problem noted by Bradley Watts of AT&T Canada.
	Do not try to send a second SMTP QUIT command if the remote
		responds to a MAIL command with a 421 reply or on I/O
		errors.  By doing so, the host was marked as having a
		temporary problem and other mail destined for that host was
		queued for the next queue run.  Problem noted by Fletcher
		Mattox of the University of Texas, Allan E Johannesen of
		Worcester Polytechnic Institute, Larry Greenfield of CMU,
		and Neil Rickert of Northern Illinois University.
	Ignore error replies from the SMTP QUIT command (including servers
		which drop the connection instead of responding to the
		command).
	Portability:
		Check LDAP_API_VERSION to determine if ldap_memfree() is
			availble.
		Define HPUX10 when building on HP-UX 10.X.  That platform
			now gets the proper _PATH_SENDMAIL and SMRSH_CMDDIR
			settings.  Patch from Elias Halldor Agustsson of
			Skyrr.
		Fix dependency building on Mac OS X and Darwin.  Problem
			noted by John Beck.
		Preliminary support for the sparc64 port of FreeBSD 5.0.
		Add /sbin/sh as an acceptable user shell on HP-UX.  From
			Rajesh Somasund of Hewlett-Packard.
	CONFIG: Add FEATURE(`authinfo') to allow a separate database for
		SMTP AUTH information.  This feature was actually added in
		8.12.0 but a release note was not included.
	CONFIG: Do not bounce mail if FEATURE(`ldap_routing')'s bounce
		parameter is set and the LDAP lookup returns a temporary
		error.
	CONFIG: Honor FEATURE(`relay_hosts_only') when using
		FEATURE(`relay_mail_from', `domain').  Problem noted by
		Krzysztof Oledzki.
	CONFIG: FEATURE(`msp') now disables any type of alias
		initialization as aliases are not needed for the MSP.
	CONFIG: Allow users to override RELAY_MAILER_ARGS when FEATURE(`msp')
		is in use.  Patch from Andrzej Filip.
	CONFIG: FEATURE(`msp') uses `[localhost]' as default instead of
		`localhost' and turns on MX lookups for the SMTP mailers.
		This will only have an effect if a parameter is specified,
		i.e., an MX lookup will be performed on the hostname unless
		it is embedded in square brackets.  Problem noted by
		Theo Van Dinter of Collective Technologies.
	CONFIG: Set confTIME_ZONE to USE_TZ in submit.mc (TimeZoneSpec= in
		submit.cf) to use $TZ for time stamps.  This is a compromise
		to allow for the proper time zone on systems where the
		default results in misleading time stamps. That is, syslog
		time stamps and Date headers on submitted mail will use the
		user's $TZ setting.  Problem noted by Mark Roth of the
		University of Illinois at Urbana-Champaign, solution proposed
		by Neil Rickert of Northern Illinois University.
	CONFIG: Mac OS X (Darwin) ships with mail.local as non-set-user-ID
		binary.  Adjust local mailer flags accordingly.  Problem
		noted by John Beck.
	CONTRIB: Add a warning to qtool.pl to not move queue files around
		if queue groups are used.
	CONTRIB: buildvirtuser: Add -f option to force rebuild.
	CONTRIB: smcontrol.pl: Add -f option to specify control socket.
	CONTRIB: smcontrol.pl: Add support for 'memdump' command.
		Suggested by Bryan Costales.
	DEVTOOLS: Add dependency generation for test programs.
	LIBMILTER: Remove conversion of port number for the socket
		structure that is passed to xxfi_connect().  Notice:
		this fix requires that sendmail and libmilter have both
		this change, mixing versions may lead to wrong port
		values depending on the endianness of the involved systems.
		Problem noted by Gisle Aas of ActiveState.
	LIBMILTER: If smfi_setreply() sets a custom reply code of '4XX' but
		SMFI_REJECT is returned, ignore the custom reply.  Do the
		same if '5XX' is used and SMFI_TEMPFAIL is returned.
	LIBMILTER: Install include files in ${INCLUDEDIR}/libmilter/ as
		required by mfapi.h.  Problem noted by Jose Marcio Martins
		da Cruz of Ecole Nationale Superieure des Mines de Paris.
	LIBSM: Add SM_CONF_LDAP_MEMFREE as a configuration define.  Set
		this to 1 if your LDAP client libraries include
		ldap_memfree().
	LIBSMDB: Avoid a file creation race condition for Berkeley DB 1.X
		and NDBM on systems with the O_EXLOCK open(2) flag.
	SMRSH: Fix compilation problem on some operating systems.  Problem
		noted by Christian Krackowizer of schuler technodat GmbH.
	VACATION: Allow root to operate on user vacation databases.  Based
		on patch from Greg Couch of the University of California,
		San Francisco.
	VACATION: Don't ignore -C option.  Based on patch by Bryan Costales.
	VACATION: Clarify option usage in the man page.  Problem noted by
		Joe Barbish.
	New Files:
		libmilter/docs/smfi_setbacklog.html