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