Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / sendmail / RELEASE_NOTES
1                         SENDMAIL RELEASE NOTES
2       $Id: RELEASE_NOTES,v 8.1340.2.132 2003/03/29 14:02:26 ca Exp $
3
4
5 This listing shows the version of the sendmail binary, the version
6 of the sendmail configuration files, the date of release, and a
7 summary of the changes in that release.
8
9 8.12.9/8.12.9   2003/03/29
10         SECURITY: Fix a buffer overflow in address parsing due to
11                 a char to int conversion problem which is potentially
12                 remotely exploitable.  Problem found by Michal Zalewski.
13                 Note: an MTA that is not patched might be vulnerable to
14                 data that it receives from untrusted sources, which
15                 includes DNS.
16         To provide partial protection to internal, unpatched sendmail MTAs,
17                 8.12.9 changes by default (char)0xff to (char)0x7f in
18                 headers etc.  To turn off this conversion compile with
19                 -DALLOW_255 or use the command line option -d82.101.
20         To provide partial protection for internal, unpatched MTAs that may be
21                 performing 7->8 or 8->7 bit MIME conversions, the default
22                 for MaxMimeHeaderLength has been changed to 2048/1024.
23                 Note: this does have a performance impact, and it only
24                 protects against frontal attacks from the outside.
25                 To disable the checks and return to pre-8.12.9 defaults,
26                 set MaxMimeHeaderLength to 0/0.
27         Do not complain about -ba when submitting mail.  Problem noted
28                 by Derek Wueppelmann.
29         Fix compilation with Berkeley DB 1.85 on systems that do not
30                 have flock(2).  Problem noted by Andy Harper of Kings
31                 College London.
32         Properly initialize data structure for dns maps to avoid various
33                 errors, e.g., looping processes.  Problem noted by
34                 Maurice Makaay.
35         CONFIG: Prevent multiple application of rule to add smart host.
36                 Patch from Andrzej Filip.
37         CONFIG: Fix queue group declaration in MAILER(`usenet').
38         CONTRIB: buildvirtuser: New option -t builds the virtusertable
39                 text file instead of the database map.
40         Portability:
41                 Revert wrong change made in 8.12.7 and actually use the
42                         builtin getopt() version in sendmail on Linux.
43                         This can be overridden by using -DSM_CONF_GETOPT=0
44                         in which case the OS supplied version will be used.
45
46 8.12.8/8.12.8   2003/02/11
47         SECURITY: Fix a remote buffer overflow in header parsing by
48                 dropping sender and recipient header comments if the
49                 comments are too long.  Problem noted by Mark Dowd
50                 of ISS X-Force.
51         Fix a potential non-exploitable buffer overflow in parsing the
52                 .cf queue settings and potential buffer underflow in
53                 parsing ident responses.  Problem noted by Yichen Xie of
54                 Stanford University Compilation Group.
55         Fix ETRN #queuegroup command: actually start a queue run for
56                 the selected queue group.  Problem noted by Jos Vos.
57         If MaxMimeHeaderLength is set and a malformed MIME header is fixed,
58                 log the fixup as "Fixed MIME header" instead of "Truncated
59                 MIME header".  Problem noted by Ian J Hart.
60         CONFIG: Fix regression bug in proto.m4 that caused a bogus
61                 error message: "FEATURE() should be before MAILER()".
62         MAIL.LOCAL: Be more explicit in some error cases, i.e., whether
63                 a mailbox has more than one link or whether it is not
64                 a regular file.  Patch from John Beck of Sun Microsystems.
65
66 8.12.7/8.12.7   2002/12/29
67         Properly clean up macros to avoid persistence of session data
68                 across various connections.  This could cause session
69                 oriented restrictions, e.g., STARTTLS requirements,
70                 to erroneously allow a connection.  Problem noted
71                 by Tim Maletic of Priority Health.
72         Do not lookup MX records when sorting the MSP queue.  The MSP
73                 only needs to relay all mail to the MTA.  Problem found
74                 by Gary Mills of the University of Manitoba.
75         Do not restrict the length of connection information to 100
76                 characters in some logging statements.  Problem noted by
77                 Erik Parker.
78         When converting an enhanced status code to an exit status, use
79                 EX_CONFIG if the first digit is not 2, 4, or 5 or if *.1.5
80                 is used.
81         Reset macro $x when receiving another MAIL command.  Problem
82                 noted by Vlado Potisk of Wigro s.r.o.
83         Don't bother setting the permissions on the build area statistics
84                 file, the proper permissions will be put on the file at
85                 install time.  This fixes installation over NFS for some
86                 users.  Problem noted by Martin J. Dellwo of 3-Dimensional
87                 Pharmaceuticals, Inc.
88         Fix problem of decoding SASLv2 encrypted data.  Problem noted by
89                 Alex Deiter of Mobile TeleSystems, Komi Republic.
90         Log milter socket open errors at MilterLogLevel 1 or higher instead
91                 of 11 or higher.
92         Print early system errors to the console instead of silently
93                 exiting.  Problem noted by James Jong of IBM.
94         Do not process a queue group if Runners is set to 0, regardless
95                 of whether F=f or sendmail is run in verbose mode (-v).
96                 The use of -qGname will still force queue group "name"
97                 to be run even if Runners=0.
98         Change the level for logging the fact that a daemon is refusing
99                 connections due to high load from LOG_INFO to LOG_NOTICE.
100                 Patch from John Beck of Sun Microsystems.
101         Use location information for submit.cf from NetInfo
102                 (/locations/sendmail/submit.cf) if available.
103         Re-enable ForkEachJob which was lost in 8.12.0.  Problem noted by
104                 Neil Rickert of Northern Illinois University.
105         Make behavior of /canon in debug mode consistent with usage in
106                 rulesets.  Patch from Shigeno Kazutaka of IIJ.
107         Fix a potential memory leak in envelope splitting.  Problem noted
108                 by John Majikes of IBM.
109         Do not try to share an mailbox database LDAP connection across
110                 different processes.  Problem noted by Randy Kunkee.
111         Fix logging for undelivered recipients when the SMTP connection
112                 times out during message collection.  Problem noted by Neil
113                 Rickert of Northern Illinois University.
114         Avoid problems with QueueSortOrder=random due to problems with
115                 qsort() on Solaris (and maybe some other operating systems).
116                 Problem noted by Stephan Schulz of Gruner+Jahr..
117         If -f "" is specified, set the sender address to "<>".  Problem
118                 noted by Matthias Andree.
119         Fix formatting problem of footnotes for plain text output on some
120                 versions of tmac.  Patch from Per Hedeland.
121         Portability:
122                 Berkeley DB 4.1 support (requires at least 4.1.25).
123                 Some getopt(3) implementations in GNU/Linux are broken
124                         and pass a NULL pointer to an option which requires
125                         an argument, hence the builtin version of
126                         sendmail is used instead.  This can be overridden
127                         by using -DSM_CONF_GETOPT=0.  Problem noted by
128                         Vlado Potisk of Wigro s.r.o.
129                 Support for nph-1.2.0 from Mark D. Roth of the University
130                         of Illinois at Urbana-Champaign.
131                 Support for FreeBSD 5.0's MAC labeling from Robert Watson
132                         of the TrustedBSD Project.
133                 Support for reading the number of processors on an IRIX
134                         system from Michel Bourget of SGI.
135                 Support for UnixWare 7.1 based on input from Larry Rosenman.
136                 Interix support from Nedelcho Stanev of Atlantic Sky
137                         Corporation.
138                 Update Mac OS X/Darwin portability from Wilfredo Sanchez.
139         CONFIG: Enforce tls_client restrictions even if delay_checks
140                 is used.  Problem noted by Malte Starostik.
141         CONFIG: Deal with an empty hostname created via bogus
142                 DNS entries to get around access restrictions.
143                 Problem noted by Kai Schlichting.
144         CONFIG: Use FEATURE(`msp', `[127.0.0.1]') in submit.mc by default
145                 to avoid problems with hostname resolution for localhost
146                 which on many systems does not resolve to 127.0.0.1 (or
147                 ::1 for IPv6).  If you do not use IPv4 but only IPv6 then
148                 you need to change submit.mc accordingly, see the comment
149                 in the file itself.
150         CONFIG: Set confDONT_INIT_GROUPS to True in submit.mc to avoid
151                 error messages from initgroups(3) on AIX 4.3 when sending
152                 mail to non-existing users. Problem noted by Mark Roth of
153                 the University of Illinois at Urbana-Champaign.
154         CONFIG: Allow local_procmail to override local_lmtp settings.
155         CONFIG: Always allow connections from 127.0.0.1 or IPv6:::1 to
156                 relay.
157         CONTRIB: cidrexpand: Deal with the prefix tags that may be included
158                 in access_db.
159         CONTRIB: New version of doublebounce.pl contributed by Leo Bicknell.
160         LIBMILTER: On Solaris libmilter may get into an endless loop if
161                 an error in the communication from/to the MTA occurs.
162                 Patch from Gurusamy Sarathy of Active State.
163         LIBMILTER: Ignore EINTR from sigwait(3) which may happen on Tru64.
164                 Patch from from Jose Marcio Martins da Cruz of Ecole
165                 Nationale Superieure des Mines de Paris.
166         MAIL.LOCAL: Fix a truncation race condition if the close() on
167                 the mailbox fails.  Problem noted by Tomoko Fukuzawa of
168                 Sun Microsystems.
169         MAIL.LOCAL: Fix a potential file descriptor leak if mkstemp(3)
170                 fails.  Patch from John Beck of Sun Microsystems.
171         SMRSH: SECURITY: Only allow regular files or symbolic links to be
172                 used for a command.  Problem noted by David Endler of
173                 iDEFENSE, Inc.
174         New Files:
175                 devtools/OS/Interix
176                 include/sm/bdb.h
177
178 8.12.6/8.12.6   2002/08/26
179         Do not add the FallbackMXhost (or its MX records) to the list
180                 returned by the bestmx map when -z is used as option.
181                 Otherwise sendmail may act as an open relay if FallbackMXhost
182                 and FEATURE(`relay_based_on_MX') are used together.
183                 Problem noted by Alexander Ignatyev.
184         Properly split owner- mailing list messages when SuperSafe is set
185                 to interactive.  Problem noted by Todd C. Miller of
186                 Courtesan Consulting.
187         Make sure that an envelope is queued in the selected queue group
188                 even if some recipients are deleted or invalid.  Problem
189                 found by Chris Adams of HiWAAY Informations Services.
190         Do not send a bounce message if a message is completely collected
191                 from the SMTP client.  Problem noted by Kari Hurtta of the
192                 Finnish Meteorological Institute.
193         Provide an 'install-submit-st' target for sendmail/Makefile to
194                 install the MSP statistics file using the file named in the
195                 confMSP_STFILE devtools variable.  Requested by Jeff
196                 Earickson of Colby College.
197         Queue up mail with a temporary error if setusercontext() fails
198                 during a delivery attempt.  Patch from Todd C. Miller of
199                 Courtesan Consulting.
200         Fix handling of base64 encoded client authentication data for
201                 SMTP AUTH.  Patch from Elena Slobodnik of life medien GmbH.
202         Set the OpenLDAP option LDAP_OPT_RESTART so the client libraries
203                 restart interrupted system calls.  Problem noted by Luiz
204                 Henrique Duma of BSIOne.
205         Prevent a segmentation fault if a program passed a NULL envp using
206                 execve().
207         Document a problem with the counting of queue runners that may
208                 cause delays if MaxQueueChildren is set too low. Problem
209                 noted by Ian Duplisse of Cable Television Laboratories, Inc.
210         If discarding a message based on a recipient, don't try to look up
211                 the recipient in the mailbox database if F=w is set.  This
212                 allows users to discard bogus recipients when dealing with
213                 spammers without tipping them off.  Problem noted by Neil
214                 Rickert of Northern Illinois University.
215         If applying a header check to a header with unstructured data,
216                 e.g., Subject:, then do not run syntax checks that are
217                 supposed for addresses on the header content.
218         Count messages rejected/discarded via the check_data ruleset.
219         Portability:
220                 Fix compilation on systems which do not allow simple
221                         copying of the variable argument va_list.  Based on
222                         fix from Scott Walters.
223                 Fix NSD map open bug.  From Michel Bourget of SGI.
224                 Add some additional IRIX shells to the default shell
225                         list.  From Michel Bourget of SGI.
226                 Fix compilation issues on Mac OS X 10.2 (Darwin 6.0).
227                         NETISO support has been dropped.
228         CONFIG: There was a seemingly minor change in 8.12.4 with respect
229                 to handling entries of IP nets/addresses with RHS REJECT.
230                 These would be rejected in check_rcpt instead of only
231                 being activated in check_relay.  This change has been made to
232                 avoid potential bogus temporary rejection of relay attempts
233                 "450 4.7.1 Relaying temporarily denied. Cannot resolve PTR
234                 record for ..." if delay_checks is enabled.  However, this
235                 modification causes a change of behavior if an IP net/address
236                 is listed in the access map with REJECT and a host/domain
237                 name is listed with OK or RELAY, hence it has been reversed
238                 such that the behavior of 8.12.3 is restored.  The original
239                 change was made on request of Neil Rickert of Northern
240                 Illinois University, the side effect has been found by
241                 Stefaan Van Hoornick.
242         CONFIG: Make sure delay_checks works even for sender addresses
243                 using the local hostname ($j) or domains in class {P}.
244                 Based on patch from Neil Rickert of Northern Illinois
245                 University.
246         CONFIG: Fix temporary error handling for LDAP Routing lookups.
247                 Fix from Andrzej Filip.
248         CONTRIB: New version of etrn.pl script and external man page
249                 (etrn.0) from John Beck of Sun Microsystems.
250         LIBMILTER: Protect a free(3) operation from being called with a
251                 NULL pointer.  Problem noted by Andrey J. Melnikoff.
252         LIBMILTER: Protect against more interrupted select() calls.  Based
253                 on patch from Jose Marcio Martins da Cruz of Ecole Nationale
254                 Superieure des Mines de Paris.
255         New Files:
256                 contrib/etrn.0
257
258 8.12.5/8.12.5   2002/06/25
259         SECURITY: The DNS map can cause a buffer overflow if the user
260                 specifies a dns map using TXT records in the configuration
261                 file and a rogue DNS server is queried.  None of the
262                 sendmail supplied configuration files use this option hence
263                 they are not vulnerable.  Problem noted independently by
264                 Joost Pol of PINE Internet and Anton Rang of Sun Microsystems.
265         Unprintable characters in responses from DNS servers for the DNS
266                 map type are changed to 'X' to avoid potential problems
267                 with rogue DNS servers.
268         Require a suboption when setting the Milter option.  Problem noted
269                 by Bryan Costales.
270         Do not silently overwrite command line settings for
271                 DirectSubmissionModifiers.  Problem noted by Bryan
272                 Costales.
273         Prevent a segmentation fault when clearing the event list by
274                 turning off alarms before checking if event list is
275                 empty.  Problem noted by Allan E Johannesen of Worcester
276                 Polytechnic Institute.
277         Close a potential race condition in transitioning a memory buffered
278                 file onto disk.  From Janani Devarajan of Sun Microsystems.
279         Portability:
280                 Include paths.h on Linux systems running glibc 2.0 or later
281                         to get the definition for _PATH_SENDMAIL, used by
282                         rmail and vacation.  Problem noted by Kevin
283                         A. McGrail of Peregrine Hardware.
284                 NOTE: Linux appears to have broken flock() again.  Unless
285                         the bug is fixed before sendmail 8.13 is shipped,
286                         8.13 will change the default locking method to
287                         fcntl() for Linux kernel 2.4 and later.  You may
288                         want to do this in 8.12 by compiling with
289                         -DHASFLOCK=0.  Be sure to update other sendmail
290                         related programs to match locking techniques.
291
292 8.12.4/8.12.4   2002/06/03
293         SECURITY: Inherent limitations in the UNIX file locking model
294                 can leave systems open to a local denial of service
295                 attack.  Be sure to read the "FILE AND MAP PERMISSIONS"
296                 section of the top level README for more information.
297                 Problem noted by lumpy.
298         Use TempFileMode (defaults to 0600) for the permissions of PidFile
299                 instead of 0644.
300         Change the default file permissions for new alias database files
301                 from 0644 to 0640.  This can be overridden at compile time
302                 by setting the DBMMODE macro.
303         Fix a potential core dump problem if the environment variable
304                 NAME is set.  Problem noted by Beth A. Chaney of
305                 Purdue University.
306         Expand macros before passing them to libmilter.  Problem noted
307                 by Jose Marcio Martins da Cruz of Ecole Nationale
308                 Superieure des Mines de Paris.
309         Rewind the df (message body) before truncating it when libmilter
310                 replaces the body of a message.  Problem noted by Gisle Aas
311                 of Active State.
312         Change SMTP reply code for AUTH failure from 500 to 535 and the
313                 initial zero-length response to "=" per RFC 2554.  Patches
314                 from Kenneth Murchison of Oceana Matrix Ltd.
315         Do not try to fix broken message/rfc822 MIME attachments by
316                 inserting a MIME-Version: header when MaxMimeHeaderLength
317                 is set and no 8 to 7 bit conversion is needed.  Based on
318                 patch from Rehor Petr of ICZ (Czech Republic).
319         Do not log "did not issue MAIL/EXPN/VRFY/ETRN" if the connection
320                 is rejected anyway.  Noted by Chris Loelke.
321         Mention the submission mail queue in the mailq man page.  Requested
322                 by Bill Fenner of AT&T.
323         Set ${msg_size} macro when reading a message from the command line
324                 or the queue.
325         Detach from shared memory before dropping privileges back to
326                 user who started sendmail.
327         If AllowBogusHELO is set to false (default) then also complain if
328                 the argument to HELO/EHLO contains white space.  Suggested
329                 by Seva Gluschenko of Cronyx Plus.
330         Allow symbolicly linked forward files in writable directory paths
331                 if both ForwardFileInUnsafeDirPath and
332                 LinkedForwardFileInWritableDir DontBlameSendmail options
333                 are set.  Problem noted by Werner Spirk of
334                 Leibniz-Rechenzentrum Munich.
335         Portability:
336                 Operating systems that lack the ftruncate() call will not
337                         be able to use Milter's body replacement feature.
338                         This only affects Altos, Maxion, and MPE/iX.
339                 Digital UNIX 5.0 has changed flock() semantics to be
340                         non-compliant.  Problem noted by Martin Mokrejs of
341                         Charles University in Prague.
342                 The sparc64 port of FreeBSD 5.0 now supports shared
343                         memory.
344         CONFIG: FEATURE(`preserve_luser_host') needs the macro map.
345                 Problem noted by Andrzej Filip.
346         CONFIG: Using 'local:' as a mailertable value with
347                 FEATURE(`preserve_luser_host') and LUSER_RELAY caused mail
348                 to be misaddressed.  Problem noted by Andrzej Filip.
349         CONFIG: Provide a workaround for DNS based rejection lists that
350                 fail for AAAA queries.  Problem noted by Chris Boyd.
351         CONFIG: Accept the machine's hostname as resolvable when checking
352                 the sender address.  This allows locally submitted mail to
353                 be accepted if the machine isn't connected to a nameserver
354                 and doesn't have an /etc/hosts entry for itself.  Problem
355                 noted by Robert Watson of the TrustedBSD Project.
356         CONFIG: Use deferred expansion for checking the ${deliveryMode}
357                 macro in case the SMTP VERB command is used.  Problem
358                 noted by Bryan Costales.
359         CONFIG: Avoid a duplicate '@domain' virtusertable lookup if no
360                 matches are found.  Fix from Andrzej Filip.
361         CONFIG: Fix wording in default dnsbl rejection message.  Suggested
362                 by Lou Katz of Metron Computerware, Ltd.
363         CONFIG: Add mailer cyrusv2 for Cyrus V2.  Contributed by
364                 Kenneth Murchison of Oceana Matrix Ltd.
365         CONTRIB: Fix wording in default dnsblaccess rejection message to
366                 match dnsbl change.
367         DEVTOOLS: Add new option for access mode of statistics file,
368                 confSTMODE, which specifies the permissions when initially
369                 installing the sendmail statistics file.
370         LIBMILTER: Mark the listening socket as close-on-exec in case
371                 a user's filter starts other applications.
372         LIBSM: Allow the MBDB initialize, lookup, and/or terminate
373                 functions in SmMbdbTypes to be set to NULL.
374         MAKEMAP: Change the default file permissions for new databases from
375                 0644 to 0640.  This can be overridden at compile time
376                 by setting the DBMMODE macro.
377         SMRSH: Fix man page bug: replace SMRSH_CMDBIN with SMRSH_CMDDIR.
378                 Problem noted by Dave Alden of Ohio State University.
379         VACATION: When listing the vacation database (-l), don't show
380                 bogus timestamps for excluded (-x) addresses.  Problem
381                 noted by Bryan Costales.
382         New Files:
383                 cf/mailer/cyrusv2.m4
384
385 8.12.3/8.12.3   2002/04/05
386         NOTICE: In general queue files should not be moved if queue groups
387                 are used.  In previous versions this could cause mail
388                 not to be delivered if a queue file is repeatedly moved
389                 by an external process whenever sendmail moved it back
390                 into the right place.  Some precautions have been taken
391                 to avoid moving queue files if not really necessary.
392                 sendmail may use links to refer to queue files and it
393                 may store the path of data files in queue files.  Hence
394                 queue files should not be moved unless those internals
395                 are understood and the integrity of the files is not
396                 compromised.  Problem noted by Anne Bennett of Concordia
397                 University.
398         If an error mail is created, and the mail is split across different
399                 queue directories, and SuperSafe is off, then write the mail
400                 to disk before splitting it, otherwise an assertion is
401                 triggered.  Problem tracked down by Henning Schmiedehausen
402                 of INTERMETA.
403         Fix possible race condition that could cause sendmail to forget
404                 running queues.  Problem noted by Jeff Wasilko of smoe.org.
405         Handle bogus qf files better without triggering assertions.
406                 Problem noted by Guy Feltin.
407         Protect against interrupted select() call when enforcing Milter
408                 read and write timeouts.  Patch from Gurusamy Sarathy of
409                 ActiveState.
410         Matching queue IDs with -qI should be case sensitive.  Problem
411                 noted by Anne Bennett of Concordia University.
412         If privileges have been dropped, don't try to change group ID to
413                 the RunAsUser group.  Problem noted by Neil Rickert of
414                 Northern Illinois University.
415         Fix SafeFileEnvironment path munging when the specified path
416                 contains a trailing slash.  Based on patch from Dirk Meyer
417                 of Dinoex.
418         Do not limit sendmail command line length to SM_ARG_MAX (usually
419                 4096).  Problem noted by Allan E Johannesen of Worcester
420                 Polytechnic Institute.
421         Clear full name of sender for each new envelope to avoid bogus data
422                 if several mails are sent in one session and some of them
423                 do not have a From: header.  Problem noted by Bas Haakman.
424         Change timeout check such that cached information about a connection
425                 will be immediately invalid if ConnectionCacheTimeout is zero.
426                 Based on patch from David Burns of Portland State University.
427         Properly count message size for mailstats during mail collection.
428                 Problem noted by Werner Wiethege.
429         Log complete response from LMTP delivery agent on failure.  Based on
430                 patch from by Motonori Nakamura of Kyoto University.
431         Provide workaround for getopt() implementations that do not catch
432                 missing arguments.
433         Fix the message size calculation if the message body is replaced by
434                 a milter filter and buffered file I/O is being used.
435                 Problem noted by Sergey Akhapkin of Dr.Web.
436         Do not honor SIGUSR1 requests if running with extra privileges.
437                 Problem noted by Werner Wiethege.
438         Prevent a file descriptor leak on mail delivery if the initial
439                 connect fails and DialDelay is set.  Patch from Servaas
440                 Vandenberghe of Katholieke Universiteit Leuven.
441         Properly deal with a case where sendmail is called by root running
442                 a set-user-ID (non-root) program.  Problem noted by Jon
443                 Lusky of ISS Atlanta.
444         Avoid leaving behind stray transcript (xf) files if multiple queue
445                 directories are used and mail is sent to a mailing list
446                 which has an owner- alias.  Problem noted by Anne Bennett
447                 of Concordia University.
448         Fix class map parsing code if optional key is specified.  Problem
449                 found by Mario Nigrovic.
450         The SMTP daemon no longer tries to fix up improperly dot-stuffed
451                 incoming messages.  A leading dot is always stripped by the
452                 SMTP receiver regardless of whether or not it is followed by
453                 another dot.  Problem noted by Jordan Ritter of darkridge.com.
454         Fix corruption when doing automatic MIME 7-bit quoted-printable or
455                 base64 encoding to 8-bit text.  Problem noted by Mark
456                 Elvers.
457         Correct the statistics gathered for total number of connections.
458                 Instead of being the exact same number as the total number
459                 of messages (T line in mailstats) it now represents the
460                 total number of TCP connections.
461         Be more explicit about syntax errors in addresses, especially
462                 non-ASCII characters, and properly create DSNs if necessary.
463                 Problem noted by Leena Heino of the University of Tampere.
464         Prevent small timeouts from being lost on slow machines if itimers
465                 are used.  Problem noted by Suresh Ramasubramanian.
466         Prevent a race condition on child cleanup for delivery to files.
467                 Problem noted by Fletcher Mattox of the University of
468                 Texas.
469         Change the SMTP error code for temporary map failures from 421
470                 to 451.
471         Do not assume that realloc(NULL, size) works on all OS (this was
472                 only done in one place: queue group creation).  Based on
473                 patch by Bryan Costales.
474         Initialize Timeout.iconnect in the code to prevent randomly short
475                 timeouts.  Problem noted by Bradley Watts of AT&T Canada.
476         Do not try to send a second SMTP QUIT command if the remote
477                 responds to a MAIL command with a 421 reply or on I/O
478                 errors.  By doing so, the host was marked as having a
479                 temporary problem and other mail destined for that host was
480                 queued for the next queue run.  Problem noted by Fletcher
481                 Mattox of the University of Texas, Allan E Johannesen of
482                 Worcester Polytechnic Institute, Larry Greenfield of CMU,
483                 and Neil Rickert of Northern Illinois University.
484         Ignore error replies from the SMTP QUIT command (including servers
485                 which drop the connection instead of responding to the
486                 command).
487         Portability:
488                 Check LDAP_API_VERSION to determine if ldap_memfree() is
489                         available.
490                 Define HPUX10 when building on HP-UX 10.X.  That platform
491                         now gets the proper _PATH_SENDMAIL and SMRSH_CMDDIR
492                         settings.  Patch from Elias Halldor Agustsson of
493                         Skyrr.
494                 Fix dependency building on Mac OS X and Darwin.  Problem
495                         noted by John Beck.
496                 Preliminary support for the sparc64 port of FreeBSD 5.0.
497                 Add /sbin/sh as an acceptable user shell on HP-UX.  From
498                         Rajesh Somasund of Hewlett-Packard.
499         CONFIG: Add FEATURE(`authinfo') to allow a separate database for
500                 SMTP AUTH information.  This feature was actually added in
501                 8.12.0 but a release note was not included.
502         CONFIG: Do not bounce mail if FEATURE(`ldap_routing')'s bounce
503                 parameter is set and the LDAP lookup returns a temporary
504                 error.
505         CONFIG: Honor FEATURE(`relay_hosts_only') when using
506                 FEATURE(`relay_mail_from', `domain').  Problem noted by
507                 Krzysztof Oledzki.
508         CONFIG: FEATURE(`msp') now disables any type of alias
509                 initialization as aliases are not needed for the MSP.
510         CONFIG: Allow users to override RELAY_MAILER_ARGS when FEATURE(`msp')
511                 is in use.  Patch from Andrzej Filip.
512         CONFIG: FEATURE(`msp') uses `[localhost]' as default instead of
513                 `localhost' and turns on MX lookups for the SMTP mailers.
514                 This will only have an effect if a parameter is specified,
515                 i.e., an MX lookup will be performed on the hostname unless
516                 it is embedded in square brackets.  Problem noted by
517                 Theo Van Dinter of Collective Technologies.
518         CONFIG: Set confTIME_ZONE to USE_TZ in submit.mc (TimeZoneSpec= in
519                 submit.cf) to use $TZ for time stamps.  This is a compromise
520                 to allow for the proper time zone on systems where the
521                 default results in misleading time stamps. That is, syslog
522                 time stamps and Date headers on submitted mail will use the
523                 user's $TZ setting.  Problem noted by Mark Roth of the
524                 University of Illinois at Urbana-Champaign, solution proposed
525                 by Neil Rickert of Northern Illinois University.
526         CONFIG: Mac OS X (Darwin) ships with mail.local as non-set-user-ID
527                 binary.  Adjust local mailer flags accordingly.  Problem
528                 noted by John Beck.
529         CONTRIB: Add a warning to qtool.pl to not move queue files around
530                 if queue groups are used.
531         CONTRIB: buildvirtuser: Add -f option to force rebuild.
532         CONTRIB: smcontrol.pl: Add -f option to specify control socket.
533         CONTRIB: smcontrol.pl: Add support for 'memdump' command.
534                 Suggested by Bryan Costales.
535         DEVTOOLS: Add dependency generation for test programs.
536         LIBMILTER: Remove conversion of port number for the socket
537                 structure that is passed to xxfi_connect().  Notice:
538                 this fix requires that sendmail and libmilter both have
539                 this change; mixing versions may lead to wrong port
540                 values depending on the endianness of the involved systems.
541                 Problem noted by Gisle Aas of ActiveState.
542         LIBMILTER: If smfi_setreply() sets a custom reply code of '4XX' but
543                 SMFI_REJECT is returned, ignore the custom reply.  Do the
544                 same if '5XX' is used and SMFI_TEMPFAIL is returned.
545         LIBMILTER: Install include files in ${INCLUDEDIR}/libmilter/ as
546                 required by mfapi.h.  Problem noted by Jose Marcio Martins
547                 da Cruz of Ecole Nationale Superieure des Mines de Paris.
548         LIBSM: Add SM_CONF_LDAP_MEMFREE as a configuration define.  Set
549                 this to 1 if your LDAP client libraries include
550                 ldap_memfree().
551         LIBSMDB: Avoid a file creation race condition for Berkeley DB 1.X
552                 and NDBM on systems with the O_EXLOCK open(2) flag.
553         SMRSH: Fix compilation problem on some operating systems.  Problem
554                 noted by Christian Krackowizer of schuler technodat GmbH.
555         VACATION: Allow root to operate on user vacation databases.  Based
556                 on patch from Greg Couch of the University of California,
557                 San Francisco.
558         VACATION: Don't ignore -C option.  Based on patch by Bryan Costales.
559         VACATION: Clarify option usage in the man page.  Problem noted by
560                 Joe Barbish.
561         New Files:
562                 libmilter/docs/smfi_setbacklog.html
563
564 8.12.2/8.12.2   2002/01/13
565         Don't complain too much if stdin, stdout, or stderr are missing
566                 at startup, only log an error message.
567         Fix potential problem if an unknown operation mode (character
568                 following -b) has been specified.
569         Prevent purgestat from looping even if someone changes the
570                 permissions or owner of hoststatus files.  Problem noted
571                 by Kari Hurtta of the Finnish Meteorological Institute.
572         Properly record dropped connections in persistent host status.
573                 Problem noted by Ulrich Windl of the Universitat
574                 Regensburg.
575         Remove newlines from recipients read via sendmail -t to prevent
576                 SMTP protocol errors when sending the RCPT command.
577                 Problem noted by William D. Colburn of the New Mexico
578                 Institute of Mining and Technology.
579         Only log milter body replacements once instead of for each body
580                 chunk sent by a filter.  Problem noted by Kari Hurtta of
581                 the Finnish Meteorological Institute.
582         In 8.12.0 and 8.12.1, the headers were mistakenly not included in
583                 the message size calculation.  Problem noted by Kari Hurtta
584                 of the Finnish Meteorological Institute.
585         Since 8.12 no longer forks at the SMTP MAIL command, the daemon
586                 needs to collect children status to avoid zombie processes.
587                 Problem noted by Chris Adams of HiWAAY Informations Services.
588         Shut down "nullserver" and ETRN-only connections after 25 bad
589                 commands are issued.  This makes it consistent with normal
590                 SMTP connections.
591         Avoid duplicate logging of milter rejections.  Problem noted by
592                 William D. Colburn of the New Mexico Institute of Mining
593                 and Technology.
594         Error and delay DSNs were being sent to postmaster instead of the
595                 message sender if the sender had used a deprecated RFC822
596                 source route.  Problem noted by Kari Hurtta of the Finnish
597                 Meteorological Institute.
598         Fix FallbackMXhost behavior for temporary errors during address
599                 parsing.  Problem noted by Jorg Bielak from Coastal Web
600                 Online.
601         For systems on which stat(2) does not return a value for st_blksize
602                 that is the "optimal blocksize for I/O" three new compile
603                 time flags are available: SM_IO_MAX_BUF_FILE, SM_IO_MIN_BUF,
604                 and SM_IO_MAX_BUF, which define an upper limit for
605                 regular files, and a lower and upper limit for other file
606                 types, respectively.
607         Fix a potential deadlock if two events are supposed to occur at
608                 exactly the same time.  Problem noted by Valdis Kletnieks
609                 of Virginia Tech.
610         Perform envelope splitting for aliases listed directly in the
611                 alias file, not just for include/.forward files.
612                 Problem noted by John Beck of Sun Microsystems.
613         Allow selection of queue group for mailq using -qGgroup.
614                 Based on patch by John Beck of Sun Microsystems.
615         Make sure cached LDAP connections used my multiple maps in the same
616                 process are closed.  Patch from Taso N. Devetzis.
617         If running as root, allow reading of class files in protected
618                 directories.  Patch from Alexander Talos of the University
619                 of Vienna.
620         Correct a few LDAP related memory leaks.  Patch from David Powell
621                 of Sun Microsystems.
622         Allow specification of an empty realm via the authinfo ruleset.
623                 This is necessary to interoperate as an SMTP AUTH client
624                 with servers that do not support realms when using
625                 CRAM-MD5.  Problem noted by Bjoern Voigt of TU Berlin.
626         Avoid a potential information leak if AUTH PLAIN is used and the
627                 server gets stuck while processing that command.  Problem
628                 noted by Chris Adams from HiWAAY Informations Services.
629         In addition to printing errors when parsing recipients during
630                 command line invocations log them to make it simpler
631                 to understand possible DSNs to postmaster.
632         Do not use FallbackMXhost on mailers which have the F=0 flag set.
633         Allow local mailers (F=l) to specify a host for TCP connections
634                 instead of forcing localhost.
635         Obey ${DESTDIR} for installation of the client mail queue and
636                 submit.cf.  Patch from Peter 'Luna' Runestig.
637         Re-enable support for -M option which was broken in 8.12.1.  Problem
638                 noted by Neil Rickert of Northern Illinois University.
639         If a remote server violates the SMTP standard by unexpectedly
640                 dropping the connection during an SMTP transaction, stop
641                 sending commands.  This prevents bogus "Bad file number"
642                 recipient status.  Problem noted by Allan E Johannesen of
643                 Worcester Polytechnic Institute.
644         Do not use a size estimate of 100 for postmaster bounces, it's
645                 almost always too small; do not guess the size at all.
646         New VENDOR_DEC for Compaq/DEC.  Requested by James Seagraves of
647                 Compaq Computer Corp.
648         Fix DaemonPortOptions IPv6 address parsing such that ::1 works
649                 properly.  Problem noted by Valdis Kletnieks of Virginia
650                 Tech.
651         Portability:
652                 Fix IPv6 network interface probing on HP-UX 11.X.  Based on
653                         patch provided by HP.
654                 Mac OS X (aka Darwin) has a broken setreuid() call, but a
655                         working seteuid() call.  From Daniel J. Luke.
656                 Use proper type for a 32-bit integer on SINIX.  From Ganu
657                         Sachin of Siemens.
658                 Set SM_IO_MIN_BUF (4K) and SM_IO_MAX_BUF (8K) for HP-UX.
659                 Reduce optimization from +O3 to +O2 on HP-UX 11.  This
660                         fixes a problem that caused additional bogus
661                         characters to be written to the qf file.  Problem
662                         noted by Tapani Tarvainen.
663                 Set LDA_USE_LOCKF by default for UnixWare.  Problem noted
664                         by Boyd Lynn Gerber.
665                 Add support for HP MPE/iX.  See sendmail/README for port
666                         information.  From Mark Bixby of Hewlett-Packard.
667                 New portability defines HASNICE, HASRRESVPORT, USE_ENVIRON,
668                         USE_DOUBLE_FORK, and NEEDLINK.  See sendmail/README
669                         for more information.  From Mark Bixby of
670                         Hewlett-Packard.
671                 If an OS doesn't have a method of finding free disk space
672                         (SFS_NONE), lie and say there is plenty of space.
673                         From Mark Bixby of Hewlett-Packard.
674                 Add support for AIX 5.1.  From Valdis Kletnieks of
675                         Virginia Tech.
676                 Fix man page location for NeXTSTEP.  From Hisanori Gogota
677                         of the NTT/InterCommunication Center.
678                 Do not assume that strerror() always returns a string.
679                         Problem noted by John Beck of Sun Microsystems.
680         CONFIG: Add OSTYPE(freebsd5) for FreeBSD 5.X, which has removed
681                 UUCP from the base operating system.  From Mark Murray of
682                 FreeBSD Services, Ltd.
683         CONFIG: Add OSTYPE(mpeix) and a generic .mc file for HP MPE/iX
684                 systems.  From Mark Bixby of Hewlett-Packard.
685         CONFIG: Add support for selecting a queue group for all mailers.
686                 Based on proposal by Stephen L. Ulmer of the University of
687                 Florida.
688         CONFIG: Fix error reporting for compat_check.m4.  Problem noted by
689                 Altin Waldmann.
690         CONFIG: Do not override user selections for confRUN_AS_USER and
691                 confTRUSTED_USER in FEATURE(msp).  From Mark Bixby of
692                 Hewlett-Packard.
693         LIBMILTER: Fix bug that prevented the removal of a socket after
694                 libmilter terminated.  Problem reported by Andrey V. Pevnev
695                 of MSFU.
696         LIBMILTER: Fix configuration error that required libsm for linking.
697                 Problem noted by Kari Hurtta of the Finnish Meteorological
698                 Institute.
699         LIBMILTER: Portability fix for OpenUNIX.  Patch from Larry Rosenman.
700         LIBMILTER: Fix a theoretical memory leak and a possible attempt
701                 to free memory twice.
702         LIBSM: Fix a potential segmentation violation in the I/O library.
703                 Problem found and analyzed by John Beck and Tim Haley
704                 of Sun Microsystems.
705         LIBSM: Do not clear the LDAP configuration information when
706                 terminating the mailbox database connection in the LDAP
707                 example code.  Problem noted by Nikos Voutsinas of the
708                 University of Athens.
709         New Files:
710                 cf/cf/generic-mpeix.cf
711                 cf/cf/generic-mpeix.mc
712                 cf/ostype/freebsd5.m4
713                 cf/ostype/mpeix.m4
714                 devtools/OS/AIX.5.1
715                 devtools/OS/MPE-iX
716                 include/sm/os/sm_os_mpeix.h
717                 libsm/mpeix.c
718
719 8.12.1/8.12.1   2001/10/01
720         SECURITY: Check whether dropping group privileges actually succeeded
721                 to avoid possible compromises of the mail system by
722                 supplying bogus data.  Add configuration options for
723                 different set*gid() calls to reset saved gid.  Problem
724                 found by Michal Zalewski.
725         PRIVACY: Prevent information leakage when sendmail has extra
726                 privileges by disabling debugging (command line -d flag)
727                 during queue runs and disabling ETRN when sendmail -bs is
728                 used.  Suggested by Michal Zalewski.
729         Avoid memory corruption problems resulting from bogus .cf files.
730                 Problem found by Michal Zalewski.
731         Set the ${server_addr} macro to name of mailer when doing LMTP
732                 delivery.  LMTP systems may offer SMTP Authentication or
733                 STARTTLS causing sendmail to use this macro in rulesets.
734         If debugging is turned on (-d0.10) print not just the default
735                 values for configuration file and pid file but also the
736                 selected values.  Problem noted by Brad Chapman.
737         Continue dealing with broken nameservers by ignoring SERVFAIL
738                 errors returned on T_AAAA (IPv6) lookups at delivery time
739                 if ResolverOptions=WorkAroundBrokenAAAA is set.  Previously
740                 this only applied to hostname canonification.  Problem
741                 noted by Bill Fenner of AT&T Research.
742         Ignore comments in NIS host records when trying to find the
743                 canonical name for a host.
744         When sendmail has extra privileges, limit mail submission command
745                 line flags (i.e., -G, -h, -F, etc.)  to mail submission
746                 operating modes (i.e., -bm, -bs, -bv, etc.).  Idea based on
747                 suggestion from Michal Zalewski.
748         Portability:
749                 AIX: Use `oslevel` if available to determine OS version.
750                         `uname` does not given complete information.
751                         Problem noted by Keith Neufeld of the Cessna
752                         Aircraft Company.
753                 OpenUNIX: Use lockf() for LDA delivery (affects mail.local).
754                         Problem noticed by Boyd Lynn Gerber of ZENEX.
755                 Avoid compiler warnings by not using pointers to pass
756                         integers.  Problem noted by Todd C. Miller of
757                         Courtesan Consulting.
758         CONFIG: Add restrictqrun to PrivacyOptions for the MSP to minimize
759                 problems with potential misconfigurations.
760         CONFIG: Fix comment showing default value of MaxHopCount.  Problem
761                 noted by Greg Robinson of the Defence Science and
762                 Technology Organisation of Australia.
763         CONFIG: dnsbl: If an argument specifies an error message in case
764                 of temporary lookup failures for DNS based blacklists
765                 then use it.
766         LIBMILTER: Install mfdef.h, required by mfapi.h.  Problem noted by
767                 Richard A. Nelson of Debian.
768         LIBMILTER: Add __P definition for OS that lack it.  Problem noted
769                 by Chris Adams from HiWAAY Informations Services.
770         LIBSMDB: Fix a lock race condition that affects makemap, praliases,
771                 and vacation.
772         MAKEMAP: Avoid going beyond the end of an input line if it does
773                 not contain a value for a key.  Based on patch from
774                 Mark Bixby from Hewlett-Packard.
775         New Files:
776                 test/Build
777                 test/Makefile
778                 test/Makefile.m4
779                 test/README
780                 test/t_dropgid.c
781                 test/t_setgid.c
782         Deleted Files:
783                 include/sm/stdio.h
784                 include/sm/sysstat.h
785
786 8.12.0/8.12.0   2001/09/08
787         *NOTICE*: The default installation of sendmail does not use
788                 set-user-ID root anymore.  You need to create a new user and
789                 a new group before installing sendmail (both called smmsp by
790                 default).  The installation process tries to install
791                 /etc/mail/submit.cf and creates /var/spool/clientmqueue by
792                 default.  Please see sendmail/SECURITY for details.
793         SECURITY: Check for group and world writable forward and :include:
794                 files.  These checks can be turned off if absolutely
795                 necessary using the DontBlameSendmail option and the new
796                 flags:
797                         GroupWritableForwardFile
798                         WorldWritableForwardFile
799                         GroupWritableIncludeFile
800                         WorldWritableIncludeFile
801                 Problem noted by Slawek Zak of Politechnika Warszawska,
802         SECURITY: Drop privileges when using address test mode.  Suggested
803                 by Michal Zalewski of the "Internet for Schools" project
804                 (IdS).
805         Fixed problem of a global variable being used for a timeout jump
806                 point where the variable could become overused for more than
807                 one timeout concurrently.  This erroneous behavior resulted in
808                 a corrupted stack causing a core dump.  The timeout is now
809                 handled via libsm.  Problem noted by Michael Shapiro,
810                 John Beck, and Carl Smith of Sun Microsystems.
811         If sendmail is set-group-ID then that group ID is used for permission
812                 checks (group ID of RunAsUser).  This allows use of a
813                 set-group-ID sendmail binary for initial message submission
814                 and no set-user-ID root sendmail is needed.  For details
815                 see sendmail/SECURITY.
816         Log a warning if a non-trusted user changes the syslog label.
817                 Based on notice from Bryan Costales of SL3D, Inc.
818         If sendmail is called for initial delivery, try to use submit.cf
819                 with a fallback of sendmail.cf as configuration file.  See
820                 sendmail/SECURITY.
821         New configuration file option UseMSP to allow group writable queue
822                 files if the group is the same as that of a set-group-ID
823                 sendmail binary.  See sendmail/SECURITY.
824         The .cf file is chosen based on the operation mode. For -bm (default),
825                 -bs, and -t it is submit.cf if it exists for all others it
826                 is sendmail.cf (to be backward compatible).  This selection
827                 can be changed by the new option -Ac or -Am (alternative .cf
828                 file: client or mta).  See sendmail/SECURITY.
829         The SMTP server no longer forks on each MAIL command.  The ONEX
830                 command has been removed.
831         Implement SMTP PIPELINING per RFC 2920.  It can be turned off
832                 at compile time or per host (ruleset).
833         New option MailboxDatabase specifies the type of mailbox database
834                 used to look up local mail recipients; the default value
835                 is "pw", which means to use getpwnam().  New mailbox database
836                 types can be added by adding custom code to libsm/mbdb.c.
837         Queue file names are now 15 characters long, rather than 14 characters
838                 long, to accomodate envelope splitting.  File systems with
839                 a 14 character file name length limit are no longer
840                 supported.
841         Recipient list used for delivery now gets internally ordered by
842                 hostsignature (character string version of MX RR).  This orders
843                 recipients for the same MX RR's together meaning smaller
844                 portions of the list need to be scanned (instead of the whole
845                 list) each delivery() pass to determine piggybacking.  The
846                 significance of the change is better the larger the recipient
847                 list.  Hostsignature is now created during recipient list
848                 creation rather than just before delivery.
849         Enhancements for more opportunistic piggybacking.  Previous
850                 piggybacking (called coincidental) extended to coattail
851                 piggybacking.  Rather than complete MX RR matching
852                 (coincidental) piggybacking is done if just the lowest value
853                 preference matches (coattail).
854         If sendmail receives a temporary error on a RCPT TO: command, it will
855                 try other MX hosts if available.
856         DefaultAuthInfo can contain a list of mechanisms to be used for
857                 outgoing (client-side) SMTP Authentication.
858         New modifier 'A' for DaemonPortOptions/ClientPortOptions to disable
859                 AUTH (overrides 'a' modifier in DaemonPortOptions).  Based
860                 on patch from Lyndon Nerenberg of Messaging Direct.
861         Enable AUTH mechanism EXTERNAL if STARTTLS is used.
862         A new ruleset authinfo can be used to return client side
863                 authentication information for AUTH instead of DefaultAuthInfo.
864                 Therefore the DefaultAuthInfo option is deprecated and will be
865                 removed in future versions.
866         Accept any SMTP continuation code 3xy for AUTH even though RFC 2554
867                 requires 334.  Mercury 1.48 is a known offender.
868         Add new option AuthMaxBits to limit the overall encryption strength
869                 for the security layer in SMTP AUTH (SASL).  See
870                 doc/op/op.me for details.
871         Introduce new STARTTLS related macros {cn_issuer}, {cn_subject},
872                 {cert_md5} which hold the CN (common name) of the CA that
873                 signed the presented certificate, the CN and the MD5 hash
874                 of the presented certificate, respectively.
875         New ruleset try_tls to decide whether to try (as client) STARTTLS.
876         New ruleset srv_features to enable/disable certain features in the
877                 server per connection.  See doc/op/op.me for details.
878         New ruleset tls_rcpt to decide whether to send e-mail to a particular
879                 recipient; useful to decide whether a conection is secure
880                 enough on a per recipient basis.
881         New option TLSSrvOptions to modify some aspects of the server
882                 for STARTTLS.
883         If no certificate has been requested, the macro {verify} has the
884                 value "NOT".
885         New M=S modifier for ClientPortOptions/DaemonPortOptions to turn off
886                 using/offering STARTTLS when delivering/receiving e-mail.
887         Macro expand filenames/directories for certs and keys in the .cf file.
888                 Proposed by Neil Rickert of Northern Illinois University.
889         Generate an ephemeral RSA key for a STARTTLS connection only if
890                 really required.  This change results in a noticable
891                 performance gains on most machines.  Moreover, if shared
892                 memory is in use, reuse the key several times.
893         Add queue groups which can be used to group queue directories with
894                 the same behavior together.  See doc/op/op.me for details.
895         If the new option FastSplit (defaults to one) has a value greater
896                 than zero, it suppresses the MX lookups on addresses when they
897                 are initially sorted which may result in faster envelope
898                 splitting.  If the mail is submitted directly from the
899                 command line, then the value also limits the number of
900                 processes to deliver the envelopes; if more envelopes are
901                 created they are only queued up and must be taken care of
902                 by a queue run.
903         The check for 'enough disk space' now pays attention to which file
904                 system each queue directory resides in.
905         All queue runners can be cleanly terminated via SIGTERM to parent.
906         New option QueueFileMode for the default permissions of queue files.
907         Add parallel queue runner code.  Allows multiple queue runners per work
908                 group (one or more queues in a multi-queue environment
909                 collected together) to process the same work list at the
910                 same time.
911         Option MaxQueueChildren added to limit the number of concurrently
912                 active queue runner processes.
913         New option MaxRunnersPerQueue to specify the maximum number of queue
914                 runners per queue group.
915         Queue member selection by substring pattern matching now allows
916                 the pattern to be negated.  For -qI, -qR and -qS it is
917                 permissible for -q!I, -q!R and -q!S to mean remove members
918                 of the queue that match during processing.
919         New -qp[time] option is similar to -qtime, except that instead of
920                 periodically forking a child to process the queue, a single
921                 child is forked for each queue that sleeps between queue
922                 runs.  A SIGHUP signal can be sent to restart this
923                 persistent queue runner.
924         The SIGHUP signal now restarts a timed queue run process (i.e., a
925                 sendmail process which only runs the queue at an interval:
926                 sendmail -q15m).
927         New option NiceQueueRun to set the priority of queue runners.
928                 Proposed by Thom O'Connor.
929         sendmail will run the queue(s) in the background when invoked with -q
930                 unless the new -qf option or -v is used.
931         QueueSortOrder=Random sorts the queue randomly, which is useful if
932                 several queue runners are started by hand to avoid contention.
933         QueueSortOrder=Modification sorts the queue by the modification time
934                 of the qf file (older entries first).
935         Support Deliver By SMTP Service Extension (RFC 2852) which allows
936                 a client to specify an amount of time within which an e-mail
937                 should be delivered.  New option DeliverByMin added to set the
938                 minimum amount of time or disable the extension.
939         Non-printable characters (ASCII: 0-31, 127) in mailbox addresses are
940                 not allowed unless escaped or quoted.
941         Add support for a generic DNS map.  Based on a patch contributed
942                 by Leif Johansson of Stockholm University, which was based on
943                 work by Assar Westerlund of Swedish Institute of Computer
944                 Science, Kista, and Johan Danielsson of Royal Institute of
945                 Technology, Stockholm, Sweden.
946         MX records will be looked up for FallBackMXhost.  To use the old
947                 behavior (no MX lookups), put the name in square brackets.
948                 Proposed by Thom O'Connor.
949         Use shared memory to store free space of filesystems that are used
950                 for queues, if shared memory is available and if a key is set
951                 via SharedMemoryKey.  This minimizes the number of system
952                 calls to check the available space.  See doc/op/op.me for
953                 details.
954         If shared memory is compiled in the option -bP can be used to print
955                 the number of entries in the queue(s).
956         Enable generic mail filter API (milter).  See libmilter/README
957                 and the usual documentation for details.
958         Remove AutoRebuildAliases option, deprecated since 8.10.
959         Remove '-U' (initial user submission) command line option as
960                 announced in 8.10.
961         Remove support for non-standard SMTP command XUSR.  Use an MSA instead.
962         New macro {addr_type} which contains whether the current address is
963                 an envelope sender or recipient address.  Suggested by
964                 Neil Rickert of Northern Illinois University.
965         Two new options for host maps: -d (retransmission timeout),
966                 -r (number of retries).
967         New option for LDAP maps: the -V<sep> allows you to specify a
968                 separator such that a lookup can return both an attribute
969                 and value separated by the given separator.
970         Add new operators '%', '|', '&' (modulo, binary or, binary and)
971                 to map class arith.
972         If DoubleBounceAddress expands to an empty string, ``double bounces''
973                 (errors that occur when sending an error message) are dropped.
974         New DontBlameSendmail options GroupReadableSASLDBFile and
975                 GroupWritableSASLDBFile to relax requirements for sasldb files.
976         New DontBlameSendmail options GroupReadableKeyFile to relax
977                 requirements for files containing secret keys.  This is
978                 necessary for the MSP if client authentification is used.
979         Properly handle quoted filenames for class files (to allow for
980                 filenames with spaces).
981         Honor the resolver option RES_NOALIASES when canonifying hostnames.
982         Add macros to avoid the reuse of {if_addr} etc:
983                 {if_name_out}   hostname of interface of outgoing connection.
984                 {if_addr_out}   address of interface of outgoing connection.
985                 {if_family_out} family of interface of outgoing connection.
986                 The latter two are only set if the interface does not belong
987                 to the loopback net.
988         Add macro {nrcpts} which holds the number of (validated) recipients.
989         DialDelay option applies only to mailers with flag 'Z'.  Patch from
990                 Juergen Georgi of RUS University of Stuttgart.
991         New Timeout.lhlo,auth,starttls options to limit the time waiting for
992                 an answer to the LMTP LHLO, SMTP AUTH or STARTTLS command.
993         New Timeout.aconnect option to limit the overall waiting time for
994                 all connections for a single delivery attempt to succeed.
995         Limit the rate recipients in the SMTP envelope are accepted once
996                 a threshold number of recipients has been rejected (option
997                 BadRcptThrottle).  From Gregory A Lundberg of the WU-FTPD
998                 Development Group.
999         New option DelayLA to delay connections if the load averages
1000                 exceeds the specified value.  The default of 0 does not
1001                 change the previous behavior.  A value greater than 0
1002                 will cause sendmail to sleep for one second on most
1003                 SMTP commands and before accepting connections if that
1004                 load average is exceeded.
1005         Use a dynamic (instead of fixed-size) buffer for the list of
1006                 recipients that are sent during a connection to a mailer.
1007                 This also introduces a new mailer field 'r' which defines
1008                 the maximum number of recipients (defaults to 100).
1009                 Based on patch by Motonori Nakamura of Kyoto University.
1010         Add new F=1 mailer flag to disable sending of null characters ('\0').
1011         Add new F=2 mailer flag to disable use of ESMTP, using SMTP instead.
1012         The deprecated [TCP] builtin mailer pathname (P=) is gone.  Use [IPC]
1013                 instead.
1014         IPC is no longer available as first mailer argument (A=) for [IPC]
1015                 builtin mailer pathnames.  Use TCP instead.
1016         PH map code updated to use the new libphclient API instead of the
1017                 old libqiapi library.  Contributed by Mark Roth of the
1018                 University of Illinois at Urbana-Champaign.
1019         New option DirectSubmissionModifiers to define {daemon_flags}
1020                 for direct (command line) submissions.
1021         New M=O modifier for DaemonPortOptions to ignore the socket in
1022                 case of failures.  Based on patch by Jun-ichiro itojun
1023                 Hagino of the KAME Project.
1024         Add Disposition-Notification-To: (RFC 2298) to the list of headers
1025                 whose content is rewritten similar to Reply-To:.
1026                 Proposed by Andrzej Filip.
1027         Use STARTTLS/AUTH=server/client for logging incoming/outgoing
1028                 STARTTLS/AUTH connections; log incoming connections at level
1029                 9 or higher.  Use AUTH/STARTTLS instead of SASL/TLS for SMTP
1030                 AUTH/STARTTLS related logfile entries.
1031         Convert unprintable characters (and backslash) into octal or C format
1032                 before logging.
1033         Log recipients if no message is transferred but QUIT/RSET is given
1034                 (at LogLevel 9/10 or higher).
1035         Log discarded recipients at LogLevel 10 or higher.
1036         Do not log "did not issue MAIL/EXPN/VRFY/ETRN" for connections
1037                 in which most commands are rejected due to check_relay or
1038                 TCP Wrappers if the host tries one of those commands anyway.
1039         Change logging format for cloned envelopes to be similar to that for
1040                 DSNs ("old id: new id: clone").  Suggested by Ulrich Windl
1041                 of the Universitat Regensburg.
1042         Added libsm, a C library of general purpose abstractions including
1043                 assertions, tracing and debugging with named debug categories,
1044                 exception handling, malloc debugging, resource pools,
1045                 portability abstractions, and an extensible buffered I/O
1046                 package.  It will at some point replace libsmutil.
1047                 See libsm/index.html for details.
1048         Fixed most memory leaks in sendmail which were previously taken
1049                 care of by fork() and exit().
1050         Use new sm_io*() functions in place of stdio calls.  Allows for
1051                 more consistent portablity amongst different platforms
1052                 new and old (from new libsm).
1053         Common I/O pkg means just one buffering method needed instead of two
1054                 ('bf_portable' and 'bf_torek' now just 'bf').
1055         Sfio no longer needed as SASL/TLS code uses sm_io*() API's.
1056         New possible value 'interactive' for SuperSafe which can be used
1057                 together with DeliveryMode=interactive is to avoid some disk
1058                 synchronizations calls.
1059         Add per-recipient status information to mailq -v output.
1060         T_ANY queries are no longer used by sendmail.
1061         When compiling with "gcc -O -Wall" specify "-DSM_OMIT_BOGUS_WARNINGS"
1062                 too (see include/sm/cdefs.h for more info).
1063         sendmail -d now has general support for named debug categories.
1064                 See libsm/debug.html and section 3.4 of doc/op/op.me
1065                 for details.
1066         Eliminate the "postmaster warning" DSNs on address parsing errors
1067                 such as unbalanced angle brackets or parentheses.  The DSNs
1068                 generated by this condition were illegal (not RFC conform).
1069                 Problem noted by Ulrich Windl of the Universitaet Regensburg.
1070         Do not issue a DSN if the ruleset localaddr resolves to the $#error
1071                 mailer and the recipient has hence been rejected during the
1072                 SMTP dialogue.  Problem reported by Larry Greenfield of CMU.
1073         Deal with a case of multiple deliveries on misconfigured systems
1074                 that do not have postmaster defined.  If an email was sent
1075                 from an address to which a DSN cannot be returned and
1076                 in which at least one recipient address is non-deliverable,
1077                 then that email had been delivered in each queue run.
1078                 Problem reported by Matteo HCE Valsasna of Universita
1079                 degli Studi dell'Insubria.
1080         The compilation options SMTP, DAEMON, and QUEUE have been removed,
1081                 i.e., the corresponding code is always compiled in now.
1082         Log the command line in daemon/queue-run mode at LogLevel 10 and
1083                 higher.  Suggested by Robert Harker of Harker Systems.
1084         New ResolverOptions setting: WorkAroundBrokenAAAA.  When
1085                 attempting to canonify a hostname, some broken nameservers
1086                 will return SERVFAIL (a temporary failure) on T_AAAA (IPv6)
1087                 lookups.  If you want to excuse this behavior, use this new
1088                 flag.  Suggested by Chris Foote of SE Network Access and
1089                 Mark Roth of the University of Illinois at
1090                 Urbana-Champaign.
1091         Free the memory allocated by getipnodeby{addr,name}().  Problem
1092                 noted by Joy Latten of IBM.
1093         ConnectionRateThrottle limits the number of connections per second
1094                 to each daemon individually, not the overall number of
1095                 connections.
1096         Specifying only "ldap:" as an AliasFile specification will force
1097                 sendmail to use a default alias schema as outlined in the
1098                 ``USING LDAP FOR ALIASES, MAPS, and CLASSES'' section of
1099                 cf/README.
1100         Add a new syntax for the 'F' (file class) sendmail.cf command.  If
1101                 the first character after the class name is not a '/' or a
1102                 '|' and it contains an '@' (e.g., F{X}key@class:spec), the
1103                 rest of the line will be parsed as a map lookup.  This
1104                 allows classes to be filled via a map lookup.  See op.me
1105                 for more syntax information.  Specifically, this can be
1106                 used for commands such as VIRTUSER_DOMAIN_FILE() to read
1107                 the list of domains via LDAP (see the ``USING LDAP FOR
1108                 ALIASES, MAPS, and CLASSES'' section of cf/README for an
1109                 example).
1110         The new macro ${sendmailMTACluster} determines the LDAP cluster for
1111                 the default schema used in the above two items.
1112         Unless DontBlameSendmail=RunProgramInUnsafeDirPath is set, log a
1113                 warning if a program being run from a mailer or file class
1114                 (e.g., F|/path/to/prog) is in an unsafe directory path.
1115         Unless DontBlameSendmail=RunWritableProgram is set, log a warning
1116                 if a program being run from a mailer or file class
1117                 (e.g., F|/path/to/prog) is group or world writable.
1118         Loopback interfaces (e.g., "lo0") are now probed for class {w}
1119                 hostnames.  Setting DontProbeInterfaces to "loopback"
1120                 (without quotes) will disable this and return to the
1121                 pre-8.12 behavior of only probing non-loopback interfaces.
1122                 Suggested by Bryan Stansell of GNAC.
1123         In accordance with RFC 2821 section 4.1.4, accept multiple
1124                 HELO/EHLO commands.
1125         Multiple ClientPortOptions settings are now allowed, one for each
1126                 possible protocol family which may be used for outgoing
1127                 connections.  Restrictions placed on one family only affect
1128                 outgoing connections on that particular family.  Because of
1129                 this change, the ${client_flags} macro is not set until the
1130                 connection is established.  Based on patch from Motonori
1131                 Nakamura of Kyoto University.
1132         PrivacyOptions=restrictexpand instructs sendmail to drop privileges
1133                 when the -bv option is given by users who are neither root
1134                 nor the TrustedUser so users can not read private aliases,
1135                 forwards, or :include: files.  It also will override the -v
1136                 (verbose) command line option.
1137         If the M=b modifier is set in DaemonPortOptions and the interface
1138                 address can't be used for the outgoing connection, fall
1139                 back to the settings in ClientPortOptions (if set).
1140                 Problem noted by John Beck of Sun Microsystems.
1141         New named config file rule check_data for DATA command (input:
1142                 number of recipients).  Based on patch from Mark Roth of
1143                 the University of Illinois at Urbana-Champaign.
1144         Add support for ETRN queue selection per RFC 1985.  The queue group
1145                 can be specified using the '#' option character.  For
1146                 example, 'ETRN #queuegroup'.
1147         If an LDAP server times out or becomes unavailable, close the
1148                 current connection and reopen to get to one of the fallback
1149                 servers.  Patch from Paul Hilchey of the University of
1150                 British Columbia.
1151         Make default error number on $#error messages 550 instead of 501
1152                 because 501 is not allowed on all commands.
1153         The .cf file option UnsafeGroupWrites is deprecated, it should be
1154                 replaced with the settings GroupWritableForwardFileSafe
1155                 and GroupWritableIncludeFileSafe in DontBlameSendmail
1156                 if required.
1157         The deprecated ldapx map class has been removed.  Use the ldap map
1158                 class instead.
1159         Any IPv6 addresses used in configuration should be prefixed by the
1160                 "IPv6:" tag to identify the address properly.  For example,
1161                 if you want to add the IPv6 address [2002:c0a8:51d2::23f4] to
1162                 class {w}, you would need to add [IPv6:2002:c0a8:51d2::23f4].
1163         Change the $&{opMode} macro if the operation mode changes while the
1164                 MTA is running.  For example, during a queue run.
1165         Add "use_inet6" as a new ResolverOptions flag to control the
1166                 RES_USE_INET6 resolver option.  Based on patch from Rick
1167                 Nelson of IBM.
1168         The maximum number of commands before the MTA slows down when too
1169                 many "light weight" commands have been received are now
1170                 configurable during compile time.  The current values and
1171                 their defaults are:
1172                     MAXBADCOMMANDS      25      unknown commands
1173                     MAXNOOPCOMMANDS     20      NOOP, VERB, ONEX, XUSR
1174                     MAXHELOCOMMANDS     3       HELO, EHLO
1175                     MAXVRFYCOMMANDS     6       VRFY, EXPN
1176                     MAXETRNCOMMANDS     8       ETRN
1177                 Setting a value to 0 disables the check.  Patch from Bryan
1178                 Costales of SL3D, Inc.
1179         The header syntax H?${MyMacro}?X-My-Header: now not only checks if
1180                 ${MyMacro} is defined but also that it is not empty.
1181         Properly quote usernames with special characters if they are used
1182                 in headers.  Problem noted by Kari Hurtta of the Finnish
1183                 Meteorological Institute.
1184         Be sure to include the proper Final-Recipient: DSN header in bounce
1185                 messages for messages for mailing list expanded addresses
1186                 which are not delivered on the initial attempt.
1187         Do not treat errors as sticky when doing delivery via LMTP after
1188                 the final dot has been sent to avoid affecting future
1189                 deliveries.  Problem reported by Larry Greenfield of CMU.
1190         New compile time flag REQUIRES_DIR_FSYNC which turns on support for
1191                 file systems that require to call fsync() for a directory
1192                 if the meta-data in it has been changed.  This should be
1193                 set at least for ReiserFS; it is enabled by default for Linux.
1194                 See sendmail/README for further information.
1195         Avoid file locking deadlock when updating the statistics file if
1196                 sendmail is signaled to terminate.  Problem noted by
1197                 Christophe Wolfhugel of France Telecom.
1198         Set the $c macro (hop count) as it is being set instead of when the
1199                 envelope is initialized.  Problem noted by Kari Hurtta of
1200                 the Finnish Meteorological Institute.
1201         Properly count recipients for DeliveryMode defer and queue.  Fix
1202                 from Peter A. Friend of EarthLink.
1203         Treat invalid hesiod lookups as permanent errors instead of
1204                 temporary errors.  Problem noted by Russell McOrmond of
1205                 flora.ca.
1206         Portability:
1207                 Remove support for AIX 2, which supports only 14 character
1208                         filenames and is outdated anyway.  Suggested by
1209                         Valdis Kletnieks of Virginia Tech.
1210                 Change several settings for Irix 6: remove confSBINDIR,
1211                         i.e., use default /usr/sbin, change owner/group
1212                         of man pages and user-executable to root/sys, set
1213                         optimization limit to 0 (unlimited).  Based on patch
1214                         from Ayamura Kikuchi, M.D, and proposal from Kari
1215                         Hurtta of the Finnish Meteorological Institute.
1216                 Do not assume LDAP support is installed by default under
1217                         Solaris 8 and later.
1218                 Add support for OpenUNIX.
1219         CONFIG: Increment version number of config file to 10.
1220         CONFIG: Add an install target and a README file in cf/cf.
1221         CONFIG: Don't accept addresses of the form a@b@, a@b@c, a@[b]c, etc.
1222         CONFIG: Reject empty recipient addresses (in check_rcpt).
1223         CONFIG: The access map uses an option of -T<TMPF> to deal with
1224                 temporary lookup failures.
1225         CONFIG: New value for access map: SKIP, which causes the default
1226                 action to be taken by aborting the search for domain names
1227                 or IP nets.
1228         CONFIG: check_rcpt can deal with TEMPFAIL for either recipient or
1229                 relay address as long as the other part allows the email
1230                 to get through.
1231         CONFIG: Entries for virtusertable can make use of a third parameter
1232                 "%3" which contains "+detail" of a wildcard match, i.e., an
1233                 entry like user+*@domain.  This allows handling of details by
1234                 using %1%3 as the RHS.  Additionally, a "+" wildcard has been
1235                 introduced to match only non-empty details of addresses.
1236         CONFIG: Numbers for rulesets used by MAILERs have been removed
1237                 and hence there is no required order within the MAILER
1238                 section anymore except for MAILER(`uucp') which must come
1239                 after MAILER(`smtp') if uucp-dom and uucp-uudom are used.
1240         CONFIG: Hosts listed in the generics domain class {G}
1241                 (GENERICS_DOMAIN() and GENERICS_DOMAIN_FILE()) are treated
1242                 as canonical.  Suggested by Per Hedeland of Ericsson.
1243         CONFIG: If FEATURE(`delay_checks') is used, make sure that a lookup
1244                 in the access map which returns OK or RELAY actually
1245                 terminates check_* ruleset checking.
1246         CONFIG: New tag TLS_Rcpt: for access map to be used by ruleset
1247                 tls_rcpt, see cf/README for details.
1248         CONFIG: Change format of Received: header line which reveals whether
1249                 STARTTLS has been used to "(version=${tls_version}
1250                 cipher=${cipher} bits=${cipher_bits} verify=${verify})".
1251         CONFIG: Use "Spam:" as tag for lookups for FEATURE(`delay_checks')
1252                 options friends/haters instead of "To:" and enable
1253                 specification of whole domains instead of just users.
1254                 Notice: this change is not backward compatible.
1255                 Suggested by Chris Adams from HiWAAY Informations Services.
1256         CONFIG: Allow for local extensions for most new rulesets, see
1257                 cf/README for details.
1258         CONFIG: New FEATURE(`lookupdotdomain') to lookup also .domain in
1259                 the access map.  Proposed by Randall Winchester of the
1260                 University of Maryland.
1261         CONFIG: New FEATURE(`local_no_masquerade') to avoid masquerading for
1262                 the local mailer.  Proposed by Ingo Brueckl of Wupper Online.
1263         CONFIG: confRELAY_MSG/confREJECT_MSG can override the default
1264                 messages for an unauthorized relaying attempt/for access
1265                 map entries with RHS REJECT, respectively.
1266         CONFIG: FEATURE(`always_add_domain') takes an optional argument
1267                 to specify another domain to be added instead of the local one.
1268                 Suggested by Richard H. Gumpertz of Computer Problem
1269                 Solving.
1270         CONFIG: confAUTH_OPTIONS allows setting of Cyrus-SASL specific
1271                 options, see doc/op/op.me for details.
1272         CONFIG: confAUTH_MAX_BITS sets the maximum encryption strength for
1273                 the security layer in SMTP AUTH (SASL).
1274         CONFIG: If Local_localaddr resolves to $#ok, localaddr is terminated
1275                 immediately.
1276         CONFIG: FEATURE(`enhdnsbl') is an enhanced version of dnsbl which
1277                 allows checking of the return values of the DNS lookups.
1278                 See cf/README for details.
1279         CONFIG: FEATURE(`dnsbl') allows now to specify the behavior for
1280                 temporary lookup failures.
1281         CONFIG: New option confDELIVER_BY_MIN to specify minimum time for
1282                 Deliver By (RFC 2852) or to turn off the extension.
1283         CONFIG: New option confSHARED_MEMORY_KEY to set the key for shared
1284                 memory use.
1285         CONFIG: New FEATURE(`compat_check') to look up a key consisting
1286                 of the sender and the recipient address delimited by the
1287                 string "<@>", e.g., sender@sdomain<@>recipient@rdomain,
1288                 in the access map.  Based on code contributed by Mathias
1289                 Koerber of Singapore Telecommunications Ltd.
1290         CONFIG: Add EXPOSED_USER_FILE() command to allow an exposed user
1291                 file.  Suggested by John Beck of Sun Microsystems.
1292         CONFIG: Don't use MAILER-DAEMON for error messages delivered
1293                 via LMTP.  Problem reported by Larry Greenfield of CMU.
1294         CONFIG: New FEATURE(`preserve_luser_host') to preserve the name of
1295                 the recipient host if LUSER_RELAY is used.
1296         CONFIG: New FEATURE(`preserve_local_plus_detail') to preserve the
1297                 +detail portion of the address when passing address to
1298                 local delivery agent.  Disables alias and .forward +detail
1299                 stripping.  Only use if LDA supports this.
1300         CONFIG: Removed deprecated FEATURE(`rbl').
1301         CONFIG: Add LDAPROUTE_EQUIVALENT() and LDAPROUTE_EQUIVALENT_FILE()
1302                 which allow you to specify 'equivalent' hosts for LDAP
1303                 Routing lookups.  Equivalent hostnames are replaced by the
1304                 masquerade domain name for lookups.  See cf/README for
1305                 additional details.
1306         CONFIG: Add a fourth argument to FEATURE(`ldap_routing') which
1307                 instructs the rulesets on what to do if the address being
1308                 looked up has +detail information.  See cf/README for more
1309                 information.
1310         CONFIG: When chosing a new destination via LDAP Routing, also look
1311                 up the new routing address/host in the mailertable.  Based
1312                 on patch from Don Badrak of the United States Census Bureau.
1313         CONFIG: Do not reject the SMTP Mail from: command if LDAP Routing
1314                 is in use and the bounce option is enabled.  Only reject
1315                 recipients as user unknown.
1316         CONFIG: Provide LDAP support for the remaining database map
1317                 features.  See the ``USING LDAP FOR ALIASES AND MAPS''
1318                 section of cf/README for more information.
1319         CONFIG: Add confLDAP_CLUSTER which defines the ${sendmailMTACluster}
1320                 macro used for LDAP searches as described above in ``USING
1321                 LDAP FOR ALIASES, MAPS, AND CLASSES''.
1322         CONFIG: confCLIENT_OPTIONS has been replaced by CLIENT_OPTIONS(),
1323                 which takes the options as argument and can be used
1324                 multiple times; see cf/README for details.
1325         CONFIG: Add configuration macros for new options:
1326                 confBAD_RCPT_THROTTLE           BadRcptThrottle
1327                 confDIRECT_SUBMISSION_MODIFIERS DirectSubmissionModifiers
1328                 confMAILBOX_DATABASE            MailboxDatabase
1329                 confMAX_QUEUE_CHILDREN          MaxQueueChildren
1330                 confMAX_RUNNERS_PER_QUEUE       MaxRunnersPerQueue
1331                 confNICE_QUEUE_RUN              NiceQueueRun
1332                 confQUEUE_FILE_MODE             QueueFileMode
1333                 confFAST_SPLIT                  FastSplit
1334                 confTLS_SRV_OPTIONS             TLSSrvOptions
1335                 See above (and related documentation) for further information.
1336         CONFIG: Add configuration variables for new timeout options:
1337                 confTO_ACONNECT         Timeout.aconnect
1338                 confTO_AUTH             Timeout.auth
1339                 confTO_LHLO             Timeout.lhlo
1340                 confTO_STARTTLS         Timeout.starttls
1341         CONFIG: Add configuration macros for mail filter API:
1342                 confINPUT_MAIL_FILTERS          InputMailFilters
1343                 confMILTER_LOG_LEVEL            Milter.LogLevel
1344                 confMILTER_MACROS_CONNECT       Milter.macros.connect
1345                 confMILTER_MACROS_HELO          Milter.macros.helo
1346                 confMILTER_MACROS_ENVFROM       Milter.macros.envfrom
1347                 confMILTER_MACROS_ENVRCPT       Milter.macros.envrcpt
1348                 Mail filters can be defined via INPUT_MAIL_FILTER() and
1349                 MAIL_FILTER().  See libmilter/README, cf/README, and
1350                 doc/op/op.me for details.
1351         CONFIG: Add support for accepting temporarily unresolvable domains.
1352                 See cf/README for details.  Based on patch by Motonori
1353                 Nakamura of Kyoto University.
1354         CONFIG: confDEQUOTE_OPTS can be used to specify options for the
1355                 dequote map.
1356         CONFIG: New macro QUEUE_GROUP() to define queue groups.
1357         CONFIG: New FEATURE(`queuegroup') to select a queue group based
1358                 on the full e-mail address or the domain of the recipient.
1359         CONFIG: Any IPv6 addresses used in configuration should be prefixed
1360                 by the "IPv6:" tag to identify the address properly.  For
1361                 example, if you want to use the IPv6 address
1362                 2002:c0a8:51d2::23f4 in the access database, you would need
1363                 to use IPv6:2002:c0a8:51d2::23f4 on the left hand side.
1364                 This affects the access database as well as the
1365                 relay-domains and local-host-names files.
1366         CONFIG: OSTYPE(aux) has been renamed to OSTYPE(a-ux).
1367         CONFIG: Avoid expansion of m4 keywords in SMART_HOST.
1368         CONFIG: Add MASQUERADE_EXCEPTION_FILE() for reading masquerading
1369                 exceptions from a file.  Suggested by Trey Breckenridge of
1370                 Mississippi State University.
1371         CONFIG: Add LOCAL_USER_FILE() for reading local users
1372                 (LOCAL_USER() -- $={L}) entries from a file.
1373         CONTRIB: dnsblaccess.m4 is a further enhanced version of enhdnsbl.m4
1374                 which allows to lookup error codes in the access map.
1375                 Contributed by Neil Rickert of Northern Illinois University.
1376         DEVTOOLS: Add new options for installation of include and library
1377                 files: confINCGRP, confINCMODE, confINCOWN, confLIBGRP,
1378                 confLIBMODE, confLIBOWN.
1379         DEVTOOLS: Add new option confDONT_INSTALL_CATMAN to turn off
1380                 installation of the the formatted man pages on operating
1381                 systems which don't include cat directories.
1382         EDITMAP: New program for editing maps as supplement to makemap.
1383         MAIL.LOCAL: Mail.local now uses the libsm mbdb package to look up
1384                 local mail recipients.  New option -D mbdb specifies the
1385                 mailbox database type.
1386         MAIL.LOCAL: New option "-h filename" which instructs mail.local to
1387                 deliver the mail to the named file in the user's home
1388                 directory instead of the system mail spool area.  Based on
1389                 patch from Doug Hardie of the Los Angeles Free-Net.
1390         MAILSTATS: New command line option -P which acts the same as -p but
1391                 doesn't truncate the statistics file.
1392         MAKEMAP: Add new option -t to specify a different delimiter
1393                 instead of white space.
1394         RMAIL: Invoke sendmail with '-G' to indicate this is a gateway
1395                 submission.  Problem noted by Kari Hurtta of the Finnish
1396                 Meteorological Institute.
1397         SMRSH: Use the vendor supplied directory on FreeBSD 3.3 and later.
1398         VACATION: Change Auto-Submitted: header value from auto-generated to
1399                 auto-replied.  From Kenneth Murchison of Oceana Matrix Ltd.
1400         VACATION: New option -d to send error/debug messages to stdout
1401                 instead of syslog.
1402         VACATION: New option -U which prevents the attempt to lookup login
1403                 in the password file.  The -f and -m options must be used
1404                 to specify the database and message file since there is no
1405                 home directory for the default settings for these options.
1406         VACATION: Vacation now uses the libsm mbdb package to look up
1407                 local mail recipients; it reads the MailboxDatabase option
1408                 from the sendmail.cf file.  New option -C cffile which
1409                 specifies the path of the sendmail.cf file.
1410         New Directories:
1411                 libmilter/docs
1412         New Files:
1413                 cf/cf/README
1414                 cf/cf/submit.cf
1415                 cf/cf/submit.mc
1416                 cf/feature/authinfo.m4
1417                 cf/feature/compat_check.m4
1418                 cf/feature/enhdnsbl.m4
1419                 cf/feature/msp.m4
1420                 cf/feature/local_no_masquerade.m4
1421                 cf/feature/lookupdotdomain.m4
1422                 cf/feature/preserve_luser_host.m4
1423                 cf/feature/preserve_local_plus_detail.m4
1424                 cf/feature/queuegroup.m4
1425                 cf/sendmail.schema
1426                 contrib/dnsblaccess.m4
1427                 devtools/M4/UNIX/sm-test.m4
1428                 devtools/OS/OpenUNIX.5.i386
1429                 editmap/*
1430                 include/sm/*
1431                 libsm/*
1432                 libsmutil/cf.c
1433                 libsmutil/err.c
1434                 sendmail/SECURITY
1435                 sendmail/TUNING
1436                 sendmail/bf.c
1437                 sendmail/bf.h
1438                 sendmail/sasl.c
1439                 sendmail/sm_resolve.c
1440                 sendmail/sm_resolve.h
1441                 sendmail/tls.c
1442         Deleted Files:
1443                 cf/feature/rbl.m4
1444                 cf/ostype/aix2.m4
1445                 devtools/OS/AIX.2
1446                 include/sendmail/cdefs.h
1447                 include/sendmail/errstring.h
1448                 include/sendmail/useful.h
1449                 libsmutil/errstring.c
1450                 sendmail/bf_portable.c
1451                 sendmail/bf_portable.h
1452                 sendmail/bf_torek.c
1453                 sendmail/bf_torek.h
1454                 sendmail/clock.c
1455         Renamed Files:
1456                 cf/cf/generic-solaris2.mc => cf/cf/generic-solaris.mc
1457                 cf/cf/generic-solaris2.cf => cf/cf/generic-solaris.cf
1458                 cf/ostype/aux.m4 => cf/ostype/a-ux.m4
1459
1460 8.11.6/8.11.6   2001/08/20
1461         SECURITY: Fix a possible memory access violation when specifying
1462                 out-of-bounds debug parameters.  Problem detected by
1463                 Cade Cairns of SecurityFocus.
1464         Avoid leaking recipient information in unrelated DSNs.  This could
1465                 happen if a connection is aborted, several mails had been
1466                 scheduled for delivery via that connection, and the timeout
1467                 is reached such that several DSNs are sent next.  Problem
1468                 noted by Dileepan Moorkanat of Hewlett-Packard.
1469         Fix a possible segmentation violation when specifying too many
1470                 wildcard operators in a rule.  Problem detected by
1471                 Werner Wiethege.
1472         Avoid a segmentation fault on non-matching Hesiod lookups.  Problem
1473                 noted by Russell McOrmond of flora.ca
1474
1475 8.11.5/8.11.5   2001/07/31
1476         Fix a possible race condition when sending a HUP signal to restart
1477                 the daemon.  This could terminate the current process without
1478                 starting a new daemon.  Problem reported by Wolfgang Breyha
1479                 of SE Netway Communications.
1480         Only apply MaxHeadersLength when receiving a message via SMTP or
1481                 the command line.  Problem noted by Andrey J. Melnikoff.
1482         When finding the system's local hostname on an IPv6-enabled system
1483                 which doesn't have any IPv6 interface addresses, fall back
1484                 to looking up only IPv4 addresses.  Problem noted by Tim
1485                 Bosserman of EarthLink.
1486         When commands were being rejected due to check_relay or TCP
1487                 Wrappers, the ETRN command was not giving a response.
1488         Incoming IPv4 connections on a Family=inet6 daemon (using
1489                 IPv4-mapped addresses) were incorrectly labeled as "may be
1490                 forged".  Problem noted by Per Steinar Iversen of Oslo
1491                 University College.
1492         Shutdown address test mode cleanly on SIGTERM.  Problem noted by
1493                 Greg King of the OAO Corporation.
1494         Restore the original real uid (changed in main() to prevent
1495                 out of band signals) before invoking a delivery agent.
1496                 Some delivery agents use this for the "From " envelope
1497                 "header".  Problem noted by Leslie Carroll of the
1498                 University at Albany.
1499         Mark closed file descriptors properly to avoid reuse. Problem
1500                 noted by Jeff Bronson of J.D. Bronson, Inc.
1501         Setting Timeout options on the command line will also override
1502                 their sub-suboptions in the .cf file, e.g., -O
1503                 Timeout.queuereturn=2d will set all queuereturn timeouts
1504                 to 2 days.  Problem noted by Roger B.A. Klorese.
1505         Portability:
1506                 BSD/OS has a broken setreuid() implementation.  Problem
1507                         noted by Vernon Schryver of Rhyolite Software.
1508                 BSD/OS has /dev/urandom(4) (as of version 4.1/199910 ?).
1509                         Noted by Vernon Schryver of Rhyolite Software.
1510                 BSD/OS has fchown(2).  Noted by Dave Yadallee of Netline
1511                         2000 Internet Solutions Inc.
1512                 Solaris 2.X and later have strerror(3).  From Sebastian
1513                         Hagedorn of Cologne University.
1514         CONFIG: Fix parsing for IPv6 domain literals in addresses
1515                 (user@[IPv6:address]).  Problem noted by Liyuan Zhou.
1516
1517 8.11.4/8.11.4   2001/05/28
1518         Clean up signal handling routines to reduce the chances of heap
1519                 corruption and other potential race conditions.
1520                 Terminating and restarting the daemon may not be
1521                 instantaneous due to this change.  Also, non-root users can
1522                 no longer send out-of-band signals.  Problem reported by
1523                 Michal Zalewski of BindView.
1524         If LogLevel is greater than 9 and SASL fails to negotiate an
1525                 encryption layer, avoid core dump logging the encryption
1526                 strength.  Problem noted by Miroslav Zubcic of Crol.
1527         If a server offers "AUTH=" and "AUTH " and the list of mechanisms is
1528                 different in those two lines, sendmail might not have
1529                 recognized (and used) all of the offered mechanisms.
1530         Fix an IP address lookup problem on Solaris 2.0 - 2.3.  Patch
1531                 from Kenji Miyake.
1532         This time, really don't use the .. directory when expanding
1533                 QueueDirectory wildcards.
1534         If a process is interrupted while closing a map, don't try to close
1535                 the same map again while exiting.
1536         Allow local mailers (F=l) to contact remote hosts (e.g., via
1537                 LMTP).  Problem noted by Norbert Klasen of the University
1538                 of Tuebingen.
1539         If Timeout.QueueReturn was set to a value less the time it took
1540                 to write a new queue file (e.g., 0 seconds), the bounce
1541                 message would be lost.  Problem noted by Lorraine L Goff of
1542                 Oklahoma State University.
1543         Pass map argument vector into map rewriting engine for the regex
1544                 and prog map types.  Problem noted by Stephen Gildea of
1545                 InTouch Systems, Inc.
1546         When closing an LDAP map due to a temporary error, close all of the
1547                 other LDAP maps which share the original map's connection
1548                 to the LDAP server.  Patch from Victor Duchovni of
1549                 Morgan Stanley.
1550         To detect changes of NDBM aliases files check the timestamp of the
1551                 .pag file instead of the .dir file.  Problem noted by Neil
1552                 Rickert of Northern Illinois University.
1553         Don't treat temporary hesiod lookup failures as permanent.  Patch
1554                 from Werner Wiethege.
1555         If ClientPortOptions is set, make sure to create the outgoing socket
1556                 with the family set in that option.  Patch from Sean Farley.
1557         Avoid a segmentation fault trying to dereference a NULL pointer
1558                 when logging a MaxHopCount exceeded error with an empty
1559                 recipient list.  Problem noted by Chris Adams of HiWAAY
1560                 Internet Services.
1561         Fix DSN for "Too many hops" bounces.  Problem noticed by Ulrich
1562                 Windl of the Universitaet Regensburg.
1563         Fix DSN for "mail loops back to me" bounces.  Problem noticed by
1564                 Kari Hurtta of the Finnish Meteorological Institute.
1565         Portability:
1566                 OpenBSD has a broken setreuid() implementation.
1567         CONFIG: Undo change from 8.11.1: change 501 SMTP reply code back
1568                 to 553 since it is allowed by DRUMS.
1569         CONFIG: Add OSTYPE(freebsd4) for FreeBSD 4.X.
1570         DEVTOOLS: install.sh did not properly handle paths in the source
1571                 file name argument.  Noted by Kari Hurtta of the Finnish
1572                 Meteorological Institute.
1573         DEVTOOLS: Add FAST_PID_RECYCLE to compile time options for OpenBSD
1574                 since it generates random process ids.
1575         PRALIASES: Add back adaptive algorithm to deal with different endings
1576                 of entries in the database (with/without trailing '\0').
1577                 Patch from John Beck of Sun Microsystems.
1578         New Files:
1579                 cf/ostype/freebsd4.m4
1580
1581 8.11.3/8.11.3   2001/02/27
1582         Prevent a segmentation fault when a bogus value was used in the
1583                 LDAPDefaultSpec option's -r, -s, or -M flags and if a bogus
1584                 option was used.  Problem noted by Allan E Johannesen of
1585                 Worcester Polytechnic Institute.
1586         Prevent "token too long" message by shortening {currHeader} which
1587                 could be too long if the last copied character was a quote.
1588                 Problem detected by Jan Krueger of digitalanswers
1589                 communications consulting gmbh.
1590         Additional IPv6 check for unspecified addresses.  Patch from
1591                 Jun-ichiro itojun Hagino of the KAME Project.
1592         Do not ignore the ClientPortOptions setting if DaemonPortOptions
1593                 Modifier=b (bind to same interface) is set and the
1594                 connection came in from the command line.
1595         Do not bind to the loopback address if DaemonPortOptions
1596                 Modifier=b (bind to same interface) is set.  Patch from
1597                 John Beck of Sun Microsystems.
1598         Properly deal with open failures on non-optional maps used in
1599                 check_* rulesets by returning a temporary failure.
1600         Buffered file I/O files were not being properly fsync'ed to disk
1601                 when they were committed.
1602         Properly encode '=' for the AUTH= parameter of the MAIL command.
1603                 Problem noted by Hadmut Danisch.
1604         Under certain circumstances the macro {server_name} could be set
1605                 to the wrong hostname (of a previous connection), which may
1606                 cause some rulesets to return wrong results.  This would
1607                 usually cause mail to be queued up and delivered later on.
1608         Ignore F=z (LMTP) mailer flag if $u is given in the mailer A=
1609                 equate.  Problem noted by Motonori Nakamura of Kyoto
1610                 University.
1611         Work around broken accept() implementations which only partially
1612                 fill in the peer address if the socket is closed before
1613                 accept() completes.
1614         Return an SMTP "421" temporary failure if the data file can't be
1615                 opened where the "354" reply would normally be given.
1616         Prevent a CPU loop in trying to expand a macro which doesn't exist
1617                 in a queue run.  Problem noted by Gordon Lack of Glaxo
1618                 Wellcome.
1619         If delivering via a program and that program exits with EX_TEMPFAIL,
1620                 note that fact for the mailq display instead of just showing
1621                 "Deferred".  Problem noted by Motonori Nakamura of Kyoto
1622                 University.
1623         If doing canonification via /etc/hosts, try both the fully
1624                 qualified hostname as well as the first portion of the
1625                 hostname.  Problem noted by David Bremner of the
1626                 University of New Brunswick.
1627         Portability:
1628                 Fix a compilation problem for mail.local and rmail if SFIO
1629                         is in use.  Problem noted by Auteria Wally
1630                         Winzer Jr. of Champion Nutrition.
1631                 IPv6 changes for platforms using KAME.  Patch from
1632                         Jun-ichiro itojun Hagino of the KAME Project.
1633                 OpenBSD 2.7 and higher has srandomdev(3).  OpenBSD 2.8 and
1634                         higher has BSDI-style login classes.  Patch from
1635                         Todd C.  Miller of Courtesan Consulting.
1636                 Unixware 7.1.1 doesn't allow h_errno to be set directly if
1637                         sendmail is being compiled with -kthread.  Problem
1638                         noted by Orion Poplawski of CQG, Inc.
1639         CONTRIB: buildvirtuser: Substitute current domain for $DOMAIN and
1640                 current left hand side for $LHS in virtuser files.
1641         DEVTOOLS: Do not pass make targets to recursive Build invocations.
1642                 Problem noted by Jeff Bronson of J.D. Bronson, Inc.
1643         MAIL.LOCAL: In LMTP mode, do not return errors regarding problems
1644                 storing the temporary message file until after the remote
1645                 side has sent the final DATA termination dot.  Problem
1646                 noted by Allan E Johannesen of Worcester Polytechnic
1647                 Institute.
1648         MAIL.LOCAL: If LMTP mode is set, give a temporary error if users
1649                 are also specified on the command line.  Patch from
1650                 Motonori Nakamura of Kyoto University.
1651         PRALIASES: Skip over AliasFile specifications which aren't based on
1652                 database files (i.e., only show dbm, hash, and btree).
1653         Renamed Files:
1654                 devtools/OS/OSF1.V5.0 => devtools/OS/OSF1.V5.x
1655
1656 8.11.2/8.11.2   2000/12/29
1657         Prevent a segmentation fault when trying to set a class in
1658                 address test mode due to a negative array index.  Audit
1659                 other array indexing.  This bug is not believed to be
1660                 exploitable.  Noted by Michal Zalewski of the "Internet for
1661                 Schools" project (IdS).
1662         Add an FFR (for future release) to drop privileges when using
1663                 address test mode.  This will be turned on in 8.12. It can
1664                 be enabled by compiling with:
1665                 APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_TESTMODE_DROP_PRIVS')
1666                 in your devtools/Site/site.config.m4 file.  Suggested by
1667                 Michal Zalewski of the "Internet for Schools" project (IdS).
1668         Fix potential problem with Cyrus-SASL security layer which may have
1669                 caused I/O errors, especially for mechanism DIGEST-MD5.
1670         When QueueSortOrder was set to host, sendmail might not read
1671                 enough of the queue file to determine the host, making the
1672                 sort sub-optimal.  Problem noted by Jeff Earickson of
1673                 Colby College.
1674         Don't issue DSNs for addresses which use the NOTIFY parameter (per
1675                 RFC 1891) but don't have FAILURE as value.
1676         Initialize Cyrus-SASL library before the SMTP daemon is started.
1677                 This implies that every change to SASL related files requires
1678                 a restart of the daemon, e.g., Sendmail.conf, new SASL
1679                 mechanisms (in form of shared libraries).
1680         Properly set the STARTTLS related macros during a queue run for
1681                 a cached connection.  Bug reported by Michael Kellen of
1682                 NxNetworks, Inc.
1683         Log the server name in relay= for ruleset tls_server instead of the
1684                 client name.
1685         Include original length of bad field/header when reporting
1686                 MaxMimeHeaderLength problems.  Requested by Ulrich Windl of
1687                 the Universitat Regensburg.
1688         Fix delivery to set-user-ID files that are expanded from aliases in
1689                 DeliveryMode queue.  Problem noted by Ric Anderson of the
1690                 University of Arizona.
1691         Fix LDAP map -m (match only) flag.  Problem noted by Jeff Giuliano
1692                 of Collective Technologies.
1693         Avoid using a negative argument for sleep() calls when delaying answers
1694                 to EXPN/VRFY commands on systems which respond very slowly.
1695                 Problem noted by Mikolaj J. Habryn of Optus Internet
1696                 Engineering.
1697         Make sure the F=u flag is set in the default prog mailer
1698                 definition.  Problem noted by Kari Hurtta of the Finnish
1699                 Meteorological Institute.
1700         Fix IPv6 check for unspecified addresses.  Patch from
1701                 Jun-ichiro itojun Hagino of the KAME Project.
1702         Fix return values for IRIX nsd map.  From Kari Hurtta of the Finnish
1703                 Meteorological Institute.
1704         Fix parsing of DaemonPortOptions and ClientPortOptions.  Read all
1705                 of the parameters to find Family= setting before trying to
1706                 interpret Addr= and Port=.  Problem noted by Valdis
1707                 Kletnieks of Virginia Tech.
1708         When delivering to a file directly from an alias, do not call
1709                 initgroups(); instead use the DefaultUser group information.
1710                 Problem noted by Marc Schaefer of ALPHANET NF.
1711         RunAsUser now overrides the ownership of the control socket, if
1712                 created.  Otherwise, sendmail can not remove it upon
1713                 close.  Problem noted by Werner Wiethege.
1714         Fix ConnectionRateThrottle counting as the option is the number of
1715                 overall connections, not the number of connections per
1716                 socket.  A future version may change this to per socket
1717                 counting.
1718         Portability:
1719                 Clean up libsmdb so it functions properly on platforms
1720                         where sizeof(u_int32_t) != sizeof(size_t).  Problem
1721                         noted by Rein Tollevik of Basefarm AS.
1722                 Fix man page formatting for compatibility with Solaris'
1723                         whatis.  From Stephen Gildea of InTouch Systems, Inc.
1724                 UnixWare 7 includes snprintf() support.  From Larry
1725                         Rosenman.
1726                 IPv6 changes for platforms using KAME.  Patch from
1727                         Jun-ichiro itojun Hagino of the KAME Project.
1728                 Avoid a typedef compile conflict with Berkeley DB 3.X and
1729                         Solaris 2.5 or earlier.  Problem noted by Bob Hughes
1730                         of Pacific Access.
1731                 Add preliminary support for AIX 5.  Contributed by
1732                         Valdis Kletnieks of Virginia Tech.
1733                 Solaris 9 load average support from Andrew Tucker of Sun
1734                         Microsystems.
1735         CONFIG: Reject addresses of the form a!b if FEATURE(`nouucp', `r')
1736                 is used.  Problem noted by Phil Homewood of Asia Online,
1737                 patch from Neil Rickert of Northern Illinois University.
1738         CONFIG: Change the default DNS based blacklist server for
1739                 FEATURE(`dnsbl') to blackholes.mail-abuse.org.
1740         CONFIG: Deal correctly with the 'C' flag in {daemon_flags}, i.e.,
1741                 implicitly assume canonical host names.
1742         CONFIG: Deal with "::" in IPv6 addresses for access_db.  Based on
1743                 patch by Motonori Nakamura of Kyoto University.
1744         CONFIG: New OSTYPE(`aix5') contributed by Valdis Kletnieks of
1745                 Virginia Tech.
1746         CONFIG: Pass the illegal header form <list:;> through untouched
1747                 instead of making it worse.  Problem noted by Motonori
1748                 Nakamura of Kyoto University.
1749         CONTRIB: Added buildvirtuser (see `perldoc contrib/buildvirtuser`).
1750         CONTRIB: qtool.pl: An empty queue is not an error.  Problem noted
1751                 by Jan Krueger of digitalanswers communications consulting
1752                 gmbh.
1753         CONTRIB: domainmap.m4: Handle domains with '-' in them.  From Mark
1754                 Roth of the University of Illinois at Urbana-Champaign.
1755         DEVTOOLS: Change the internal devtools OS, REL, and ARCH m4
1756                 variables into bldOS, bldREL, and bldARCH to prevent
1757                 namespace collisions.  Problem noted by Motonori Nakamura
1758                 of Kyoto University.
1759         RMAIL: Undo the 8.11.1 change to use -G when calling sendmail.  It
1760                 causes some changes in behavior and may break rmail for
1761                 installations where sendmail is actually a wrapper to
1762                 another MTA.  The change will re-appear in a future
1763                 version.
1764         SMRSH: Use the vendor supplied directory on HPUX 10.X, HPUX 11.X,
1765                 and SunOS 5.8.  Requested by Jeff A. Earickson of Colby
1766                 College and John Beck of Sun Microsystems.
1767         VACATION: Fix pattern matching for addresses to ignore.
1768         VACATION: Don't reply to addresses of the form owner-*
1769                 or *-owner.
1770         New Files:
1771                 cf/ostype/aix5.m4
1772                 contrib/buildvirtuser
1773                 devtools/OS/AIX.5.0
1774
1775 8.11.1/8.11.1   2000/09/27
1776         Fix SMTP EXPN command output if the address expands to a single
1777                 name.  Fix from John Beck of Sun Microsystems.
1778         Don't try STARTTLS in the client if the PRNG has not been properly
1779                 seeded.  This problem only occurs on systems without
1780                 /dev/urandom.  Problem detected by Jan Krueger of
1781                 digitalanswers communications consulting gmbh and
1782                 Neil Rickert of Northern Illinois University.
1783         Don't use the . and .. directories when expanding QueueDirectory
1784                 wildcards.
1785         Do not try to cache LDAP connections across processes as a parent
1786                 process may close the connection before the child process
1787                 has completed.  Problem noted by Lai Yiu Fai of the Hong
1788                 Kong University of Science and Technology and Wolfgang
1789                 Hottgenroth of UUNET.
1790         Use Timeout.fileopen to limit the amount of time spent trying to
1791                 read the LDAP secret from a file.
1792         Prevent SIGTERM from removing a command line submitted item after
1793                 the user submits the message and before the first delivery
1794                 attempt completes.  Problem noted by Max France of AlphaNet.
1795                 Fix from Neil Rickert of Northern Illinois University.
1796         Deal correctly with MaxMessageSize restriction if message size is
1797                 greater than 2^31.  Problem noted by Tim "Darth Dice" Bosserman
1798                 of EarthLink.
1799         Turn off queue checkpointing if CheckpointInterval is set to zero.
1800         Treat an empty home directory (from getpw*() or $HOME) as
1801                 non-existent instead of treating it as /.  Problem noted by
1802                 Todd C. Miller of Courtesan Consulting.
1803         Don't drop duplicate headers when reading a queued item.  Problem
1804                 noted by Motonori Nakamura of Kyoto University.
1805         Avoid bogus error text when logging the savemail panic "cannot
1806                 save rejected email anywhere".  Problem noted by Marc G.
1807                 Fournier of Acadia University.
1808         If an LDAP search fails because the LDAP server went down, close
1809                 the map so subsequent searches reopen the map.  If there are
1810                 multiple LDAP servers, the down server will be skipped and
1811                 one of the others may be able to take over.
1812         Set the ${load_avg} macro to the current load average, not the
1813                 previous load average query result.
1814         If a non-optional map used in a check_* ruleset can't be opened,
1815                 return a temporary failure to the remote SMTP client
1816                 instead of ignoring the map.  Problem noted by Allan E
1817                 Johannesen of Worcester Polytechnic Institute.
1818         Avoid a race condition when queuing up split envelopes by saving
1819                 the split envelopes before the original envelope.
1820         Fix a bug in the PH_MAP code which caused mail to bounce instead of
1821                 defer if the PH server could not be contacted.  From Mark
1822                 Roth of the University of Illinois at Urbana-Champaign.
1823         Prevent QueueSortOrder=Filename from interfering with -qR, -qS, and
1824                 ETRN.  Problem noted by Erik R. Leo of SoVerNet.
1825         Change error code for unrecognized parameters to the SMTP MAIL and
1826                 RCPT commands from 501 to 555 per RFC 1869.  Problem
1827                 reported to Postfix by Robert Norris of Monash University.
1828         Prevent overwriting the argument of -B on certain OS.  Problem
1829                 noted by Matteo Gelosa of I.NET S.p.A.
1830         Use the proper routine for freeing memory with Netscape's LDAP
1831                 client libraries.  Patch from Paul Hilchey of the
1832                 University of British Columbia.
1833         Portability:
1834                 Move the NETINET6 define to devtools/OS/SunOS.5.{8,9}
1835                         instead of defining it in conf.h so users can
1836                         override the setting.  Suggested by
1837                         Henrik Nordstrom of Ericsson.
1838                 On HP-UX 10.X and 11.X, use /usr/sbin/sendmail instead of
1839                         /usr/lib/sendmail for rmail and vacation.  From
1840                         Jeff A. Earickson of Colby College.
1841                 On HP-UX 11.X, use /usr/sbin instead of /usr/libexec (which
1842                         does not exist).  From Jeff A. Earickson of Colby
1843                         College.
1844                 Avoid using the UCB subsystem on NCR MP-RAS 3.x.  From
1845                         Tom Moore of NCR.
1846                 NeXT 3.X and 4.X installs man pages in /usr/man.  From
1847                         Hisanori Gogota of NTT/InterCommunicationCenter.
1848                 Solaris 8 and later include /var/run.  The default PID file
1849                         location is now /var/run/sendmail.pid.  From John
1850                         Beck of Sun Microsystems.
1851                 SFIO includes snprintf() for those operating systems
1852                         which do not.  From Todd C. Miller of Courtesan
1853                         Consulting.
1854         CONFIG: Use the result of _CERT_REGEX_SUBJECT_ not {cert_subject}.
1855                 Problem noted by Kaspar Brand of futureLab AG.
1856         CONFIG: Change 553 SMTP reply code to 501 to avoid problems with
1857                 errors in the MAIL address.
1858         CONFIG: Fix FEATURE(nouucp) usage in example .mc files.  Problem
1859                 noted by Ron Jarrell of Virginia Tech.
1860         CONFIG: Add support for Solaris 8 (and later) as OSTYPE(solaris8).
1861                 Contributed by John Beck of Sun Microsystems.
1862         CONFIG: Set confFROM_HEADER such that the mail hub can possibly add
1863                 GECOS information for an address.  This more closely
1864                 matches pre-8.10 nullclient behavior.  From Per Hedeland of
1865                 Ericsson.
1866         CONFIG: Fix MODIFY_MAILER_FLAGS(): apply the flag modifications for
1867                 SMTP to all *smtp* mailers and those for RELAY to the relay
1868                 mailer as described in cf/README.
1869         MAIL.LOCAL: Open the mailbox as the recipient not root so quotas
1870                 are obeyed.  Problem noted by Damian Kuczynski of NIK.
1871         MAKEMAP: Do not change a map's owner to the TrustedUser if using
1872                 makemap to 'unmake' the map.
1873         RMAIL: Avoid overflowing the list of recipients being passed to
1874                 sendmail.
1875         RMAIL: Invoke sendmail with '-G' to indicate this is a gateway
1876                 submission.  Problem noted by Kari Hurtta of the Finnish
1877                 Meteorological Institute.
1878         VACATION: Read the complete message to avoid "broken pipe" signals.
1879         VACATION: Do not cut off vacation.msg files which have a single
1880                 dot as the only character on the line.
1881         New Files:
1882                 cf/ostype/solaris8.m4
1883
1884 8.11.0/8.11.0   2000/07/19
1885         SECURITY: If sendmail is installed as a non-root set-user-ID binary
1886                 (not the normal case), some operating systems will still
1887                 keep a saved-uid of the effective-uid when sendmail tries
1888                 to drop all of its privileges.  If sendmail needs to drop
1889                 these privileges and the operating system doesn't set the
1890                 saved-uid as well, exit with an error.  Problem noted by
1891                 Kari Hurtta of the Finnish Meteorological Institute.
1892         SECURITY: sendmail depends on snprintf() NUL terminating the string
1893                 it populates.  It is possible that some broken
1894                 implementations of snprintf() exist that do not do this.
1895                 Systems in this category should compile with
1896                 -DSNPRINTF_IS_BROKEN=1.  Use test/t_snprintf.c to test your
1897                 system and report broken implementations to
1898                 sendmail-bugs@sendmail.org and your OS vendor.  Problem
1899                 noted by Slawomir Piotrowski of TELSAT GP.
1900         Support SMTP Service Extension for Secure SMTP (RFC 2487) (STARTTLS).
1901                 Implementation influenced by the example programs of
1902                 OpenSSL and the work of Lutz Jaenicke of TU Cottbus.
1903         Add new STARTTLS related options CACERTPath, CACERTFile,
1904                 ClientCertFile, ClientKeyFile, DHParameters, RandFile,
1905                 ServerCertFile, and ServerKeyFile.  These are documented in
1906                 cf/README and doc/op/op.*.
1907         New STARTTLS related macros: ${cert_issuer}, ${cert_subject},
1908                 ${tls_version}, ${cipher}, ${cipher_bits}, ${verify},
1909                 ${server_name}, and ${server_addr}.  These are documented
1910                 in cf/README and doc/op/op.*.
1911         Add support for the Entropy Gathering Daemon (EGD) for better
1912                 random data.
1913         New DontBlameSendmail option InsufficientEntropy for systems which
1914                 don't properly seed the PRNG for OpenSSL but want to
1915                 try to use STARTTLS despite the security problems.
1916         Support the security layer in SMTP AUTH for mechanisms which
1917                 support encryption.  Based on code contributed by Tim
1918                 Martin of CMU.
1919         Add new macro ${auth_ssf} to reflect the SMTP AUTH security
1920                 strength factor.
1921         LDAP's -1 (single match only) flag was not honored if the -z
1922                 (delimiter) flag was not given.  Problem noted by ST Wong of
1923                 the Chinese University of Hong Kong.  Fix from Mark Adamson
1924                 of CMU.
1925         Add more protection from accidentally tripping OpenLDAP 1.X's
1926                 ld_errno == LDAP_DECODING_ERROR hack on ldap_next_attribute().
1927                 Suggested by Kurt Zeilenga of OpenLDAP.
1928         Fix the default family selection for DaemonPortOptions.  As
1929                 documented, unless a family is specified in a
1930                 DaemonPortOptions option, "inet" is the default.  It is
1931                 also the default if no DaemonPortOptions value is set.
1932                 Therefore, IPv6 users should configure additional sockets
1933                 by adding DaemonPortOptions settings with Family=inet6 if
1934                 they wish to also listen on IPv6 interfaces.  Problem noted
1935                 by Jun-ichiro itojun Hagino of the KAME Project.
1936         Set ${if_family} when setting ${if_addr} and ${if_name} to reflect
1937                 the interface information for an outgoing connection.
1938                 Not doing so was creating a mismatch between the socket
1939                 family and address used in subsequent connections if the
1940                 M=b modifier was set in DaemonPortOptions.  Problem noted
1941                 by John Beck of Sun Microsystems.
1942         If DaemonPortOptions modifier M=b is used, determine the socket
1943                 family based on the IP address.  ${if_family} is no longer
1944                 persistent (i.e., saved in qf files).  Patch from John Beck
1945                 of Sun Microsystems.
1946         sendmail 8.10 and 8.11 reused the ${if_addr} and ${if_family}
1947                 macros for both the incoming interface address/family and
1948                 the outgoing interface address/family.  In order for M=b
1949                 modifier in DaemonPortOptions to work properly, preserve
1950                 the incoming information in the queue file for later
1951                 delivery attempts.
1952         Use SMTP error code and enhanced status code from check_relay in
1953                 responses to commands.  Problem noted by Jeff Wasilko of
1954                 smoe.org.
1955         Add more vigilance in checking for putc() errors on output streams
1956                 to protect from a bug in Solaris 2.6's putc().  Problem
1957                 noted by Graeme Hewson of Oracle.
1958         The LDAP map -n option (return attribute names only) wasn't working.
1959                 Problem noted by Ajay Matia.
1960         Under certain circumstances, an address could be listed as deferred
1961                 but would be bounced back to the sender as failed to be
1962                 delivered when it really should have been queued.  Problem
1963                 noted by Allan E Johannesen of Worcester Polytechnic Institute.
1964         Prevent a segmentation fault in a child SMTP process from getting
1965                 the SMTP transaction out of sync.  Problem noted by Per
1966                 Hedeland of Ericsson.
1967         Turn off RES_DEBUG if SFIO is defined unless SFIO_STDIO_COMPAT
1968                 is defined to avoid a core dump due to incompatibilities
1969                 between sfio and stdio.  Problem noted by Neil Rickert
1970                 of Northern Illinois University.
1971         Don't log useless envelope ID on initial connection log.  Problem
1972                 noted by Kari Hurtta of the Finnish Meteorological Institute.
1973         Convert the free disk space shown in a control socket status query
1974                 to kilobyte units.
1975         If TryNullMXList is True and there is a temporary DNS failure
1976                 looking up the hostname, requeue the message for a later
1977                 attempt.  Problem noted by Ari Heikkinen of Pohjois-Savo
1978                 Polytechnic.
1979         Under the proper circumstances, failed connections would be recorded
1980                 as "Bad file number" instead of "Connection failed" in the
1981                 queue file and persistent host status.  Problem noted by
1982                 Graeme Hewson of Oracle.
1983         Avoid getting into an endless loop if a non-hoststat directory exists
1984                 within the hoststatus directory (e.g., lost+found).
1985                 Patch from Valdis Kletnieks of Virginia Tech.
1986         Make sure Timeout.queuereturn=now returns a bounce message to the
1987                 sender.  Problem noted by Per Hedeland of Ericsson.
1988         If a message data file can't be opened at delivery time, panic and
1989                 abort the attempt instead of delivering a message that
1990                 states "<<< No Message Collected >>>".
1991         Fixup the GID checking code from 8.10.2 as it was overly
1992                 restrictive.  Problem noted by Mark G. Thomas of Mark
1993                 G. Thomas Consulting.
1994         Preserve source port number instead of replacing it with the ident
1995                 port number (113).
1996         Document the queue status characters in the mailq man page.
1997                 Suggested by Ulrich Windl of the Universitat Regensburg.
1998         Process queued items in which none of the recipient addresses have
1999                 host portions (or there are no recipients).  Problem noted
2000                 by Valdis Kletnieks of Virginia Tech.
2001         If a cached LDAP connection is used for multiple maps, make sure
2002                 only the first to open the connection is allowed to close
2003                 it so a later map close doesn't break the connection for
2004                 other maps.  Problem noted by Wolfgang Hottgenroth of UUNET.
2005         Netscape's LDAP libraries do not support Kerberos V4
2006                 authentication.  Patch from Rainer Schoepf of the
2007                 University of Mainz.
2008         Provide workaround for inconsistent handling of data passed
2009                 via callbacks to Cyrus SASL prior to version 1.5.23.
2010         Mention ENHANCEDSTATUSCODES in the SMTP HELP helpfile.  Omission
2011                 noted by Ulrich Windl of the Universitat Regensburg.
2012         Portability:
2013                 Add the ability to read IPv6 interface addresses into class
2014                         'w' under FreeBSD (and possibly others).  From Jun
2015                         Kuriyama of IMG SRC, Inc. and the FreeBSD Project.
2016                 Replace code for finding the number of CPUs on HPUX.
2017                 NCRUNIX MP-RAS 3.02 SO_REUSEADDR socket option does not
2018                         work properly causing problems if the accept()
2019                         fails and the socket needs to be reopened.  Patch
2020                         from Tom Moore of NCR.
2021                 NetBSD uses a .0 extension of formatted man pages.  From
2022                         Andrew Brown of Crossbar Security.
2023                 Return to using the IPv6 AI_DEFAULT flag instead of AI_V4MAPPED
2024                         for calls to getipnodebyname().  The Linux
2025                         implementation is broken so AI_ADDRCONFIG is stripped
2026                         under Linux.  From John Beck of Sun Microsystems and
2027                         John Kennedy of Cal State University, Chico.
2028         CONFIG: Catch invalid addresses containing a ',' at the wrong place.
2029                 Patch from Neil Rickert of Northern Illinois University.
2030         CONFIG: New variables for the new sendmail options:
2031                 confCACERT_PATH                 CACERTPath
2032                 confCACERT                      CACERTFile
2033                 confCLIENT_CERT                 ClientCertFile
2034                 confCLIENT_KEY                  ClientKeyFile
2035                 confDH_PARAMETERS               DHParameters
2036                 confRAND_FILE                   RandFile
2037                 confSERVER_CERT                 ServerCertFile
2038                 confSERVER_KEY                  ServerKeyFile
2039         CONFIG: Provide basic rulesets for TLS policy control and add new
2040                 tags to the access database to support these policies.  See
2041                 cf/README for more information.
2042         CONFIG: Add TLS information to the Received: header.
2043         CONFIG: Call tls_client ruleset from check_mail in case it wasn't
2044                 called due to a STARTTLS command.
2045         CONFIG: If TLS_PERM_ERR is defined, TLS related errors are permanent
2046                 instead of temporary.
2047         CONFIG: FEATURE(`relay_hosts_only') didn't work in combination with
2048                 the access map and relaying to a domain without using a To:
2049                 tag.  Problem noted by Mark G. Thomas of Mark G. Thomas
2050                 Consulting.
2051         CONFIG: Set confEBINDIR to /usr/sbin to match the devtools entry in
2052                 OSTYPE(`linux') and OSTYPE(`mklinux').  From Tim Pierce of
2053                 RootsWeb.com.
2054         CONFIG: Make sure FEATURE(`nullclient') doesn't use aliasing and
2055                 forwarding to make it as close to the old behavior as
2056                 possible.  Problem noted by George W. Baltz of the
2057                 University of Maryland.
2058         CONFIG: Added OSTYPE(`darwin') for Mac OS X and Darwin users.  From
2059                 Wilfredo Sanchez of Apple Computer, Inc.
2060         CONFIG: Changed the map names used by FEATURE(`ldap_routing') from
2061                 ldap_mailhost and ldap_mailroutingaddress to ldapmh and
2062                 ldapmra as underscores in map names cause problems if
2063                 underscore is in OperatorChars.  Problem noted by Bob Zeitz
2064                 of the University of Alberta.
2065         CONFIG: Apply blacklist_recipients also to hosts in class {w}.
2066                 Patch from Michael Tratz of Esosoft Corporation.
2067         CONFIG: Use A=TCP ... instead of A=IPC ... in SMTP mailers.
2068         CONTRIB: Add link_hash.sh to create symbolic links to the hash
2069                 of X.509 certificates.
2070         CONTRIB: passwd-to-alias.pl:  More protection from special characters;
2071                 treat special shells as root aliases; skip entries where the
2072                 GECOS full name and username match.  From Ulrich Windl of the
2073                 Universitat Regensburg.
2074         CONTRIB: qtool.pl: Add missing last_modified_time method and fix a
2075                 typo.  Patch from Graeme Hewson of Oracle.
2076         CONTRIB: re-mqueue.pl: Improve handling of a race between re-mqueue
2077                 and sendmail.  Patch from Graeme Hewson of Oracle.
2078         CONTRIB: re-mqueue.pl: Don't exit(0) at end so can be called as
2079                 subroutine Patch from Graeme Hewson of Oracle.
2080         CONTRIB: Add movemail.pl (move old mail messages between queues by
2081                 calling re-mqueue.pl) and movemail.conf (configuration
2082                 script for movemail.pl).  From Graeme Hewson of Oracle.
2083         CONTRIB: Add cidrexpand (expands CIDR blocks as a preprocessor to
2084                 makemap).  From Derek J. Balling of Yahoo,Inc.
2085         DEVTOOLS: INSTALL_RAWMAN installation option mistakenly applied any
2086                 extension modifications (e.g., MAN8EXT) to the installation
2087                 target.  Patch from James Ralston of Carnegie Mellon
2088                 University.
2089         DEVTOOLS: Add support for SunOS 5.9.
2090         DEVTOOLS: New option confLN contains the command used to create
2091                 links.
2092         LIBSMDB: Berkeley DB 2.X and 3.X errors might be lost and not
2093                 reported.
2094         MAIL.LOCAL: DG/UX portability.  Problem noted by Tim Boyer of
2095                 Denman Tire Corporation.
2096         MAIL.LOCAL: Prevent a possible DoS attack when compiled with
2097                 -DCONTENTLENGTH.  Based on patch from 3APA3A@SECURITY.NNOV.RU.
2098         MAILSTATS: Fix usage statement (-p and -o are optional).
2099         MAKEMAP: Change man page layout as workaround for problem with nroff
2100                 and -man on Solaris 7.  Patch from Larry Williamson.
2101         RMAIL: AIX 4.3 has snprintf().  Problem noted by David Hayes of
2102                 Black Diamond Equipment, Limited.
2103         RMAIL: Prevent a segmentation fault if the incoming message does not
2104                 have a From line.
2105         VACATION: Read all of the headers before deciding whether or not
2106                 to respond instead of stopping after finding recipient.
2107         Added Files:
2108                 cf/ostype/darwin.m4
2109                 contrib/cidrexpand
2110                 contrib/link_hash.sh
2111                 contrib/movemail.conf
2112                 contrib/movemail.pl
2113                 devtools/OS/SunOS.5.9
2114                 test/t_snprintf.c
2115
2116 8.10.2/8.10.2   2000/06/07
2117         SECURITY: Work around broken Linux setuid() implementation.
2118                 On Linux, a normal user process has the ability to subvert
2119                 the setuid() call such that it is impossible for a root
2120                 process to drop its privileges.  Problem noted by Wojciech
2121                 Purczynski of elzabsoft.pl.
2122         SECURITY: Add more vigilance around set*uid(), setgid(), setgroups(),
2123                 initgroups(), and chroot() calls.
2124         Added Files:
2125                 test/t_setuid.c
2126
2127 8.10.1/8.10.1   2000/04/06
2128         SECURITY: Limit the choice of outgoing (client-side) SMTP
2129                 Authentication mechanisms to those specified in
2130                 AuthMechanisms to prevent information leakage.  We do not
2131                 recommend use of PLAIN for outgoing mail as it sends the
2132                 password in clear text to possibly untrusted servers.  See
2133                 cf/README's DefaultAuthInfo section for additional information.
2134         Copy the ident argument for openlog() to avoid problems on some
2135                 OSs.  Based on patch from Rob Bajorek from Webhelp.com.
2136         Avoid bogus error message when reporting an alias line as too long.
2137         Avoid bogus socket error message if sendmail.cf version level is
2138                 greater than sendmail binary supported version.  Patch
2139                 from John Beck of Sun Microsystems.
2140         Prevent a malformed ruleset (missing right hand side) from causing
2141                 a segmentation fault when using address test mode.  Based on
2142                 patch from John Beck of Sun Microsystems.
2143         Prevent memory leak from use of NIS maps and yp_match(3).  Problem
2144                 noted by Gil Kloepfer of the University of Texas at Austin.
2145         Fix queue file permission checks to allow for TrustedUser ownership.
2146         Change logging of errors from the trust_auth ruleset to LogLevel 10
2147                 or higher.
2148         Avoid simple password cracking attacks against SMTP AUTH by using
2149                 exponential delay after too many tries within one connection.
2150         Encode an initial empty AUTH challenge as '=', not as empty string.
2151         Avoid segmentation fault on EX_SOFTWARE internal error logs.
2152                 Problem noted by Allan E Johannesen of Worcester
2153                 Polytechnic Institute.
2154         Ensure that a header check which resolves to $#discard actually
2155                 discards the message.
2156         Emit missing value warnings for aliases with no right hand side
2157                 when newaliases is run instead of only when delivery is
2158                 attempted to the alias.
2159         Remove AuthOptions missing value warning for consistency with other
2160                 flag options.
2161         Portability:
2162                 SECURITY: Specify a run-time shared library search path for
2163                         AIX 4.X instead of using the dangerous AIX 4.X
2164                         linker semantics.  AIX 4.X users should consult
2165                         sendmail/README for further information.  Problem
2166                         noted by Valdis Kletnieks of Virginia Tech.
2167                 Avoid use of strerror(3) call.  Problem noted by Charles
2168                         Levert of Ecole Polytechnique de Montreal.
2169                 DGUX requires -lsocket -lnsl and has a non-standard install
2170                         program.  From Tim Boyer of Denman Tire Corporation.
2171                 HPUX 11.0 has a broken res_search() function.
2172                 Updates to devtools/OS/NeXT.3.X, NeXT.4.X, and NEXTSTEP.4.X
2173                         from J. P. McCann of E I A.
2174                 Digital UNIX/Compaq Tru64 5.0 now includes snprintf(3).
2175                         Problem noted by Michael Long of Info Avenue Internet
2176                         Services, LLC.
2177                 Modern (post-199912) OpenBSD versions include working
2178                         strlc{at,py}(3) functions.  From Todd C. Miller of
2179                         Courtesan Consulting.
2180                 SINIX doesn't have random(3).  From Gerald Rinske of
2181                         Siemens Business Services.
2182         CONFIG: Change error message about unresolvable sender domain to
2183                 include the sender address.  Proposed by Wolfgang Rupprecht
2184                 of WSRCC.
2185         CONFIG: Fix usenet mailer calls.
2186         CONFIG: If RELAY_MAILER_FLAGS is not defined, use SMTP_MAILER_FLAGS
2187                 to be backward compatible with 8.9.
2188         CONFIG: Change handling of default case @domain for virtusertable
2189                 to allow for +*@domain to deal with +detail.
2190         CONTRIB: Remove converting.sun.configs -- it is obsolete.
2191         DEVTOOLS: confUBINMODE was being ignored.  Fix from KITAZIMA, Tuneki
2192                 of NEC.
2193         DEVTOOLS: Add to NCR platform list and include the architecture
2194                 (i486).  From Tom J. Moore of NCR.
2195         DEVTOOLS: SECURITY: Change method of linking with sendmail utility
2196                 libraries to work around the AIX 4.X and SunOS 4.X linker's
2197                 overloaded -L option.  Problem noted by Valdis Kletnieks of
2198                 Virginia Tech.
2199         DEVTOOLS: configure.sh was overriding the user's choice for
2200                 confNROFF.  Problem noted by Glenn A. Malling of Syracuse
2201                 University.
2202         DEVTOOLS: New variables conf_prog_LIB_POST and confBLDVARIANT added
2203                 for other internal projects but included in the open source
2204                 release.
2205         LIBSMDB: Check for ".db" instead of simply "db" at the end of the
2206                 map name to determine whether or not to add the extension.
2207                 This fixes makemap when building the userdb file.  Problem
2208                 noted by Andrew J Cole of the University of Leeds.
2209         LIBSMDB: Allow a database to be opened for updating and created if
2210                 it doesn't already exist.  Problem noted by Rand Wacker of
2211                 Sendmail.
2212         LIBSMDB: If type is SMDB_TYPE_DEFAULT and both NEWDB and NDBM are
2213                 available, fall back to NDBM if NEWDB open fails.  This
2214                 fixes praliases.  Patch from John Beck of Sun Microsystems.
2215         LIBSMUTIL: safefile()'s SFF_NOTEXCL check was being misinterpreted
2216                 as SFF_NOWRFILES.
2217         OP.ME: Clarify some issues regarding mailer flags.  Suggested by
2218                 Martin Mokrejs of The Charles University and Neil Rickert of
2219                 Northern Illinois University.
2220         PRALIASES: Restore 8.9.X functionality of being able to search for
2221                 particular keys in a database by specifying the keys on the
2222                 command line.  Man page updated accordingly.  Patch from
2223                 John Beck of Sun Microsystems.
2224         VACATION: SunOS 4.X portability from Charles Levert of Ecole
2225                 Polytechnique de Montreal.
2226         VACATION: Fix -t option which is ignored but available for
2227                 compatibility with Sun's version, based on patch from
2228                 Volker Dobler of Infratest Burke.
2229         Added Files:
2230                 devtools/M4/UNIX/smlib.m4
2231                 devtools/OS/OSF1.V5.0
2232         Deleted Files:
2233                 contrib/converting.sun.configs
2234         Deleted Directories (already done in 8.10.0 but not listed):
2235                 doc/intro
2236                 doc/usenix
2237                 doc/changes
2238
2239 8.10.0/8.10.0   2000/03/01
2240             *************************************************************
2241             * The engineering department at Sendmail, Inc. has suffered *
2242             * the tragic loss of a key member of our engineering team.  *
2243             * Julie Van Bourg was the Vice President of Engineering     *
2244             * at Sendmail, Inc. during the development and deployment   *
2245             * of this release.  It was her vision, dedication, and      *
2246             * support that has made this release a success.  Julie died *
2247             * on October 26, 1999 of cancer.  We have lost a leader, a  *
2248             * coach, and a friend.                                      *
2249             *                                                           *
2250             * This release is dedicated to her memory and to the joy,   *
2251             * strength, ideals, and hope that she brought to all of us. *
2252             * Julie, we miss you!                                       *
2253             *************************************************************
2254         SECURITY: The safe file checks now back track through symbolic
2255                 links to make sure the files can't be compromised due
2256                 to poor permissions on the parent directories of the
2257                 symbolic link target.
2258         SECURITY: Only root, TrustedUser, and users in class t can rebuild
2259                 the alias map.  Problem noted by Michal Zalewski of the
2260                 "Internet for Schools" project (IdS).
2261         SECURITY: There is a potential for a denial of service attack if
2262                 the AutoRebuildAliases option is set as a user can kill the
2263                 sendmail process while it is rebuilding the aliases file
2264                 (leaving it in an inconsistent state).  This option and
2265                 its use is deprecated and will be removed from a future
2266                 version of sendmail.
2267         SECURITY: Make sure all file descriptors (besides stdin, stdout, and
2268                 stderr) are closed before restarting sendmail.  Problem noted
2269                 by Michal Zalewski of the "Internet for Schools" project
2270                 (IdS).
2271         Begin using /etc/mail/ for sendmail related files.  This affects
2272                 a large number of files.  See cf/README for more details.
2273         The directory structure of the distribution has changed slightly
2274                 for easier code sharing among the programs.
2275         Support SMTP AUTH (see RFC 2554).  New macros for this purpose
2276                 are ${auth_authen}, ${auth_type}, and ${auth_author}
2277                 which hold the client's authentication credentials,
2278                 the mechanism used for authentication, and the
2279                 authorization identity (i.e., the AUTH= parameter if
2280                 supplied).  Based on code contributed by Tim Martin of CMU.
2281         On systems which use the Torek stdio library (all of the BSD
2282                 distributions), use memory-buffered files to reduce
2283                 file system overhead by not creating temporary files on
2284                 disk.  Contributed by Exactis.com, Inc.
2285         New option DataFileBufferSize to control the maximum size of a
2286                 memory-buffered data (df) file before a disk-based file is
2287                 used.  Contributed by Exactis.com, Inc.
2288         New option XscriptFileBufferSize to control the maximum size of a
2289                 memory-buffered transcript (xf) file before a disk-based
2290                 file is used.  Contributed by Exactis.com, Inc.
2291         sendmail implements RFC 2476 (Message Submission), e.g., it can
2292                 now listen on several different ports.  Use:
2293                 O DaemonPortOptions=Name=MSA, Port=587, M=E
2294                 to run a Message Submission Agent (MSA); this is turned
2295                 on by default in m4-generated .cf files; it can be turned
2296                 off with FEATURE(`no_default_msa').
2297         The 'XUSR' SMTP command is deprecated.  Mail user agents should
2298                 begin using RFC 2476 Message Submission for initial user
2299                 message submission.  XUSR may disappear from a future release.
2300         The new '-G' (relay (gateway) submission) command line option
2301                 indicates that the message being submitted from the command
2302                 line is for relaying, not initial submission.  This means
2303                 the message will be rejected if the addresses are not fully
2304                 qualified and no canonicalization will be done.  Future
2305                 releases may even reject improperly formed messages.
2306         The '-U' (initial user submission) command line option is
2307                 deprecated and may be removed from a future release.
2308                 Mail user agents should begin using '-G' to indicate that
2309                 this is a relay submission (the inverse of -U).
2310         The next release of sendmail will assume that any message submitted
2311                 from the command line is an initial user submission and act
2312                 accordingly.
2313         If sendmail doesn't have enough privileges to run a .forward
2314                 program or deliver to file as the owner of that file, the
2315                 address is marked as unsafe.  This means if RunAsUser is
2316                 set, users won't be able to use programs or delivery to
2317                 files in their .forward files.  Administrators can override
2318                 this by setting the DontBlameSendmail option to the new
2319                 setting NonRootSafeAddr.
2320         Allow group or world writable directories if the sticky bit is set
2321                 on the directory and DontBlameSendmail is set to
2322                 TrustStickyBit.  Based on patch from Chris Metcalf of
2323                 InCert Software.
2324         Prevent logging of unsafe directory paths for non-existent forward
2325                 files if the new DontWarnForwardFileInUnsafeDirPath bit is
2326                 set in the DontBlameSendmail option.  Requested by many.
2327         New Timeout.control option to limit the total time spent satisfying
2328                 a control socket request.
2329         New Timeout.resolver options for controlling BIND resolver
2330                 settings:
2331                 Timeout.resolver.retrans
2332                         Sets the resolver's retransmission time interval (in
2333                         seconds).  Sets both Timeout.resolver.retrans.first
2334                         and Timeout.resolver.retrans.normal.
2335                 Timeout.resolver.retrans.first
2336                         Sets the resolver's retransmission time interval (in
2337                         seconds) for the first attempt to deliver a message.
2338                 Timeout.resolver.retrans.normal
2339                         Sets the resolver's retransmission time interval (in
2340                         seconds) for all resolver lookups except the first
2341                         delivery attempt.
2342                 Timeout.resolver.retry
2343                         Sets the number of times to retransmit a resolver
2344                         query.  Sets both Timeout.resolver.retry.first
2345                         and Timeout.resolver.retry.normal.
2346                 Timeout.resolver.retry.first
2347                         Sets the number of times to retransmit a resolver
2348                         query for the first attempt to deliver a message.
2349                 Timeout.resolver.retry.normal
2350                         Sets the number of times to retransmit a resolver
2351                         query for all resolver lookups except the first
2352                         delivery attempt.
2353                 Contributed by Exactis.com, Inc.
2354         Support multiple queue directories.  To use multiple queues, supply
2355                 a QueueDirectory option value ending with an asterisk.  For
2356                 example, /var/spool/mqueue/q* will use all of the
2357                 directories or symbolic links to directories beginning with
2358                 'q' in /var/spool/mqueue as queue directories.  Keep in
2359                 mind, the queue directory structure should not be changed
2360                 while sendmail is running.  Queue runs create a separate
2361                 process for running each queue unless the verbose flag is
2362                 given on a non-daemon queue run.  New items are randomly
2363                 assigned to a queue.  Contributed by Exactis.com, Inc.
2364         Support different directories for qf, df, and xf queue files; if
2365                 subdirectories or symbolic links to directories of those names
2366                 exist in the queue directories, they are used for the
2367                 corresponding queue files.  Keep in mind, the queue
2368                 directory structure should not be changed while sendmail is
2369                 running.  Proposed by Mathias Koerber of Singapore
2370                 Telecommunications Ltd.
2371         New queue file naming system which uses a filename guaranteed to be
2372                 unique for 60 years.  This allows queue IDs to be assigned
2373                 without fancy file system locking.  Queued items can be
2374                 moved between queues easily.  Contributed by Exactis.com,
2375                 Inc.
2376         Messages which are undeliverable due to temporary address failures
2377                 (e.g., DNS failure) will now go to the FallBackMX host, if
2378                 set.  Contributed by Exactis.com, Inc.
2379         New command line option '-L tag' which sets the identifier used for
2380                 syslog.  Contributed by Exactis.com, Inc.
2381         QueueSortOrder=Filename will sort the queue by filename.  This
2382                 avoids opening and reading each queue file when preparing
2383                 to run the queue.  Contributed by Exactis.com, Inc.
2384         Shared memory counters and microtimers functionality has been
2385                 donated by Exactis.com, Inc.
2386         The SCCS ID tags have been replaced with RCS ID tags.
2387         Allow trusted users (those on a T line or in $=t) to set the
2388                 QueueDirectory (Q) option without an X-Authentication-Warning:
2389                 being added.  Suggested by Michael K. Sanders.
2390         IPv6 support based on patches from John Kennedy of Cal State
2391                 University, Chico, Motonori Nakamura of Kyoto University,
2392                 and John Beck of Sun Microsystems.
2393         In low-disk space situations, where sendmail would previously refuse
2394                 connections, still accept them, but only allow ETRN commands.
2395                 Suggested by Mathias Koerber of Singapore Telecommunications
2396                 Ltd.
2397         The [IPC] builtin mailer now allows delivery to a UNIX domain socket
2398                 on systems which support them.  This can be used with LMTP
2399                 local delivery agents which listen on a named socket.  An
2400                 example mailer might be:
2401                         Mexecmail, P=[IPC], F=lsDFMmnqSXzA5@/:|, E=\r\n,
2402                                 S=10, R=20/40, T=DNS/RFC822/X-Unix,
2403                                 A=FILE /var/run/lmtpd
2404                 Code contributed by Lyndon Nerenberg of Messaging Direct.
2405         The [TCP] builtin mailer name is now deprecated.  Use [IPC]
2406                 instead.
2407         The first mailer argument in the [IPC] mailer is now checked for a
2408                 legitimate value.  Possible values are TCP (for TCP/IP
2409                 connections), IPC (which will be deprecated in a future
2410                 version), and FILE (for UNIX domain socket delivery).
2411         PrivacyOptions=goaway no longer includes the noetrn and the noreceipts
2412                 flags.
2413         PrivacyOptions=nobodyreturn instructs sendmail not to include the
2414                 body of the original message on delivery status
2415                 notifications.
2416         Don't announce DSN if PrivacyOptions=noreceipts is set.  Problem noted
2417                 by Dan Bernstein, fix from Robert Harker of Harker Systems.
2418         Accept the SMTP RSET command even when rejecting commands due to TCP
2419                 Wrappers or the check_relay ruleset.  Problem noted by
2420                 Steve Schweinhart of America Online.
2421         Warn if OperatorChars is set multiple times.  OperatorChars should
2422                 not be set after rulesets are defined.  Suggested by
2423                 Mitchell Blank Jr of Exec-PC.
2424         Do not report temporary failure on delivery to files.  In
2425                 interactive delivery mode, this would result in two SMTP
2426                 responses after the DATA command.  Problem noted by
2427                 Nik Conwell of Boston University.
2428         Check file close when mailing to files.  Problem noted by Nik
2429                 Conwell of Boston University.
2430         Avoid a segmentation fault when using the LDAP map.  Patch from
2431                 Curtis W. Hillegas of Princeton University.
2432         Always bind to the LDAP server regardless of whether you are using
2433                 ldap_open() or ldap_init().  Fix from Raj Kunjithapadam of
2434                 @Home Network.
2435         New ruleset trust_auth to determine whether a given AUTH=
2436                 parameter of the MAIL command should be trusted.  See SMTP
2437                 AUTH, cf/README, and doc/op/op.ps.
2438         Allow new named config file rules check_vrfy, check_expn, and
2439                 check_etrn for VRFY, EXPN, and ETRN commands, respectively,
2440                 similar to check_rcpt etc.
2441         Introduce new macros ${rcpt_mailer}, ${rcpt_host}, ${rcpt_addr},
2442                 ${mail_mailer}, ${mail_host}, ${mail_addr} that hold
2443                 the results of parsing the RCPT and MAIL arguments, i.e.
2444                 the resolved triplet from $#mailer $@host $:addr.
2445                 From Kari Hurtta of the Finnish Meteorological Institute.
2446         New macro ${client_resolve} which holds the result of the resolve
2447                 call for ${client_name}: OK, FAIL, FORGED, TEMP.  Proposed
2448                 by Kari Hurtta of the Finnish Meteorological Institute.
2449         New macros ${dsn_notify}, ${dsn_envid}, and ${dsn_ret} that hold
2450                 the corresponding DSN parameter values.  Proposed by
2451                 Mathias Herberts.
2452         New macro ${msg_size} which holds the value of the SIZE= parameter,
2453                 i.e., usually the size of the message (in an ESMTP dialogue),
2454                 before the message has been collected, thereafter it holds
2455                 the message size as computed by sendmail (and can be used
2456                 in check_compat).
2457         The macro ${deliveryMode} now specifies the current delivery mode
2458                 sendmail is using instead of the value of the DeliveryMode
2459                 option.
2460         New macro ${ntries} holds the number of delivery attempts.
2461         Drop explicit From: if same as what would be generated only if it is
2462                 a local address.  From Motonori Nakamura of Kyoto University.
2463         Write pid to file also if sendmail only processes the queue.
2464                 Proposed by Roy J. Mongiovi of Georgia Tech.
2465         Log "low on disk space" only when necessary.
2466         New macro ${load_avg} can be used to check the current load average.
2467                 Suggested by Scott Gifford of The Internet Ramp.
2468         Return-Receipt-To: header implies DSN request if option RrtImpliesDsn
2469                 is set.
2470         Flag -S for maps to specify the character which is substituted
2471                 for spaces (instead of the default given by O BlankSub).
2472         Flag -D for maps: perform no lookup in deferred delivery mode.
2473                 This flag is set by default for the host map.  Based on a
2474                 proposal from Ian MacPhedran of the University of Saskatchewan.
2475         Open maps only on demand, not at startup.
2476         Log warning about unsupported IP address families.
2477         New option MaxHeadersLength allows to specify a maximum length
2478                 of the sum of all headers.  This can be used to prevent
2479                 a denial-of-service attack.
2480         New option MaxMimeHeaderLength which limits the size of MIME
2481                 headers and parameters within those headers.  This option
2482                 is intended to protect mail user agents from buffer
2483                 overflow attacks.
2484         Added option MaxAliasRecursion to specify the maximum depth of
2485                 alias recursion.
2486         New flag F=6 for mailers to strip headers to seven bit.
2487         Map type syslog to log the key via syslogd.
2488         Entries in the alias file can be continued by putting a backslash
2489                 directly before the newline.
2490         New option DeadLetterDrop to define the location of the system-wide
2491                 dead.letter file, formerly hardcoded to
2492                 /usr/tmp/dead.letter.  If this option is not set (the
2493                 default), sendmail will not attempt to save to a
2494                 system-wide dead.letter file if it can not bounce the mail
2495                 to the user nor postmaster.  Instead, it will rename the qf
2496                 file as it has in the past when the dead.letter file
2497                 could not be opened.
2498         New option PidFile to define the location of the pid file.  The
2499                 value of this option is macro expanded.
2500         New option ProcessTitlePrefix specifies a prefix string for the
2501                 process title shown in 'ps' listings.
2502         New macros for use with the PidFile and ProcessTitlePrefix options
2503                 (along with the already existing macros):
2504                 ${daemon_info}      Daemon information, e.g.
2505                                     SMTP+queueing@00:30:00
2506                 ${daemon_addr}      Daemon address, e.g., 0.0.0.0
2507                 ${daemon_family}    Daemon family, e.g., inet, inet6, etc.
2508                 ${daemon_name}      Daemon name, e.g., MSA.
2509                 ${daemon_port}      Daemon port, e.g., 25
2510                 ${queue_interval}   Queue run interval, e.g., 00:30:00
2511         New macros especially for virtual hosting:
2512                 ${if_name}      hostname of interface of incoming connection.
2513                 ${if_addr}      address of interface of incoming connection.
2514                 The latter is only set if the interface does not belong to the
2515                 loopback net.
2516         If a message being accepted via a method other than SMTP and
2517                 would be rejected by a header check, do not send the message.
2518                 Suggested by Phil Homewood of Mincom Pty Ltd.
2519         Don't strip comments for header checks if $>+ is used instead of $>.
2520                 Provide header value as quoted string in the macro
2521                 ${currHeader} (possibly truncated to MAXNAME).  Suggested by
2522                 Jan Krueger of Unix-AG of University of Hannover.
2523                 The length of the header value is stored in ${hdrlen}.
2524         H*: allows to specify a default ruleset for header checks.  This
2525                 ruleset will only be called if the individual header does
2526                 not have its own ruleset assigned.  Suggested by Jan
2527                 Krueger of Unix-AG of University of Hannover.
2528                 The name of the header field stored in ${hdr_name}.
2529         Comments (i.e., text within parentheses) in rulesets are not
2530                 removed if the config file version is greater than or equal
2531                 to 9.  For example, "R$+ ( 1 )          $@ 1" matches the
2532                 input "token (1)" but does not match "token".
2533         Avoid removing the Content-Transfer-Encoding MIME header on
2534                 MIME messages.  Problem noted by Sigurbjorn B. Larusson of
2535                 Multimedia Consumer Services.  Fix from Per Hedeland of
2536                 Ericsson.
2537         Avoid duplicate Content-Transfer-Encoding MIME header on
2538                 messages with 8-bit text in headers.  Problem noted by
2539                 Per Steinar Iversen of Oslo College.  Fix from Per Hedeland
2540                 of Ericsson.
2541         Avoid keeping maps locked longer than necessary when re-opening a
2542                 modified database map file.  Problem noted by Chris Adams
2543                 of Renaissance Internet Services.
2544         Resolving to the $#error mailer with a temporary failure code (e.g.,
2545                 $#error $@ tempfail $: "400 Temporary failure") will now
2546                 queue up the message instead of bouncing it.
2547         Be more liberal in acceptable responses to an SMTP RSET command as
2548                 standard does not provide any indication of what to do when
2549                 something other than 250 is received.  Based on a patch
2550                 from Steve Schweinhart of America Online.
2551         New option TrustedUser allows to specify a user who can own
2552                 important files instead of root.  This requires HASFCHOWN.
2553         Fix USERDB conditional so compiling with NEWDB or HESIOD and
2554                 setting USERDB=0 works.  Fix from Jorg Zanger of Schock.
2555         Fix another instance (similar to one in 8.9.3) of a network failure
2556                 being mis-logged as "Illegal Seek" instead of whatever
2557                 really went wrong.  From John Beck of Sun Microsystems.
2558         $? tests also whether the macro is non-null.
2559         Print an error message if a mailer definition contains an invalid
2560                 equate name.
2561         New mailer equate /= to specify a directory to chroot() into before
2562                 executing the mailer program.  Suggested by Igor Vinokurov.
2563         New mailer equate W= to specify the maximum time to wait for the
2564                 mailer to return after sending all data to it.
2565         Only free memory from the process list when adding a new process
2566                 into a previously filled slot.  Previously, the memory was
2567                 freed at removal time.  Since removal can happen in a
2568                 signal handler, this may leave the memory map in an
2569                 inconsistent state.  Problem noted by Jeff A. Earickson and
2570                 David Cooley of Colby College.
2571         When using the UserDB @hostname catch-all, do not try to lookup
2572                 local users in the passwd file.  The UserDB code has
2573                 already decided the message will be passed to another host
2574                 for processing.  Fix from Tony Landells of Burdett
2575                 Buckeridge Young Limited.
2576         Support LDAP authorization via either a file containing the
2577                 password or Kerberos V4 using the new map options
2578                 '-ddistinguished_name', '-Mmethod', and '-Pfilename'.  The
2579                 distinguished_name is who to login as.  The method can be
2580                 one of LDAP_AUTH_NONE, LDAP_AUTH_SIMPLE, or
2581                 LDAP_AUTH_KRBV4.  The filename is the file containing the
2582                 secret key for LDAP_AUTH_SIMPLE or the name of the Kerberos
2583                 ticket file for LDAP_AUTH_KRBV4.  Patch from Booker Bense
2584                 of Stanford University.
2585         The ldapx map has been renamed to ldap.  The use of ldapx is
2586                 deprecated and will be removed in a future version.
2587         If the result of an LDAP search returns a multi-valued attribute
2588                 and the map has the column delimiter set, it turns that
2589                 response into a delimiter separated string.  The LDAP map
2590                 will traverse multiple entries as well.  LDAP alias maps
2591                 automatically set the column delimiter to the comma.
2592                 Based on patch from Booker Bense of Stanford University and
2593                 idea from Philip A. Prindeville of Mirapoint, Inc.
2594         Support return of multiple values for a single LDAP lookup.  The
2595                 values to be returned should be in a comma separated string.
2596                 For example, `-v "email,emailother"'.  Patch from
2597                 Curtis W. Hillegas of Princeton University.
2598         Allow the use of LDAP for alias maps.
2599         If no LDAP attributes are specified in an LDAP map declaration, all
2600                 attributes found in the match will be returned.
2601         Prevent commas in quoted strings in the AliasFile value from
2602                 breaking up a single entry into multiple entries.  This is
2603                 needed for LDAP alias file specifications to allow for
2604                 comma separated key and value strings.
2605         Keep connections to LDAP server open instead of opening and closing
2606                 for each lookup.  To reduce overhead, sendmail will cache
2607                 connections such that multiple maps which use the same
2608                 host, port, bind DN, and authentication will only result in
2609                 a single connection to that host.
2610         Put timeout in the proper place for USE_LDAP_INIT.
2611         Be more careful about checking for errors and freeing memory on
2612                 LDAP lookups.
2613         Use asynchronous LDAP searches to save memory and network
2614                 resources.
2615         Do not copy LDAP query results if the map's match only flag is set.
2616         Increase portability to the Netscape LDAP libraries.
2617         Change the parsing of the LDAP filter specification.  '%s' is still
2618                 replaced with the literal contents of the map lookup key --
2619                 note that this means a lookup can be done using the LDAP
2620                 special characters.  The new '%0' token can be used instead
2621                 of '%s' to encode the key buffer according to RFC 2254.
2622                 For example, if the LDAP map specification contains '-k
2623                 "(user=%s)"' and a lookup is done on "*", this would be
2624                 equivalent to '-k "(user=*)"' -- matching ANY record with a
2625                 user attribute.  Instead, if the LDAP map specification
2626                 contains '-k "(user=%0)"' and a lookup is done on "*", this
2627                 would be equivalent to '-k "(user=\2A)"' -- matching a user
2628                 with the name "*".
2629         New LDAP map flags: "-1" requires a single match to be returned, if
2630                 more than one is returned, it is equivalent to no records
2631                 being found; "-r never|always|search|find" sets the LDAP
2632                 alias dereference option; "-Z size" limits the number of
2633                 matches to return.
2634         New option LDAPDefaultSpec allows a default map specification for
2635                 LDAP maps.  The value should only contain LDAP specific
2636                 settings such as "-h host -p port -d bindDN", etc.  The
2637                 settings will be used for all LDAP maps unless they are
2638                 specified in the individual map specification ('K'
2639                 command).  This option should be set before any LDAP maps
2640                 are defined.
2641         Prevent an NDBM alias file opening loop when the NDBM open
2642                 continually fails.  Fix from Roy J. Mongiovi of Georgia
2643                 Tech.
2644         Reduce memory utilization for smaller symbol table entries.  In
2645                 particular, class entries get much smaller, which can be
2646                 important if you have large classes.
2647         On network-related temporary failures, record the hostname which
2648                 gave error in the queued status message.  Requested by
2649                 Ulrich Windl of the Universitat Regensburg.
2650         Add new F=% mailer flag to allow for a store and forward
2651                 configuration.  Mailers which have this flag will not attempt
2652                 delivery on initial receipt of a message or on queue runs
2653                 unless the queued message is selected using one of the
2654                 -qI/-qR/-qS queue run modifiers or an ETRN request.  Code
2655                 provided by Philip Guenther of Gustavus Adolphus College.
2656         New option ControlSocketName which, when set, creates a daemon
2657                 control socket.  This socket allows an external program to
2658                 control and query status from the running sendmail daemon
2659                 via a named socket, similar to the ctlinnd interface to the
2660                 INN news server.  Access to this interface is controlled by
2661                 the UNIX file permissions on the named socket on most UNIX
2662                 systems (see sendmail/README for more information).  An
2663                 example control program is provided as contrib/smcontrol.pl.
2664         Change the default values of QueueLA from 8 to (8 * numproc) and
2665                 RefuseLA from 12 to (12 * numproc) where numproc is the
2666                 number of processors online on the system (if that can be
2667                 determined).  For single processor machines, this change
2668                 has no effect.
2669         Don't return body of message to postmaster on "Too many hops" bounces.
2670                 Based on fix from Motonori Nakamura of Kyoto University.
2671         Give more detailed DSN descriptions for some cases.  Patch from
2672                 Motonori Nakamura of Kyoto University.
2673         Logging of alias, forward file, and UserDB expansion now happens
2674                 at LogLevel 11 or higher instead of 10 or higher.
2675         Logging of an envelope's complete delivery (the "done" message) now
2676                 happens at LogLevel 10 or higher instead of 11 or higher.
2677         Logging of TCP/IP or UNIX standard input connections now happens at
2678                 LogLevel 10 or higher.  Previously, only TCP/IP connections
2679                 were logged, and on at LogLevel 12 or higher.  Setting
2680                 LogLevel to 10 will now assist users in tracking frequent
2681                 connection-based denial of service attacks.
2682         Log basic information about authenticated connections at LogLevel
2683                 10 or higher.
2684         Log SMTP Authentication mechanism and author when logging the sender
2685                 information (from= syslog line).
2686         Log the DSN code for each recipient if one is available as a new
2687                 equate (dsn=).
2688         Macro expand PostmasterCopy and DoubleBounceAddress options.
2689         New "ph" map for performing ph queries in rulesets.  More
2690                 information is available at
2691                 http://www-dev.cso.uiuc.edu/sendmail/.  Contributed by Mark
2692                 Roth of the University of Illinois at Urbana-Champaign.
2693         Detect temporary lookup failures in the host map if looking up a
2694                 bracketed IP address.  Problem noted by Kari Hurtta of the
2695                 Finnish Meteorological Institute.
2696         Do not report a Remote-MTA on local deliveries.  Problem noted by
2697                 Kari Hurtta of the Finnish Meteorological Institute.
2698         When a forward file points to an alias which runs a program, run
2699                 the program as the default user and the default group, not
2700                 the forward file user.  This change also assures the
2701                 :include: directives in aliases are also processed using
2702                 the default user and group.  Problem noted by Sergiu
2703                 Popovici of DNT Romania.
2704         Prevent attempts to save a dead.letter file for a user with
2705                 no home directory (/no/such/directory).  Problem noted by
2706                 Michael Brown of Finnigan FT/MS.
2707         Include message delay and number of tries when logging that a
2708                 message has been completely delivered (LogLevel of 10 or
2709                 above).  Suggested by Nick Hilliard of Ireland Online.
2710         Log the sender of a message even if none of the recipients were
2711                 accepted.  If some of the recipients were rejected, it is
2712                 helpful to know the sender of the message.
2713         Check the root directory (/) when checking a path for safety.
2714                 Problem noted by John Beck of Sun Microsystems.
2715         Prevent multiple responses to the DATA command if DeliveryMode is
2716                 interactive and delivering to an alias which resolves to
2717                 multiple files.
2718         Macros in the helpfile are expanded if the helpfile version is 2 or
2719                 greater (see below); the help function doesn't print the
2720                 version of sendmail any longer, instead it is placed in
2721                 the helpfile ($v).  Suggested by Chuck Foster of UUNET
2722                 PIPEX.  Additionally, comment lines (starting with #) are
2723                 skipped and a version line (#vers) is introduced.  The
2724                 helpfile version for 8.10.0 is 2, if no version or an older
2725                 version is found, a warning is logged.  The '#vers'
2726                 directive should be placed at the top of the help file.
2727         Use fsync() when delivering to a file to guarantee the delivery to
2728                 disk succeeded.  Suggested by Nick Christenson.
2729         If delivery to a file is unsuccessful, truncate the file back to its
2730                 length before the attempt.
2731         If a forward points to a filename for delivery, change to the
2732                 user's uid before checking permissions on the file.  This
2733                 allows delivery to files on NFS mounted directories where
2734                 root is remapped to nobody.  Problem noted by Harald
2735                 Daeubler of Universitaet Ulm.
2736         purgestat and sendmail -bH purge only expired (Timeout.hoststatus)
2737                 host status files, not all files.
2738         Any macros stored in the class $={persistentMacros} will be saved
2739                 in the queue file for the message and set when delivery
2740                 is attempted on the queued item.  Suggested by Kyle Jones of
2741                 Wonderworks Inc.
2742         Add support for storing information between rulesets using the new
2743                 macro map class.  This can be used to store information
2744                 between queue runs as well using $={persistentMacros}.
2745                 Based on an idea from Jan Krueger of Unix-AG of University
2746                 of Hannover.
2747         New map class arith to allow for computations in rules.  The
2748                 operation (+, -, *, /, l (for less than), and =) is given
2749                 as key.  The two operands are specified as arguments; the
2750                 lookup returns the result of the computation.  For example,
2751                 "$(arith l $@ 4 $@ 2 $)" will return "FALSE" and
2752                 "$(arith + $@ 4 $@ 2 $)" will return "6".
2753         Add new syntax for header declarations which decide whether to
2754                 include the header based on a macro rather than a mailer
2755                 flag:
2756                         H?${MyMacro}?X-My-Header: ${MyMacro}
2757                 This should be used along with $={persistentMacros}.
2758                 It can be used for adding headers to a message based on
2759                 the results of check_* and header check rulesets.
2760         Allow new named config file rule check_eoh which is called after
2761                 all of the headers have been collected.  The input to the
2762                 ruleset the number of headers and the size of all of the
2763                 headers in bytes separated by $|.  This ruleset along with
2764                 the macro storage map can be used to correlate information
2765                 gathered between headers and to check for missing headers.
2766                 See cf/README or doc/op/op.ps for an example.
2767         Change the default for the MeToo option to True to correspond
2768                 to the clarification in the DRUMS SMTP Update spec.  This
2769                 option is deprecated and will be removed from a future
2770                 version.
2771         Change the sendmail binary default for SendMimeErrors to True.
2772         Change the sendmail binary default for SuperSafe to True.
2773         Display ruleset names in debug and address test mode output
2774                 if referencing a named ruleset.
2775         New mailer equate m= which will limit the number of messages
2776                 delivered per connection on an SMTP or LMTP mailer.
2777         Improve QueueSortOrder=Host by reversing the hostname before
2778                 using it to sort.  Now all the same domains are really run
2779                 through the queue together.  If they have the same MX host,
2780                 then they will have a much better opportunity to use the
2781                 connection cache if available.  This should be a reasonable
2782                 performance improvement.  Patch from Randall Winchester of
2783                 the University of Maryland.
2784         If a message is rejected by a header check ruleset, log who would
2785                 have received the message if it had not been rejected.
2786         New "now" value for Timeout.queuereturn to bounce entries from the
2787                 queue immediately.  No delivery attempt is made.
2788         Increase sleeping time exponentially after too many "bad" commands
2789                 up to 4 minutes delay (compare MAX{BAD,NOOP,HELO,VRFY,ETRN}-
2790                 COMMANDS).
2791         New option ClientPortOptions similar to DaemonPortOptions
2792                 but for outgoing connections.
2793         New suboptions for DaemonPortOptions: Name (a name used for
2794                 error messages and logging) and Modifiers, i.e.
2795                         a       require authentication
2796                         b       bind to interface through which mail has
2797                                 been received
2798                         c       perform hostname canonification
2799                         f       require fully qualified hostname
2800                         h       use name of interface for outgoing HELO
2801                                 command
2802                         C       don't perform hostname canonification
2803                         E       disallow ETRN (see RFC 2476)
2804         New suboption for ClientPortOptions: Modifiers, i.e.
2805                         h       use name of interface for HELO command
2806         The version number for queue files (qf) has been incremented to 4.
2807         Log unacceptable HELO/EHLO domain name attempts if LogLevel is set
2808                 to 10 or higher.  Suggested by Rick Troxel of the National
2809                 Institutes of Health.
2810         If a mailer dies, print the status in decimal instead of octal
2811                 format.  Suggested by Michael Shapiro of Sun Microsystems.
2812         Limit the length of all MX records considered for delivery to 8k.
2813         Move message priority from sender to recipient logging.  Suggested by
2814                 Ulrich Windl of the Universitat Regensburg.
2815         Add support for Berkeley DB 3.X.
2816         Add fix for Berkeley DB 2.X fcntl() locking race condition.
2817                 Requires a post-2.7.5 version of Berkeley DB.
2818         Support writing traffic log (sendmail -X option) to a FIFO.
2819                 Patch submitted by Rick Heaton of Network Associates, Inc.
2820         Do not ignore Timeout settings in the .cf file when a Timeout
2821                 sub-options is set on the command line.  Problem noted by
2822                 Graeme Hewson of Oracle.
2823         Randomize equal preference MX records each time delivery is
2824                 attempted via a new connection to a host instead of once per
2825                 session.  Suggested by Scott Salvidio of Compaq.
2826         Implement enhanced status codes as defined by RFC 2034.
2827         Add [hostname] to class w for the names of all interfaces unless
2828                 DontProbeInterfaces is set. This is useful for sending mails
2829                 to hosts which have dynamically assigned names.
2830         If a message is bounced due to bad MIME conformance, avoid bouncing
2831                 the bounce for the same reason.  If the body is not 8-bit
2832                 clean, and EightBitMode isn't set to pass8, the body will
2833                 not be included in the bounce.  Problem noted by Valdis
2834                 Kletnieks of Virginia Tech.
2835         The timeout for sending a message via SMTP has been changed from
2836                 '${msgsize} / 16 + (${nrcpts} * 300)' to a timeout which
2837                 simply checks for progress on sending data every 5 minutes.
2838                 This will detect the inability to send information quicker
2839                 and reduce the number of processes simply waiting to
2840                 timeout.
2841         Prevent a segmentation fault on systems which give a partial filled
2842                 interface address structure when loading the system network
2843                 interface addresses.  Fix from Reinier Bezuidenhout of
2844                 Nanoteq.
2845         Add a compile-time configuration macro, MAXINTERFACES, which
2846                 indicates the number of interfaces to read when probing
2847                 for hostnames and IP addresses for class w ($=w).  The
2848                 default value is 512.  Based on idea from Reinier
2849                 Bezuidenhout of Nanoteq.
2850         If the RefuseLA option is set to 0, do not reject connections based
2851                 on load average.
2852         Allow ruleset 0 to have a name.  Problem noted by Neil Rickert of
2853                 Northern Illinois University.
2854         Expand the Return-Path: header at delivery time, after "owner-"
2855                 envelope splitting has occurred.
2856         Don't try to sort the queue if there are no entries. Patch from
2857                 Luke Mewburn from RMIT University.
2858         Add a "/quit" command to address test mode.
2859         Include the proper sender in the UNIX "From " line and Return-Path:
2860                 header when undeliverable mail is saved to ~/dead.letter.
2861                 Problem noted by Kari Hurtta of the Finnish Meteorological
2862                 Institute.
2863         The contents of a class can now be copied to another class using
2864                 the syntax: "C{Dest} $={Source}".  This would copy all of
2865                 the items in class $={Source} into the class $={Dest}.
2866         Include original envelope's error transcript in bounces created for
2867                 split (owner-) envelopes to see the original errors when
2868                 the recipients were added.  Based on fix from Motonori
2869                 Nakamura of Kyoto University.
2870         Show reason for permanent delivery errors directly after the
2871                 addresses.  From Motonori Nakamura of Kyoto University.
2872         Prevent a segmentation fault when bouncing a split-envelope
2873                 message.  Patch from Motonori Nakamura of Kyoto University.
2874         If the specification for the queue run interval (-q###) has a
2875                 syntax error, consider the error fatal and exit.
2876         Pay attention to CheckpointInterval during LMTP delivery.  Problem
2877                 noted by Motonori Nakamura of Kyoto University.
2878         On operating systems which have setlogin(2), use it to set the
2879                 login name to the RunAsUserName when starting as a daemon.
2880                 This is for delivery to programs which use getlogin().
2881                 Based on fix from Motonori Nakamura of Kyoto University.
2882         Differentiate between "command not implemented" and "command
2883                 unrecognized" in the SMTP dialogue.
2884         Strip returns from forward and include files.  Problem noted by
2885                 Allan E Johannesen of Worcester Polytechnic Institute.
2886         Prevent a core dump when using 'sendmail -bv' on an address which
2887                 resolves to the $#error mailer with a temporary failure.
2888                 Based on fix from Neil Rickert of Northern Illinois
2889                 University.
2890         Prevent multiple deliveries of a message with a "non-local alias"
2891                 pointing to a local user, if canonicalization fails
2892                 the message was requeued *and* delivered to the alias.
2893         If an invalid ruleset is declared, the ruleset name could be
2894                 ignored and its rules added to S0.  Instead, ignore the
2895                 ruleset lines as well.
2896         Avoid incorrect Final-Recipient, Action, and X-Actual-Recipient
2897                 success DSN fields as well as duplicate entries for a
2898                 single address due to S5 and UserDB processing.  Problems
2899                 noted by Kari Hurtta of the Finnish Meteorological
2900                 Institute.
2901         Turn off timeouts when exiting sendmail due to an interrupt signal
2902                 to prevent the timeout from firing during the exit process.
2903                 Problem noted by Michael Shapiro of Sun Microsystems.
2904         Do not append @MyHostName to non-RFC822 addresses output by the EXPN
2905                 command or on Final-Recipient: and X-Actual-Recipient: DSN
2906                 headers.  Non-RFC822 addresses include deliveries to
2907                 programs, file, DECnet, etc.
2908         Fix logic for determining if a local user is using -f or -bs to
2909                 spoof their return address.  Based on idea from Neil Rickert
2910                 of Northern Illinois University and patch from Per Hedeland
2911                 of Ericsson.
2912         Report the proper UID in the bounce message if an :include: file is
2913                 owned by a uid that doesn't map to a username and the
2914                 :include: file contains delivery to a file or program.
2915                 Problem noted by John Beck of Sun Microsystems.
2916         Avoid the attempt of trying to send a second SMTP QUIT command if
2917                 the remote server responds to the first QUIT with a 4xx
2918                 response code and drops the connection.  This behavior was
2919                 noted by Ulrich Windl of the Universitat Regensburg when
2920                 sendmail was talking to the Mercury 1.43 MTA.
2921         If a hostname lookup times out and ServiceSwitchFile is set but the
2922                 file is not present, the lookup failure would be marked as
2923                 a permanent failure instead of a temporary failure.  Fix
2924                 from Russell King of the ARM Linux Project.
2925         Handle aliases or forwards which deliver to programs using tabs
2926                 instead of spaces between arguments.  Problem noted by Randy
2927                 Wormser.  Fix from Neil Rickert of Northern Illinois
2928                 University.
2929         Allow MaxRecipientsPerMessage option to be set on the command line
2930                 by normal users (e.g., sendmail won't drop its root
2931                 privileges) to allow overrides for message submission via
2932                 'sendmail -bs'.
2933         Set the names for help file and statistics file to "helpfile" and
2934                 "statistics", respectively, if no parameters are given for
2935                 them in the .cf file.
2936         Avoid bogus 'errbody: I/O Error -7' log messages when sending
2937                 success DSN messages for messages relayed to non-DSN aware
2938                 systems.  Problem noted by Juergen Georgi of RUS University
2939                 of Stuttgart and Kyle Tucker of Parexel International.
2940         Prevent +detail information from interfering with local delivery to
2941                 multiple users in the same transaction (F=m).
2942         Add H_FORCE flag for the X-Authentication-Warning: header, so it
2943                 will be added even if one already exists.  Problem noted
2944                 by Michal Zalewski of Marchew Industries.
2945         Stop processing SMTP commands if the SMTP connection is dropped.
2946                 This prevents a remote system from flooding the connection
2947                 with commands and then disconnecting.  Previously, the
2948                 server would process all of the buffered commands.  Problem
2949                 noted by Michal Zalewski of Marchew Industries.
2950         Properly process user-supplied headers beginning with '?'.  Problem
2951                 noted by Michal Zalewski of Marchew Industries.
2952         If multiple header checks resolve to the $#error mailer, use the
2953                 last permanent (5XX) failure if any exist.  Otherwise, use
2954                 the last temporary (4XX) failure.
2955         RFC 1891 requires "hexchar" in a "xtext" to be upper case.  Patch
2956                 from Ronald F. Guilmette of Infinite Monkeys & Co.
2957         Timeout.ident now defaults to 5 seconds instead of 30 seconds to
2958                 prevent the now common delays associated with mailing to a
2959                 site which drops IDENT packets.  Suggested by many.
2960         Persistent host status data is not reloaded disk when current data
2961                 is available in the in-memory cache.  Problem noted by Per
2962                 Hedeland of Ericsson.
2963         mailq displays unprintable characters in addresses as their octal
2964                 representation and a leading backslash.  This avoids problems
2965                 with "unprintable" characters.  Problem noted by Michal
2966                 Zalewski of the "Internet for Schools" project (IdS).
2967         The mail line length limit (L= equate) was adding the '!' indicator
2968                 one character past the limit.  This would cause subsequent
2969                 hops to break the line again.  The '!' is now placed in
2970                 the last column of the limit if the line needs to be broken.
2971                 Problem noted by Joe Pruett of Q7 Enterprises.  Based on fix
2972                 from Per Hedeland of Ericsson.
2973         If a resolver ANY query is larger than the UDP packet size, the
2974                 resolver will fall back to TCP.  However, some
2975                 misconfigured firewalls black 53/TCP so the ANY lookup
2976                 fails whereas an MX or A record might succeed.  Therefore,
2977                 don't fail on ANY queries.
2978         If an SMTP recipient is rejected due to syntax errors in the
2979                 address, do not send an empty postmaster notification DSN
2980                 to the postmaster.  Problem noted by Neil Rickert of
2981                 Northern Illinois University.
2982         Allow '_' and '.' in map names when parsing a sequence map
2983                 specification.  Patch from William Setzer of North Carolina
2984                 State University.
2985         Fix hostname in logging of read timeouts for the QUIT command on
2986                 cached connections.  Problem noted by Neil Rickert of
2987                 Northern Illinois University.
2988         Use a more descriptive entry to log "null" connections, i.e.,
2989                 "host did not issue MAIL/EXPN/VRFY/ETRN during connection".
2990         Fix a file descriptor leak in ONEX mode.
2991         Portability:
2992                 Reverse signal handling logic such that sigaction(2) with
2993                         the SA_RESTART flag is the preferred method and the
2994                         other signal methods are only tried if SA_RESTART
2995                         is not available.  Problem noted by Allan E
2996                         Johannesen of Worcester Polytechnic Institute.
2997                 AIX 4.x supports the sa_len member of struct sockaddr.
2998                         This allows network interface probing to work
2999                         properly.  Fix from David Bronder of the
3000                         University of Iowa.
3001                 AIX 4.3 has snprintf() support.
3002                 Use "PPC" as the architecture name when building under
3003                         AIX.  This will be reflected in the obj.* directory
3004                         name.
3005                 Apple Darwin support based on Apple Rhapsody port.
3006                 Fixed AIX 'make depend' method from Valdis Kletnieks of
3007                         Virginia Tech.
3008                 Digital UNIX has uname(2).
3009                 GNU Hurd updates from Mark Kettenis of the University of
3010                         Amsterdam.
3011                 Improved HPUX 11.0 portability.
3012                 Properly determine the number of CPUs on FreeBSD 2.X,
3013                         FreeBSD 3.X, HP/UX 10.X and HP/UX 11.X.
3014                 Remove special IRIX ABI cases from Build script and the OS
3015                         files.  Use the standard 'cc' options used by SGI
3016                         in building the operating system.  Users can
3017                         override the defaults by setting confCC and
3018                         confLIBSEARCHPATH appropriately.
3019                 IRIX nsd map support from Bob Mende of SGI.
3020                 Minor devtools fixes for IRIX from Bob Mende of SGI.
3021                 Linux patch for IP_SRCROUTE support from Joerg Dorchain
3022                         of MW EDV & ELECTRONIC.
3023                 Linux now uses /usr/sbin for confEBINDIR in the build
3024                         system.  From MATSUURA Takanori of Osaka University.
3025                 Remove special treatment for Linux PPC in the build
3026                         system.  From MATSUURA Takanori of Osaka University.
3027                 Motorolla UNIX SYSTEM V/88 Release 4.0 support from
3028                         Sergey Rusanov of the Republic of Udmurtia.
3029                 NCR MP-RAS 3.x includes regular expression support.  From
3030                         Tom J. Moore of NCR.
3031                 NEC EWS-UX/V series settings for _PATH_VENDOR_CF and
3032                         _PATH_SENDMAILPID from Oota Toshiya of
3033                         NEC Computers Group Planning Division.
3034                 Minor NetBSD owner/group tweaks from Ayamura Kikuchi, M.D.
3035                 NEWS-OS 6.X listed SYSLOG_BUFSIZE as 256 in confENVDEF and
3036                         1024 in conf.h.  Since confENVDEF would be used,
3037                         use that value in conf.h.
3038                 Use NeXT's NETINFO to get domain name.  From Gerd Knops of
3039                         BITart Consulting.
3040                 Use NeXT's NETINFO for alias and hostname resolution if
3041                         AUTO_NETINFO_ALIASES and AUTO_NETINFO_HOSTS are
3042                         defined.  Patch from Wilfredo Sanchez of Apple
3043                         Computer, Inc.
3044                 NeXT portability tweaks.  Problems reported by Dragan
3045                         Milicic of the University of Utah and J. P. McCann
3046                         of E I A.
3047                 New compile flag FAST_PID_RECYCLE: set this if your system
3048                         can reuse the same PID in the same second.
3049                 New compile flag HASFCHOWN: set this if your OS has
3050                         fchown(2).
3051                 New compile flag HASRANDOM: set this to 0 if your OS does
3052                         not have random(3).  rand() will be used instead.
3053                 New compile flag HASSRANDOMDEV: set this if your OS has
3054                         srandomdev(3).
3055                 New compile flag HASSETLOGIN: set this if your OS has
3056                         setlogin(2).
3057                 Replace SINIX and ReliantUNIX support with version
3058                         specific SINIX files.  From Gerald Rinske of
3059                         Siemens Business Services.
3060                 Use the 60-second load average instead of the 5 second load
3061                         average on Compaq Tru64 UNIX (formerly Digital
3062                         UNIX).  From Chris Teakle of the University of Qld.
3063                 Use ANSI C by default for Compaq Tru64 UNIX.  Suggested by
3064                         Randall Winchester of Swales Aerospace.
3065                 Correct setgroups() prototype for Compaq Tru64 UNIX.
3066                         Problem noted by Randall Winchester of Swales
3067                         Aerospace.
3068                 Hitachi 3050R/3050RX and 3500 Workstations running
3069                         HI-UX/WE2 4.02, 6.10 and 7.10 from Motonori
3070                         NAKAMURA of Kyoto University.
3071                 New compile flag NO_GETSERVBYNAME: set this to disable
3072                         use of getservbyname() on systems which can
3073                         not lookup a service by name over NIS, such as
3074                         HI-UX.  Patch from Motonori NAKAMURA of Kyoto
3075                         University.
3076                 Use devtools/bin/install.sh on SCO 5.x.  Problem noted
3077                         by Sun Wenbing of the China Engineering and
3078                         Technology Information Network.
3079                 make depend didn't work properly on UNIXWARE 4.2.  Problem
3080                         noted by Ariel Malik of Netology, Ltd.
3081                 Use /usr/lbin as confEBINDIR for Compaq Tru64 (Digital UNIX).
3082                 Set confSTDIO_TYPE to torek for BSD-OS, FreeBSD, NetBSD,
3083                         and OpenBSD.
3084                 A recent Compaq Ultrix 4.5 Y2K patch has broken detection
3085                         of local_hostname_length().  See sendmail/README
3086                         for more details.  Problem noted by Allan E
3087                         Johannesen of Worcester Polytechnic Institute.
3088         CONFIG: Begin using /etc/mail/ for sendmail related files.  This
3089                 affects a large number of files.  See cf/README for more
3090                 details.
3091         CONFIG: New macro MAIL_SETTINGS_DIR contains the path (including
3092                 trailing slash) for the mail settings directory.
3093         CONFIG: Increment version number of config file to 9.
3094         CONFIG: OSTYPE(`bsdi1.0') and OSTYPE(`bsdi2.0') have been
3095                 deprecated and may be removed from a future release.
3096                 BSD/OS users should begin using OSTYPE(`bsdi').
3097         CONFIG: OpenBSD 2.4 installs mail.local non-set-user-ID root.  This
3098                 requires a new OSTYPE(`openbsd').  From Todd C. Miller of
3099                 Courtesan Consulting.
3100         CONFIG: New OSTYPE(`hpux11') for HP/UX 11.X.
3101         CONFIG: A syntax error in check_mail would cause fake top-level
3102                 domains (.BITNET, .DECNET, .FAX, .USENET, and .UUCP) to
3103                 be improperly rejected as unresolvable.
3104         CONFIG: New FEATURE(`dnsbl') takes up to two arguments (name of
3105                 DNS server, rejection message) and can be included
3106                 multiple times.
3107         CONFIG: New FEATURE(`relay_mail_from') allows relaying if the
3108                 mail sender is listed as RELAY in the access map (and tagged
3109                 with From:).
3110         CONFIG: Optional tagging of LHS in the access map (Connect:,
3111        &nb