Sendmail 8.2.13

Ukazala sie nowa wersja najbardziej dziurawego demona pocztowego. Jak zwykle zostala naprawiona spora liczba bledow, a oto lista zmian:
8.12.3/8.12.3 2002/04/05


* 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 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 byanother dot. Problem noted by Jordan Ritter of

* 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, especiallynon-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 onpatch 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).


* 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.


* Add FEATURE(`authinfo’) to allow a separate database for SMTP AUTH information. This feature was actually added in8.12.0 but a release note was not included.

* Do not bounce mail if FEATURE(`ldap_routing’)’s bounce parameter is set and the LDAP lookup returns a temporary error.

* Honor FEATURE(`relay_hosts_only’) when using FEATURE(`relay_mail_from’, `domain’). Problem noted by Krzysztof Oledzki.

* FEATURE(`msp’) now disables any type of alias initialization as aliases are not needed for the MSP.

* Allow users to override RELAY_MAILER_ARGS when FEATURE(`msp’) is in use. Patch from Andrzej Filip.

* 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 unlessit is embedded in square brackets. Problem noted by Theo Van Dinter of Collective Technologies.

* Set confTIME_ZONE to USE_TZ in (TimeZoneSpec= in 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 theuser’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.


* Add a warning to to not move queue files around if queue groups are used.

* buildvirtuser: Add -f option to force rebuild.

* Add -f option to specify control socket.

* Add support for ‚memdump’ command. Suggested by Bryan Costales.


* Add dependency generation for test programs.


* 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.

* If smfi_setreply() sets a custom reply code of ‚4XX’ butSMFI_REJECT is returned, ignore the custom reply. Do the same if ‚5XX’ is used and SMFI_TEMPFAIL is returned.

* 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.


* Add SM_CONF_LDAP_MEMFREE as a configuration define. Set this to 1 if your LDAP client libraries includeldap_memfree().


* Avoid a file creation race condition for Berkeley DB 1.X and NDBM on systems with the O_EXLOCK open(2) flag.


* Fix compilation problem on some operating systems. Problem noted by Christian Krackowizer of schuler technodat GmbH.


* Allow root to operate on user vacation databases. Based on patch from Greg Couch of the University of California,San Francisco.

* Don’t ignore -C option. Based on patch by Bryan Costales.

* Clarify option usage in the man page. Problem noted by Joe Barbish.

New Files: