1c2aa98e2SPeter Wemm SENDMAIL RELEASE NOTES 22e43090eSPeter Wemm @(#)RELEASE_NOTES 8.9.3.1 (Berkeley) 2/4/1999 3c2aa98e2SPeter Wemm 4c2aa98e2SPeter Wemm 5c2aa98e2SPeter WemmThis listing shows the version of the sendmail binary, the version 6c2aa98e2SPeter Wemmof the sendmail configuration files, the date of release, and a 7c2aa98e2SPeter Wemmsummary of the changes in that release. 8c2aa98e2SPeter Wemm 92e43090eSPeter Wemm8.9.3/8.9.3 99/02/04 102e43090eSPeter Wemm SECURITY: Limit message headers to a maximum of 32K bytes (total 112e43090eSPeter Wemm of all headers in a single message) to prevent a denial of 122e43090eSPeter Wemm service attack. This limit will be configurable in 8.10. 132e43090eSPeter Wemm Problem noted by Michal Zalewski of the "Internet for 142e43090eSPeter Wemm Schools" project (IdS). 152e43090eSPeter Wemm Prevent segmentation fault on an LDAP lookup if the LDAP map 162e43090eSPeter Wemm was closed due to an earlier failure. Problem noted by 172e43090eSPeter Wemm Jeff Wasilko of smoe.org. Fix from Booker Bense of 182e43090eSPeter Wemm Stanford University and Per Hedeland of Ericsson. 192e43090eSPeter Wemm Preserve the order of the MIME headers in multipart messages 202e43090eSPeter Wemm when performing the MIME header length check. This 212e43090eSPeter Wemm will allow PGP signatures to function properly. Problem 222e43090eSPeter Wemm noted by Lars Hecking of University College, Cork, Ireland. 232e43090eSPeter Wemm If ruleset 5 rewrote the local address to an :include: directive, 242e43090eSPeter Wemm the delivery would fail with an "aliasing/forwarding loop 252e43090eSPeter Wemm broken" error. Problem noted by Eric C Hagberg of Morgan 262e43090eSPeter Wemm Stanley. Fix from Per Hedeland of Ericsson. 272e43090eSPeter Wemm Allow -T to work for bestmx maps. Fix from Aaron Schrab of 282e43090eSPeter Wemm ExecPC Internet Systems. 292e43090eSPeter Wemm During the transfer of a message in an SMTP transaction, if a 302e43090eSPeter Wemm TCP timeout occurs, the message would be properly queued 312e43090eSPeter Wemm for later retry but the failure would be logged as 322e43090eSPeter Wemm "Illegal Seek" instead of a timeout. Problem noted by 332e43090eSPeter Wemm Piotr Kucharski of the Warsaw School of Economics (SGH) 342e43090eSPeter Wemm and Carles Xavier Munyoz Baldo of CTV Internet. 352e43090eSPeter Wemm Prevent multiple deliveries on a self-referencing alias if the 362e43090eSPeter Wemm F=w mailer flag is not set. Problem noted by Murray S. 372e43090eSPeter Wemm Kucherawy of Concentric Network Corporation and Per 382e43090eSPeter Wemm Hedeland of Ericsson. 392e43090eSPeter Wemm Do not strip empty headers but if there is no value and a 402e43090eSPeter Wemm default is defined in sendmail.cf, use the default. 412e43090eSPeter Wemm Problem noted by Philip Guenther of Gustavus Adolphus 422e43090eSPeter Wemm College and Christopher McCrory of Netus, Inc. 432e43090eSPeter Wemm Don't inherit information about the sender (notably the full name) 442e43090eSPeter Wemm in SMTP (-bs) mode, since this might be called from inetd. 452e43090eSPeter Wemm Accept any 3xx reply code in response to DATA command instead of 462e43090eSPeter Wemm requiring 354. This change will match the wording to be 472e43090eSPeter Wemm published in the updated SMTP specification from the DRUMS 482e43090eSPeter Wemm group of the IETF. 492e43090eSPeter Wemm Portability: 502e43090eSPeter Wemm AIX 4.2.0.2 ships with a /usr/lib/libbind.a which should 512e43090eSPeter Wemm not be used. It conflicts with the resolver 522e43090eSPeter Wemm built into libc.a. "bind" has been removed 532e43090eSPeter Wemm from the confLIBSEARCH BuildTools variable. 542e43090eSPeter Wemm Users who have installed BIND 8.X will have 552e43090eSPeter Wemm to add it back in their site.config.m4 file. 562e43090eSPeter Wemm Problem noted by Ole Holm Nielsen of the 572e43090eSPeter Wemm Technical University of Denmark. 582e43090eSPeter Wemm CRAY TS 10.0.x from Sven Nielsen of San Diego 592e43090eSPeter Wemm Supercomputer Center. 602e43090eSPeter Wemm Improved LDAP version 3 integration based on input 612e43090eSPeter Wemm from Kurt D. Zeilenga of the OpenLDAP Foundation, 622e43090eSPeter Wemm John Beck of Sun Microsystems, and Booker Bense 632e43090eSPeter Wemm of Stanford University. 642e43090eSPeter Wemm Linux doesn't have a standard way to get the timezone 652e43090eSPeter Wemm between different releases. Back out the 662e43090eSPeter Wemm change in 8.9.2 and don't attempt to derive 672e43090eSPeter Wemm a timezone. Problem reported by Igor S. Livshits 682e43090eSPeter Wemm of the University of Illinois at Urbana-Champaign 692e43090eSPeter Wemm and Michael Dickens of Tetranet Communications. 702e43090eSPeter Wemm Reliant UNIX, the new name for SINIX, from Gert-Jan Looy 712e43090eSPeter Wemm of Siemens/SNI. 722e43090eSPeter Wemm SunOS 5.8 from John Beck of Sun Microsystems. 732e43090eSPeter Wemm CONFIG: SCO UnixWare 2.1 and 7.0 need TZ to get the proper 742e43090eSPeter Wemm timezone. Problem noted by Petr Lampa of Technical 752e43090eSPeter Wemm University of Brno. 762e43090eSPeter Wemm CONFIG: Handle <@bestmx-host:user@otherhost> addressing properly 772e43090eSPeter Wemm when using FEATURE(bestmx_is_local). Patch from Neil W. 782e43090eSPeter Wemm Rickert of Northern Illinois University. 792e43090eSPeter Wemm CONFIG: Properly handle source routed and %-hack addresses on 802e43090eSPeter Wemm hosts which the mailertable remaps to local:. Patch from 812e43090eSPeter Wemm Neil W. Rickert of Northern Illinois University. 822e43090eSPeter Wemm CONFIG: Internal fixup of mailertable local: map value. Patch from 832e43090eSPeter Wemm Larry Parmelee of Cornell University. 842e43090eSPeter Wemm CONFIG: Only add back +detail from host portion of mailer triplet 852e43090eSPeter Wemm on local mailer triplets if it was originally +detail. 862e43090eSPeter Wemm Patch from Neil W. Rickert of Northern Illinois University. 872e43090eSPeter Wemm CONFIG: The bestmx_is_local checking done in check_rcpt would 882e43090eSPeter Wemm cause later checks to fail. Patch from Paul J Murphy of 892e43090eSPeter Wemm MIDS Europe. 902e43090eSPeter Wemm New files: 912e43090eSPeter Wemm BuildTools/OS/CRAYTS.10.0.x 922e43090eSPeter Wemm BuildTools/OS/ReliantUNIX 932e43090eSPeter Wemm BuildTools/OS/SunOS.5.8 942e43090eSPeter Wemm 95065a643dSPeter Wemm8.9.2/8.9.2 98/12/30 96065a643dSPeter Wemm SECURITY: Remove five second sleep on accepting daemon connections 97065a643dSPeter Wemm due to an accept() failure. This sleep could be used 98065a643dSPeter Wemm for a denial of service attack. 99065a643dSPeter Wemm Do not silently ignore queue files with names which are too long. 100065a643dSPeter Wemm Patch from Bryan Costales of InfoBeat, Inc. 101065a643dSPeter Wemm Do not store failures closing an SMTP session in persistent 102065a643dSPeter Wemm host status. Reported by Graeme Hewson of Oracle 103065a643dSPeter Wemm Corporation UK. 104065a643dSPeter Wemm Allow symbolic link forward files if they are in safe directories. 105065a643dSPeter Wemm Problem noted by Andreas Schott of the Max Planck Society. 106065a643dSPeter Wemm Missing columns in a text map could cause a segmentation fault. 107065a643dSPeter Wemm Fix from David Lee of the University of Durham. 1082e43090eSPeter Wemm Note that for 8.9.X, PrivacyOptions=goaway also includes the 109065a643dSPeter Wemm noetrn flag. This is scheduled to change in a future 110065a643dSPeter Wemm version of sendmail. Problem noted by Theo Van Dinter of 111065a643dSPeter Wemm Chrysalis Symbolic Designa and Alan Brown of Manawatu 112065a643dSPeter Wemm Internet Services. 113065a643dSPeter Wemm When trying to do host canonification in a Wildcard MX 114065a643dSPeter Wemm environment, try an MX lookup of the hostname without the 115065a643dSPeter Wemm default domain appended. Problem noted by Olaf Seibert of 116065a643dSPeter Wemm Polderland Language & Speech Technology. 117065a643dSPeter Wemm Reject SMTP RCPT To: commands with only comments (i.e. 118065a643dSPeter Wemm 'RCPT TO: (comment)'. Problem noted by Earle Ake of 119065a643dSPeter Wemm Hassler Communication Systems Technology, Inc. 120065a643dSPeter Wemm Handle any number of %s in the LDAP filter spec. Patch from 121065a643dSPeter Wemm Per Hedeland of Ericsson. 122065a643dSPeter Wemm Clear ldapx open timeouts even if the map open failed to prevent 123065a643dSPeter Wemm a segmentation fault. Patch from Wayne Knowles of the 124065a643dSPeter Wemm National Institute of Water & Atmospheric Research Ltd. 125065a643dSPeter Wemm Do not syslog envelope clone messages when using address 126065a643dSPeter Wemm verification (-bv). Problem noted by Kari Hurtta of the 127065a643dSPeter Wemm Finnish Meteorological Institute. 128065a643dSPeter Wemm Continue to perform queue runs while in daemon mode even if the 129065a643dSPeter Wemm daemon is rejecting connections due to a disk full 130065a643dSPeter Wemm condition. Problem noted by JR Oldroyd of TerraNet 131065a643dSPeter Wemm Internet Services. 132065a643dSPeter Wemm Include full filename on installation of the sendmail.hf file 133065a643dSPeter Wemm in case the $HFDIR directory does not exist. Problem 134065a643dSPeter Wemm noted by Josef Svitak of Montana State University. 135065a643dSPeter Wemm Close all maps when exiting the process with one exception. 136065a643dSPeter Wemm Berkeley DB can use internal shared memory locking for 137065a643dSPeter Wemm its memory pool. Closing a map opened by another process 138065a643dSPeter Wemm will interfere with the shared memory and locks of the 139065a643dSPeter Wemm parent process leaving things in a bad state. For 140065a643dSPeter Wemm Berkeley DB, only close the map if the current process 141065a643dSPeter Wemm is also the one that opened the map, otherwise only close 142065a643dSPeter Wemm the map file descriptor. Thanks to Yoseff Francus of 143065a643dSPeter Wemm Collective Technologies for volunteering his system for 144065a643dSPeter Wemm extended testing. 145065a643dSPeter Wemm Avoid null pointer dereference on XDEBUG output for SMTP reply 146065a643dSPeter Wemm failures. Problem noted by Carlos Canau of EUnet Portugal. 147065a643dSPeter Wemm On mailq and hoststat listings being piped to another program, such 148065a643dSPeter Wemm as more, if the pipe closes (i.e. the user quits more), 149065a643dSPeter Wemm stop sending output and exit. Patch from Allan E Johannesen 150065a643dSPeter Wemm of Worcester Polytechnic Institute. 151065a643dSPeter Wemm In accordance with the documentation, LDAP map lookup failures 152065a643dSPeter Wemm are now considered temporary failures instead of permanent 153065a643dSPeter Wemm failures unless the -t flag is used in the map definition. 154065a643dSPeter Wemm Problem noted by Booker Bense of Stanford University and 155065a643dSPeter Wemm Eric C. Hagberg of Morgan Stanley. 156065a643dSPeter Wemm Fix by one error reporting on long alias names. Problem noted by 157065a643dSPeter Wemm H. Paul Hammann of the Missouri Research and Education 158065a643dSPeter Wemm Network. 159065a643dSPeter Wemm Fix DontBlameSendmail=IncludeFileInUnsafeDirPath behavior. Problem 160065a643dSPeter Wemm noted by Barry S. Finkel of Argonne National Laboratory. 161065a643dSPeter Wemm When automatically converting from 8 bit to quoted printable MIME, 162065a643dSPeter Wemm be careful not to miss a multi-part boundary if that 163065a643dSPeter Wemm boundary is preceded by a boundary-like line. Problem 164065a643dSPeter Wemm noted by Andreas Raschle of Ansid Inc. Fix from 165065a643dSPeter Wemm Kari Hurtta of the Finnish Meteorological Institute. 166065a643dSPeter Wemm Avoid bogus reporting of "LMTP tobuf overflow" when the buffer 167065a643dSPeter Wemm has enough space for the additional address. Problem 168065a643dSPeter Wemm noted by Steve Cliffe of the University of Wollongong. 1692e43090eSPeter Wemm Fix DontBlameSendmail=FileDeliveryToSymlink behavior. Problem 170065a643dSPeter Wemm noted by Alex Vorobiev of Swarthmore College. 171065a643dSPeter Wemm If the check_compat ruleset resolves to the $#discard mailer, 172065a643dSPeter Wemm discard the current recipient. Unlike check_relay, 173065a643dSPeter Wemm check_mail, and check_rcpt, the entire envelope is not 174065a643dSPeter Wemm discarded. Problem noted by RZ D. Rahlfs. Fix from 175065a643dSPeter Wemm Claus Assmann of Christian-Albrechts-University of Kiel. 1762e43090eSPeter Wemm Avoid segmentation fault when reading ServiceSwitchFile files with 177065a643dSPeter Wemm bogus formatting. Patch from Kari Hurtta of the Finnish 178065a643dSPeter Wemm Meteorological Institute. 179065a643dSPeter Wemm Support Berkeley DB 2.6.4 API change. 180065a643dSPeter Wemm OP.ME: Pages weren't properly output on duplexed printers. Fix 181065a643dSPeter Wemm from Matthew Black of CSU Long Beach. 182065a643dSPeter Wemm Portability: 183065a643dSPeter Wemm Apple Rhapsody from Wilfredo Sanchez of Apple Computer, Inc. 184065a643dSPeter Wemm Avoid a clash with IRIX 6.2 getopt.h and the UserDatabase 185065a643dSPeter Wemm option structure. Problem noted by Ashley M. 186065a643dSPeter Wemm Kirchner of Photo Craft Laboratories, Inc. 187065a643dSPeter Wemm Break out IP address to hostname translation for 188065a643dSPeter Wemm reading network interface addresses into 189065a643dSPeter Wemm class 'w'. Patch from John Kennedy of 190065a643dSPeter Wemm Cal State University, Chico. 191065a643dSPeter Wemm AIX 4.x use -qstrict with -O3 to prevent the optimized 192065a643dSPeter Wemm from changing the semantics of the compiled 193065a643dSPeter Wemm program. From Simon Travaglia of the 194065a643dSPeter Wemm University of Waikato, New Zealand. 195065a643dSPeter Wemm FreeBSD 2.2.2 and later support setusercontext(). From 196065a643dSPeter Wemm Peter Wemm of DIALix. 197065a643dSPeter Wemm FreeBSD 3.x fix from Peter Wemm of DIALix. 198065a643dSPeter Wemm IRIX 5.x has a syslog buffer size of 512 bytes. From 199065a643dSPeter Wemm Nao NINOMIYA of Utsunomiya University. 200065a643dSPeter Wemm IRIX 6.5 64-bit Build support. 201065a643dSPeter Wemm LDAP Version 3 support from John Beck and Ravi Iyer 202065a643dSPeter Wemm of Sun Microsystems. 203065a643dSPeter Wemm Linux does not implement seteuid() properly. From 204065a643dSPeter Wemm John Kennedy of Cal State University, Chico. 205065a643dSPeter Wemm Linux timezone type was set improperly. From Takeshi Itoh 206065a643dSPeter Wemm of Bits Co., Ltd. 207065a643dSPeter Wemm NCR MP-RAS 3.x needs -lresolv for confLIBS. From 208065a643dSPeter Wemm Tom J. Moore of NCR. 209065a643dSPeter Wemm NeXT 4.x correction to man page path. From J. P. McCann 210065a643dSPeter Wemm of E I A. 2112e43090eSPeter Wemm System V Rel 5.x (a.k.a UnixWare7 w/o BSD-Compatibility Libs) 212065a643dSPeter Wemm from Paul Gampe of the Asia Pacific Network 213065a643dSPeter Wemm Information Center. 214065a643dSPeter Wemm ULTRIX now requires an optimization limit of 970 from 215065a643dSPeter Wemm Allan E Johannesen of Worcester Polytechnic 216065a643dSPeter Wemm Institute. 217065a643dSPeter Wemm Fix extern declaration for sm_dopr(). Fix from Henk 218065a643dSPeter Wemm van Oers of Algemeen Nederlands Persbureau. 219065a643dSPeter Wemm CONFIG: Catch @hostname,user@anotherhost.domain as relaying. 220065a643dSPeter Wemm Problem noted by Mark Rogov of AirMedia, Inc. Fix from 221065a643dSPeter Wemm Claus Assmann of Christian-Albrechts-University of Kiel. 222065a643dSPeter Wemm CONFIG: Do not refer to http://maps.vix.com/ on RBL rejections as 223065a643dSPeter Wemm there are multiple RBL's available and the MAPS RBL may 224065a643dSPeter Wemm not be the one in use. Suggested by Alan Brown of 225065a643dSPeter Wemm Manawatu Internet Services. 226065a643dSPeter Wemm CONFIG: Properly strip route addresses (i.e. @host1:user@host2) 227065a643dSPeter Wemm when stripping down a recipient address to check for 228065a643dSPeter Wemm relaying. Patch from Claus Assmann of 229065a643dSPeter Wemm Christian-Albrechts-University of Kiel and Neil W Rickert 230065a643dSPeter Wemm of Northern Illinois University. 231065a643dSPeter Wemm CONFIG: Allow the access database to override RBL lookups. Patch 232065a643dSPeter Wemm from Claus Assmann of Christian-Albrechts-University of 233065a643dSPeter Wemm Kiel. 234065a643dSPeter Wemm CONFIG: UnixWare 7 support from Phillip P. Porch of The Porch 235065a643dSPeter Wemm Dot Com. 236065a643dSPeter Wemm CONFIG: Fixed check for deferred delivery mode warning. Patch 237065a643dSPeter Wemm from Claus Assmann of Christian-Albrechts-University of 238065a643dSPeter Wemm Kiel and Per Hedeland of Ericsson. 239065a643dSPeter Wemm CONFIG: If a recipient using % addressing is used, e.g. 240065a643dSPeter Wemm user%site@othersite, and othersite's MX records are now 241065a643dSPeter Wemm checked for local hosts if FEATURE(relay_based_on_MX) is 242065a643dSPeter Wemm used. Problem noted by Alexander Litvin of Lucky Net Ltd. 243065a643dSPeter Wemm Patch from Alexander Litvin of Lucky Net Ltd and 244065a643dSPeter Wemm Claus Assmann of Christian-Albrechts-University of Kiel. 245065a643dSPeter Wemm MAIL.LOCAL: Prevent warning messages from appearing in the LMTP 246065a643dSPeter Wemm stream. Do not allow more than one response per recipient. 247065a643dSPeter Wemm MAIL.LOCAL: Handle routed addresses properly when using LMTP. Fix 248065a643dSPeter Wemm from John Beck of Sun Microsystems. 249065a643dSPeter Wemm MAIL.LOCAL: Properly check for CRLF when using LMTP. Fix from 250065a643dSPeter Wemm John Beck of Sun Microsystems. 251065a643dSPeter Wemm MAIL.LOCAL: Substitute MAILER-DAEMON for the LMTP empty sender in 252065a643dSPeter Wemm the envelope From header. 253065a643dSPeter Wemm MAIL.LOCAL: Accept underscores in hostnames in LMTP mode. 254065a643dSPeter Wemm Problem noted by Glenn A. Malling of Syracuse University. 255065a643dSPeter Wemm MAILSTATS: Document msgsrej and msgsdis fields in the man page. 256065a643dSPeter Wemm Problem noted by Richard Wong of Princeton University. 257065a643dSPeter Wemm MAKEMAP: Build group list so group writable files are allowed with 258065a643dSPeter Wemm the -s flag. Problem noted by Curt Sampson of Internet 259065a643dSPeter Wemm Portal Services, Inc. 260065a643dSPeter Wemm PRALIASES: Automatically handle alias files created without the 261065a643dSPeter Wemm NULL byte at the end of the key. Patch from John Beck of 262065a643dSPeter Wemm Sun Microsystems. 263065a643dSPeter Wemm PRALIASES: Support Berkeley DB 2.6.4 API change. 264065a643dSPeter Wemm New Files: 265065a643dSPeter Wemm BuildTools/OS/IRIX64.6.5 266065a643dSPeter Wemm BuildTools/OS/UnixWare.5.i386 267065a643dSPeter Wemm cf/cf/unixware7.m4 268065a643dSPeter Wemm contrib/smcontrol.pl 269065a643dSPeter Wemm src/control.c 270065a643dSPeter Wemm 271c2aa98e2SPeter Wemm8.9.1/8.9.1 98/07/02 272c2aa98e2SPeter Wemm If both an OS specific site configuration file and a generic 273c2aa98e2SPeter Wemm site.config.m4 file existed, only the latter was used 274c2aa98e2SPeter Wemm instead of both. Problem noted by Geir Johannessen of 275c2aa98e2SPeter Wemm the Norwegian University of Science and Technology. 276c2aa98e2SPeter Wemm Fix segmentation fault while converting 8 bit to 7 bit MIME 277c2aa98e2SPeter Wemm multipart messages by trying to write to an unopened 278c2aa98e2SPeter Wemm file descriptor. Fix from Kari Hurtta of the Finnish 279c2aa98e2SPeter Wemm Meteorological Institute. 280c2aa98e2SPeter Wemm Do not assume Message: and Text: headers indicate the end of 281c2aa98e2SPeter Wemm the header area when parsing MIME headers. Problem noted 282c2aa98e2SPeter Wemm by Kari Hurtta of the Finnish Meteorological Institute. 283c2aa98e2SPeter Wemm Setting the confMAN#SRC Build variable would only effect the 284c2aa98e2SPeter Wemm installation commands. The man pages would still be 285c2aa98e2SPeter Wemm built with .0 extensions. Problem noted by Bryan 286c2aa98e2SPeter Wemm Costales of InfoBeat, Inc. 287c2aa98e2SPeter Wemm Installation of manual pages didn't honor the DESTDIR environment 288c2aa98e2SPeter Wemm variable. Problem noted by Bryan Costales of InfoBeat, Inc. 289c2aa98e2SPeter Wemm If the check_relay ruleset resolved to the discard mailer, messages 290c2aa98e2SPeter Wemm were still delivered. Problem noted by Mirek Luc of NASK. 291c2aa98e2SPeter Wemm Mail delivery to files would fail with an Operating System Error 292c2aa98e2SPeter Wemm if sendmail was not running as root, i.e. RunAsUser was set. 293c2aa98e2SPeter Wemm Problem noted by Leonard N. Zubkoff of Dandelion Digital. 294c2aa98e2SPeter Wemm Prevent MinQueueAge from interfering from queued items created 295c2aa98e2SPeter Wemm in the future, i.e. if the system clock was set ahead 296c2aa98e2SPeter Wemm and then back. Problem noted by Michael Miller of the 297c2aa98e2SPeter Wemm University of Natal, Pietermaritzburg. 298c2aa98e2SPeter Wemm Do not advertise ETRN support in ESTMP EHLO reply if noetrn is 2992e43090eSPeter Wemm set in the PrivacyOptions option. Fix from Ted Rule of 300c2aa98e2SPeter Wemm Flextech TV. 301c2aa98e2SPeter Wemm Log invalid persistent host status file lines instead of 302c2aa98e2SPeter Wemm bouncing the message. Problem noted by David Lindes of 303c2aa98e2SPeter Wemm DaveLtd Enterprises. 304c2aa98e2SPeter Wemm Move creation of empty sendmail.st file from installation to 305c2aa98e2SPeter Wemm compilation. Installation may be done from a read-only 306c2aa98e2SPeter Wemm mount. Fix from Bryan Costales of InfoBeat, Inc. and Ric 307c2aa98e2SPeter Wemm Anderson of the Oasis Research Center, Inc. 308c2aa98e2SPeter Wemm Enforce the maximum number of User Database entries limit. Problem 309c2aa98e2SPeter Wemm noted by Gary Buchanan of Credence Systems Inc. 310c2aa98e2SPeter Wemm Allow dead.letter files in root's home directory. Problem noted 311c2aa98e2SPeter Wemm by Anna Ullman of Sun Microsystems. 312c2aa98e2SPeter Wemm Program deliveries in forward files could be marked unsafe if 313c2aa98e2SPeter Wemm any directory listed in the ForwardPath option did not 314c2aa98e2SPeter Wemm exist. Problem noted by Jorg Bielak of Coastal Web Online. 315c2aa98e2SPeter Wemm Do not trust the length of the address structure returned by 316c2aa98e2SPeter Wemm gethostbyname(). Problem noted by Chris Evans of Oxford 317c2aa98e2SPeter Wemm University. 318c2aa98e2SPeter Wemm If the SIZE= MAIL From: ESMTP parameter is too large, use the 319c2aa98e2SPeter Wemm 5.3.4 DSN status code instead of 5.2.2. Similarly, for 320c2aa98e2SPeter Wemm non-local deliveries, if the message is larger than the 321c2aa98e2SPeter Wemm mailer maximum message size, use 5.3.4 instead of 5.2.3. 322c2aa98e2SPeter Wemm Suggested by Antony Bowesman of 323c2aa98e2SPeter Wemm Fujitsu/TeaWARE Mail/MIME System. 324c2aa98e2SPeter Wemm Portability: 325c2aa98e2SPeter Wemm Fix the check for an IP address reverse lookup for 326c2aa98e2SPeter Wemm use in $&{client_name} on 64 bit platforms. 327c2aa98e2SPeter Wemm From Gilles Gallot of Institut for Development 328c2aa98e2SPeter Wemm and Resources in Intensive Scientific computing. 329c2aa98e2SPeter Wemm BSD-OS uses .0 for man page extensions. From Jeff Polk 330c2aa98e2SPeter Wemm of BSDI. 331c2aa98e2SPeter Wemm DomainOS detection for Build. Also, version 10.4 and later 332c2aa98e2SPeter Wemm ship a unistd.h. Fixes from Takanobu Ishimura of 333c2aa98e2SPeter Wemm PICT Inc. 334c2aa98e2SPeter Wemm NeXT 4.x uses /usr/lib/man/cat for its man pages. From 335c2aa98e2SPeter Wemm J. P. McCann of E I A. 336c2aa98e2SPeter Wemm SCO 4.X and 5.X include NDBM support. From Vlado Potisk 337c2aa98e2SPeter Wemm of TEMPEST, Ltd. 338c2aa98e2SPeter Wemm CONFIG: Do not pass spoofed PTR results through resolver for 339c2aa98e2SPeter Wemm qualification. Problem noted by Michiel Boland of 340c2aa98e2SPeter Wemm Digital Valley Internet Professionals; fix from 341c2aa98e2SPeter Wemm Kari Hurtta of the Finnish Meteorological Institute. 342c2aa98e2SPeter Wemm CONFIG: Do not try to resolve non-DNS hostnames such as UUCP, 343c2aa98e2SPeter Wemm BITNET, and DECNET addresses for resolvable senders. 344c2aa98e2SPeter Wemm Problem noted by Alexander Litvin of Lucky Net Ltd. 345c2aa98e2SPeter Wemm CONFIG: Work around Sun's broken configuration which sends bounce 346c2aa98e2SPeter Wemm messages as coming from @@hostname instead of <>. LMTP 347c2aa98e2SPeter Wemm would not accept @@hostname. 348c2aa98e2SPeter Wemm OP.ME: Corrections to complex sendmail startup script from Rick 349c2aa98e2SPeter Wemm Troxel of the National Institutes of Health. 350c2aa98e2SPeter Wemm RMAIL: Do not install rmail by default, require 'make force-install' 351c2aa98e2SPeter Wemm as this rmail isn't the same as others. Suggested by 352c2aa98e2SPeter Wemm Kari Hurtta of the Finnish Meteorological Institute. 353065a643dSPeter Wemm New Files: 354065a643dSPeter Wemm BuildTools/OS/DomainOS.10.4 355c2aa98e2SPeter Wemm 356c2aa98e2SPeter Wemm8.9.0/8.9.0 98/05/19 357c2aa98e2SPeter Wemm SECURITY: To prevent users from reading files not normally 358c2aa98e2SPeter Wemm readable, sendmail will no longer open forward, :include:, 359c2aa98e2SPeter Wemm class, ErrorHeader, or HelpFile files located in unsafe 360c2aa98e2SPeter Wemm (i.e. group or world writable) directory paths. Sites 361c2aa98e2SPeter Wemm which need the ability to override security can use the 362c2aa98e2SPeter Wemm DontBlameSendmail option. See the README file for more 363c2aa98e2SPeter Wemm information. 364c2aa98e2SPeter Wemm SECURITY: Problems can occur on poorly managed systems, specifically, 365c2aa98e2SPeter Wemm if maps or alias files are in world writable directories. 366c2aa98e2SPeter Wemm This fixes the change added to 8.8.6 to prevent links in these 367c2aa98e2SPeter Wemm world writable directories. 368c2aa98e2SPeter Wemm SECURITY: Make sure ServiceSwitchFile option file is not a link if 369c2aa98e2SPeter Wemm it is in a world writable directory. 370c2aa98e2SPeter Wemm SECURITY: Never pass a tty to a mailer -- if a mailer can get at the 371c2aa98e2SPeter Wemm tty it may be able to push bytes back to the senders input. 372c2aa98e2SPeter Wemm Unfortunately this breaks -v mode. Problem noted by 373c2aa98e2SPeter Wemm Wietse Venema of the Global Security Analysis Lab at 374c2aa98e2SPeter Wemm IBM T.J. Watson Research. 375c2aa98e2SPeter Wemm SECURITY: Empty group list if DontInitGroups is set to true to 376c2aa98e2SPeter Wemm prevent program deliveries from picking up extra group 377c2aa98e2SPeter Wemm privileges. Problem reported by Wolfgang Ley of DFN-CERT. 378c2aa98e2SPeter Wemm SECURITY: The default value for DefaultUser is now set to the uid and 379c2aa98e2SPeter Wemm gid of the first existing user mailnull, sendmail, or daemon 380c2aa98e2SPeter Wemm that has a non-zero uid. If none of these exist, sendmail 381c2aa98e2SPeter Wemm reverts back to the old behavior of using uid 1 and gid 1. 382c2aa98e2SPeter Wemm This is a security problem for Linux which has chosen that 383c2aa98e2SPeter Wemm uid and gid for user bin instead of daemon. If DefaultUser 384c2aa98e2SPeter Wemm is set in the configuration file, that value overrides this 385c2aa98e2SPeter Wemm default. 386c2aa98e2SPeter Wemm SECURITY: Since 8.8.7, the check for non-setuid binaries 387c2aa98e2SPeter Wemm interfered with setting an alternate group id for the 388c2aa98e2SPeter Wemm RunAsUser option. Problem noted by Randall Winchester of 389c2aa98e2SPeter Wemm the University of Maryland. 390c2aa98e2SPeter Wemm Add support for Berkeley DB 2.X. Based on patch from John Kennedy 391c2aa98e2SPeter Wemm of Cal State University, Chico. 392c2aa98e2SPeter Wemm Remove support for OLD_NEWDB (pre-1.5 version of Berkeley DB). Users 393c2aa98e2SPeter Wemm which previously defined OLD_NEWDB=1 must now upgrade to the 394c2aa98e2SPeter Wemm current version of Berkeley DB. 395c2aa98e2SPeter Wemm Added support for regular expressions using the new map class regex. 396c2aa98e2SPeter Wemm From Jan Krueger of Unix-AG of University of Hannover. 397c2aa98e2SPeter Wemm Support for BIND 8.1.1's hesiod for hesiod maps and hesiod 398c2aa98e2SPeter Wemm UserDatabases from Randall Winchester of the University 399c2aa98e2SPeter Wemm of Maryland. 400c2aa98e2SPeter Wemm Allow any shell for user shell on program deliveries on V1 401c2aa98e2SPeter Wemm configurations for backwards compatibility on machines which 402c2aa98e2SPeter Wemm do not have getusershell(). Fix from John Beck of Sun 403c2aa98e2SPeter Wemm Microsystems. 404c2aa98e2SPeter Wemm On operating systems which change the process title by reusing the 405c2aa98e2SPeter Wemm argument vector memory, sendmail could corrupt memory if the 406c2aa98e2SPeter Wemm last argument was either "-q" or "-d". Problem noted by 407c2aa98e2SPeter Wemm Frank Langbein of the University of Stuttgart. 408c2aa98e2SPeter Wemm Support Local Mail Transfer Protocol (LMTP) between sendmail and 409c2aa98e2SPeter Wemm mail.local on the F=z flag. 410c2aa98e2SPeter Wemm Macro-expand the contents of the ErrMsgFile. Previously this was 411c2aa98e2SPeter Wemm only done if you had magic characters (0x81) to indicate 412c2aa98e2SPeter Wemm macro expansion. Now $x will be expanded. This means that 413c2aa98e2SPeter Wemm real dollar signs have to be backslash escaped. 414c2aa98e2SPeter Wemm TCP Wrappers expects "unknown" in the hostname argument if the 415c2aa98e2SPeter Wemm reverse DNS lookup for the incoming connection fails. 416c2aa98e2SPeter Wemm Problem noted by Randy Grimshaw of Syracuse University and 417c2aa98e2SPeter Wemm Wietse Venema of the Global Security Analysis Lab at 418c2aa98e2SPeter Wemm IBM T.J. Watson Research. 419c2aa98e2SPeter Wemm DSN success bounces generated from an invocation of sendmail -t 420c2aa98e2SPeter Wemm would be sent to both the sender and MAILER-DAEMON. 421c2aa98e2SPeter Wemm Problem noted by Claus Assmann of 422c2aa98e2SPeter Wemm Christian-Albrechts-University of Kiel. 423c2aa98e2SPeter Wemm Avoid "Error 0" messages on delivery mailers which exit with a 424c2aa98e2SPeter Wemm valid exit value such as EX_NOPERM. Fix from Andreas Luik 425c2aa98e2SPeter Wemm of ISA Informationssysteme GmbH. 426c2aa98e2SPeter Wemm Tokenize $&x expansions on right hand side of rules. This eliminates 427c2aa98e2SPeter Wemm the need to use tricks like $(dequote "" $&{client_name} $) 428c2aa98e2SPeter Wemm to cause the ${client_name} macro to be properly tokenized. 429c2aa98e2SPeter Wemm Add the MaxRecipientsPerMessage option: this limits the number of 430c2aa98e2SPeter Wemm recipients that will be accepted in a single SMTP 431c2aa98e2SPeter Wemm transaction. After this number is reached, sendmail 432c2aa98e2SPeter Wemm starts returning "452 Too many recipients" to all RCPT 433c2aa98e2SPeter Wemm commands. This can be used to limit the number of recipients 434c2aa98e2SPeter Wemm per envelope (in particular, to discourage use of the server 435c2aa98e2SPeter Wemm for spamming). Note: a better approach is to restrict 436c2aa98e2SPeter Wemm relaying entirely. 437c2aa98e2SPeter Wemm Fixed pointer initialization for LDAP lmap struct, fixed -s option 438c2aa98e2SPeter Wemm to ldapx map and added timeout for ldap_open call to 439c2aa98e2SPeter Wemm avoid hanging sendmail in the event of hung LDAP servers. 440c2aa98e2SPeter Wemm Patch from Booker Bense of Stanford University. 441c2aa98e2SPeter Wemm Allow multiple -qI, -qR, or -qS queue run limiters. For example, 442c2aa98e2SPeter Wemm '-qRfoo -qRbar' would deliver mail to recipients with foo or 443c2aa98e2SPeter Wemm bar in their address. Patch from Allan E Johannesen of 444c2aa98e2SPeter Wemm Worcester Polytechnic Institute. 445c2aa98e2SPeter Wemm The bestmx map will now return a list of the MX servers for a host if 446c2aa98e2SPeter Wemm passed a column delimiter via the -z map flag. This can be 447c2aa98e2SPeter Wemm used to check if the server is an MX server for the recipient 448c2aa98e2SPeter Wemm of a message. This can be used to help prevent relaying. 449c2aa98e2SPeter Wemm Patch from Mitchell Blank Jr of Exec-PC. 450c2aa98e2SPeter Wemm Mark failures for the *file* mailer and return bounce messages to the 451c2aa98e2SPeter Wemm sender for those failures. 452c2aa98e2SPeter Wemm Prevent bogus syslog timestamps on errors in sendmail.cf by 453c2aa98e2SPeter Wemm preserving the TZ environment variable until TimeZoneSpec 454c2aa98e2SPeter Wemm has been determined. Problem noted by Ralf Hildebrandt of 455c2aa98e2SPeter Wemm Technical University of Braunschweig. Patch from Per Hedeland 456c2aa98e2SPeter Wemm of Ericsson. 457c2aa98e2SPeter Wemm Print test input in address test mode when input is not from the tty 458c2aa98e2SPeter Wemm when the -v flag is given (i.e. sendmail -bt -v) to make 459c2aa98e2SPeter Wemm output easier to decipher. Problem noted by Aidan Nichol 460c2aa98e2SPeter Wemm of Procter & Gamble. 461c2aa98e2SPeter Wemm The LDAP map -s flag was not properly parsed and the error message 462c2aa98e2SPeter Wemm given included the remainder of the arguments instead of 463c2aa98e2SPeter Wemm solely the argument in error. Problem noted by Aidan Nichol 464c2aa98e2SPeter Wemm of Procter & Gamble. 465c2aa98e2SPeter Wemm New DontBlameSendmail option. This option allows administrators to 466c2aa98e2SPeter Wemm bypass some of sendmail's file security checks at the expense 467c2aa98e2SPeter Wemm of system security. This should only be used if you are 468c2aa98e2SPeter Wemm absolutely sure you know the consequences. The available 469c2aa98e2SPeter Wemm DontBlameSendmail options are: 470c2aa98e2SPeter Wemm Safe 471c2aa98e2SPeter Wemm AssumeSafeChown 472c2aa98e2SPeter Wemm ClassFileInUnsafeDirPath 473c2aa98e2SPeter Wemm ErrorHeaderInUnsafeDirPath 474c2aa98e2SPeter Wemm GroupWritableDirPathSafe 475c2aa98e2SPeter Wemm GroupWritableForwardFileSafe 476c2aa98e2SPeter Wemm GroupWritableIncludeFileSafe 477c2aa98e2SPeter Wemm GroupWritableAliasFile 478c2aa98e2SPeter Wemm HelpFileinUnsafeDirPath 479c2aa98e2SPeter Wemm WorldWritableAliasFile 480c2aa98e2SPeter Wemm ForwardFileInGroupWritableDirPath 481c2aa98e2SPeter Wemm IncludeFileInGroupWritableDirPath 482c2aa98e2SPeter Wemm ForwardFileInUnsafeDirPath 483c2aa98e2SPeter Wemm IncludeFileInUnsafeDirPath 484c2aa98e2SPeter Wemm ForwardFileInUnsafeDirPathSafe 485c2aa98e2SPeter Wemm IncludeFileInUnsafeDirPathSafe 486c2aa98e2SPeter Wemm MapInUnsafeDirPath 487c2aa98e2SPeter Wemm LinkedAliasFileInWritableDir 488c2aa98e2SPeter Wemm LinkedClassFileInWritableDir 489c2aa98e2SPeter Wemm LinkedForwardFileInWritableDir 490c2aa98e2SPeter Wemm LinkedIncludeFileInWritableDir 491c2aa98e2SPeter Wemm LinkedMapInWritableDir 492c2aa98e2SPeter Wemm LinkedServiceSwitchFileInWritableDir 493c2aa98e2SPeter Wemm FileDeliveryToHardLink 494c2aa98e2SPeter Wemm FileDeliveryToSymLink 495c2aa98e2SPeter Wemm WriteMapToHardLink 496c2aa98e2SPeter Wemm WriteMapToSymLink 497c2aa98e2SPeter Wemm WriteStatsToHardLink 498c2aa98e2SPeter Wemm WriteStatsToSymLink 499c2aa98e2SPeter Wemm RunProgramInUnsafeDirPath 500c2aa98e2SPeter Wemm RunWritableProgram 501c2aa98e2SPeter Wemm New DontProbeInterfaces option to turn off the inclusion of all the 502c2aa98e2SPeter Wemm interface names in $=w on startup. In particular, if you 503c2aa98e2SPeter Wemm have lots of virtual interfaces, this option will speed up 504c2aa98e2SPeter Wemm startup. However, unless you make other arrangements, mail 505c2aa98e2SPeter Wemm sent to those addresses will be bounced. 506c2aa98e2SPeter Wemm Automatically create alias databases if they don't exist and 507c2aa98e2SPeter Wemm AutoRebuildAliases is set. 508c2aa98e2SPeter Wemm Add PrivacyOptions=noetrn flag to disable the SMTP ETRN command. 509c2aa98e2SPeter Wemm Suggested by Christophe Wolfhugel of the Institut Pasteur. 510c2aa98e2SPeter Wemm Add PrivacyOptions=noverb flag to disable the SMTP VERB command. 511c2aa98e2SPeter Wemm When determining the client host name ($&{client_name} macro), do 512c2aa98e2SPeter Wemm a forward (A) DNS lookup on the result of the PTR lookup 513c2aa98e2SPeter Wemm and compare results. If they differ or if the PTR lookup 514c2aa98e2SPeter Wemm fails, &{client_name} will contain the IP address 515c2aa98e2SPeter Wemm surrounded by square brackets (e.g. [127.0.0.1]). 516c2aa98e2SPeter Wemm New map flag: -Tx appends "x" to lookups that return temporary failure 517c2aa98e2SPeter Wemm (i.e, it is like -ax for the temporary failure case, in 518c2aa98e2SPeter Wemm contrast to the success case). 519c2aa98e2SPeter Wemm New syntax to do limited checking of header syntax. A config line 520c2aa98e2SPeter Wemm of the form: 521c2aa98e2SPeter Wemm HHeader: $>Ruleset 522c2aa98e2SPeter Wemm causes the indicated Ruleset to be invoked on the Header 523c2aa98e2SPeter Wemm when read. This ruleset works like the check_* rulesets -- 524c2aa98e2SPeter Wemm that is, it can reject mail on the basis of the contents. 525c2aa98e2SPeter Wemm Limit the size of the HELO/EHLO parameter to prevent spammers 526c2aa98e2SPeter Wemm from hiding their connection information in Received: 527c2aa98e2SPeter Wemm headers. 528c2aa98e2SPeter Wemm When SingleThreadDelivery is active, deliveries to locked hosts 529c2aa98e2SPeter Wemm are skipped. This will cause the delivering process to 530c2aa98e2SPeter Wemm try the next MX host or queue the message if no other MX 531c2aa98e2SPeter Wemm hosts are available. Suggested by Alexander Litvin. 532c2aa98e2SPeter Wemm The [FILE] mailer type now delivers to the file specified in the 533c2aa98e2SPeter Wemm A= equate of the mailer definition instead of $u. It also 534c2aa98e2SPeter Wemm obeys all of the F= mailer flags such as the MIME 535c2aa98e2SPeter Wemm 7/8 bit conversion flags. This is useful for defining 536c2aa98e2SPeter Wemm a mailer which delivers to the same file regardless of the 537c2aa98e2SPeter Wemm recipient (e.g. 'A=FILE /dev/null' to discard unwanted mail). 538c2aa98e2SPeter Wemm Do not assume the identity of a remote connection is root@localhost 539c2aa98e2SPeter Wemm if the remote connection closes the socket before the 540c2aa98e2SPeter Wemm remote identity can be queried. 541c2aa98e2SPeter Wemm Change semantics of the F=S mailer flag back to 8.7.5 behavior. 542c2aa98e2SPeter Wemm Some mailers, including procmail, require that the real 543c2aa98e2SPeter Wemm uid is left unchanged by sendmail. Problem noted by Per 544c2aa98e2SPeter Wemm Hedeland of Ericsson. 545c2aa98e2SPeter Wemm No longer is the src/obj*/Makefile selected from a large list -- it 546c2aa98e2SPeter Wemm is now generated using the information in BuildTools/OS/ -- 547c2aa98e2SPeter Wemm some of the details are determined dynamically via 548c2aa98e2SPeter Wemm BuildTools/bin/configure.sh. 549c2aa98e2SPeter Wemm The other programs in the sendmail distribution -- mail.local, 550c2aa98e2SPeter Wemm mailstats, makemap, praliases, rmail, and smrsh -- now use 551c2aa98e2SPeter Wemm the new Build method which creates an operating system 552c2aa98e2SPeter Wemm specific Makefile using the information in BuildTools. 553c2aa98e2SPeter Wemm Make 4xx reply codes to the SMTP MAIL command be non-sticky (i.e., 554c2aa98e2SPeter Wemm a failure on one message won't affect future messages to the 555c2aa98e2SPeter Wemm same host). This is necessary if the remote host sends 556c2aa98e2SPeter Wemm a 451 error if the domain of the sender does not resolve 557c2aa98e2SPeter Wemm as is common in anti-spam configurations. Problem noted 558c2aa98e2SPeter Wemm by Mitchell Blank Jr of Exec-PC. 559c2aa98e2SPeter Wemm New "discard" mailer for check_* rulesets and header checking 560c2aa98e2SPeter Wemm rulesets. If one of the above rulesets resolves to the 561c2aa98e2SPeter Wemm $#discard mailer, the commands will be accepted but the 562c2aa98e2SPeter Wemm message will be completely discarded after it is accepting. 563c2aa98e2SPeter Wemm This means that even if only one of the recipients 564c2aa98e2SPeter Wemm resolves to the $#discard mailer, none of the recipients 565c2aa98e2SPeter Wemm will receive the mail. Suggested by Brian Kantor. 566c2aa98e2SPeter Wemm All but the last cloned envelope of a split envelope were queued 567c2aa98e2SPeter Wemm instead of being delivered. Problem noted by John Caruso 568c2aa98e2SPeter Wemm of CNET: The Computer Network. 569c2aa98e2SPeter Wemm Fix deadlock situation in persistent host status file locking. 570c2aa98e2SPeter Wemm Syslog an error if a user forward file could not be read due to 571c2aa98e2SPeter Wemm an error. Patch from John Beck of Sun Microsystems. 572c2aa98e2SPeter Wemm Use the first name returned on machine lookups when canonifying a 573c2aa98e2SPeter Wemm hostname via NetInfo. Patch from Timm Wetzel of GWDG. 574c2aa98e2SPeter Wemm Clear the $&{client_addr}, $&{client_name}, and $&{client_port} 575c2aa98e2SPeter Wemm macros when delivering a bounce message to prevent 576c2aa98e2SPeter Wemm rejection by a check_compat ruleset which uses these macros. 577c2aa98e2SPeter Wemm Problem noted by Jens Hamisch of AgiX Internetservices GmbH. 578c2aa98e2SPeter Wemm If the check_relay ruleset resolves to the the error mailer, the 579c2aa98e2SPeter Wemm error in the $: portion of the resolved triplet is used 580c2aa98e2SPeter Wemm in the rejection message given to the remote machine. 581c2aa98e2SPeter Wemm Suggested by Scott Gifford of The Internet Ramp. 582c2aa98e2SPeter Wemm Set the $&{client_addr}, $&{client_name}, and $&{client_port} macros 583c2aa98e2SPeter Wemm before calling the check_relay ruleset. Suggested by Scott 584c2aa98e2SPeter Wemm Gifford of The Internet Ramp. 585c2aa98e2SPeter Wemm Sendmail would get a segmentation fault if a mailer exited with an 586c2aa98e2SPeter Wemm exit code of 79. Problem noted by Aaron Schrab of ExecPC 587c2aa98e2SPeter Wemm Internet. Fix from Christophe Wolfhugel of the Pasteur 588c2aa98e2SPeter Wemm Institute. 589c2aa98e2SPeter Wemm Separate snprintf/vsnprintf routines into separate file for use by 590c2aa98e2SPeter Wemm mail.local. 591c2aa98e2SPeter Wemm Allow multiple map lookups on right hand side, e.g., 592c2aa98e2SPeter Wemm R$* $( host $1 $) $| $( passwd $1 $). Patch from 593c2aa98e2SPeter Wemm Christophe Wolfhugel of the Pasteur Institute. 594c2aa98e2SPeter Wemm Properly generate success DSN messages if requested for aliases 595c2aa98e2SPeter Wemm which have owner- aliases. Problem noted by Kari Hurtta 596c2aa98e2SPeter Wemm of the Finnish Meteorological Institute. 597c2aa98e2SPeter Wemm Properly display delayed-expansion macros ($&{macroname}) in 598c2aa98e2SPeter Wemm address test mode (-bt). Problem noted by Bryan Costales 599c2aa98e2SPeter Wemm of InfoBeat, Inc. 600c2aa98e2SPeter Wemm -qR could sometimes match names incorrectly. Problem noted by 601c2aa98e2SPeter Wemm Lutz Euler of Lavielle EDV Systemberatung GmbH & Co. 602c2aa98e2SPeter Wemm Include a magic number and version in the StatusFile for the 603c2aa98e2SPeter Wemm mailstats command. 604c2aa98e2SPeter Wemm Record the number of rejected and discarded messages in the 605c2aa98e2SPeter Wemm StatusFile for display by the mailstats command. Patch 606c2aa98e2SPeter Wemm from Randall Winchester of the University of Maryland. 607c2aa98e2SPeter Wemm IDENT returns where the OSTYPE field equals "OTHER" now list the 608c2aa98e2SPeter Wemm user portion as IDENT:username@site instead of 609c2aa98e2SPeter Wemm username@site to differentiate the two. Suggested by 610c2aa98e2SPeter Wemm Kari Hurtta of the Finnish Meteorological Institute. 611c2aa98e2SPeter Wemm Enforce timeout for LDAP queries. Patch from Per Hedeland of 612c2aa98e2SPeter Wemm Ericsson. 613c2aa98e2SPeter Wemm Change persistent host status filename substitution so '/' is 614c2aa98e2SPeter Wemm replaced by ':' instead of '|' to avoid clashes. Also 615c2aa98e2SPeter Wemm avoid clashes with hostnames with leading dots. Fix from 616c2aa98e2SPeter Wemm Mitchell Blank Jr. of Exec-PC. 617c2aa98e2SPeter Wemm If the system lock table is full, only attempt to create a new 618c2aa98e2SPeter Wemm queue entry five times before giving up. Previously, it 619c2aa98e2SPeter Wemm was attempted indefinitely which could cause the partition 620c2aa98e2SPeter Wemm to run out of inodes. Problem noted by Suzie Weigand of 621c2aa98e2SPeter Wemm Stratus Computer, Inc. 622c2aa98e2SPeter Wemm In verbose mode, warn if the sendmail.cf version is less than the 623c2aa98e2SPeter Wemm currently supported version. 624c2aa98e2SPeter Wemm Sorting for QueueSortOrder=host is now case insensitive. Patch 625c2aa98e2SPeter Wemm from Randall S. Winchester of the University of Maryland. 626c2aa98e2SPeter Wemm Properly quote a full name passed via the -F command line option, 627c2aa98e2SPeter Wemm the Full-Name: header, or the NAME environment variable if 628c2aa98e2SPeter Wemm it contains characters which must be quoted. Problem noted 629c2aa98e2SPeter Wemm by Kari Hurtta of the Finnish Meteorological Institute. 630c2aa98e2SPeter Wemm Avoid possible race condition that unlocked a mail job before 631c2aa98e2SPeter Wemm releasing the transcript file on systems that use flock(2). 632c2aa98e2SPeter Wemm In some cases, this might result in a "Transcript Unavailable" 633c2aa98e2SPeter Wemm message in error bounces. 634c2aa98e2SPeter Wemm Accept SMTP replies which contain only a reply code and no 635c2aa98e2SPeter Wemm accompanying text. Problem noted by Fernando Fraticelli of 636c2aa98e2SPeter Wemm Digital Equipment Corporation. 637c2aa98e2SPeter Wemm Portability: 638c2aa98e2SPeter Wemm AIX 4.1 uses int for SOCKADDR_LEN_T from Motonori Nakamura 639c2aa98e2SPeter Wemm of Kyoto University. 640c2aa98e2SPeter Wemm AIX 4.2 requires <userpw.h> before <usersec.h>. Patch from 641c2aa98e2SPeter Wemm Randall S. Winchester of the University of 642c2aa98e2SPeter Wemm Maryland. 643c2aa98e2SPeter Wemm AIX 4.3 from Valdis Kletnieks of Virginia Tech CNS. 644c2aa98e2SPeter Wemm CRAY T3E from Manu Mahonen of Center for Scientific Computing 645c2aa98e2SPeter Wemm in Finland. 646c2aa98e2SPeter Wemm Digital UNIX now uses statvfs for determining free 647c2aa98e2SPeter Wemm disk space. Patch from Randall S. Winchester of 648c2aa98e2SPeter Wemm the University of Maryland. 649c2aa98e2SPeter Wemm HP-UX 11.x from Richard Allen of Opin Kerfi HF and 650c2aa98e2SPeter Wemm Regis McEwen of Progress Software Corporation. 651c2aa98e2SPeter Wemm IRIX 64 bit fixes from Kari Hurtta of the Finnish 652c2aa98e2SPeter Wemm Meteorological Institute. 653c2aa98e2SPeter Wemm IRIX 6.2 configuration fix for mail.local from Michael Kyle 654c2aa98e2SPeter Wemm of CIC/Advanced Computing Laboratory. 655c2aa98e2SPeter Wemm IRIX 6.5 from Thomas H Jones II of SGI. 656c2aa98e2SPeter Wemm IRIX 6.X load average code from Bob Mende of SGI. 657c2aa98e2SPeter Wemm QNX from Glen McCready <glen@qnx.com>. 658c2aa98e2SPeter Wemm SCO 4.2 and 5.x use /usr/bin instead of /usr/ucb for links 659c2aa98e2SPeter Wemm to sendmail. Install with group bin instead of kmem 660c2aa98e2SPeter Wemm as kmem does not exist. From Guillermo Freige of 661c2aa98e2SPeter Wemm Gobernacion de la Pcia de Buenos Aires and Paul 662c2aa98e2SPeter Wemm Fischer of BTG, Inc. 663c2aa98e2SPeter Wemm SunOS 4.X does not include memmove(). Patch from 664c2aa98e2SPeter Wemm Per Hedeland of Ericsson. 665c2aa98e2SPeter Wemm SunOS 5.7 includes getloadavg() function for determining 666c2aa98e2SPeter Wemm load average. Patch from John Beck of Sun 667c2aa98e2SPeter Wemm Microsystems. 668c2aa98e2SPeter Wemm CONFIG: Increment version number of config file. 669c2aa98e2SPeter Wemm CONFIG: add DATABASE_MAP_TYPE to set the default type of database 670c2aa98e2SPeter Wemm map for the various maps. The default is hash. Patch from 671c2aa98e2SPeter Wemm Robert Harker of Harker Systems. 672c2aa98e2SPeter Wemm CONFIG: new confEBINDIR m4 variable for defining the executable 673c2aa98e2SPeter Wemm directory for certain programs. 674c2aa98e2SPeter Wemm CONFIG: new FEATURE(local_lmtp) to use the new LMTP support for 675c2aa98e2SPeter Wemm local mail delivery. By the default, /usr/libexec/mail.local 676c2aa98e2SPeter Wemm is used. This is expected to be the mail.local shipped 677c2aa98e2SPeter Wemm with 8.9 which is LMTP capable. The path is based on the 678c2aa98e2SPeter Wemm new confEBINDIR m4 variable. 679c2aa98e2SPeter Wemm CONFIG: Use confEBINDIR in determining path to smrsh for 680c2aa98e2SPeter Wemm FEATURE(smrsh). Note that this changes the default from 681c2aa98e2SPeter Wemm /usr/local/etc/smrsh to /usr/libexec/smrsh. To obtain the 682c2aa98e2SPeter Wemm old path for smrsh, use FEATURE(smrsh, /usr/local/etc/smrsh). 683c2aa98e2SPeter Wemm CONFIG: DOMAIN(generic) changes the default confFORWARD_PATH to 684c2aa98e2SPeter Wemm include $z/.forward.$w+$h and $z/.forward+$h which allow 685c2aa98e2SPeter Wemm the user to setup different .forward files for 686c2aa98e2SPeter Wemm user+detail addressing. 687c2aa98e2SPeter Wemm CONFIG: add confMAX_RCPTS_PER_MESSAGE, confDONT_PROBE_INTERFACES, 688c2aa98e2SPeter Wemm and confDONT_BLAME_SENDMAIL to set MaxRecipientsPerMessage, 689c2aa98e2SPeter Wemm DontProbeInterfaces, and DontBlameSendmail options. 690c2aa98e2SPeter Wemm CONFIG: by default do not allow relaying (that is, accepting mail 691c2aa98e2SPeter Wemm from outside your domain and sending it to another host 692c2aa98e2SPeter Wemm outside your domain). 693c2aa98e2SPeter Wemm CONFIG: new FEATURE(promiscuous_relay) to allow mail relaying from 694c2aa98e2SPeter Wemm any site to any site. 695c2aa98e2SPeter Wemm CONFIG: new FEATURE(relay_entire_domain) allows any host in your 696c2aa98e2SPeter Wemm domain as defined by the 'm' class ($=m) to relay. 697c2aa98e2SPeter Wemm CONFIG: new FEATURE(relay_based_on_MX) to allow relaying based on 698c2aa98e2SPeter Wemm the MX records of the host portion of an incoming recipient. 699c2aa98e2SPeter Wemm CONFIG: new FEATURE(access_db) which turns on the access database 700c2aa98e2SPeter Wemm feature. This database give you the ability to allow 701c2aa98e2SPeter Wemm or refuse to accept mail from specified domains for 702c2aa98e2SPeter Wemm administrative reasons. By default, names that are listed 703c2aa98e2SPeter Wemm as "OK" in the access db are domain names, not host names. 704c2aa98e2SPeter Wemm CONFIG: new confCR_FILE m4 variable for defining the name of the file 705c2aa98e2SPeter Wemm used for class 'R'. Defaults to /etc/mail/relay-domains. 706c2aa98e2SPeter Wemm CONFIG: new command RELAY_DOMAIN(domain) and RELAY_DOMAIN_FILE(file) 707c2aa98e2SPeter Wemm to add items to class 'R' ($=R) for hosts allowed to relay. 708c2aa98e2SPeter Wemm CONFIG: new FEATURE(relay_hosts_only) to change the behavior 709c2aa98e2SPeter Wemm of FEATURE(access_db) and class 'R' to lookup individual 710c2aa98e2SPeter Wemm host names only. 711c2aa98e2SPeter Wemm CONFIG: new FEATURE(loose_relay_check). Normally, if a recipient 712c2aa98e2SPeter Wemm using % addressing is used, e.g. user%site@othersite, 713c2aa98e2SPeter Wemm and othersite is in class 'R', the check_rcpt ruleset 714c2aa98e2SPeter Wemm will strip @othersite and recheck user@site for relaying. 715c2aa98e2SPeter Wemm This feature changes that behavior. It should not be 716c2aa98e2SPeter Wemm needed for most installations. 717c2aa98e2SPeter Wemm CONFIG: new FEATURE(relay_local_from) to allow relaying if the 718c2aa98e2SPeter Wemm domain portion of the mail sender is a local host. This 719c2aa98e2SPeter Wemm should only be used if absolutely necessary as it opens 720c2aa98e2SPeter Wemm a window for spammers. Patch from Randall S. Winchester of 721c2aa98e2SPeter Wemm the University of Maryland. 722c2aa98e2SPeter Wemm CONFIG: new FEATURE(blacklist_recipients) turns on the ability to 723c2aa98e2SPeter Wemm block incoming mail destined for certain recipient 724c2aa98e2SPeter Wemm usernames, hostnames, or addresses. 725c2aa98e2SPeter Wemm CONFIG: By default, MAIL FROM: commands in the SMTP session will be 726c2aa98e2SPeter Wemm refused if the host part of the argument to MAIL FROM: cannot 727c2aa98e2SPeter Wemm be located in the host name service (e.g., DNS). 728c2aa98e2SPeter Wemm CONFIG: new FEATURE(accept_unresolvable_domains) accepts 729c2aa98e2SPeter Wemm unresolvable hostnames in MAIL FROM: SMTP commands. 730c2aa98e2SPeter Wemm CONFIG: new FEATURE(accept_unqualified_senders) accepts 731c2aa98e2SPeter Wemm MAIL FROM: senders which do not include a domain. 732c2aa98e2SPeter Wemm CONFIG: new FEATURE(rbl) Turns on rejection of hosts found in the 733c2aa98e2SPeter Wemm Realtime Blackhole List. You can specify the RBL name 734c2aa98e2SPeter Wemm server to contact by specifying it as an optional argument. 735c2aa98e2SPeter Wemm The default is rbl.maps.vix.com. For details, see 736c2aa98e2SPeter Wemm http://maps.vix.com/rbl/. 737c2aa98e2SPeter Wemm CONFIG: Call Local_check_relay, Local_check_mail, and 738c2aa98e2SPeter Wemm Local_check_rcpt from check_relay, check_mail, and 739c2aa98e2SPeter Wemm check_rcpt. Users with local rulesets should place the 740c2aa98e2SPeter Wemm rules using LOCAL_RULESETS. If a Local_check_* ruleset 741c2aa98e2SPeter Wemm returns $#OK, the message is accepted. If the ruleset 742c2aa98e2SPeter Wemm returns a mailer, the appropriate action is taken, else 743c2aa98e2SPeter Wemm the return of the ruleset is ignored. 744c2aa98e2SPeter Wemm CONFIG: CYRUS_MAILER_FLAGS now includes the /:| mailer flags by 745c2aa98e2SPeter Wemm default to support file, :include:, and program deliveries. 746c2aa98e2SPeter Wemm CONFIG: Remove the default for confDEF_USER_ID so the binary can 747c2aa98e2SPeter Wemm pick the proper default value. See the SECURITY note 748c2aa98e2SPeter Wemm above for more information. 749c2aa98e2SPeter Wemm CONFIG: FEATURE(nodns) now warns the user that the feature is a 750c2aa98e2SPeter Wemm no-op. Patch from Kari Hurtta of the Finnish 751c2aa98e2SPeter Wemm Meteorological Institute. 752c2aa98e2SPeter Wemm CONFIG: OSTYPE(osf1) now sets DefaultUserID (confDEF_USER_ID) to 753c2aa98e2SPeter Wemm daemon since DEC's /bin/mail will drop the envelope 754c2aa98e2SPeter Wemm sender if run as mailnull. See the Digital UNIX section 755c2aa98e2SPeter Wemm of src/README for more information. Problem noted by 756c2aa98e2SPeter Wemm Kari Hurtta of the Finnish Meteorological Institute. 757c2aa98e2SPeter Wemm CONFIG: .cf files are now stored in the same directory with the 758c2aa98e2SPeter Wemm .mc files instead of in the obj directory. 759c2aa98e2SPeter Wemm CONFIG: New options confSINGLE_LINE_FROM_HEADER, 760c2aa98e2SPeter Wemm confALLOW_BOGUS_HELO, and confMUST_QUOTE_CHARS for 761c2aa98e2SPeter Wemm setting SingleLineFromHeader, AllowBogusHELO, and 762c2aa98e2SPeter Wemm MustQuoteChars respectively. 763c2aa98e2SPeter Wemm MAIL.LOCAL: support -l flag to run LMTP on stdin/stdout. This 764c2aa98e2SPeter Wemm SMTP-like protocol allows detailed reporting of delivery 765c2aa98e2SPeter Wemm status on a per-user basis. Code donated by John Myers of 766c2aa98e2SPeter Wemm CMU (now of Netscape). 767c2aa98e2SPeter Wemm MAIL.LOCAL: HP-UX support from Randall S. Winchester of the 768c2aa98e2SPeter Wemm University of Maryland. NOTE: mail.local is not 769c2aa98e2SPeter Wemm compatible with the stock HP-UX mail format. Be sure to 770c2aa98e2SPeter Wemm read mail.local/README. 771c2aa98e2SPeter Wemm MAIL.LOCAL: Prevent other mail delivery agents from stealing a 772c2aa98e2SPeter Wemm mailbox lock. Patch from Randall S. Winchester of the 773c2aa98e2SPeter Wemm University of Maryland. 774c2aa98e2SPeter Wemm MAIL.LOCAL: glibc portability from John Kennedy of Cal State 775c2aa98e2SPeter Wemm University, Chico. 776c2aa98e2SPeter Wemm MAIL.LOCAL: IRIX portability from Kari Hurtta of the Finnish 777c2aa98e2SPeter Wemm Meteorological Institute. 778c2aa98e2SPeter Wemm MAILSTATS: Display the number of rejected and discarded messages 779c2aa98e2SPeter Wemm in the StatusFile. Patch from Randall Winchester of the 780c2aa98e2SPeter Wemm University of Maryland. 781c2aa98e2SPeter Wemm MAKEMAP: New -s flag to ignore safety checks on database map files 782c2aa98e2SPeter Wemm such as linked files in world writable directories. 783c2aa98e2SPeter Wemm MAKEMAP: Add support for Berkeley DB 2.X. Remove OLD_NEWDB support. 784c2aa98e2SPeter Wemm PRALIASES: Add support for Berkeley DB 2.X. 785c2aa98e2SPeter Wemm PRALIASES: Do not automatically include NDBM support. Problem 786c2aa98e2SPeter Wemm noted by Ralf Hildebrandt of the Technical University of 787c2aa98e2SPeter Wemm Braunschweig. 788c2aa98e2SPeter Wemm RMAIL: Improve portability for other platforms. Patches from 789c2aa98e2SPeter Wemm Randall S. Winchester of the University of Maryland and 790c2aa98e2SPeter Wemm Kari Hurtta of the Finnish Meteorological Institute. 791c2aa98e2SPeter Wemm Changed Files: 792c2aa98e2SPeter Wemm src/Makefiles/Makefile.* files have been modified to use 793c2aa98e2SPeter Wemm the new build mechanism and are now BuildTools/OS/*. 794c2aa98e2SPeter Wemm src/makesendmail changed to symbolic link to src/Build. 795c2aa98e2SPeter Wemm New Files: 796c2aa98e2SPeter Wemm BuildTools/M4/header.m4 797c2aa98e2SPeter Wemm BuildTools/M4/depend/BSD.m4 798c2aa98e2SPeter Wemm BuildTools/M4/depend/CC-M.m4 799c2aa98e2SPeter Wemm BuildTools/M4/depend/NCR.m4 800c2aa98e2SPeter Wemm BuildTools/M4/depend/Solaris.m4 801c2aa98e2SPeter Wemm BuildTools/M4/depend/X11.m4 802c2aa98e2SPeter Wemm BuildTools/M4/depend/generic.m4 803c2aa98e2SPeter Wemm BuildTools/OS/AIX.4.2 804c2aa98e2SPeter Wemm BuildTools/OS/AIX.4.x 805c2aa98e2SPeter Wemm BuildTools/OS/CRAYT3E.2.0.x 806c2aa98e2SPeter Wemm BuildTools/OS/HP-UX.11.x 807c2aa98e2SPeter Wemm BuildTools/OS/IRIX.6.5 808c2aa98e2SPeter Wemm BuildTools/OS/NEXTSTEP.4.x 809c2aa98e2SPeter Wemm BuildTools/OS/NeXT.4.x 810c2aa98e2SPeter Wemm BuildTools/OS/NetBSD.8.3 811c2aa98e2SPeter Wemm BuildTools/OS/QNX 812c2aa98e2SPeter Wemm BuildTools/OS/SunOS.5.7 813c2aa98e2SPeter Wemm BuildTools/OS/dcosx.1.x.NILE 814c2aa98e2SPeter Wemm BuildTools/README 815c2aa98e2SPeter Wemm BuildTools/Site/README 816c2aa98e2SPeter Wemm BuildTools/bin/Build 817c2aa98e2SPeter Wemm BuildTools/bin/configure.sh 818c2aa98e2SPeter Wemm BuildTools/bin/find_m4.sh 819c2aa98e2SPeter Wemm BuildTools/bin/install.sh 820c2aa98e2SPeter Wemm Makefile 821c2aa98e2SPeter Wemm cf/cf/Build 822c2aa98e2SPeter Wemm cf/cf/generic-hpux10.cf 823c2aa98e2SPeter Wemm cf/feature/accept_unqualified_senders.m4 824c2aa98e2SPeter Wemm cf/feature/accept_unresolvable_domains.m4 825c2aa98e2SPeter Wemm cf/feature/access_db.m4 826c2aa98e2SPeter Wemm cf/feature/blacklist_recipients.m4 827c2aa98e2SPeter Wemm cf/feature/loose_relay_check.m4 828c2aa98e2SPeter Wemm cf/feature/local_lmtp.m4 829c2aa98e2SPeter Wemm cf/feature/promiscuous_relay.m4 830c2aa98e2SPeter Wemm cf/feature/rbl.m4 831c2aa98e2SPeter Wemm cf/feature/relay_based_on_MX.m4 832c2aa98e2SPeter Wemm cf/feature/relay_entire_domain.m4 833c2aa98e2SPeter Wemm cf/feature/relay_hosts_only.m4 834c2aa98e2SPeter Wemm cf/feature/relay_local_from.m4 835c2aa98e2SPeter Wemm cf/ostype/qnx.m4 836c2aa98e2SPeter Wemm contrib/doublebounce.pl 837c2aa98e2SPeter Wemm mail.local/Build 838c2aa98e2SPeter Wemm mail.local/Makefile.m4 839c2aa98e2SPeter Wemm mail.local/README 840c2aa98e2SPeter Wemm mailstats/Build 841c2aa98e2SPeter Wemm mailstats/Makefile.m4 842c2aa98e2SPeter Wemm makemap/Build 843c2aa98e2SPeter Wemm makemap/Makefile.m4 844c2aa98e2SPeter Wemm praliases/Build 845c2aa98e2SPeter Wemm praliases/Makefile.m4 846c2aa98e2SPeter Wemm rmail/Build 847c2aa98e2SPeter Wemm rmail/Makefile.m4 848c2aa98e2SPeter Wemm rmail/rmail.0 849c2aa98e2SPeter Wemm smrsh/Build 850c2aa98e2SPeter Wemm smrsh/Makefile.m4 851c2aa98e2SPeter Wemm src/Build 852c2aa98e2SPeter Wemm src/Makefile.m4 853c2aa98e2SPeter Wemm src/snprintf.c 854c2aa98e2SPeter Wemm Deleted Files: 855c2aa98e2SPeter Wemm cf/cf/Makefile (replaced by Makefile.dist) 856c2aa98e2SPeter Wemm mail.local/Makefile 857c2aa98e2SPeter Wemm mail.local/Makefile.dist 858c2aa98e2SPeter Wemm mailstats/Makefile 859c2aa98e2SPeter Wemm mailstats/Makefile.dist 860c2aa98e2SPeter Wemm makemap/Makefile 861c2aa98e2SPeter Wemm makemap/Makefile.dist 862c2aa98e2SPeter Wemm praliases/Makefile 863c2aa98e2SPeter Wemm praliases/Makefile.dist 864c2aa98e2SPeter Wemm rmail/Makefile 865c2aa98e2SPeter Wemm smrsh/Makefile 866c2aa98e2SPeter Wemm smrsh/Makefile.dist 867c2aa98e2SPeter Wemm src/Makefile 868c2aa98e2SPeter Wemm src/Makefiles/Makefile.AIX.4 (split into AIX.4.x and AIX.4.2) 869c2aa98e2SPeter Wemm src/Makefiles/Makefile.SMP_DC.OSx.NILE 870c2aa98e2SPeter Wemm (renamed BuildTools/OS/dcosx.1.x.NILE) 871c2aa98e2SPeter Wemm src/Makefiles/Makefile.Utah (obsolete platform) 872c2aa98e2SPeter Wemm Renamed Files: 873c2aa98e2SPeter Wemm READ_ME => README 874c2aa98e2SPeter Wemm cf/cf/Makefile.dist => Makefile 875c2aa98e2SPeter Wemm cf/cf/obj/* => cf/cf/* 876c2aa98e2SPeter Wemm src/READ_ME => src/README 877c2aa98e2SPeter Wemm 878c2aa98e2SPeter Wemm8.8.8/8.8.8 97/10/24 879c2aa98e2SPeter Wemm If the check_relay ruleset failed, the relay= field was logged 880c2aa98e2SPeter Wemm incorrectly. Problem noted by Kari Hurtta of the Finnish 881c2aa98e2SPeter Wemm Meteorological Institute. 882c2aa98e2SPeter Wemm If /usr/tmp/dead.letter already existed, sendmail could not 883c2aa98e2SPeter Wemm add additional bounces to it. Problem noted by Thomas J. 884c2aa98e2SPeter Wemm Arseneault of SRI International. 885c2aa98e2SPeter Wemm If an SMTP mailer used a non-standard port number for the outgoing 886c2aa98e2SPeter Wemm connection, it would be displayed incorrectly in verbose mode. 887c2aa98e2SPeter Wemm Problem noted by John Kennedy of Cal State University, Chico. 888c2aa98e2SPeter Wemm Log the ETRN parameter specified by the client before altering them 889c2aa98e2SPeter Wemm to internal form. Suggested by Bob Kupiec of GES-Verio. 890c2aa98e2SPeter Wemm EXPN and VRFY SMTP commands on malformed addresses were logging as 891c2aa98e2SPeter Wemm User unknown with bogus delay= values. Change them to log 892c2aa98e2SPeter Wemm the same as compliant addresses. Problem noted by Kari E. 893c2aa98e2SPeter Wemm Hurtta of the Finnish Meteorological Institute. 894c2aa98e2SPeter Wemm Ignore the debug resolver option unless using sendmail debug trace 895c2aa98e2SPeter Wemm option for resolver. Problem noted by Greg Nichols of Wind 896c2aa98e2SPeter Wemm River Systems. 897c2aa98e2SPeter Wemm If SingleThreadDelivery was enabled and the remote server returned a 898c2aa98e2SPeter Wemm protocol error on the DATA command, the connection would be 899c2aa98e2SPeter Wemm closed but the persistent host status file would not be 900c2aa98e2SPeter Wemm unlocked so other sendmail processes could not deliver to 901c2aa98e2SPeter Wemm that host. Problem noted by Peter Wemm of DIALix. 902c2aa98e2SPeter Wemm If queueing up a message due to an expensive mailer, don't increment 903c2aa98e2SPeter Wemm the number of delivery attempts or set the last delivery 904c2aa98e2SPeter Wemm attempt time so the message will be delivered on the next 905c2aa98e2SPeter Wemm queue run regardless of MinQueueAge. Problem noted by 906c2aa98e2SPeter Wemm Brian J. Coan of the Institute for Global Communications. 907c2aa98e2SPeter Wemm Authentication warnings of "Processed from queue _directory_" and 908c2aa98e2SPeter Wemm "Processed by _username_ with -C _filename_" would be logged 909c2aa98e2SPeter Wemm with the incorrect timestamp. Problem noted by Kari E. Hurtta 910c2aa98e2SPeter Wemm of the Finnish Meteorological Institute. 911c2aa98e2SPeter Wemm Use a better heuristic for detecting GDBM. 912c2aa98e2SPeter Wemm Log null connections on dropped connections. Problem noted by 913c2aa98e2SPeter Wemm Jon Lewis of Florida Digital Turnpike. 914c2aa98e2SPeter Wemm If class dbm maps are rebuilt, sendmail will now detect this and 915c2aa98e2SPeter Wemm reopen the map. Previously, they could give stale 916c2aa98e2SPeter Wemm results during a single message processing (but would 917c2aa98e2SPeter Wemm recover when the next message was received). Fix from 918c2aa98e2SPeter Wemm Joe Pruett of Q7 Enterprises. 919c2aa98e2SPeter Wemm Do not log failures such as "User unknown" on -bv or SMTP VRFY 920c2aa98e2SPeter Wemm requests. Problem noted by Kari E. Hurtta of the 921c2aa98e2SPeter Wemm Finnish Meteorological Institute. 922c2aa98e2SPeter Wemm Do not send a bounce message back to the sender regarding bad 923c2aa98e2SPeter Wemm recipients if the SMTP connection is dropped before the 924c2aa98e2SPeter Wemm message is accepted. Problem noted by Kari E. Hurtta of the 925c2aa98e2SPeter Wemm Finnish Meteorological Institute. 926c2aa98e2SPeter Wemm Use "localhost" instead of "[UNIX: localhost]" when connecting to 927c2aa98e2SPeter Wemm sendmail via a UNIX pipe. This will allow rulesets using 928c2aa98e2SPeter Wemm $&{client_name} to process without sending the string through 929c2aa98e2SPeter Wemm dequote. Problem noted by Alan Barrett of Internet Africa. 930c2aa98e2SPeter Wemm A combination of deferred delivery mode, a double bounce situation, 931c2aa98e2SPeter Wemm and the inability to save a bounce message to 932c2aa98e2SPeter Wemm /var/tmp/dead.letter would cause sendmail to send a bounce 933c2aa98e2SPeter Wemm to postmaster but not remove the offending envelope from the 934c2aa98e2SPeter Wemm queue causing it to create a new bounce message each time the 935c2aa98e2SPeter Wemm queue was run. Problem noted by Brad Doctor of Net Daemons 936c2aa98e2SPeter Wemm Associates. 937c2aa98e2SPeter Wemm Remove newlines from hostname information returned via DNS. There are 938c2aa98e2SPeter Wemm no known security implications of newlines in hostnames as 939c2aa98e2SPeter Wemm sendmail filters newlines in all vital areas; however, this 940c2aa98e2SPeter Wemm could cause confusing error messages. 941c2aa98e2SPeter Wemm Starting with sendmail 8.8.6, mail sent with the '-t' option would be 942c2aa98e2SPeter Wemm rejected if any of the specified addresses were bad. This 943c2aa98e2SPeter Wemm behavior was modified to only reject the bad addresses and not 944c2aa98e2SPeter Wemm the entire message. Problem noted by Jozsef Hollosi of 945c2aa98e2SPeter Wemm SuperNet, Inc. 946c2aa98e2SPeter Wemm Use Timeout.fileopen when delivering mail to a file. Suggested by 947c2aa98e2SPeter Wemm Bryan Costales of InfoBeat, Inc. 948c2aa98e2SPeter Wemm Display the proper Final-Recipient on DSN messages for non-SMTP 949c2aa98e2SPeter Wemm mailers. Problem noted by Kari E. Hurtta of the 950c2aa98e2SPeter Wemm Finnish Meteorological Institute. 951c2aa98e2SPeter Wemm An error in calculating the available space in the list of addresses 952c2aa98e2SPeter Wemm for logging deliveries could cause an address to be silently 953c2aa98e2SPeter Wemm dropped. 954c2aa98e2SPeter Wemm Include the initial user environment if sendmail is restarted via 955c2aa98e2SPeter Wemm a HUP signal. This will give room for the process title. 956c2aa98e2SPeter Wemm Problem noted by Jon Lewis of Florida Digital Turnpike. 957c2aa98e2SPeter Wemm Mail could be delivered without a body if the machine does not 958c2aa98e2SPeter Wemm support flock locking and runs out of processes during 959c2aa98e2SPeter Wemm delivery. Fix from Chuck Lever of the University of Michigan. 960c2aa98e2SPeter Wemm Drop recipient address from 251 and 551 SMTP responses per RFC 821. 961c2aa98e2SPeter Wemm Problem noted by Kari E. Hurtta of the Finnish Meteorological 962c2aa98e2SPeter Wemm Institute. 963c2aa98e2SPeter Wemm Make sure non-rebuildable database maps are opened before the 964c2aa98e2SPeter Wemm rebuildable maps (i.e. alias files) in case the database maps 965c2aa98e2SPeter Wemm are needed for verifying the left hand side of the aliases. 966c2aa98e2SPeter Wemm Problem noted by Lloyd Parkes of Victoria University. 967c2aa98e2SPeter Wemm Make sure sender RFC822 source route addresses are alias expanded for 968c2aa98e2SPeter Wemm bounce messages. Problem noted by Juergen Georgi of 969c2aa98e2SPeter Wemm RUS University of Stuttgart. 970c2aa98e2SPeter Wemm Minor lint fixes. 971c2aa98e2SPeter Wemm Return a temporary error instead of a permanent error if an LDAP map 972c2aa98e2SPeter Wemm search returns an error. This will allow sequenced maps which 973c2aa98e2SPeter Wemm use other LDAP servers to be checked. Fix from Booker Bense 974c2aa98e2SPeter Wemm of Stanford University. 975c2aa98e2SPeter Wemm When automatically converting from quoted printable to 8bit text do 976c2aa98e2SPeter Wemm not pad bare linefeeds with a space. Problem noted by Theo 977c2aa98e2SPeter Wemm Nolte of the University of Technology Aachen, Germany. 978c2aa98e2SPeter Wemm Portability: 979c2aa98e2SPeter Wemm Non-standard C compilers may have had a problem compiling 980c2aa98e2SPeter Wemm conf.c due to a standard C external declaration of 981c2aa98e2SPeter Wemm setproctitle(). Problem noted by Ted Roberts of 982c2aa98e2SPeter Wemm Electronic Data Systems. 983c2aa98e2SPeter Wemm AUX: has a broken O_EXCL implementation. Reported by Jim 984c2aa98e2SPeter Wemm Jagielski of jaguNET Access Services. 985c2aa98e2SPeter Wemm BSD/OS: didn't compile if HASSETUSERCONTEXT was defined. 986c2aa98e2SPeter Wemm Digital UNIX: Digital UNIX (and possibly others) moves 987c2aa98e2SPeter Wemm loader environment variables into the loader memory 988c2aa98e2SPeter Wemm area. If one of these environment variables (such as 989c2aa98e2SPeter Wemm LD_LIBRARY_PATH) was the last environment variable, 990c2aa98e2SPeter Wemm an invalid memory address would be used by the process 991c2aa98e2SPeter Wemm title routine causing memory corruption. Problem 992c2aa98e2SPeter Wemm noted by Sam Hartman of Mesa Internet Systems. 993c2aa98e2SPeter Wemm GNU libc: uses an enum for _PC_CHOWN_RESTRICTED which caused 994c2aa98e2SPeter Wemm chownsafe() to always return 0 even if the OS does 995c2aa98e2SPeter Wemm not permit file giveaways. Problem noted by 996c2aa98e2SPeter Wemm Yasutaka Sumi of The University of Tokyo. 997c2aa98e2SPeter Wemm IRIX6: Syslog buffer size set to 512 bytes. Reported by 998c2aa98e2SPeter Wemm Gerald Rinske of Siemens Business Services VAS. 999c2aa98e2SPeter Wemm Linux: Pad process title with NULLs. Problem noted by 1000c2aa98e2SPeter Wemm Jon Lewis of Florida Digital Turnpike. 1001c2aa98e2SPeter Wemm SCO OpenServer 5.0: SIOCGIFCONF ioctl call returns an 1002c2aa98e2SPeter Wemm incorrect value for the number of interfaces. 1003c2aa98e2SPeter Wemm Problem noted by Chris Loelke of JetStream Internet 1004c2aa98e2SPeter Wemm Services. 1005c2aa98e2SPeter Wemm SINIX: Update for Makefile and syslog buffer size from Gerald 1006c2aa98e2SPeter Wemm Rinske of Siemens Business Services VAS. 1007c2aa98e2SPeter Wemm Solaris: Make sure HASGETUSERSHELL setting for SunOS is not 1008c2aa98e2SPeter Wemm used on a Solaris machine. Problem noted by 1009c2aa98e2SPeter Wemm Stephen Ma of Jtec Pty Limited. 1010c2aa98e2SPeter Wemm CONFIG: SINIX: Update from Gerald Rinske of Siemens Business 1011c2aa98e2SPeter Wemm Services VAS. 1012c2aa98e2SPeter Wemm MAKEMAP: Use a better heuristic for detecting GDBM. 1013c2aa98e2SPeter Wemm CONTRIB: expn.pl: Updated version from the author, David Muir Sharnoff. 1014c2aa98e2SPeter Wemm OP.ME: Document the F=i mailer flag. Problem noted by Per Hedeland of 1015c2aa98e2SPeter Wemm Ericsson. 1016c2aa98e2SPeter Wemm 1017c2aa98e2SPeter Wemm8.8.7/8.8.7 97/08/03 1018c2aa98e2SPeter Wemm If using Berkeley DB on systems without O_EXLOCK (open a file with 1019c2aa98e2SPeter Wemm an exclusive lock already set -- i.e., almost all systems 1020c2aa98e2SPeter Wemm except 4.4-BSD derived systems), the initial attempt at 1021c2aa98e2SPeter Wemm rebuilding aliases file if the database didn't already 1022c2aa98e2SPeter Wemm exist would fail. Patch from Raymund Will of LST Software 1023c2aa98e2SPeter Wemm GmbH. 1024c2aa98e2SPeter Wemm Bogus incoming SMTP commands would reset the SMTP conversation. 1025c2aa98e2SPeter Wemm Problem noted by Fredrik J�nsson of the Royal Institute 1026c2aa98e2SPeter Wemm of Technology, Stockholm. 1027c2aa98e2SPeter Wemm Since TCP Wrappers includes setenv(), unsetenv(), and putenv(), 1028c2aa98e2SPeter Wemm some environments could give "multiple definitions" for these 1029c2aa98e2SPeter Wemm routines during compilation. If using TCP Wrappers, assume 1030c2aa98e2SPeter Wemm that these routines are included as though they were in the 1031c2aa98e2SPeter Wemm C library. Patch from Robert La Ferla. 1032c2aa98e2SPeter Wemm When a NEWDB database map was rebuilt at the same time it was being 1033c2aa98e2SPeter Wemm used by a queue run, the maps could be left locked for the 1034c2aa98e2SPeter Wemm duration of the queue run, causing other processes to hang. 1035c2aa98e2SPeter Wemm Problem noted by Kendall Libby of Shore.NET. 1036c2aa98e2SPeter Wemm In some cases, NoRecipientAction=add-bcc was being ignored, so the 1037c2aa98e2SPeter Wemm mail was passed on without any recipient header. This could 1038c2aa98e2SPeter Wemm cause problems downstream. Problem noted by Xander Jansen 1039c2aa98e2SPeter Wemm of SURFnet ExpertiseCentrum. 1040c2aa98e2SPeter Wemm Give error when GDBM is used with sendmail. GDBM's locking and 1041c2aa98e2SPeter Wemm linking of the .dir and .pag files interferes with sendmail's 1042c2aa98e2SPeter Wemm locking and security checks. Problems noted by Fyodor 1043c2aa98e2SPeter Wemm Yarochkin of the Kyrgyz Republic FreeNet. 1044c2aa98e2SPeter Wemm Don't fsync qf files if SuperSafe option is not set. 1045c2aa98e2SPeter Wemm Avoid extra calls to gethostbyname for addresses for which a 1046c2aa98e2SPeter Wemm gethostbyaddr found no value. Also, ignore any returns 1047c2aa98e2SPeter Wemm from gethostbyaddr that look like a dotted quad. 1048c2aa98e2SPeter Wemm If PTR lookup fails when looking up an SMTP peer, don't tag it as 1049c2aa98e2SPeter Wemm "may be forged", since at the network level we pretty much 1050c2aa98e2SPeter Wemm have to assume that the information is good. 1051c2aa98e2SPeter Wemm In some cases, errors during an SMTP session could leave files 1052c2aa98e2SPeter Wemm open or locked. 1053c2aa98e2SPeter Wemm Better handling of missing file descriptors (0, 1, 2) on startup. 1054c2aa98e2SPeter Wemm Better handling of non-setuid binaries -- avoids certain obnoxious 1055c2aa98e2SPeter Wemm errors during testing. 1056c2aa98e2SPeter Wemm Errors in file locking of NEWDB maps had the incorrect file name 1057c2aa98e2SPeter Wemm printed in the error message. 1058c2aa98e2SPeter Wemm If the AllowBogusHELO option were set and an EHLO with a bad or 1059c2aa98e2SPeter Wemm missing parameter were issued, the EHLO behaved like a HELO. 1060c2aa98e2SPeter Wemm Load limiting never kicked in for incoming SMTP transactions if the 10612e43090eSPeter Wemm DeliveryMode=background and any recipient was an alias or 1062c2aa98e2SPeter Wemm had a .forward file. From Nik Conwell of Boston University. 1063c2aa98e2SPeter Wemm On some non-Posix systems, the decision of whether chown(2) permits 1064c2aa98e2SPeter Wemm file giveaway was undefined. From Tetsu Ushijima of the 1065c2aa98e2SPeter Wemm Tokyo Institute of Technology. 1066c2aa98e2SPeter Wemm Fix race condition that could cause the body of a message to be 1067c2aa98e2SPeter Wemm lost (so only the header was delivered). This only occurs 1068c2aa98e2SPeter Wemm on systems that do not use flock(2), and only when a queue 1069c2aa98e2SPeter Wemm runner runs during a critical section in another message 1070c2aa98e2SPeter Wemm delivery. Based on a patch from Steve Schweinhart of 1071c2aa98e2SPeter Wemm Results Computing. 1072c2aa98e2SPeter Wemm If a qf file was found in a mail queue directory that had a problem 1073c2aa98e2SPeter Wemm (wrong ownership, bad format, etc.) and the file name was 1074c2aa98e2SPeter Wemm exactly MAXQFNAME bytes long, then instead of being tried 1075c2aa98e2SPeter Wemm once, it would be tried on every queue run. Problem noted 1076c2aa98e2SPeter Wemm by Bryan Costales of Mercury Mail. 1077c2aa98e2SPeter Wemm If the system supports an st_gen field in the status structure, 1078c2aa98e2SPeter Wemm include it when reporting that a file has changed after open. 1079c2aa98e2SPeter Wemm This adds a new compile flag, HAS_ST_GEN (0/1 option). 1080c2aa98e2SPeter Wemm This out to be checked as well as reported, since it is 1081c2aa98e2SPeter Wemm theoretically possible for an attacker to remove a file after 1082c2aa98e2SPeter Wemm it is opened and replace it with another file that has the 1083c2aa98e2SPeter Wemm same i-number, but some filesystems (notably AFS) return 1084c2aa98e2SPeter Wemm garbage in this field, and hence always look like the file 1085c2aa98e2SPeter Wemm has changed. As a practical matter this is not a security 1086c2aa98e2SPeter Wemm problem, since the files can be neither hard nor soft links, 1087c2aa98e2SPeter Wemm and on no filesystem (that I am aware of) is it possible to 1088c2aa98e2SPeter Wemm have two files on the same filesystem with the same i-number 1089c2aa98e2SPeter Wemm simultaneously. 1090c2aa98e2SPeter Wemm Delete the root Makefile from the distribution -- it is only for 1091c2aa98e2SPeter Wemm use internally, and does not work at customer sites. 1092c2aa98e2SPeter Wemm Fix botch that caused the second MAIL FROM: command in a single 1093c2aa98e2SPeter Wemm transaction to clear the entire transaction. Problem 1094c2aa98e2SPeter Wemm noted by John Kennedy of Cal State University, Chico. 1095c2aa98e2SPeter Wemm Work properly on machines that have _PATH_VARTMP defined without 1096c2aa98e2SPeter Wemm a trailing slash. (And a pox on vendors that decide to 1097c2aa98e2SPeter Wemm ignore the established conventions!) Problem noted by 1098c2aa98e2SPeter Wemm Gregory Neil Shapiro of WPI. 1099c2aa98e2SPeter Wemm Internal changes to make it easier to add another protocol family 1100c2aa98e2SPeter Wemm (intended for IPv6). Patches are from John Kennedy of 1101c2aa98e2SPeter Wemm CSU Chico. 1102c2aa98e2SPeter Wemm In certain cases, 7->8 bit MIME decoding of Base64 text could leave 1103c2aa98e2SPeter Wemm an extra space at the beginning of some lines. Problem 1104c2aa98e2SPeter Wemm noted by Charles Karney of Princeton University; fix based 1105c2aa98e2SPeter Wemm on a patch from Christophe Wolfhugel. 1106c2aa98e2SPeter Wemm Portability: 1107c2aa98e2SPeter Wemm Allow _PATH_VENDOR_CF to be set in Makefile for consistency 1108c2aa98e2SPeter Wemm with the _Sendmail_ book, 2nd edition. Note that 1109c2aa98e2SPeter Wemm the book is actually wrong: _PATH_SENDMAILCF should 1110c2aa98e2SPeter Wemm be used instead. 1111c2aa98e2SPeter Wemm AIX 3.x: Include <sys/select.h>. Patch from Gene Rackow 1112c2aa98e2SPeter Wemm of Argonne National Laboratory. 1113c2aa98e2SPeter Wemm OpenBSD from from Paul DuBois of the University of Wisconsin. 1114c2aa98e2SPeter Wemm RISC/os 4.0 from Paul DuBois of the University of Wisconsin. 1115c2aa98e2SPeter Wemm SunOS: Include <memory.h> to fix warning from util.c. From 1116c2aa98e2SPeter Wemm James Aldridge of EUnet Ltd. 1117c2aa98e2SPeter Wemm Solaris: Change STDIR (location of status file) to /etc/mail 1118c2aa98e2SPeter Wemm in Makefiles. 1119c2aa98e2SPeter Wemm Linux, Dynix, UNICOS: Remove -DNDBM and -lgdbm from 1120c2aa98e2SPeter Wemm Makefiles. Use NEWDB on Linux instead. 1121c2aa98e2SPeter Wemm NCR MP-RAS 3.x with STREAMware TCP/IP: SIOCGIFNUM ioctl 1122c2aa98e2SPeter Wemm exists but behaves differently than other OSes. 1123c2aa98e2SPeter Wemm Add SIOCGIFNUM_IS_BROKEN compile flag to get 1124c2aa98e2SPeter Wemm around the problem. Problem noted by Tom Moore of 1125c2aa98e2SPeter Wemm NCR Corp. 1126c2aa98e2SPeter Wemm HP-UX 9.x: fix compile warnings for old select API. Problem 1127c2aa98e2SPeter Wemm noted by Tom Smith of Digital Equipment Corp. 1128c2aa98e2SPeter Wemm UnixWare 2.x: compile warnings on offsetof macro. Problem 1129c2aa98e2SPeter Wemm noted by Tom Good of the Community Access Information 1130c2aa98e2SPeter Wemm Resource Network 1131c2aa98e2SPeter Wemm SCO 4.2: compile problems caused by a change in the type of 1132c2aa98e2SPeter Wemm the "length" parameters passed to accept, getpeername, 1133c2aa98e2SPeter Wemm getsockname, and getsockopt. Adds new compile flags 1134c2aa98e2SPeter Wemm SOCKADDR_SIZE_T and SOCKOPT_SIZE_T. Problem reported 1135c2aa98e2SPeter Wemm by Tom Good of St. Vincent's North Richmond Community 1136c2aa98e2SPeter Wemm Mental Health Center Residential Services. 1137c2aa98e2SPeter Wemm AIX 4: Use size_t for SOCKADDR_SIZE_T and SOCKOPT_SIZE_T. 1138c2aa98e2SPeter Wemm Suggested by Brett Hogden of Rochester Gas & Electric 1139c2aa98e2SPeter Wemm Corp. 1140c2aa98e2SPeter Wemm Linux: avoid compile problem for versions of <setjmp.h> that 1141c2aa98e2SPeter Wemm #define both setjmp and longjmp. Problem pointed out 1142c2aa98e2SPeter Wemm by J.R. Oldroyd of TerraNet. 1143c2aa98e2SPeter Wemm CONFIG: SCO UnixWare 2.1: Support for OSTYPE(sco-uw-2.1) 1144c2aa98e2SPeter Wemm from Christopher Durham of SCO. 1145c2aa98e2SPeter Wemm CONFIG: NEXTSTEP: define confCW_FILE to 1146c2aa98e2SPeter Wemm /etc/sendmail/sendmail.cw to match the usual 1147c2aa98e2SPeter Wemm configuration. Patch from Dennis Glatting of 1148c2aa98e2SPeter Wemm PlainTalk. 1149c2aa98e2SPeter Wemm CONFIG: MAILER(fax) called a program that hasn't existed for a long 1150c2aa98e2SPeter Wemm time. Convert to use the HylaFAX 4.0 conventions. Suggested 1151c2aa98e2SPeter Wemm by Harry Styron. 1152c2aa98e2SPeter Wemm CONFIG: Improve sample anti-spam rulesets in cf/cf/knecht.mc. These 1153c2aa98e2SPeter Wemm are the rulesets in use on sendmail.org. 1154c2aa98e2SPeter Wemm MAKEMAP: give error on GDBM files. 1155c2aa98e2SPeter Wemm MAIL.LOCAL: Make error messages a bit more explicit, for example, 1156c2aa98e2SPeter Wemm telling more details on what actually changed when "file 1157c2aa98e2SPeter Wemm changed after open". 1158c2aa98e2SPeter Wemm CONTRIB: etrn.pl: Ignore comments in Fw files. Support multiple Fw 1159c2aa98e2SPeter Wemm files. 1160c2aa98e2SPeter Wemm CONTRIB: passwd-to-alias.pl: Handle 8 bit characters and '-'. 1161c2aa98e2SPeter Wemm NEW FILES: 1162c2aa98e2SPeter Wemm src/Makefiles/Makefile.OpenBSD 1163c2aa98e2SPeter Wemm src/Makefiles/Makefile.RISCos.4_0 1164c2aa98e2SPeter Wemm test/t_exclopen.c 1165c2aa98e2SPeter Wemm cf/ostype/sco-uw-2.1.m4 1166c2aa98e2SPeter Wemm DELETED FILES: 1167c2aa98e2SPeter Wemm Makefile 1168c2aa98e2SPeter Wemm 1169c2aa98e2SPeter Wemm8.8.6/8.8.6 97/06/14 1170c2aa98e2SPeter Wemm ************************************************************* 1171c2aa98e2SPeter Wemm * The extensive assistance of Gregory Neil Shapiro of WPI * 1172c2aa98e2SPeter Wemm * in preparing this release is gratefully appreciated. * 1173c2aa98e2SPeter Wemm * Sun Microsystems has also provided resources toward * 1174c2aa98e2SPeter Wemm * continued sendmail development. * 1175c2aa98e2SPeter Wemm ************************************************************* 1176c2aa98e2SPeter Wemm SECURITY: A few systems allow an open with the O_EXCL|O_CREAT open 1177c2aa98e2SPeter Wemm mode bits set to create a file that is a symbolic link that 1178c2aa98e2SPeter Wemm points nowhere. This makes it possible to create a root 1179c2aa98e2SPeter Wemm owned file in an arbitrary directory by inserting the symlink 1180c2aa98e2SPeter Wemm into a writable directory after the initial lstat(2) check 1181c2aa98e2SPeter Wemm determined that the file did not exist. The only verified 1182c2aa98e2SPeter Wemm example of a system having these odd semantics for O_EXCL 1183c2aa98e2SPeter Wemm and symbolic links was HP-UX prior to version 9.07. Most 1184c2aa98e2SPeter Wemm systems do not have the problem, since a exclusive create 1185c2aa98e2SPeter Wemm of a file disallows symbolic links. Systems that have been 1186c2aa98e2SPeter Wemm verified to NOT have the problem include AIX 3.x, *BSD, 1187c2aa98e2SPeter Wemm DEC OSF/1, HP-UX 9.07 and higher, Linux, SunOS, Solaris, 1188c2aa98e2SPeter Wemm and Ultrix. This is a potential exposure on systems that 1189c2aa98e2SPeter Wemm have this bug and which do not have a MAILER-DAEMON alias 1190c2aa98e2SPeter Wemm pointing at a legitimate account, since this will cause old 1191c2aa98e2SPeter Wemm mail to be dropped in /var/tmp/dead.letter. 1192c2aa98e2SPeter Wemm SECURITY: Problems can occur on poorly managed systems, specifically, 1193c2aa98e2SPeter Wemm if maps or alias files are in world writable directories. 1194c2aa98e2SPeter Wemm If your system has alias maps in writable directories, it 1195c2aa98e2SPeter Wemm is potentially possible for an attacker to replace the .db 1196c2aa98e2SPeter Wemm (or .dir and .pag) files by symbolic links pointing at 1197c2aa98e2SPeter Wemm another database; this can be used either to expose 1198c2aa98e2SPeter Wemm information (e.g., by pointing an alias file at /etc/spwd.db 1199c2aa98e2SPeter Wemm and probing for accounts), or as a denial-of-service attack 1200c2aa98e2SPeter Wemm (by trashing the password database). The fix disallows 1201c2aa98e2SPeter Wemm symbolic links entirely when rebuilding alias files or on 1202c2aa98e2SPeter Wemm maps that are in writable directories, and always warns on 1203c2aa98e2SPeter Wemm writable directories; 8.9 will probably consider writable 1204c2aa98e2SPeter Wemm directories to be fatal errors. This does not represent an 1205c2aa98e2SPeter Wemm exposure on systems that have alias files in unwritable 1206c2aa98e2SPeter Wemm system directories. 1207c2aa98e2SPeter Wemm SECURITY: disallow .forward or :include: files that are links (hard 1208c2aa98e2SPeter Wemm or soft) if the parent directory (or any directory in the 1209c2aa98e2SPeter Wemm path) is writable by anyone other than the owner. This is 1210c2aa98e2SPeter Wemm similar to the previous case for user files. This change 1211c2aa98e2SPeter Wemm should not affect most systems, but is necessary to prevent 1212c2aa98e2SPeter Wemm an attacker who can write the directory from pointing such 1213c2aa98e2SPeter Wemm files at other files that are readable only by the owner. 1214c2aa98e2SPeter Wemm SECURITY: Tighten safechown rules: many systems will say that they 1215c2aa98e2SPeter Wemm have a safe (restricted to root) chown even on files that 1216c2aa98e2SPeter Wemm are mounted from another system that allows owners to give 1217c2aa98e2SPeter Wemm away files. The new rules are very strict, trusting file 1218c2aa98e2SPeter Wemm ownership only in those few cases where the system has 1219c2aa98e2SPeter Wemm been verified to be at least as paranoid as necessary. 1220c2aa98e2SPeter Wemm However, it is possible to relax the rules to partially 1221c2aa98e2SPeter Wemm trust the ownership if the directory path is not world or 1222c2aa98e2SPeter Wemm group writable. This might allow someone who has a legitimate 1223c2aa98e2SPeter Wemm :include: file (referenced directly from /etc/aliases) to 1224c2aa98e2SPeter Wemm become another non-root user if the :include: file is in a 1225c2aa98e2SPeter Wemm non-writable directory on an NFS-mounted filesystem where 1226c2aa98e2SPeter Wemm the local system says that giveaway is denied but it is 1227c2aa98e2SPeter Wemm actually permitted. I believe this to be a very small set 1228c2aa98e2SPeter Wemm of cases. If in doubt, do not point :include: aliases at 1229c2aa98e2SPeter Wemm NFS-mounted filesystems. 1230c2aa98e2SPeter Wemm SECURITY: When setting a numeric group id using the RunAsUser option 1231c2aa98e2SPeter Wemm (e.g., "O RunAsUser=10:20", the group id would not be set. 1232c2aa98e2SPeter Wemm Implicit group ids (e.g., "O RunAsUser=mailnull") or alpha 1233c2aa98e2SPeter Wemm group ids (e.g., "O RunAsUser=mailuser:mailgrp") worked fine. 1234c2aa98e2SPeter Wemm The user id was still set properly. Problem noted by Uli 1235c2aa98e2SPeter Wemm Pralle of the Technical University of Berlin. 1236c2aa98e2SPeter Wemm Save the initial gid set for use when checking for if the 1237c2aa98e2SPeter Wemm PrivacyOptions=restrictmailq option is set. Problem reported 1238c2aa98e2SPeter Wemm by Wolfgang Ley of DFN-CERT. 1239c2aa98e2SPeter Wemm Make 55x reply codes to the SMTP DATA-"." be non-sticky (i.e., a 1240c2aa98e2SPeter Wemm failure on one message won't affect future messages to the 1241c2aa98e2SPeter Wemm same host). 1242c2aa98e2SPeter Wemm IP source route printing had an "off by one" error that would 1243c2aa98e2SPeter Wemm affect any options that came after the route option. Patch 1244c2aa98e2SPeter Wemm from Theo de Raadt. 1245c2aa98e2SPeter Wemm The "Message is too large" error didn't successfully bounce the error 1246c2aa98e2SPeter Wemm back to the sender. Problem reported by Stephen More of 1247c2aa98e2SPeter Wemm PSI; patch from Gregory Neil Shapiro of WPI. 1248c2aa98e2SPeter Wemm Change SMTP status code 553 to map into Extended code 5.1.0 (instead 1249c2aa98e2SPeter Wemm of 5.1.3); it apparently gets used in multiple ways. 1250c2aa98e2SPeter Wemm Suggested by John Myers of Portola Communications. 1251c2aa98e2SPeter Wemm Fix possible extra null byte generated during collection if errors 1252c2aa98e2SPeter Wemm occur at the beginning of the stream. Patch contributed by 1253c2aa98e2SPeter Wemm Andrey A. Chernov and Gregory Neil Shapiro. 1254c2aa98e2SPeter Wemm Code changes to avoid possible reentrant call of malloc/free within 1255c2aa98e2SPeter Wemm a signal handler. Problem noted by John Beck of Sun 1256c2aa98e2SPeter Wemm Microsystems. 1257c2aa98e2SPeter Wemm Move map initialization to be earlier so that check_relay ruleset 1258c2aa98e2SPeter Wemm will have the latest version of the map data. Problem noted 1259c2aa98e2SPeter Wemm by Paul Forgey of Metainfo; patch from Gregory Neil Shapiro. 1260c2aa98e2SPeter Wemm If there are fatal errors during the collection phase (e.g., message 1261c2aa98e2SPeter Wemm too large) don't send the bogus message. 1262c2aa98e2SPeter Wemm Avoid "cannot open xfAAA00000" messages when sending to aliases that 1263c2aa98e2SPeter Wemm have errors and have owner- aliases. Problem noted by Michael 1264c2aa98e2SPeter Wemm Barber of MTU; fix from Gregory Neil Shapiro of WPI. 1265c2aa98e2SPeter Wemm Avoid null pointer dereference on illegal Boundary= parameters in 1266c2aa98e2SPeter Wemm multipart/mixed Content-Type: header. Problem noted by 1267c2aa98e2SPeter Wemm Richard Muirden of RMIT University. 1268c2aa98e2SPeter Wemm Always print error messages during newaliases (-bi) even if the 1269c2aa98e2SPeter Wemm ErrorMode is not set to "print". Fix from Gregory Neil 1270c2aa98e2SPeter Wemm Shapiro. 1271c2aa98e2SPeter Wemm Test mode could core dump if you did a /map lookup in an optional map 1272c2aa98e2SPeter Wemm that could not be opened. Based on a fix from John Beck of 1273c2aa98e2SPeter Wemm Sun Microsystems. 1274c2aa98e2SPeter Wemm If DNS is misconfigured so that the last MX record tried points to 1275c2aa98e2SPeter Wemm a host that does not have an A record, but other MX records 1276c2aa98e2SPeter Wemm pointed to something reasonable, don't bounce the message 1277c2aa98e2SPeter Wemm with a "host unknown" error. Note that this should really 1278c2aa98e2SPeter Wemm be fixed in the zone file for the domain. Problem noted by 1279c2aa98e2SPeter Wemm Joe Rhett of Navigist, Inc. 1280c2aa98e2SPeter Wemm If a map fails (e.g., DNS times out) on all recipient addresses, mark 1281c2aa98e2SPeter Wemm the message as having been tried; otherwise the next queue 1282c2aa98e2SPeter Wemm run will not realize that this is a second attempt and will 1283c2aa98e2SPeter Wemm retry immediately. Problem noted by Bryan Costales of 1284c2aa98e2SPeter Wemm Mercury Mail. 1285c2aa98e2SPeter Wemm If the clock is set backwards, and a MinQueueAge is set, no jobs 1286c2aa98e2SPeter Wemm will be run until the later setting of the clock is reached. 1287c2aa98e2SPeter Wemm "Problem" (I use the term loosely) noted by Eric Hagberg of 1288c2aa98e2SPeter Wemm Morgan Stanley. 1289c2aa98e2SPeter Wemm If the load average rises above the cutoff threshold (above which 1290c2aa98e2SPeter Wemm sendmail will not process the queue at all) during a queue 1291c2aa98e2SPeter Wemm run, abort the queue run immediately. Problem noted by 1292c2aa98e2SPeter Wemm Bryan Costales of Mercury Mail. 1293c2aa98e2SPeter Wemm The variable queue processing algorithm (based on the message size, 1294c2aa98e2SPeter Wemm number of recipients, message precedence, and job age) was 1295c2aa98e2SPeter Wemm non-functional -- either the entire queue was processed or 1296c2aa98e2SPeter Wemm none of the queue was processed. The updated algorithm 1297c2aa98e2SPeter Wemm does no queue run if a single recipient zero size job will 1298c2aa98e2SPeter Wemm not be run. 1299c2aa98e2SPeter Wemm If there is a fatal ("panic") message that will cause sendmail to 1300c2aa98e2SPeter Wemm die immediately, never hold the error message for future 1301c2aa98e2SPeter Wemm printing. 1302c2aa98e2SPeter Wemm Force ErrorMode=print in -bt mode so that all errors are printed 1303c2aa98e2SPeter Wemm regardless of the setting of the ErrorMode option in the 1304c2aa98e2SPeter Wemm configuration file. Patch from Gregory Neil Shapiro. 1305c2aa98e2SPeter Wemm New compile flag HASSTRERROR says that this OS has the strerror(3) 1306c2aa98e2SPeter Wemm routine available in one of the libraries. Use it in conf.h. 1307c2aa98e2SPeter Wemm The -m (match only) flag now works on host class maps. 1308c2aa98e2SPeter Wemm If class hash or btree maps are rebuilt, sendmail will now detect 1309c2aa98e2SPeter Wemm this and reopen the map. Previously, they could give 1310c2aa98e2SPeter Wemm erroneous results during a single message processing 1311c2aa98e2SPeter Wemm (but would recover when the next message was received). 1312c2aa98e2SPeter Wemm Don't delete zero length queue files when doing queue runs until the 1313c2aa98e2SPeter Wemm files are at least ten minutes old. This avoids a potential 1314c2aa98e2SPeter Wemm race condition: the creator creates the qf file, getting back 1315c2aa98e2SPeter Wemm a file descriptor. The queue runner locks it and deletes it 1316c2aa98e2SPeter Wemm because it is zero length. The creator then writes the 1317c2aa98e2SPeter Wemm descriptor that is now for a disconnected file, and the 1318c2aa98e2SPeter Wemm job goes away. Based on a suggestion by Bryan Costales. 1319c2aa98e2SPeter Wemm When determining the "validated" host name ($_ macro), do a forward 1320c2aa98e2SPeter Wemm (A) DNS lookup on the result of the PTR lookup and compare 1321c2aa98e2SPeter Wemm results. If they differ or if the PTR lookup fails, tag the 1322c2aa98e2SPeter Wemm address as "may be forged". 1323c2aa98e2SPeter Wemm Log null connections (i.e., hosts that connect but do not do any 1324c2aa98e2SPeter Wemm substantive activity on the connection before disconnecting; 1325c2aa98e2SPeter Wemm "substantive" is defined to be MAIL, EXPN, VRFY, or ETRN. 1326c2aa98e2SPeter Wemm Always permit "writes" to /dev/null regardless of the link count. 1327c2aa98e2SPeter Wemm This is safe because /dev/null is special cased, and no open 1328c2aa98e2SPeter Wemm or write is ever actually attempted. Patch from Villy Kruse 1329c2aa98e2SPeter Wemm of TwinCom. 1330c2aa98e2SPeter Wemm If a message cannot be sent because of a 552 (exceeded storage 1331c2aa98e2SPeter Wemm allocation) response to the MAIL FROM:<>, and a SIZE= parameter 1332c2aa98e2SPeter Wemm was given, don't return the body in the bounce, since there 1333c2aa98e2SPeter Wemm is a very good chance that the message will double-bounce. 1334c2aa98e2SPeter Wemm Fix possible line truncation if a quoted-printable had an =00 escape 1335c2aa98e2SPeter Wemm in the body. Problem noted by Charles Karney of the Princeton 1336c2aa98e2SPeter Wemm Plasma Physics Laboratory. 1337c2aa98e2SPeter Wemm Notify flags (e.g., -NSUCCESS) were lost on user+detail addresses. 1338c2aa98e2SPeter Wemm Problem noted by Kari Hurtta of the Finnish Meteorological 1339c2aa98e2SPeter Wemm Institute. 1340c2aa98e2SPeter Wemm The MaxDaemonChildren option wasn't applying to queue runs as 1341c2aa98e2SPeter Wemm documented. Note that this increases the potential denial 1342c2aa98e2SPeter Wemm of service problems with this option: an attacker can 1343c2aa98e2SPeter Wemm connect many times, and thereby lock out queue runs as well 1344c2aa98e2SPeter Wemm as incoming connections. If you use this option, you should 1345c2aa98e2SPeter Wemm run the "sendmail -bd" and "sendmail -q30m" jobs separately 1346c2aa98e2SPeter Wemm to avoid this attack. Failure to limit noted by Matthew 1347c2aa98e2SPeter Wemm Dillon of BEST Internet Communications. 1348c2aa98e2SPeter Wemm Always give a message in newaliases if alias files cannot be 1349c2aa98e2SPeter Wemm opened instead of failing silently. Suggested by Gregory 1350c2aa98e2SPeter Wemm Neil Shapiro. This change makes the code match the O'Reilly 1351c2aa98e2SPeter Wemm book (2nd edition). 1352c2aa98e2SPeter Wemm Some older versions of the resolver could return with h_errno == -1 1353c2aa98e2SPeter Wemm if no name server could be reached, causing mail to bounce 1354c2aa98e2SPeter Wemm instead of queueing. Treat this like TRY_AGAIN. Fix from 1355c2aa98e2SPeter Wemm John Beck of SunSoft. 1356c2aa98e2SPeter Wemm If a :include: file is owned by a user that does not have an entry 1357c2aa98e2SPeter Wemm in the passwd file, sendmail could dereference a null pointer. 1358c2aa98e2SPeter Wemm Problem noted by Satish Mynam of Sun Microsystems. 1359c2aa98e2SPeter Wemm Take precautions to make sure that the SMTP protocol cannot get out 1360c2aa98e2SPeter Wemm of sync if (for example) an alias file cannot be opened. 1361c2aa98e2SPeter Wemm Fix a possible race condition that can cause a SIGALRM to come in 1362c2aa98e2SPeter Wemm immediately after a SIGHUP, causing the new sendmail to die. 1363c2aa98e2SPeter Wemm Avoid possible hang on SVr3 systems when doing child reaping. Patch 1364c2aa98e2SPeter Wemm from Villy Kruse of TwinCom. 1365c2aa98e2SPeter Wemm Ignore improperly formatted SMTP reply codes. Previously these were 1366c2aa98e2SPeter Wemm partially processed, which could cause confusing error 1367c2aa98e2SPeter Wemm returns. 1368c2aa98e2SPeter Wemm Fix possible bogus pointer dereference when doing ldapx map lookups 1369c2aa98e2SPeter Wemm on some architectures. 1370c2aa98e2SPeter Wemm Portability: 1371c2aa98e2SPeter Wemm A/UX: from Jim Jagielski of NASA/GSFC. 1372c2aa98e2SPeter Wemm glibc: SOCK_STREAM was changed from a #define to an enum, 1373c2aa98e2SPeter Wemm thus breaking #ifdef SOCK_STREAM. Only option seems 1374c2aa98e2SPeter Wemm to be to assume SOCK_STREAM if __GNU_LIBRARY__ is 1375c2aa98e2SPeter Wemm defined. Problem reported by A Sun of the University 1376c2aa98e2SPeter Wemm of Washington. 1377c2aa98e2SPeter Wemm Solaris: use SIOCGIFNUM to get the number of interfaces on 1378c2aa98e2SPeter Wemm the system rather than guessing at compile time. 1379c2aa98e2SPeter Wemm Patch contributed by John Beck of Sun Microsystems. 1380c2aa98e2SPeter Wemm Intel Paragon: from Wendy Lin of Purdue University. 1381c2aa98e2SPeter Wemm GNU Hurd: from Miles Bader of the GNU project. 1382c2aa98e2SPeter Wemm RISC/os 4.50 from Harlan Stenn of PFCS Corporation. 1383c2aa98e2SPeter Wemm ISC Unix: wait never returns if SIGCLD signals are blocked. 1384c2aa98e2SPeter Wemm Unfortunately releasing them opens a race condition, 1385c2aa98e2SPeter Wemm but there appears to be no fix for this. Patch from 1386c2aa98e2SPeter Wemm Gregory Neil Shapiro. 1387c2aa98e2SPeter Wemm BIND 8.1 for IPv6 compatibility from John Kennedy. 1388c2aa98e2SPeter Wemm Solaris: a bug in strcasecmp caused characters with the 1389c2aa98e2SPeter Wemm high order bit set to apparently randomly match 1390c2aa98e2SPeter Wemm letters -- for example, $| (0233) matches "i" and "I". 1391c2aa98e2SPeter Wemm Problem noted by John Gregson of the University of 1392c2aa98e2SPeter Wemm Cambridge. 1393c2aa98e2SPeter Wemm IRIX 6.x: make Makefile.IRIX.6.2 apply to all 6.x. From 1394c2aa98e2SPeter Wemm Kari Hurtta. 1395c2aa98e2SPeter Wemm IRIX 6.x: Create Makefiles for systems that claim to be 1396c2aa98e2SPeter Wemm IRIX64 but are 6.2 or higher (so use the regular 1397c2aa98e2SPeter Wemm IRIX Makefile). 1398c2aa98e2SPeter Wemm IRIX 6.x: Fix load average computation on 64 bit kernels. 1399c2aa98e2SPeter Wemm Problem noted by Eric Hagberg of Morgan Stanley. 1400c2aa98e2SPeter Wemm CONFIG: Some canonification was still done for UUCP-like addresses 1401c2aa98e2SPeter Wemm even if FEATURE(nocanonify) was set. Problem pointed out by 1402c2aa98e2SPeter Wemm Brian Candler. 1403c2aa98e2SPeter Wemm CONFIG: In some cases UUCP mailers wouldn't properly recognize all 1404c2aa98e2SPeter Wemm local names as local. Problem noted by Jeff Polk of BSDI; 1405c2aa98e2SPeter Wemm fix provided by Gregory Neil Shapiro. 1406c2aa98e2SPeter Wemm CONFIG: The "local:user" syntax entries in mailertables and other 1407c2aa98e2SPeter Wemm "mailer:user" syntax locations returned an incorrect value 1408c2aa98e2SPeter Wemm for the $h macro. Problem noted by Gregory Neil Shapiro. 1409c2aa98e2SPeter Wemm CONFIG: Retain "+detail" information when forwarding mail to a 1410c2aa98e2SPeter Wemm MAIL_HUB, LUSER_RELAY, or LOCAL_RELAY. Patch from Philip 1411c2aa98e2SPeter Wemm Guenther of Gustavus Adolphus College. 1412c2aa98e2SPeter Wemm CONFIG: Make sure user+detail works for FEATURE(virtusertable); 1413c2aa98e2SPeter Wemm rules are the same as for aliasing. Based on a patch from 1414c2aa98e2SPeter Wemm Gregory Neil Shapiro. 1415c2aa98e2SPeter Wemm CONFIG: Break up parsing rules into several pieces; this should 1416c2aa98e2SPeter Wemm have no functional change in this release, but makes it 1417c2aa98e2SPeter Wemm possible to have better anti-spam rulesets in the future. 1418c2aa98e2SPeter Wemm CONFIG: Disallow double dots in host names to avoid having the 1419c2aa98e2SPeter Wemm HostStatusDirectory store status under the wrong name. 1420c2aa98e2SPeter Wemm In some cases this can be used as a denial-of-service attack. 1421c2aa98e2SPeter Wemm Problem noted by Ron Jarrell of Virginia Tech, patch from 1422c2aa98e2SPeter Wemm Gregory Neil Shapiro. 1423c2aa98e2SPeter Wemm CONFIG: Don't use F=m (multiple recipients per invocation) for 1424c2aa98e2SPeter Wemm MAILER(procmail), but do pass F=Pn9 (include Return-Path:, 1425c2aa98e2SPeter Wemm don't include From_, and convert to 8-bit). Suggestions 1426c2aa98e2SPeter Wemm from Kimmo Suominen and Roderick Schertler. 1427c2aa98e2SPeter Wemm CONFIG: Domains under $=M (specified with MASQUERADE_DOMAIN) where 1428c2aa98e2SPeter Wemm being masqueraded as though FEATURE(masquerade_entire_domain) 1429c2aa98e2SPeter Wemm was specified, even when it wasn't. 1430c2aa98e2SPeter Wemm MAIL.LOCAL: Solaris 2.6 has snprintf. From John Beck of SunSoft. 1431c2aa98e2SPeter Wemm MAIL.LOCAL: SECURITY: check to make sure that an attacker doesn't 1432c2aa98e2SPeter Wemm "slip in" a symbolic link between the lstat(2) call and the 1433c2aa98e2SPeter Wemm exclusive open. This is only a problem on System V derived 1434c2aa98e2SPeter Wemm systems that allow an exclusive create on files that are 1435c2aa98e2SPeter Wemm symbolic links pointing nowhere. 1436c2aa98e2SPeter Wemm MAIL.LOCAL: If the final mailbox close() failed, the user id was 1437c2aa98e2SPeter Wemm not reset back to root, which on some systems would cause 1438c2aa98e2SPeter Wemm later mailboxes to fail. Also, any partial message would 1439c2aa98e2SPeter Wemm not be truncated, which could result in repeated deliveries. 1440c2aa98e2SPeter Wemm Problem noted by Bruce Evans via Peter Wemm (FreeBSD 1441c2aa98e2SPeter Wemm developers). 1442c2aa98e2SPeter Wemm MAKEMAP: Handle cases where O_EXLOCK is #defined to be 0. A similar 1443c2aa98e2SPeter Wemm change to the sendmail map code was made in 8.8.3. Problem 1444c2aa98e2SPeter Wemm noted by Gregory Neil Shapiro. 1445c2aa98e2SPeter Wemm MAKEMAP: Give warnings on file problems such as map files that are 1446c2aa98e2SPeter Wemm symbolic links; although makemap is not setuid root, it is 1447c2aa98e2SPeter Wemm often run as root and hence has the potential for the same 1448c2aa98e2SPeter Wemm sorts of problems as alias rebuilds. 1449c2aa98e2SPeter Wemm MAKEMAP: Change compilation so that it will link properly on 1450c2aa98e2SPeter Wemm NEXTSTEP. 1451c2aa98e2SPeter Wemm CONTRIB: etrn.pl: search for Cw as well as Fw lines in sendmail.cf. 1452c2aa98e2SPeter Wemm Accept an optional list of arguments following the server 1453c2aa98e2SPeter Wemm name for the ETRN arguments to use (instead of $=w). Other 1454c2aa98e2SPeter Wemm miscellaneous bug fixes. From Christian von Roques via 1455c2aa98e2SPeter Wemm John Beck of Sun Microsystems. 1456c2aa98e2SPeter Wemm CONTRIB: Add passwd-to-alias.pl, contributed by Kari Hurtta. This 1457c2aa98e2SPeter Wemm Perl script converts GECOS information in the /etc/passwd 1458c2aa98e2SPeter Wemm file into aliases, allowing for faster access to full name 1459c2aa98e2SPeter Wemm lookups; it is also clever about adding aliases (to root) 1460c2aa98e2SPeter Wemm for system accounts. 1461c2aa98e2SPeter Wemm NEW FILES: 1462c2aa98e2SPeter Wemm src/safefile.c 1463c2aa98e2SPeter Wemm cf/ostype/gnuhurd.m4 1464c2aa98e2SPeter Wemm cf/ostype/irix6.m4 1465c2aa98e2SPeter Wemm contrib/passwd-to-alias.pl 1466c2aa98e2SPeter Wemm src/Makefiles/Makefile.IRIX64.6.1 1467c2aa98e2SPeter Wemm src/Makefiles/Makefile.IRIX64.6.x 1468c2aa98e2SPeter Wemm RENAMED FILES: 1469c2aa98e2SPeter Wemm src/Makefiles/Makefile.IRIX.6.2 => Makefile.IRIX.6.x 1470c2aa98e2SPeter Wemm src/Makefiles/Makefile.IRIX64 => Makefile.IRIX64.6.0 1471c2aa98e2SPeter Wemm 1472c2aa98e2SPeter Wemm8.8.5/8.8.5 97/01/21 1473c2aa98e2SPeter Wemm SECURITY: Clear out group list during startup. Without this, sendmail 1474c2aa98e2SPeter Wemm will continue to run with the group permissions of the caller, 1475c2aa98e2SPeter Wemm even if RunAsUser is specified. 1476c2aa98e2SPeter Wemm SECURITY: Make purgestat (-bH) be root-only. This is not in response 1477c2aa98e2SPeter Wemm to any known attack, but it's best to be conservative. 1478c2aa98e2SPeter Wemm Suggested by Peter Wemm of DIALix. 1479c2aa98e2SPeter Wemm SECURITY: Fix buffer overrun problem in MIME code that has possible 1480c2aa98e2SPeter Wemm security implications. Patch from Alex Garthwaite of the 1481c2aa98e2SPeter Wemm University of Pennsylvania. 1482c2aa98e2SPeter Wemm Use of a -f flag with a phrase attached (e.g., "-f 'Full Name <addr>'") 1483c2aa98e2SPeter Wemm would truncate the address after "Full". Although the -f 1484c2aa98e2SPeter Wemm syntax is incorrect (since it is in the envelope, it 1485c2aa98e2SPeter Wemm shouldn't have comments and full names), the failure mode 1486c2aa98e2SPeter Wemm was unnecessarily awful. 1487c2aa98e2SPeter Wemm Fix a possible null pointer dereference when converting 8-bit data 1488c2aa98e2SPeter Wemm to a 7-bit format. Problem noted by Jim Hutchins of 1489c2aa98e2SPeter Wemm Sandia National Labs and David James of British Telecom. 1490c2aa98e2SPeter Wemm Clear out stale state that affected F=9 on SMTP mailers in queue 1491c2aa98e2SPeter Wemm runs. Although this really shouldn't be used (F=9 is for 1492c2aa98e2SPeter Wemm final delivery only, and using it on an SMTP mailer makes 1493c2aa98e2SPeter Wemm it possible for a message to be converted from 8->7->8->7 1494c2aa98e2SPeter Wemm bits several times), it shouldn't have failed with a syserr. 1495c2aa98e2SPeter Wemm Problem noted by Eric Hagberg of Morgan Stanley. 1496c2aa98e2SPeter Wemm _Really_ fix the multiple :maildrop code in the user database 1497c2aa98e2SPeter Wemm module. Patch from Roy Mongiovi of Georgia Tech. 1498c2aa98e2SPeter Wemm Let F lines in the configuration file actually read root-only 1499c2aa98e2SPeter Wemm files if the configuration file is safe. Based on a 1500c2aa98e2SPeter Wemm patch from Keith Reynolds of SCO. 1501c2aa98e2SPeter Wemm ETRN followed by QUIT would hold the connection open until the queue 1502c2aa98e2SPeter Wemm run completed. Problem noted by Truck Lewis of TDK 1503c2aa98e2SPeter Wemm Semiconductor Corp. 1504c2aa98e2SPeter Wemm It turns out that despite the documentation, the TCP wrappers library 1505c2aa98e2SPeter Wemm does _not_ log rejected connections. Do the logging ourselves. 1506c2aa98e2SPeter Wemm Problem noted by Fletcher Mattox of the University of Texas 1507c2aa98e2SPeter Wemm at Austin. 1508c2aa98e2SPeter Wemm If sendmail finds a qf file in its queue directory that is an unknown 1509c2aa98e2SPeter Wemm version (e.g., when backing out to an old version), the 1510c2aa98e2SPeter Wemm error is reported on every queue run. Change it to only 1511c2aa98e2SPeter Wemm give the error once (and rename the qf => Qf). Patch from 1512c2aa98e2SPeter Wemm William A. Gianopoulos of Raytheon Company. 1513c2aa98e2SPeter Wemm Start a new session when doing background delivery; currently it 1514c2aa98e2SPeter Wemm ignored signals but didn't start a new signal, that caused 1515c2aa98e2SPeter Wemm some problems if a background process tried to send mail 1516c2aa98e2SPeter Wemm under certain circumstances. Problem noted by Eric Hagberg 1517c2aa98e2SPeter Wemm of Morgan Stanley; fix from Kari Hurtta. 1518c2aa98e2SPeter Wemm Simplify test for skipping a queue run to just check if the current 1519c2aa98e2SPeter Wemm load average is >= the queueing load average. Previously 1520c2aa98e2SPeter Wemm the check factored in some other parameters that caused it 1521c2aa98e2SPeter Wemm to essentially never skip the queue run. Patch from Bryan 1522c2aa98e2SPeter Wemm Costales. 1523c2aa98e2SPeter Wemm If the SMTP server is running in "nullserver" mode (that is, it is 1524c2aa98e2SPeter Wemm rejecting all commands), start sleeping after MAXBADCOMMAND 1525c2aa98e2SPeter Wemm (25) commands; this helps prevent a bad guy from putting 1526c2aa98e2SPeter Wemm you into a tight loop as a denial-of-service attack. Based 1527c2aa98e2SPeter Wemm on an e-mail conversation with Brad Knowles of AOL. 1528c2aa98e2SPeter Wemm Slow down when too many "light weight" commands have been issued; 1529c2aa98e2SPeter Wemm this helps prevent a class of denial-of-service attacks. 1530c2aa98e2SPeter Wemm The current values and defaults are: 1531c2aa98e2SPeter Wemm MAXNOOPCOMMANDS 20 NOOP, VERB, ONEX, XUSR 1532c2aa98e2SPeter Wemm MAXHELOCOMMANDS 3 HELO, EHLO 1533c2aa98e2SPeter Wemm MAXVRFYCOMMANDS 6 VRFY, EXPN 1534c2aa98e2SPeter Wemm MAXETRNCOMMANDS 8 ETRN 1535c2aa98e2SPeter Wemm These will probably be configurable in a future release. 1536c2aa98e2SPeter Wemm On systems that have uid_t typedefed to be an unsigned short, programs 1537c2aa98e2SPeter Wemm that had the F=S flag and no U= equate would be invoked with 1538c2aa98e2SPeter Wemm the real uid set to 65535 rather than being left unchanged. 1539c2aa98e2SPeter Wemm In some cases, NOTIFY=NEVER was not being honored. Problem noted 1540c2aa98e2SPeter Wemm by Steve Hubert of the University of Washington, Seattle. 1541c2aa98e2SPeter Wemm Mail that was Quoted-Printable encoded and had a soft line break on 1542c2aa98e2SPeter Wemm the last line (i.e., an incomplete continuation) had the last 1543c2aa98e2SPeter Wemm line dropped. Since this appears to be illegal it isn't 1544c2aa98e2SPeter Wemm clear what to do with it, but flushing the last line seems 1545c2aa98e2SPeter Wemm to be a better "fail soft" approach. Based on a patch from 1546c2aa98e2SPeter Wemm Eric Hagberg. 1547c2aa98e2SPeter Wemm If AllowBogusHELO and PrivacyOptions=needmailhelo are both set, a 1548c2aa98e2SPeter Wemm bogus HELO command still causes the "Polite people say HELO 1549c2aa98e2SPeter Wemm first" error message. Problem pointed out by Chris Thomas 1550c2aa98e2SPeter Wemm of UCLA; patch from John Beck of SunSoft. 1551c2aa98e2SPeter Wemm Handle "sendmail -bp -qSfoobar" properly if restrictqrun is set 15522e43090eSPeter Wemm in PrivacyOptions. The -q shouldn't turn this command off. 1553c2aa98e2SPeter Wemm Problem noted by Murray Kucherawy of Pacific Bell Internet; 1554c2aa98e2SPeter Wemm based on a patch from Gregory Neil Shapiro of WPI. 1555c2aa98e2SPeter Wemm Don't consider SMTP reply codes 452 or 552 (exceeded storage allocation) 1556c2aa98e2SPeter Wemm in a DATA transaction to be sticky; these can occur because 1557c2aa98e2SPeter Wemm a message is too large, and smaller messages should still go 1558c2aa98e2SPeter Wemm through. Problem noted by Matt Dillon of Best Internet 1559c2aa98e2SPeter Wemm Communications. 1560c2aa98e2SPeter Wemm In some cases bounces were saved in /var/tmp/dead.letter even if they 1561c2aa98e2SPeter Wemm had been successfully delivered to the envelope sender. 1562c2aa98e2SPeter Wemm Problem noted Eric Hagberg of Morgan Stanley; solution from 1563c2aa98e2SPeter Wemm Gregory Neil Shapiro of WPI. 1564c2aa98e2SPeter Wemm Give better diagnostics on long alias lines. Based on code contributed 1565c2aa98e2SPeter Wemm by Patrick Gosling of the University of Cambridge. 1566c2aa98e2SPeter Wemm Increase the number of virtual interfaces that will be probed for 1567c2aa98e2SPeter Wemm alternate names. Problem noted by Amy Rich of Shore.Net. 1568c2aa98e2SPeter Wemm PORTABILITY: 1569c2aa98e2SPeter Wemm UXP/DS V20L10 for Fujitsu DS/90: Makefile patches from 1570c2aa98e2SPeter Wemm Toshiaki Nomura of Fujitsu Limited. 1571c2aa98e2SPeter Wemm SunOS with LDAP support: compile problems with struct timeval. 1572c2aa98e2SPeter Wemm Patch from Nick Cuccia of TCSI Corporation. 1573c2aa98e2SPeter Wemm SCO: from Keith Reynolds of SCO. 1574c2aa98e2SPeter Wemm Solaris: kstat load average computation wasn't being used. 1575c2aa98e2SPeter Wemm Fixes from Michael Ju. Tokarev of Telecom Service, JSC 1576c2aa98e2SPeter Wemm (Moscow). 1577c2aa98e2SPeter Wemm OpenBSD: from Jason Downs of teeny.org. 1578c2aa98e2SPeter Wemm Altos System V: from Tim Rice. 1579c2aa98e2SPeter Wemm Solaris 2.5: from Alan Perry of SunSoft. 1580c2aa98e2SPeter Wemm Solaris 2.6: from John Beck of SunSoft. 1581c2aa98e2SPeter Wemm Harris Nighthawk PowerUX (mh6000 box): from Bob Miorelli 1582c2aa98e2SPeter Wemm of Pratt & Whitney <miorelli@pweh.com>. 1583c2aa98e2SPeter Wemm CONFIG: It seems that I hadn't gotten the Received: line syntax 1584c2aa98e2SPeter Wemm _just_right_ yet. Tweak it again. I'll omit the names 1585c2aa98e2SPeter Wemm of the "contributors" (quantity two) in this one case. 1586c2aa98e2SPeter Wemm As of now, NO MORE DISCUSSION about the syntax of the 1587c2aa98e2SPeter Wemm Received: line. 1588c2aa98e2SPeter Wemm CONFIG: Although FEATURE(nullclient) uses EXPOSED_USER (class $=E), 1589c2aa98e2SPeter Wemm it never inserts that class into the output file. Fix it 1590c2aa98e2SPeter Wemm so it will honor EXPOSED_USER but will _not_ include root 1591c2aa98e2SPeter Wemm automatically in this class. Problem noted by Ronan KERYELL 1592c2aa98e2SPeter Wemm of Centre de Recherche en Informatique de l'�cole Nationale 1593c2aa98e2SPeter Wemm Sup�rieure des Mines de Paris (CRI-ENSMP). 1594c2aa98e2SPeter Wemm CONFIG: Clean up handling of "local:" syntax in relay specifications 1595c2aa98e2SPeter Wemm such as LUSER_RELAY. This change permits the following 1596c2aa98e2SPeter Wemm syntaxes: ``local:'' will send to the same user on the 1597c2aa98e2SPeter Wemm local machine (e.g., in a mailertable entry for "host", 1598c2aa98e2SPeter Wemm ``local:'' will cause an address addressed to user@host to 1599c2aa98e2SPeter Wemm go to user on the local machone). ``local:user'' will send 1600c2aa98e2SPeter Wemm to the named user on the local machine. ``local:user@host'' 1601c2aa98e2SPeter Wemm is equivalent to ``local:user'' (the host is ignored). In 1602c2aa98e2SPeter Wemm all cases, the original user@host is passed in $@ (i.e., the 1603c2aa98e2SPeter Wemm detail information). Inspired by a report from Michael Fuhr. 1604c2aa98e2SPeter Wemm CONFIG: Strip quotes from the first word of an "error:" host 1605c2aa98e2SPeter Wemm indication. This lets you set (for example) the LUSER_RELAY 1606c2aa98e2SPeter Wemm to be ``error:\"5.1.1\" Your Message Here''. Note the use 1607c2aa98e2SPeter Wemm of the \" so that the resulting string is properly quoted. 1608c2aa98e2SPeter Wemm Problem noted by Gregory Neil Shapiro of WPI. 1609c2aa98e2SPeter Wemm OP.ME: documentation was inconsistent about whether sendmail did a 1610c2aa98e2SPeter Wemm NOOP or a RSET to probe the connection (it does a RSET). 1611c2aa98e2SPeter Wemm Inconsistency noted by Deeran Peethamparam. 1612c2aa98e2SPeter Wemm OP.ME: insert additional blank pages so it will print properly on 1613c2aa98e2SPeter Wemm a duplex printer. From Matthew Black of Cal State University, 1614c2aa98e2SPeter Wemm Long Beach. 1615c2aa98e2SPeter Wemm 1616c2aa98e2SPeter Wemm8.8.4/8.8.4 96/12/02 1617c2aa98e2SPeter Wemm SECURITY: under some circumstances, an attacker could get additional 1618c2aa98e2SPeter Wemm permissions by hard linking to files that were group 1619c2aa98e2SPeter Wemm writable by the attacker. The solution is to disallow any 1620c2aa98e2SPeter Wemm files that have hard links -- this will affect .forward, 1621c2aa98e2SPeter Wemm :include:, and output files. Problem noted by Terry 1622c2aa98e2SPeter Wemm Kyriacopoulos of Interlog Internet Services. As a 1623c2aa98e2SPeter Wemm workaround, set UnsafeGroupWrites -- always a good idea. 1624c2aa98e2SPeter Wemm SECURITY: the TryNullMXList (w) option should not be safe -- if it 1625c2aa98e2SPeter Wemm is, it is possible to do a denial-of-service attack on 1626c2aa98e2SPeter Wemm MX hosts that rely on the use of the null MX list. There 1627c2aa98e2SPeter Wemm is no danger if you have this option turned off (the default). 1628c2aa98e2SPeter Wemm Problem noted by Dan Bernstein. Also, make the DontInitGroups 1629c2aa98e2SPeter Wemm unsafe. I know of no specific attack against this, although 1630c2aa98e2SPeter Wemm a denial-of-service attack is probably possible, but in theory 1631c2aa98e2SPeter Wemm you should not be able to safely tweak anything that affects 1632c2aa98e2SPeter Wemm the permissions that are used when mail is delivered. 1633c2aa98e2SPeter Wemm Purgestat could go into an infinite loop if one of the host status 1634c2aa98e2SPeter Wemm directories somehow became empty. Problem noted by Roy 1635c2aa98e2SPeter Wemm Mongiovi of Georgia Tech. 1636c2aa98e2SPeter Wemm Processes got "lost" when counting children due to a race condition. 1637c2aa98e2SPeter Wemm This caused "proc_list_probe: lost pid" messages to be logged. 1638c2aa98e2SPeter Wemm Problem noted by several people. 1639c2aa98e2SPeter Wemm On systems with System V SIGCLD child signal semantics (notably AIX 1640c2aa98e2SPeter Wemm and HP-UX), mail transactions would print the message "451 1641c2aa98e2SPeter Wemm SMTP-MAIL: lost child: No child processes". Problem noted 1642c2aa98e2SPeter Wemm by several people. 1643c2aa98e2SPeter Wemm Miscellaneous compiler warnings on picky compilers (or when setting 1644c2aa98e2SPeter Wemm gcc to high warning levels). From Tom Moore of NCR Corp. 1645c2aa98e2SPeter Wemm SMTP protocol errors, and most errors on MAIL FROM: lines should 1646c2aa98e2SPeter Wemm not be persistent between runs, since they are based on the 1647c2aa98e2SPeter Wemm message rather than the host. Problem noted by Matt Dillon 1648c2aa98e2SPeter Wemm of Best Internet Communications. 1649c2aa98e2SPeter Wemm The F=7 flag was ignored on SMTP mailers. Problem noted by Tom Moore 1650c2aa98e2SPeter Wemm of NCR (a.k.a., AT&T Global Information Solutions). 1651c2aa98e2SPeter Wemm Avoid the possibility of having a child daemon run to completion 1652c2aa98e2SPeter Wemm (including closing the SMTP socket) before the parent has 1653c2aa98e2SPeter Wemm had a chance to close the socket; this can cause the parent 1654c2aa98e2SPeter Wemm to hang for a long time waiting for the socket to drain. 1655c2aa98e2SPeter Wemm Patch from Don Lewis of TDK Semiconductor. 1656c2aa98e2SPeter Wemm If the fork() failed in a queue run, the queue runners would not be 1657c2aa98e2SPeter Wemm rescheduled (so queue runs would stop). Patch from Don Lewis. 1658c2aa98e2SPeter Wemm Some error conditions in ETRN could cause output without an SMTP 1659c2aa98e2SPeter Wemm status code. Problem noted by Don Lewis. 1660c2aa98e2SPeter Wemm Multiple :maildrop addresses in the user database didn't work properly. 1661c2aa98e2SPeter Wemm Patch from Roy Mongiovi of Georgia Tech. 1662c2aa98e2SPeter Wemm Add ".db" automatically onto any user database spec that does not 1663c2aa98e2SPeter Wemm already have it; this is for consistency with makemap, the 1664c2aa98e2SPeter Wemm K line, and the documentation. Inconsistency pointed out 1665c2aa98e2SPeter Wemm by Roy Mongiovi. 1666c2aa98e2SPeter Wemm Allow sendmail to be properly called in nohup mode. Patch from 1667c2aa98e2SPeter Wemm Kyle Jones of UUNET. 1668c2aa98e2SPeter Wemm Change ETRN to ignore but still update host status files; previously 1669c2aa98e2SPeter Wemm it would ignore them and not save the updated status, which 1670c2aa98e2SPeter Wemm caused stale information to be maintained. Based on a patch 1671c2aa98e2SPeter Wemm from Christopher Davis of Kapor Enterprises Inc. Also, have 1672c2aa98e2SPeter Wemm ETRN ignore the MinQueueAge option. 1673c2aa98e2SPeter Wemm Patch long term host status to recover more gracefully from an empty 1674c2aa98e2SPeter Wemm host status file condition. Patch from NAKAMURA Motonori 1675c2aa98e2SPeter Wemm of Kyoto University. 1676c2aa98e2SPeter Wemm Several patches to signal handling code to fix potential race 1677c2aa98e2SPeter Wemm conditions from Don Lewis. 1678c2aa98e2SPeter Wemm Make it possible to compile with -DDAEMON=0 (previously it had some 1679c2aa98e2SPeter Wemm compile errors). This turns DAEMON, QUEUE, and SMTP into 1680c2aa98e2SPeter Wemm 0/1 compilation flags. Note that DAEMON is an obsolete 1681c2aa98e2SPeter Wemm compile flag; use NETINET instead. Solution based on a 1682c2aa98e2SPeter Wemm patch from Bryan Costales. 1683c2aa98e2SPeter Wemm PORTABILITY FIXES: 1684c2aa98e2SPeter Wemm AIX4: getpwnam() and getpwuid() do a sequential scan of the 1685c2aa98e2SPeter Wemm /etc/security/passwd file when called as root. This 1686c2aa98e2SPeter Wemm is very slow on some systems. To speed it up, use the 1687c2aa98e2SPeter Wemm (undocumented) _getpw{nam,uid}_shadow() routines. 1688c2aa98e2SPeter Wemm Patch from Chris Thomas of UCLA/OAC Systems Group. 1689c2aa98e2SPeter Wemm SCO 5.x: include -lprot in the Makefile. Patch from Bill 1690c2aa98e2SPeter Wemm Glicker of Burrelle's Information Service. 1691c2aa98e2SPeter Wemm NEWS-OS 4.x: need a definition for MODE_T to compile. Patch 1692c2aa98e2SPeter Wemm from Makoto MATSUSHITA of Osaka University. 1693c2aa98e2SPeter Wemm SunOS 4.0.3: compile problems. Patches from Andrew Cole of 1694c2aa98e2SPeter Wemm Leeds University and SASABE Tetsuro of the University 1695c2aa98e2SPeter Wemm of Tokyo. 1696c2aa98e2SPeter Wemm DG/UX 5.4.4.11 from Brian J. Murrell of InterLinx Support 1697c2aa98e2SPeter Wemm Services, Inc. 1698c2aa98e2SPeter Wemm Domain/OS from Don (Truck) Lewis of TDK Semiconductor Corp. 1699c2aa98e2SPeter Wemm I believe this to have only been a problem if you 1700c2aa98e2SPeter Wemm compiled with -DUSE_VENDOR_CF_PATH -- another reason 1701c2aa98e2SPeter Wemm to stick with /etc/sendmail.cf as your One True Path. 1702c2aa98e2SPeter Wemm Digital UNIX (OSF/1 on Alpha) load average computation from 1703c2aa98e2SPeter Wemm Martin Laubach of the Technischen Universit�t Wien. 1704c2aa98e2SPeter Wemm CONFIG: change default Received: line to be multiple lines rather 1705c2aa98e2SPeter Wemm than one long one. By popular demand. 1706c2aa98e2SPeter Wemm MAIL.LOCAL: warnings weren't being logged on some systems. Patch 1707c2aa98e2SPeter Wemm from Jerome Berkman of U.C. Berkeley. 1708c2aa98e2SPeter Wemm MAKEMAP: be sure to zero hinfo to avoid cruft that can cause runs 1709c2aa98e2SPeter Wemm to take a very long time. Problem noted by Yoshiro YONEYA 1710c2aa98e2SPeter Wemm of NTT Software Corporation. 1711c2aa98e2SPeter Wemm CONTRIB: add etrn.pl, contributed by John Beck. 1712c2aa98e2SPeter Wemm NEW FILES: 1713c2aa98e2SPeter Wemm contrib/etrn.pl 1714c2aa98e2SPeter Wemm 1715c2aa98e2SPeter Wemm8.8.3/8.8.3 96/11/17 1716c2aa98e2SPeter Wemm SECURITY: it was possible to get a root shell by lying to sendmail 1717c2aa98e2SPeter Wemm about argv[0] and then sending it a signal. Problem noted 1718c2aa98e2SPeter Wemm by Leshka Zakharoff <leshka@leshka.chuvashia.su> on the 1719c2aa98e2SPeter Wemm best-of-security list. 1720c2aa98e2SPeter Wemm Log sendmail binary version number in "Warning: .cf version level 1721c2aa98e2SPeter Wemm (%d) exceeds program functionality (%d) message" -- this 1722c2aa98e2SPeter Wemm should make it clearer to people that they are running 1723c2aa98e2SPeter Wemm the wrong binary. 1724c2aa98e2SPeter Wemm Fix a problem that occurs when you open an SMTP connection and then 1725c2aa98e2SPeter Wemm do one or more ETRN commands followed by a MAIL command; at 1726c2aa98e2SPeter Wemm the end of the DATA phase sendmail would incorrectly report 1727c2aa98e2SPeter Wemm "451 SMTP-MAIL: lost child: No child processes". Problem 1728c2aa98e2SPeter Wemm noted by Eric Bishop of Virginia Tech. 1729c2aa98e2SPeter Wemm When doing text-based host canonification (typically /etc/hosts 1730c2aa98e2SPeter Wemm lookup), a null host name would match any /etc/hosts entry 1731c2aa98e2SPeter Wemm with space at the end of the line. Problem noted by Steve 1732c2aa98e2SPeter Wemm Hubert of the University of Washington, Seattle. 1733c2aa98e2SPeter Wemm 7 to 8 bit BASE64 MIME conversions could duplicate bits of text. 1734c2aa98e2SPeter Wemm Problem reported by Tom Smith of Digital Equipment Corp. 1735c2aa98e2SPeter Wemm Increase the size of the DNS answer buffer -- the standard UDP packet 1736c2aa98e2SPeter Wemm size PACKETSZ (512) is not sufficient for some nameserver 1737c2aa98e2SPeter Wemm answers containing very many resource records. The resolver 1738c2aa98e2SPeter Wemm may also switch to TCP and retry if it detects UDP packet 1739c2aa98e2SPeter Wemm overflow. Also, allow for the fact that the resolver 1740c2aa98e2SPeter Wemm routines res_query and res_search return the size of the 1741c2aa98e2SPeter Wemm *un*truncated answer in case the supplied answer buffer it 1742c2aa98e2SPeter Wemm not big enough to accommodate the entire answer. Patch from 1743c2aa98e2SPeter Wemm Eric Wassenaar. 1744c2aa98e2SPeter Wemm Improvements to MaxDaemonChildren code. If you think you have too 1745c2aa98e2SPeter Wemm many children, probe the ones you have to verify that they 1746c2aa98e2SPeter Wemm are still around. Suggested by Jared Mauch of CICnet, Inc. 1747c2aa98e2SPeter Wemm Also, do this probe before growing the vector of children 1748c2aa98e2SPeter Wemm pids; this previously caused the vector to grow indefinitely 1749c2aa98e2SPeter Wemm due to a race condition. Problem reported by Kyle Jones of 1750c2aa98e2SPeter Wemm UUNET. 1751c2aa98e2SPeter Wemm On some architectures, <db.h> (from the Berkeley DB library) defines 1752c2aa98e2SPeter Wemm O_EXLOCK to zero; this fools the map compilation code into 1753c2aa98e2SPeter Wemm thinking that it can avoid race conditions by locking on open. 1754c2aa98e2SPeter Wemm Change it to check for O_EXLOCK non-zero. Problem noted by 1755c2aa98e2SPeter Wemm Leif Erlingsson of Data Lege. 1756c2aa98e2SPeter Wemm Always call res_init() on startup (if compiled in, of course) to 1757c2aa98e2SPeter Wemm allow the sendmail.cf file to tweak resolver flags; without 1758c2aa98e2SPeter Wemm it, flag tweaks in ResolverOptions are ignored. Patch from 1759c2aa98e2SPeter Wemm Andrew Sun of Merrill Lynch. 1760c2aa98e2SPeter Wemm Improvements to host status printing code. Suggested by Steve Hubert 1761c2aa98e2SPeter Wemm of the University of Washington, Seattle. 1762c2aa98e2SPeter Wemm Change MinQueueAge option processing to do the check for the job age 1763c2aa98e2SPeter Wemm when reading the queue file, rather than at the end; this 1764c2aa98e2SPeter Wemm avoids parsing the addresses, which can do DNS lookups. 1765c2aa98e2SPeter Wemm Problem noted by John Beck of InReference, Inc. 1766c2aa98e2SPeter Wemm When MIME was being 7->8 bit decoded, "From " lines weren't being 1767c2aa98e2SPeter Wemm properly escaped. Problem noted by Peter Nilsson of the 1768c2aa98e2SPeter Wemm University of Linkoping. 1769c2aa98e2SPeter Wemm In some cases, sendmail would retain root permissions during queue 1770c2aa98e2SPeter Wemm runs even if RunAsUser was set. Problem noted by Mark 1771c2aa98e2SPeter Wemm Thomas of Mark G. Thomas Consulting. 1772c2aa98e2SPeter Wemm If the F=l flag was set on an SMTP mailer to indicate that it is 1773c2aa98e2SPeter Wemm actually local delivery, and NOTIFY=SUCCESS is specified in 1774c2aa98e2SPeter Wemm the envelope, and the receiving SMTP server speaks DSN, then 1775c2aa98e2SPeter Wemm the DSN would be both generated locally and propagated to the 1776c2aa98e2SPeter Wemm other end. 1777c2aa98e2SPeter Wemm The U= mailer field didn't correctly extract the group id if the 1778c2aa98e2SPeter Wemm user id was numeric. Problem noted by Kenneth Herron of 1779c2aa98e2SPeter Wemm MCI Telecommunications Communications. 1780c2aa98e2SPeter Wemm If a message exceeded the fixed maximum size on input, the body of 1781c2aa98e2SPeter Wemm the message was included in the bounce. Note that this did 1782c2aa98e2SPeter Wemm not occur if it exceeded the maximum _output_ size. Problem 1783c2aa98e2SPeter Wemm reported by Kyle Jones of UUNET. 1784c2aa98e2SPeter Wemm PORTABILITY FIXES: 1785c2aa98e2SPeter Wemm AIX4: 4.1 doesn't have a working setreuid(2); change the 1786c2aa98e2SPeter Wemm AIX4 defines to use seteuid(2) instead, which 1787c2aa98e2SPeter Wemm works on 4.1 as well as 4.2. Problem noted by 1788c2aa98e2SPeter Wemm H�kan Lindholm of interAF, Sweden. 1789c2aa98e2SPeter Wemm AIX4: use tzname[] vector to determine time zone name. 1790c2aa98e2SPeter Wemm Patch from NAKAMURA Motonori of Kyoto University. 1791c2aa98e2SPeter Wemm MkLinux: add Makefile.Linux.ppc and OSTYPE(mklinux) support. 1792c2aa98e2SPeter Wemm Contributed by Paul DuBois <dubois@primate.wisc.edu>. 1793c2aa98e2SPeter Wemm Solaris: kstat(3k) support for retrieving the load average. 1794c2aa98e2SPeter Wemm This adds the LA_KSTAT definition for LA_TYPE. 1795c2aa98e2SPeter Wemm The outline of the implementation was contributed 1796c2aa98e2SPeter Wemm by Michael Tokarev of Telecom Service, JSC, Moscow. 1797c2aa98e2SPeter Wemm HP-UX 10.0 gripes about the (perfectly legal!) forward 1798c2aa98e2SPeter Wemm declaration of struct rusage at the top of conf.h; 1799c2aa98e2SPeter Wemm change it to only be included if you are using gcc, 1800c2aa98e2SPeter Wemm which is apparently the only compiler that requires 1801c2aa98e2SPeter Wemm it in the first place. Problem noted by Jeff 1802c2aa98e2SPeter Wemm Earickson of Colby College. 1803c2aa98e2SPeter Wemm IRIX: don't default to using gcc. IRIX is a civilized 1804c2aa98e2SPeter Wemm operating system that comes with a decent compiler 1805c2aa98e2SPeter Wemm by default. Problem noted by Barry Bouwsma and 1806c2aa98e2SPeter Wemm Kari Hurtta. 1807c2aa98e2SPeter Wemm CONFIG: specify F=9 as default in FEATURE(local_procmail) for 1808c2aa98e2SPeter Wemm consistency with other local mailers. Inconsistency 1809c2aa98e2SPeter Wemm pointed out by Teddy Hogeborn <teddy@fukt.hk-r.se>. 1810c2aa98e2SPeter Wemm CONFIG: if the "limited best mx" feature is used (to reduce DNS 1811c2aa98e2SPeter Wemm overhead) as part of the bestmx_is_local feature, the 1812c2aa98e2SPeter Wemm domain part was dropped from the name. Patch from Steve 1813c2aa98e2SPeter Wemm Hubert of the University of Washington, Seattle. 1814c2aa98e2SPeter Wemm CONFIG: catch addresses of the form "user@.dom.ain"; these could 1815c2aa98e2SPeter Wemm end up being translated to the null host name, which would 1816c2aa98e2SPeter Wemm return any entry in /etc/hosts that had a space at the end 1817c2aa98e2SPeter Wemm of the line. Problem noted by Steve Hubert of the 1818c2aa98e2SPeter Wemm University of Washington, Seattle. 1819c2aa98e2SPeter Wemm CONFIG: add OSTYPE(aix4). From Michael Sofka of Rensselaer 1820c2aa98e2SPeter Wemm Polytechnic Institute. 1821c2aa98e2SPeter Wemm MAKEMAP: tweak hash and btree parameters for better performance. 1822c2aa98e2SPeter Wemm Patch from Matt Dillon of Best Internet Communications. 1823c2aa98e2SPeter Wemm NEW FILES: 1824c2aa98e2SPeter Wemm src/Makefiles/Makefile.Linux.ppc 1825c2aa98e2SPeter Wemm cf/ostype/aix4.m4 1826c2aa98e2SPeter Wemm cf/ostype/mklinux.m4 1827c2aa98e2SPeter Wemm 1828c2aa98e2SPeter Wemm8.8.2/8.8.2 96/10/18 1829c2aa98e2SPeter Wemm SECURITY: fix a botch in the 7-bit MIME patch; the previous patch 1830c2aa98e2SPeter Wemm changed the code but didn't fix the problem. 1831c2aa98e2SPeter Wemm PORTABILITY FIXES: 1832c2aa98e2SPeter Wemm Solaris: Don't use the system getusershell(3); it can 1833c2aa98e2SPeter Wemm apparently corrupt the heap in some circumstances. 1834c2aa98e2SPeter Wemm Problem found by Ken Pizzini of Spry, Inc. 1835c2aa98e2SPeter Wemm OP.ME: document several mailer flags that were accidentally omitted 1836c2aa98e2SPeter Wemm from this document. These flags were F=d, F=j, F=R, and F=9. 1837c2aa98e2SPeter Wemm CONFIG: no changes. 1838c2aa98e2SPeter Wemm 1839c2aa98e2SPeter Wemm8.8.1/8.8.1 96/10/17 1840c2aa98e2SPeter Wemm SECURITY: unset all environment variables that the resolver will 1841c2aa98e2SPeter Wemm examine during queue runs and daemon mode. Problem noted 1842c2aa98e2SPeter Wemm by Dan Bernstein of the University of Illinois at Chicago. 1843c2aa98e2SPeter Wemm SECURITY: in some cases an illegal 7-bit MIME-encoded text/plain 1844c2aa98e2SPeter Wemm message could overflow a buffer if it was converted back 1845c2aa98e2SPeter Wemm to 8 bits. This caused core dumps and has the potential 1846c2aa98e2SPeter Wemm for a remote attack. Problem first noted by Gregory Shapiro 1847c2aa98e2SPeter Wemm of WPI. 1848c2aa98e2SPeter Wemm Avoid duplicate deliveries of error messages on systems that don't 1849c2aa98e2SPeter Wemm have flock(2) support. Patch from Motonori Nakamura of 1850c2aa98e2SPeter Wemm Kyoto University. 1851c2aa98e2SPeter Wemm Ignore null FallBackMX (V) options. If this option is null (as 1852c2aa98e2SPeter Wemm opposed to undefined) it can cause "null signature" syserrs 1853c2aa98e2SPeter Wemm on illegal host names. 1854c2aa98e2SPeter Wemm If a Base64 encoded text/plain message has no trailing newline in 1855c2aa98e2SPeter Wemm the encoded text, conversion back to 8 bits will drop the 1856c2aa98e2SPeter Wemm final line. Problem noted by Pierre David. 1857c2aa98e2SPeter Wemm If running with a RunAsUser, sendmail would give bogus "cannot 1858c2aa98e2SPeter Wemm setuid" (or seteuid, or setreuid) messages on some systems. 1859c2aa98e2SPeter Wemm Problem pointed out by Jordan Mendelson of Web Services, Inc. 1860c2aa98e2SPeter Wemm Always print error messages in -bv mode -- previously, -bv would 1861c2aa98e2SPeter Wemm be absolutely silent on errors if the error mode was sent 1862c2aa98e2SPeter Wemm to (say) mail-back. Problem noted by Kyle Jones of UUNET. 1863c2aa98e2SPeter Wemm If -qI/R/S is set (or the ETRN command is used), ignore all long 1864c2aa98e2SPeter Wemm term host status. This is necessary because it is common 1865c2aa98e2SPeter Wemm to do this when you know a host has just come back up. 1866c2aa98e2SPeter Wemm Disallow duplicate HELO/EHLO commands as required by RFC 1651 section 1867c2aa98e2SPeter Wemm 4.2. Excessive permissiveness noted by Lee Flight of the 1868c2aa98e2SPeter Wemm University of Leicester. 1869c2aa98e2SPeter Wemm If a service (such as NIS) is specified as the last entry in the 1870c2aa98e2SPeter Wemm service switch, but that service is not compiled in, sendmail 1871c2aa98e2SPeter Wemm would return a temporary failure when an entry was not found 1872c2aa98e2SPeter Wemm in the map. This caused the message to be queued instead of 1873c2aa98e2SPeter Wemm bouncing immediately. Problem noted by Harry Edmon of the 1874c2aa98e2SPeter Wemm University of Washington. 1875c2aa98e2SPeter Wemm PORTABILITY FIXES: 1876c2aa98e2SPeter Wemm Solaris 2.3 had compilation problems in conf.c. Several 1877c2aa98e2SPeter Wemm people pointed this out. 1878c2aa98e2SPeter Wemm NetBSD from Charles Hannum of MIT. 1879c2aa98e2SPeter Wemm AIX4 improvements based on info from Steve Bauer of South 1880c2aa98e2SPeter Wemm Dakota School of Mines & Technology. 1881c2aa98e2SPeter Wemm CONFIG: ``error:code message'' syntax was broken in virtusertable. 1882c2aa98e2SPeter Wemm Patch from Gil Kloepfer Jr. 1883c2aa98e2SPeter Wemm CONFIG: if FEATURE(nocanonify) was specified, hosts in $=M (set 1884c2aa98e2SPeter Wemm using MASQUERADE_DOMAIN) were not masqueraded unless they 1885c2aa98e2SPeter Wemm were also in $=w. Problem noted by Zoltan Basti of 1886c2aa98e2SPeter Wemm Softec. 1887c2aa98e2SPeter Wemm MAIL.LOCAL: patches to compile and link cleanly on AIX. Based 1888c2aa98e2SPeter Wemm on a patch from Eric Hagberg of Morgan Stanley. 1889c2aa98e2SPeter Wemm MAIL.LOCAL: patches to compile on NEXTSTEP. From Patrick Nolan 1890c2aa98e2SPeter Wemm of Stanford via Robert La Ferla. 1891c2aa98e2SPeter Wemm 1892c2aa98e2SPeter Wemm8.8.0/8.8.0 96/09/26 1893c2aa98e2SPeter Wemm Under some circumstances, Bcc: headers would not be properly 1894c2aa98e2SPeter Wemm deleted. Pointed out by Jonathan Kamens of OpenVision. 1895c2aa98e2SPeter Wemm Log a warning if the sendmail daemon is invoked without a full 1896c2aa98e2SPeter Wemm pathname, which prevents "kill -1" from working. I was 1897c2aa98e2SPeter Wemm urged to put this in by Andrey A. Chernov of DEMOS (Russia). 1898c2aa98e2SPeter Wemm Fix small buffer overflow. Since the data in this buffer was not 1899c2aa98e2SPeter Wemm read externally, there was no security problem (and in fact 1900c2aa98e2SPeter Wemm probably wouldn't really overflow on most compilers). Pointed 1901c2aa98e2SPeter Wemm out by KIZU takashi of Osaka University. 1902c2aa98e2SPeter Wemm Fix problem causing domain literals such as [1.2.3.4] to be ignored 1903c2aa98e2SPeter Wemm if a FallbackMXHost was specified in the configuration file 1904c2aa98e2SPeter Wemm -- all mail would be sent to the fallback even if the original 1905c2aa98e2SPeter Wemm host was accessible. Pointed out by Munenari Hirayama of 1906c2aa98e2SPeter Wemm NSC (Japan). 1907c2aa98e2SPeter Wemm A message that didn't terminate with a newline would (sometimes) not 1908c2aa98e2SPeter Wemm have the trailing "." added properly in the SMTP dialogue, 1909c2aa98e2SPeter Wemm causing SMTP to hang. Patch from Per Hedeland of Ericsson. 1910c2aa98e2SPeter Wemm The DaemonPortOptions suboption to bind to a particular address was 1911c2aa98e2SPeter Wemm incorrect and nonfunctional due to a misunderstanding of the 1912c2aa98e2SPeter Wemm semantics of binding on a passive socket. Patch from 1913c2aa98e2SPeter Wemm NIIBE Yutaka of Mitsubishi Research Institute. 1914c2aa98e2SPeter Wemm Increase the number of MX hosts for a single name to 100 to better 1915c2aa98e2SPeter Wemm handle the truly huge service providers such as AOL, which 1916c2aa98e2SPeter Wemm has 13 at the moment (and climbing). In order to avoid 1917c2aa98e2SPeter Wemm trashing memory, the buffer for all names has only been 1918c2aa98e2SPeter Wemm slightly increased in size, to 12.8K from 10.2K -- this means 1919c2aa98e2SPeter Wemm that if a single name had 100 MX records, the average size 1920c2aa98e2SPeter Wemm of those records could not exceed 128 bytes. Requested by 1921c2aa98e2SPeter Wemm Brad Knowles of America On Line. 1922c2aa98e2SPeter Wemm Restore use of IDENT returns where the OSTYPE field equals "OTHER". 1923c2aa98e2SPeter Wemm Urged by Dan Bernstein of U.C. Berkeley. 1924c2aa98e2SPeter Wemm Print q_statdate and q_specificity in address structure debugging 1925c2aa98e2SPeter Wemm printout. 1926c2aa98e2SPeter Wemm Expand MCI structure flag bits for debugging output. 1927c2aa98e2SPeter Wemm Support IPv6-style domain literals, which can have colons between 1928c2aa98e2SPeter Wemm square braces. 1929c2aa98e2SPeter Wemm Log open file descriptors for the "cannot dup" messages in deliver(); 1930c2aa98e2SPeter Wemm this is an attempt to track down a bug that one person seems 1931c2aa98e2SPeter Wemm to be having (it may be a Solaris bug!). 1932c2aa98e2SPeter Wemm DSN NOTIFY parameters were not properly propagated across queue runs; 1933c2aa98e2SPeter Wemm this caused the NOTIFY info to sometimes be lost. Problem 1934c2aa98e2SPeter Wemm pointed out by Claus Assmann of the 1935c2aa98e2SPeter Wemm Christian-Albrechts-University of Kiel. 1936c2aa98e2SPeter Wemm The statistics gathered in the sendmail.st file were too high; in 1937c2aa98e2SPeter Wemm some cases failures (e.g., user unknown or temporary failure) 1938c2aa98e2SPeter Wemm would count as a delivery as far as the statistics were 1939c2aa98e2SPeter Wemm concerned. Problem noted by Tom Moore of AT&T GIS. 1940c2aa98e2SPeter Wemm Systems that don't have flock() would not send split envelopes in 1941c2aa98e2SPeter Wemm the initial run. Problem pointed out by Leonard Zubkoff of 1942c2aa98e2SPeter Wemm Dandelion Digital. 1943c2aa98e2SPeter Wemm Move buffer overflow checking -- these primarily involve distrusting 1944c2aa98e2SPeter Wemm results that may come from NIS and DNS. 1945c2aa98e2SPeter Wemm 4.4-BSD-derived systems, including FreeBSD, NetBSD, and BSD/OS didn't 1946c2aa98e2SPeter Wemm include <paths.h> and hence had the wrong pathnames for a few 1947c2aa98e2SPeter Wemm things like /var/tmp. Reported by Matthew Green. 1948c2aa98e2SPeter Wemm Conditions were reversed for the Priority: header, resulting in all 1949c2aa98e2SPeter Wemm values being interpreted as non-urgent except for non-urgent, 1950c2aa98e2SPeter Wemm which was interpreted as normal. Patch from Bryan Costales. 1951c2aa98e2SPeter Wemm The -o (optional) flag was being ignored on hash and btree maps 1952c2aa98e2SPeter Wemm since 8.7.2. Fix from Bryan Costales. 1953c2aa98e2SPeter Wemm Content-Types listed in class "q" will always be encoded as 1954c2aa98e2SPeter Wemm Quoted-Printable (or more accurately, will never be encoded 1955c2aa98e2SPeter Wemm as base64). The class can have primary types (e.g., "text") 1956c2aa98e2SPeter Wemm or full types (e.g., "text/plain"). Based on a suggestion by 1957c2aa98e2SPeter Wemm Marius Olafsson of the University of Iceland. 1958c2aa98e2SPeter Wemm Define ${envid} to be the original envelope id (from the ESMTP DSN 1959c2aa98e2SPeter Wemm dialogue) so it can be passed to programs in mailers. 1960c2aa98e2SPeter Wemm Define ${bodytype} to be the body type (from the -B flag or the 1961c2aa98e2SPeter Wemm BODY= ESMTP parameter) so it can be passed to programs in 1962c2aa98e2SPeter Wemm mailers. 1963c2aa98e2SPeter Wemm Cause the VRFY command to return 252 instead of 250 unless the F=q 1964c2aa98e2SPeter Wemm flag is set in the mailer descriptor. Suggested by John 1965c2aa98e2SPeter Wemm Myers of CMU. 1966c2aa98e2SPeter Wemm Implement ESMTP ETRN command to flush the queue for a specific host. 1967c2aa98e2SPeter Wemm The command takes a host name; data for that host is 1968c2aa98e2SPeter Wemm immediately (and asynchronously) flushed. Because this shares 1969c2aa98e2SPeter Wemm the -qR implementation, other hosts may be attempted, but 1970c2aa98e2SPeter Wemm there should be no security implications. Implementation 1971c2aa98e2SPeter Wemm from John Beck of InReference, Inc. See RFC 1985 for details. 1972c2aa98e2SPeter Wemm Add three new command line flags to pass in DSN parameters: -V envid 1973c2aa98e2SPeter Wemm (equivalent to ENVID=envid on the MAIL command), -R ret 1974c2aa98e2SPeter Wemm (equivalent to RET=ret on the MAIL command), and -Nnotify 1975c2aa98e2SPeter Wemm (equivalent to NOTIFY=notify on the RCPT command). Note 1976c2aa98e2SPeter Wemm that the -N flag applies to all recipients; there is no way 1977c2aa98e2SPeter Wemm to specify per-address notifications on the command line, 1978c2aa98e2SPeter Wemm nor is there an equivalent for the ORCPT= per-address 1979c2aa98e2SPeter Wemm parameter. 1980c2aa98e2SPeter Wemm Restore LogLevel option to be safe (it can only be increased); 1981c2aa98e2SPeter Wemm apparently I went into paranoid mode between 8.6 and 8.7 1982c2aa98e2SPeter Wemm and made it unsafe. Pointed out by Dabe Murphy of the 1983c2aa98e2SPeter Wemm University of Maryland. 1984c2aa98e2SPeter Wemm New logging on log level 15: all SMTP traffic. Patches from 1985c2aa98e2SPeter Wemm Andrew Gross of San Diego Supercomputer Center. 1986c2aa98e2SPeter Wemm NetInfo property value searching code wasn't stopping when it found 1987c2aa98e2SPeter Wemm a match. This was causing the wrong values to be found (and 1988c2aa98e2SPeter Wemm had a memory leak). Found by Bastian Schleuter of TU-Berlin. 1989c2aa98e2SPeter Wemm Add new F=0 (zero) mailer flag to turn off MX lookups. It was pointed 1990c2aa98e2SPeter Wemm out by Bill Wisner of Electronics for Imaging that you can't 1991c2aa98e2SPeter Wemm use the bracket address form for the MAIL_HUB macro, since 1992c2aa98e2SPeter Wemm that causes the brackets to remain in the envelope recipient 1993c2aa98e2SPeter Wemm address used for delivery. The simple fix (stripping off the 1994c2aa98e2SPeter Wemm brackets in the config file) breaks the use of IP literal 1995c2aa98e2SPeter Wemm addresses. This flag will solve that problem. 1996c2aa98e2SPeter Wemm Add MustQuoteChars option. This is a list of characters that must 1997c2aa98e2SPeter Wemm be quoted if they are found in the phrase part of an address 1998c2aa98e2SPeter Wemm (that is, the full name part). The characters @,;:\()[] are 1999c2aa98e2SPeter Wemm always in this list and cannot be removed. The default is 2000c2aa98e2SPeter Wemm this list plus . and ' to match RFC 822. 2001c2aa98e2SPeter Wemm Add AllowBogusHELO option; if set, sendmail will allow HELO commands 2002c2aa98e2SPeter Wemm that do not include a host name for back compatibility with 2003c2aa98e2SPeter Wemm some stupid SMTP clients. Setting this violates RFC 1123 2004c2aa98e2SPeter Wemm section 5.2.5. 2005c2aa98e2SPeter Wemm Add MaxDaemonChildren option; if this is set, sendmail will start 2006c2aa98e2SPeter Wemm rejecting connections if it has more than this many 2007c2aa98e2SPeter Wemm outstanding children accepting mail. Note that you may 2008c2aa98e2SPeter Wemm see more processes than this because of outgoing mail; this 2009c2aa98e2SPeter Wemm is for incoming connections only. 2010c2aa98e2SPeter Wemm Add ConnectionRateThrottle option. If set to a positive value, the 2011c2aa98e2SPeter Wemm number of incoming SMTP connections that will be permitted 2012c2aa98e2SPeter Wemm in a single second is limited to this number. Connections are 2013c2aa98e2SPeter Wemm not refused during this time, just deferred. The intent is to 2014c2aa98e2SPeter Wemm flatten out demand so that load average limiting can kick in. 2015c2aa98e2SPeter Wemm It is less radical than MaxDaemonChildren, which will stop 2016c2aa98e2SPeter Wemm accepting connections even if all the connections are idle 2017c2aa98e2SPeter Wemm (e.g., due to connection caching). 2018c2aa98e2SPeter Wemm Add Timeout.hoststatus option. This interval (defaulting to 30m) 2019c2aa98e2SPeter Wemm specifies how long cached information about the state of a 2020c2aa98e2SPeter Wemm host will be kept before they are considered stale and the 2021c2aa98e2SPeter Wemm host is retried. If you are using persistent host status 2022c2aa98e2SPeter Wemm (i.e., the HostStatusDirectory option is set) this will apply 2023c2aa98e2SPeter Wemm between runs; otherwise, it applies only within a single queue 2024c2aa98e2SPeter Wemm run and hence is useful only for hosts that have large queues 2025c2aa98e2SPeter Wemm that take a very long time to run. 2026c2aa98e2SPeter Wemm Add SingleLineFromHeader option. If set, From: headers are coerced 2027c2aa98e2SPeter Wemm into being a single line even if they had newlines in them 2028c2aa98e2SPeter Wemm when read. This is to get around a botch in Lotus Notes. 2029c2aa98e2SPeter Wemm Text class maps were totally broken -- if you ever retrieved the last 2030c2aa98e2SPeter Wemm item in a table it would be truncated. Problem noted by 2031c2aa98e2SPeter Wemm Gregory Neil Shapiro of WPI. 2032c2aa98e2SPeter Wemm Extend the lines printed by the mailq command (== the -bp flag) when 2033c2aa98e2SPeter Wemm -v is given to 120 characters; this allows more information 2034c2aa98e2SPeter Wemm to be displayed. Suggested by Gregory Neil Shapiro of WPI. 2035c2aa98e2SPeter Wemm Allow macro definitions (`D' lines) with unquoted commas; previously 2036c2aa98e2SPeter Wemm this was treated as end-of-input. Problem noted by Bryan 2037c2aa98e2SPeter Wemm Costales. 2038c2aa98e2SPeter Wemm The RET= envelope parameter (used for DSNs) wasn't properly written 2039c2aa98e2SPeter Wemm to the queue file. Fix from John Hughes of Atlantic 2040c2aa98e2SPeter Wemm Technologies, Inc. 2041c2aa98e2SPeter Wemm Close /var/tmp/dead.letter after a successful write -- otherwise 2042c2aa98e2SPeter Wemm if this happens in a queue run it can cause nasty delays. 2043c2aa98e2SPeter Wemm Problem noted by Mark Horton of AT&T. 2044c2aa98e2SPeter Wemm If userdb entries pointed to userdb entries, and there were multiple 2045c2aa98e2SPeter Wemm values for a given key, the database cursor would get 2046c2aa98e2SPeter Wemm trashed by the recursive call. Problem noted by Roy Mongiovi 2047c2aa98e2SPeter Wemm of Georgia Tech. Fixed by reading all the values and creating 2048c2aa98e2SPeter Wemm a comma-separated list; thus, the -v output will be somewhat 2049c2aa98e2SPeter Wemm different for this case. 2050c2aa98e2SPeter Wemm Fix buffer allocation problem with Hesiod-based userdb maps when 2051c2aa98e2SPeter Wemm HES_GETMAILHOST is defined. Based on a patch by Betty Lee 2052c2aa98e2SPeter Wemm of Stanford University. 2053c2aa98e2SPeter Wemm When envelopes were split due to aliases with owner- aliases, and 2054c2aa98e2SPeter Wemm there was some error on one of the lists, more than one of 2055c2aa98e2SPeter Wemm the owners would get the message. Problem pointed out by 2056c2aa98e2SPeter Wemm Roy Mongiovi of Georgia Tech. 2057c2aa98e2SPeter Wemm Detect excessive recursion in macro expansions, e.g., $X defined 2058c2aa98e2SPeter Wemm in terms of $Y which is defined in terms of $X. Problem 2059c2aa98e2SPeter Wemm noted by Bryan Costales; patch from Eric Wassenaar. 2060c2aa98e2SPeter Wemm When using F=U to get "ugly UUCP" From_ lines, a buffer could in 2061c2aa98e2SPeter Wemm some cases get trashed causing bogus From_ lines. Fix from 2062c2aa98e2SPeter Wemm Kyle Jones of UUNET. 2063c2aa98e2SPeter Wemm When doing load average initialization, if the nlist call for avenrun 2064c2aa98e2SPeter Wemm failed, the second and subsequent lookups wouldn't notice 2065c2aa98e2SPeter Wemm that fact causing bogus load averages to be returned. Noted 2066c2aa98e2SPeter Wemm by Casper Dik of Sun Holland. 2067c2aa98e2SPeter Wemm Fix problem with incompatibility with some versions of inet_aton that 2068c2aa98e2SPeter Wemm have changed the return value to unsigned, so a check for an 2069c2aa98e2SPeter Wemm error return of -1 doesn't work. Use INADDR_NONE instead. 2070c2aa98e2SPeter Wemm This could cause mail to addresses such as [foo.com] to bounce 2071c2aa98e2SPeter Wemm or get dropped. Problem noted by Christophe Wolfhugel of the 2072c2aa98e2SPeter Wemm Pasteur Institute. 2073c2aa98e2SPeter Wemm DSNs were inconsistent if a failure occurred during the DATA phase 2074c2aa98e2SPeter Wemm rather than the RCPT phase: the Action: would be correct, but 2075c2aa98e2SPeter Wemm the detailed status information would be wrong. Problem noted 2076c2aa98e2SPeter Wemm by Bob Snyder of General Electric Company. 2077c2aa98e2SPeter Wemm Add -U command line flag and the XUSR ESMTP extension, both indicating 2078c2aa98e2SPeter Wemm that this is the initial MUA->MTA submission. The flag current 2079c2aa98e2SPeter Wemm does nothing, but in future releases (when MUAs start using 2080c2aa98e2SPeter Wemm these flags) it will probably turn on things like DNS 2081c2aa98e2SPeter Wemm canonification. 2082c2aa98e2SPeter Wemm Default end-of-line string (E= specification on mailer [M] lines) 2083c2aa98e2SPeter Wemm to \r\n on SMTP mailers. Default remains \n on non-SMTP 2084c2aa98e2SPeter Wemm mailers. 2085c2aa98e2SPeter Wemm Change the internal definition for the *file* and *include* mailers 2086c2aa98e2SPeter Wemm to have $u in the argument vectors so that they aren't 2087c2aa98e2SPeter Wemm misinterpreted as SMTP mailers and thus use \r\n line 2088c2aa98e2SPeter Wemm termination. This will affect anyone who has redefined 2089c2aa98e2SPeter Wemm either of these in their configuration file. 2090c2aa98e2SPeter Wemm Don't assume that IDENT servers close the connection after a query; 2091c2aa98e2SPeter Wemm responses can be newline terminated. From Terry Kennedy of 2092c2aa98e2SPeter Wemm St. Peter's College. 2093c2aa98e2SPeter Wemm Avoid core dumps on erroneous configuration files that have 2094c2aa98e2SPeter Wemm $#mailer with nothing following. From Bryan Costales. 2095c2aa98e2SPeter Wemm Avoid null pointer dereference with high debug values in unlockqueue. 2096c2aa98e2SPeter Wemm Fix from Randy Martin of Clemson University. 2097c2aa98e2SPeter Wemm Fix possible buffer overrun when expanding very large macros. Fix 2098c2aa98e2SPeter Wemm from Kyle Jones of UUNET. 2099c2aa98e2SPeter Wemm After 25 EXPN or VRFY commands, start pausing for a second before 2100c2aa98e2SPeter Wemm processing each one. This avoids a certain form of denial 2101c2aa98e2SPeter Wemm of service attack. Potential attack pointed out by Bryan 2102c2aa98e2SPeter Wemm Costales. 2103c2aa98e2SPeter Wemm Allow new named (not numbered!) config file rules to do validity 2104c2aa98e2SPeter Wemm checking on SMTP arguments: check_mail for MAIL commands and 2105c2aa98e2SPeter Wemm check_rcpt for RCPT commands. These rulesets can do anything 2106c2aa98e2SPeter Wemm they want; their result is ignored unless they resolve to the 2107c2aa98e2SPeter Wemm $#error mailer, in which case the indicated message is printed 2108c2aa98e2SPeter Wemm and the command is rejected. Similarly, the check_compat 2109c2aa98e2SPeter Wemm ruleset is called before delivery with "from_addr $| to_addr" 2110c2aa98e2SPeter Wemm (the $| is a meta-symbol used to separate the two addresses); 2111c2aa98e2SPeter Wemm it can give a "this sender can't send to this recipient" 2112c2aa98e2SPeter Wemm notification. Note that this patch allows $| to stand alone 2113c2aa98e2SPeter Wemm in rulesets. 2114c2aa98e2SPeter Wemm Define new macros ${client_name}, ${client_addr}, and ${client_port} 2115c2aa98e2SPeter Wemm that have the name, IP address, and port number (respectively) 2116c2aa98e2SPeter Wemm of the SMTP client (that is, the entity at the other end of 2117c2aa98e2SPeter Wemm the connection. These can be used in (e.g.) check_rcpt to 2118c2aa98e2SPeter Wemm verify that someone isn't trying to relay mail through your 2119c2aa98e2SPeter Wemm host inappropriately. Be sure to use the deferred evaluation 2120c2aa98e2SPeter Wemm form, for example $&{client_name}, to avoid having these bound 2121c2aa98e2SPeter Wemm when sendmail reads the configuration file. 2122c2aa98e2SPeter Wemm Add new config file rule check_relay to check the incoming connection 2123c2aa98e2SPeter Wemm information. Like check_compat, it is passed the host name 2124c2aa98e2SPeter Wemm and host address separated by $| and can reject connections 2125c2aa98e2SPeter Wemm on that basis. 2126c2aa98e2SPeter Wemm Allow IDA-style recursive function calls. Code contributed by Mark 2127c2aa98e2SPeter Wemm Lovell and Paul Vixie. 2128c2aa98e2SPeter Wemm Eliminate the "No ! in UUCP From address!" message" -- instead, create 2129c2aa98e2SPeter Wemm a virtual UUCP address using either a domain address or the $k 2130c2aa98e2SPeter Wemm macro. Based on code contributed by Mark Lovell and Paul 2131c2aa98e2SPeter Wemm Vixie. 2132c2aa98e2SPeter Wemm Add Stanford LDAP map. Requires special libraries that are not 2133c2aa98e2SPeter Wemm included with sendmail. Contributed by Booker C. Bense 2134c2aa98e2SPeter Wemm <bbense@networking.stanford.edu>; contact him for support. 2135c2aa98e2SPeter Wemm See also the src/READ_ME file. 2136c2aa98e2SPeter Wemm Allow -dANSI to turn on ANSI escape sequences in debug output; this 2137c2aa98e2SPeter Wemm puts metasymbols (e.g., $+) in reverse video. Really useful 2138c2aa98e2SPeter Wemm only for debugging deep bits of code where it is important to 2139c2aa98e2SPeter Wemm distinguish between the single-character metasymbol $+ and the 2140c2aa98e2SPeter Wemm two characters $, +. 2141c2aa98e2SPeter Wemm Changed ruleset 89 (executed in dumpstate()) to a named ruleset, 2142c2aa98e2SPeter Wemm debug_dumpstate. 2143c2aa98e2SPeter Wemm Add new UnsafeGroupWrites option; if set, .forward and :include: 2144c2aa98e2SPeter Wemm files that are group writable are considered "unsafe" -- that 2145c2aa98e2SPeter Wemm is, programs and files referenced from such files are not 2146c2aa98e2SPeter Wemm valid recipients. 2147c2aa98e2SPeter Wemm Delete bogosity test for FallBackMX host; this prevented it to be a 2148c2aa98e2SPeter Wemm name that was not in DNS or was a domain-literal. Problem 2149c2aa98e2SPeter Wemm noted by Tom May. 2150c2aa98e2SPeter Wemm Change the introduction to error messages to more clearly delineate 2151c2aa98e2SPeter Wemm permanent from temporary failures; if both existed in a 2152c2aa98e2SPeter Wemm single message it could be confusing. Suggested by John 2153c2aa98e2SPeter Wemm Beck of InReference, Inc. 2154c2aa98e2SPeter Wemm The IngoreDot (i) option didn't work for lines that were terminated 2155c2aa98e2SPeter Wemm with CRLF. Problem noted by Ted Stockwell of Secure 2156c2aa98e2SPeter Wemm Computing Corporation. 2157c2aa98e2SPeter Wemm Add a heuristic to improve the handling of unbalanced `<' signs in 2158c2aa98e2SPeter Wemm message headers. Problem reported by Matt Dillon of Best 2159c2aa98e2SPeter Wemm Internet Communications. 2160c2aa98e2SPeter Wemm Check for bogus characters in the 0200-0237 range; since these are 2161c2aa98e2SPeter Wemm used internally, very strange errors can occur if those 2162c2aa98e2SPeter Wemm characters appear in headers. Problem noted by Anders Gertz 2163c2aa98e2SPeter Wemm of Lysator. 2164c2aa98e2SPeter Wemm Implement 7 -> 8 bit MIME conversions. This only takes place if the 2165c2aa98e2SPeter Wemm recipient mailer has the F=9 flag set, and only works on 2166c2aa98e2SPeter Wemm text/plain body types. Code contributed by Marius Olafsson 2167c2aa98e2SPeter Wemm of the University of Iceland. 2168c2aa98e2SPeter Wemm Special case "postmaster" name so that it is always treated as lower 2169c2aa98e2SPeter Wemm case in alias files regardless of configuration settings; 2170c2aa98e2SPeter Wemm this prevents some potential problems where "Postmaster" or 2171c2aa98e2SPeter Wemm "POSTMASTER" might not match "postmaster". In most cases 2172c2aa98e2SPeter Wemm this change is a no-op. 2173c2aa98e2SPeter Wemm The -o map flag was ignored for text maps. Problem noted by Bryan 2174c2aa98e2SPeter Wemm Costales. 2175c2aa98e2SPeter Wemm The -a map flag was ignored for dequote maps. Problem noted by 2176c2aa98e2SPeter Wemm Bryan Costales. 2177c2aa98e2SPeter Wemm Fix core dump when a lookup of a class "prog" map returns no 2178c2aa98e2SPeter Wemm response. Patch from Bryan Costales. 2179c2aa98e2SPeter Wemm Log instances where sendmail is deferring or rejecting connections 2180c2aa98e2SPeter Wemm on LogLevel 14. Suggested by Kyle Jones of UUNET. 2181c2aa98e2SPeter Wemm Include port number in process title for network daemons. Suggested 2182c2aa98e2SPeter Wemm by Kyle Jones of UUNET. 2183c2aa98e2SPeter Wemm Send ``double bounces'' (errors that occur when sending an error 2184c2aa98e2SPeter Wemm message) to the address indicated in the DoubleBounceAddress 2185c2aa98e2SPeter Wemm option (default: postmaster). Previously they were always 2186c2aa98e2SPeter Wemm sent to postmaster. Suggested by Kyle Jones of UUNET. 2187c2aa98e2SPeter Wemm Add new mode, -bD, that acts like -bd in all respects except that 2188c2aa98e2SPeter Wemm it runs in foreground. This is useful for using with a 2189c2aa98e2SPeter Wemm wrapper that "watches" system services. Suggested by Kyle 2190c2aa98e2SPeter Wemm Jones of UUNET. 2191c2aa98e2SPeter Wemm Fix botch in spacing around (parenthesized) comments in addresses 2192c2aa98e2SPeter Wemm when the comment comes before the address. Patch from 2193c2aa98e2SPeter Wemm Motonori Nakamura of Kyoto University. 2194c2aa98e2SPeter Wemm Use the prefix "Postmaster notify" on the Subject: lines of messages 2195c2aa98e2SPeter Wemm that are being bounced to postmaster, rather than "Returned 2196c2aa98e2SPeter Wemm mail". This permits the person who is postmaster more 2197c2aa98e2SPeter Wemm easily determine what messages are to their role as 2198c2aa98e2SPeter Wemm postmaster versus bounces to mail they actually sent. Based 2199c2aa98e2SPeter Wemm on a suggestion by Motonori Nakamura. 2200c2aa98e2SPeter Wemm Add new value "time" for QueueSortOrder option; this causes the queue 2201c2aa98e2SPeter Wemm to be sorted strictly by the time of submission. Note that 22022e43090eSPeter Wemm this can cause very bad behavior over slow lines (because 2203c2aa98e2SPeter Wemm large jobs will tend to delay small jobs) and on nodes with 2204c2aa98e2SPeter Wemm heavy traffic (because old things in the queue for hosts that 2205c2aa98e2SPeter Wemm are down delay processing of new jobs). Also, this does not 2206c2aa98e2SPeter Wemm guarantee that jobs will be delivered in submission order 2207c2aa98e2SPeter Wemm unless you also set DeliveryMode=queue. In general, it should 2208c2aa98e2SPeter Wemm probably only be used on the command line, and only in 2209c2aa98e2SPeter Wemm conjunction with -qRhost.domain. In fact, there are very few 2210c2aa98e2SPeter Wemm cases where it should be used at all. Based on an 2211c2aa98e2SPeter Wemm implementation by Motonori Nakamura. 2212c2aa98e2SPeter Wemm If a map lookup in ruleset 5 returns tempfail, queue the message in 2213c2aa98e2SPeter Wemm the same manner as other rulesets. Previously a temporary 2214c2aa98e2SPeter Wemm failure in ruleset 5 was ignored. Patch from Booker Bense 2215c2aa98e2SPeter Wemm of Stanford University. 2216c2aa98e2SPeter Wemm Don't proceed to the next MX host if an SMTP MAIL command returns a 2217c2aa98e2SPeter Wemm 5yz (permanent failure) code. The next MX host will still be 2218c2aa98e2SPeter Wemm tried if the connection cannot be opened in the first place 2219c2aa98e2SPeter Wemm or if the MAIL command returns a 4yz (temporary failure) code. 2220c2aa98e2SPeter Wemm (It's hard to know what to do here, since neither RFC 974 nor 2221c2aa98e2SPeter Wemm RFC 1123 specify when to proceed to the next MX host.) 2222c2aa98e2SPeter Wemm Suggested by Jonathan Kamens of OpenVision, Inc. 2223c2aa98e2SPeter Wemm Add new "-t" flag for map definitions (the "K" line in the .cf file). 2224c2aa98e2SPeter Wemm This causes map lookups that get a temporary failure (e.g., 2225c2aa98e2SPeter Wemm name server failure) to _not_ defer the delivery of the 2226c2aa98e2SPeter Wemm message. This should only be used if your configuration file 2227c2aa98e2SPeter Wemm is prepared to do something sensible in this case. Based on 2228c2aa98e2SPeter Wemm an idea by Gregory Shapiro of WPI. 2229c2aa98e2SPeter Wemm Fix problem finding network interface addresses. Patch from 2230c2aa98e2SPeter Wemm Motonori Nakamura. 2231c2aa98e2SPeter Wemm Don't reject qf entries that are not owned by your effective uid if 2232c2aa98e2SPeter Wemm you are not running setuid; this makes management of certain 2233c2aa98e2SPeter Wemm kinds of firewall setups difficult. Patch suggested by 2234c2aa98e2SPeter Wemm Eamonn Coleman of Qualcomm. 2235c2aa98e2SPeter Wemm Add persistent host status. This keeps the information normally 2236c2aa98e2SPeter Wemm maintained within a single queue run in disk files that are 2237c2aa98e2SPeter Wemm shared between sendmail instances. The HostStatusDirectory 2238c2aa98e2SPeter Wemm is the directory in which the information is maintained. If 2239c2aa98e2SPeter Wemm not set, persistent host status is turned off. If not a full 2240c2aa98e2SPeter Wemm pathname, it is relative to the queue directory. A common 2241c2aa98e2SPeter Wemm value is ".hoststat". 2242c2aa98e2SPeter Wemm There are also two new operation modes: 2243c2aa98e2SPeter Wemm * -bh prints the status of hosts that have had recent 2244c2aa98e2SPeter Wemm connections. 2245c2aa98e2SPeter Wemm * -bH purges the host statuses. No attempt is made to save 2246c2aa98e2SPeter Wemm recent status information. 2247c2aa98e2SPeter Wemm This feature was originally written by Paul Vixie of Vixie 2248c2aa98e2SPeter Wemm Enterprises for KJS and adapted for V8 by Mark Lovell of 2249c2aa98e2SPeter Wemm Bigrock Consulting. Paul's funding of Mark and Mark's patience 2250c2aa98e2SPeter Wemm with my insistence that things fit cleanly into the V8 2251c2aa98e2SPeter Wemm framework is gratefully appreciated. 2252c2aa98e2SPeter Wemm New SingleThreadDelivery option (requires HostStatusDirectory to 2253c2aa98e2SPeter Wemm operate). Avoids letting two sendmails on the local machine 2254c2aa98e2SPeter Wemm open connections to the same remote host at the same time. 2255c2aa98e2SPeter Wemm This reduces load on the other machine, but can cause mail to 2256c2aa98e2SPeter Wemm be delayed (for example, if one sendmail is delivering a huge 2257c2aa98e2SPeter Wemm message, other sendmails won't be able to send even small 2258c2aa98e2SPeter Wemm messages). Also, it requires another file descriptor (for the 2259c2aa98e2SPeter Wemm lock file) per connection, so you may have to reduce 2260c2aa98e2SPeter Wemm ConnectionCacheSize to avoid running out of per-process 2261c2aa98e2SPeter Wemm file descriptors. Based on the persistent host status code 2262c2aa98e2SPeter Wemm contributed by Paul Vixie and Mark Lovell. 2263c2aa98e2SPeter Wemm Allow sending to non-simple files (e.g., /dev/null) even if the 2264c2aa98e2SPeter Wemm SafeFileEnvironment option is set. Problem noted by Bryan 2265c2aa98e2SPeter Wemm Costales. 2266c2aa98e2SPeter Wemm The -qR flag mistakenly matched flags in the "R" line of the queue 2267c2aa98e2SPeter Wemm file. Problem noted by Bryan Costales. 2268c2aa98e2SPeter Wemm If a job was aborted using the interrupt signal (e.g., control-C from 2269c2aa98e2SPeter Wemm the keyboard), on some occasions an empty df file would be 2270c2aa98e2SPeter Wemm left around; these would collect in the queue directory. 2271c2aa98e2SPeter Wemm Problem noted by Bryan Costales. 2272c2aa98e2SPeter Wemm Change the makesendmail script to enhance the search for Makefiles 2273c2aa98e2SPeter Wemm based on release number. For example, on SunOS 5.5.1, it will 2274c2aa98e2SPeter Wemm search for Makefile.SunOS.5.5.1, Makefile.SunOS.5.5, and then 2275c2aa98e2SPeter Wemm Makefile.SunOS.5.x (in addition to the other rules, e.g., 2276c2aa98e2SPeter Wemm adding $arch). Problem noted by Jason Mastaler of Atlanta 2277c2aa98e2SPeter Wemm Webmasters. 2278c2aa98e2SPeter Wemm When creating maps using "newaliases", always map the keys to lower 2279c2aa98e2SPeter Wemm case when creating the map unless the -f flag is specified on 2280c2aa98e2SPeter Wemm the map itself. Previously this was done based on the F=u 2281c2aa98e2SPeter Wemm flag in the local mailer, which meant you could create aliases 2282c2aa98e2SPeter Wemm that you could never access. Problem noted by Bob Wu of DEC. 2283c2aa98e2SPeter Wemm When a job was read from the queue, the bits causing notification on 2284c2aa98e2SPeter Wemm failure or delay were always set. This caused those 2285c2aa98e2SPeter Wemm notifications to be sent even if NOTIFY=NEVER had been 2286c2aa98e2SPeter Wemm specified. Problem noted by Steve Hubert of the University 2287c2aa98e2SPeter Wemm of Washington, Seattle. 2288c2aa98e2SPeter Wemm Add new configurable routine validate_connection (in conf.c). This 2289c2aa98e2SPeter Wemm lets you decide if you are willing to accept traffic from 2290c2aa98e2SPeter Wemm this host. If it returns FALSE, all SMTP commands will return 2291c2aa98e2SPeter Wemm "550 Access denied". -DTCPWRAPPERS will include support for 2292c2aa98e2SPeter Wemm TCP wrappers; you will need to add -lwrap to the link line. 2293c2aa98e2SPeter Wemm (See src/READ_ME for details.) 2294c2aa98e2SPeter Wemm Don't include the "THIS IS A WARNING MESSAGE ONLY" banner on postmaster 2295c2aa98e2SPeter Wemm bounces. Some people seemed to think that this could be 2296c2aa98e2SPeter Wemm confusing (even though it is true). Suggested by Motonori 2297c2aa98e2SPeter Wemm Nakamura. 2298c2aa98e2SPeter Wemm Add new RunAsUser option; this causes sendmail to do a setuid to that 2299c2aa98e2SPeter Wemm user early in processing to avoid potential security problems. 2300c2aa98e2SPeter Wemm However, this means that all .forward and :include: files must 2301c2aa98e2SPeter Wemm be readable by that user, and all files to be written must be 2302c2aa98e2SPeter Wemm writable by that user and all programs will be executed by that 2303c2aa98e2SPeter Wemm user. It is also incompatible with the SafeFileEnvironment 2304c2aa98e2SPeter Wemm option. In other words, it may not actually add much to 2305c2aa98e2SPeter Wemm security. However, it should be useful on firewalls and other 2306c2aa98e2SPeter Wemm places where users don't have accounts and the aliases file is 2307c2aa98e2SPeter Wemm well constrained. 2308c2aa98e2SPeter Wemm Add Timeout.iconnect. This is like Timeout.connect except it is used 2309c2aa98e2SPeter Wemm only on the first attempt to delivery to an address. It could 2310c2aa98e2SPeter Wemm be set to be lower than Timeout.connect on the principle that 2311c2aa98e2SPeter Wemm the mail should go through quickly to responsive hosts; less 2312c2aa98e2SPeter Wemm responsive hosts get to wait for the next queue run. 2313c2aa98e2SPeter Wemm Fix a problem on Solaris that occasionally causes programs 2314c2aa98e2SPeter Wemm (such as vacation) to hang with their standard input connected 2315c2aa98e2SPeter Wemm to a UDP port. It also created some signal handling problems. 2316c2aa98e2SPeter Wemm The problems turned out to be an interaction between vfork(2) 2317c2aa98e2SPeter Wemm and some of the libraries, particularly NIS/NIS+. I am 2318c2aa98e2SPeter Wemm indebted to Tor Egge <tegge@idt.ntnu.no> for this fix. 2319c2aa98e2SPeter Wemm Change user class map to do the same matching that actual delivery 2320c2aa98e2SPeter Wemm will do instead of just a /etc/passwd lookup. This adds 2321c2aa98e2SPeter Wemm fuzzy matching to the user map. Patch from Dan Oscarsson. 2322c2aa98e2SPeter Wemm The Timeout.* options are not safe -- they can be used to create a 2323c2aa98e2SPeter Wemm denial-of-service attack. Problem noted by Christophe 2324c2aa98e2SPeter Wemm Wolfhugel. 23252e43090eSPeter Wemm Don't send PostmasterCopy messages in the event of a "delayed" 2326c2aa98e2SPeter Wemm notification. Suggested by Barry Bouwsma. 2327c2aa98e2SPeter Wemm Don't advertise "VERB" ESMTP extension if the "noexpn" privacy 2328c2aa98e2SPeter Wemm option is set, since this disables VERB mode. Suggested 2329c2aa98e2SPeter Wemm by John Hawkinson of MIT. 2330c2aa98e2SPeter Wemm Complain if the QueueDirectory (Q) option is not set. Problem noted 2331c2aa98e2SPeter Wemm by Motonori Nakamura of Kyoto University. 2332c2aa98e2SPeter Wemm Only queue messages on transient .forward open failures if there 23332e43090eSPeter Wemm were no successful opens. The previous behavior caused it 2334c2aa98e2SPeter Wemm to queue even if a "fall back" .forward was found. Problem 2335c2aa98e2SPeter Wemm noted by Ann-Kian Yeo of the Dept. of Information Systems 2336c2aa98e2SPeter Wemm and Computer Science (DISCS), NUS, Singapore. 2337c2aa98e2SPeter Wemm Don't do 8->7 bit conversions when bouncing a MIME message that 2338c2aa98e2SPeter Wemm is bouncing because of a MIME error during 8->7 bit conversion; 2339c2aa98e2SPeter Wemm the encapsulated message will bounce again, causing a loop. 2340c2aa98e2SPeter Wemm Problem noted by Steve Hubert of the University of Washington. 2341c2aa98e2SPeter Wemm Create xf (transcript) files using the TempFileMode option value 2342c2aa98e2SPeter Wemm instead of 0644. Suggested by Ann-Kian Yeo of the 2343c2aa98e2SPeter Wemm National University of Singapore. 2344c2aa98e2SPeter Wemm Print errors if setgid/setuid/etc. fail during delivery. This helps 2345c2aa98e2SPeter Wemm detect cases where DefaultUid is set to something that the 2346c2aa98e2SPeter Wemm system can't cope with. 2347c2aa98e2SPeter Wemm PORTABILITY FIXES: 2348c2aa98e2SPeter Wemm Support for AIX/RS 2.2.1 from Mark Whetzel of Western 2349c2aa98e2SPeter Wemm Atlas International. 2350c2aa98e2SPeter Wemm Patches for Intel Paragon OSF/1 1.3 from Leo Bicknell 2351c2aa98e2SPeter Wemm <bicknell@ufp.org>. 2352c2aa98e2SPeter Wemm On DEC OSF/1 3.2 and earlier, the MatchGECOS code would only 2353c2aa98e2SPeter Wemm work on the first recipient of a message due to a 2354c2aa98e2SPeter Wemm bug in the getpwent family. If this is something you 2355c2aa98e2SPeter Wemm use, you can define DEC_OSF_BROKEN_GETPWENT=1 for a 2356c2aa98e2SPeter Wemm workaround. From Maximum Entropy of Sanford C. 2357c2aa98e2SPeter Wemm Bernstein and Associates. 2358c2aa98e2SPeter Wemm FreeBSD 1.1.5.1 uname -r returns a string containing 2359c2aa98e2SPeter Wemm parentheses, which breaks makesendmail. Reported 2360c2aa98e2SPeter Wemm by Piero Serini <piero@strider.ibenet.it>. 2361c2aa98e2SPeter Wemm Sequent DYNIX/ptx 4.0.2 patches from Jack Woolley of 2362c2aa98e2SPeter Wemm Systems and Computer Technology Corporation. 2363c2aa98e2SPeter Wemm Solaris 2.x: omit the UUCP grade parameter (-g flag) because 2364c2aa98e2SPeter Wemm it is system-dependent. Problem noted by J.J. Bailey 2365c2aa98e2SPeter Wemm of Bailey Computer Consulting. 2366c2aa98e2SPeter Wemm Pyramid NILE running DC/OSx support from Earle F. Ake of 2367c2aa98e2SPeter Wemm Hassler Communication Systems Technology, Inc. 2368c2aa98e2SPeter Wemm HP-UX 10.x compile glitches, reported by Anne Brink of the 2369c2aa98e2SPeter Wemm U.S. Army and James Byrne of Harte & Lyne Limited. 2370c2aa98e2SPeter Wemm NetBSD from Matthew Green of the NetBSD crew. 2371c2aa98e2SPeter Wemm SCO 5.x from Keith Reynolds of SCO. 2372c2aa98e2SPeter Wemm IRIX 6.2 from Robert Tarrall of the University of 2373c2aa98e2SPeter Wemm Colorado and Kari Hurtta of the Finnish Meteorological 2374c2aa98e2SPeter Wemm Institute. 2375c2aa98e2SPeter Wemm UXP/DS (Fujitsu/ICL DS/90 series) support from Diego R. 2376c2aa98e2SPeter Wemm Lopez, CICA (Seville). 2377c2aa98e2SPeter Wemm NCR SVR4 MP-RAS 3.x support from Tom Moore of NCR. 2378c2aa98e2SPeter Wemm PTX 3.2.0 from Kenneth Stailey of the US Department of Labor 2379c2aa98e2SPeter Wemm Employment Standards Administration. 2380c2aa98e2SPeter Wemm Altos System V (5.3.1) from Tim Rice of Multitalents. 2381c2aa98e2SPeter Wemm Concurrent Systems Corporation Maxion from Donald R. Laster 2382c2aa98e2SPeter Wemm Jr. 2383c2aa98e2SPeter Wemm NetInfo maps (improved debugging and multi-valued aliases) 2384c2aa98e2SPeter Wemm from Adrian Steinmann of Steinmann Consulting. 2385c2aa98e2SPeter Wemm ConvexOS 11.5 (including SecureWare C2 and the Share Scheduler) 2386c2aa98e2SPeter Wemm from Eric Schnoebelen of Convex. 2387c2aa98e2SPeter Wemm Linux 2.0 mail.local patches from Horst von Brand. 2388c2aa98e2SPeter Wemm NEXTSTEP 3.x compilation from Robert La Ferla. 2389c2aa98e2SPeter Wemm NEXTSTEP 3.x code changes from Allan J. Nathanson of NeXT. 2390c2aa98e2SPeter Wemm Solaris 2.5 configuration fixes for mail.local by Jim Davis 2391c2aa98e2SPeter Wemm of the University of Arizona. 2392c2aa98e2SPeter Wemm Solaris 2.5 has a working setreuid. Noted by David Linn of 2393c2aa98e2SPeter Wemm Vanderbilt University. 2394c2aa98e2SPeter Wemm Solaris changes for praliases, makemap, mailstats, and smrsh. 2395c2aa98e2SPeter Wemm Previously you had to add -DSOLARIS in Makefile.dist; 2396c2aa98e2SPeter Wemm this auto-detects. Based on a patch from Randall 2397c2aa98e2SPeter Wemm Winchester of the University of Maryland. 2398c2aa98e2SPeter Wemm CONFIG: add generic-nextstep3.3.mc file. Contributed by 2399c2aa98e2SPeter Wemm Robert La Ferla of Hot Software. 2400c2aa98e2SPeter Wemm CONFIG: allow mailertables to resolve to ``error:code message'' 2401c2aa98e2SPeter Wemm (where "code" is an exit status) on domains (previously 2402c2aa98e2SPeter Wemm worked only on hosts). Patch from Cor Bosman of Xs4all 2403c2aa98e2SPeter Wemm Foundation. 2404c2aa98e2SPeter Wemm CONFIG: hooks for IPv6-style domain literals. 2405c2aa98e2SPeter Wemm CONFIG: predefine ALIAS_FILE and change the prototype file so that 2406c2aa98e2SPeter Wemm if it is undefined the AliasFile option is never set; this 2407c2aa98e2SPeter Wemm should be transparent for most everyone. Suggested by John 2408c2aa98e2SPeter Wemm Myers of CMU. 2409c2aa98e2SPeter Wemm CONFIG: add FEATURE(limited_masquerade). Without this feature, any 2410c2aa98e2SPeter Wemm domain listed in $=w is masqueraded. With it, only those 2411c2aa98e2SPeter Wemm domains listed in a MASQUERADE_DOMAIN macro are masqueraded. 2412c2aa98e2SPeter Wemm CONFIG: add FEATURE(masquerade_entire_domain). This causes 2413c2aa98e2SPeter Wemm masquerading specified by MASQUERADE_DOMAIN to apply to all 2414c2aa98e2SPeter Wemm hosts under those domains as well as the domain headers 2415c2aa98e2SPeter Wemm themselves. For example, if a configuration had 2416c2aa98e2SPeter Wemm MASQUERADE_DOMAIN(foo.com), then without this feature only 2417c2aa98e2SPeter Wemm foo.com would be masqueraded; with it, *.foo.com would be 2418c2aa98e2SPeter Wemm masqueraded as well. Based on an implementation by Richard 2419c2aa98e2SPeter Wemm (Pug) Bainter of U. Texas. 2420c2aa98e2SPeter Wemm CONFIG: add FEATURE(genericstable) to do a more general rewriting of 2421c2aa98e2SPeter Wemm outgoing addresses. Defaults to ``hash -o /etc/genericstable''. 2422c2aa98e2SPeter Wemm Keys are user names; values are outgoing mail addresses. Yes, 2423c2aa98e2SPeter Wemm this does overlap with the user database, and figuring out 2424c2aa98e2SPeter Wemm just when to use which one may be tricky. Based on code 2425c2aa98e2SPeter Wemm contributed by Richard (Pug) Bainter of U. Texas with updates 2426c2aa98e2SPeter Wemm from Per Hedeland of Ericsson. 2427c2aa98e2SPeter Wemm CONFIG: add FEATURE(virtusertable) to do generalized rewriting of 2428c2aa98e2SPeter Wemm incoming addresses. Defaults to ``hash -o /etc/virtusertable''. 2429c2aa98e2SPeter Wemm Keys are either fully qualified addresses or just the host 2430c2aa98e2SPeter Wemm part (with the @ sign). For example, a table containing: 2431c2aa98e2SPeter Wemm info@foo.com foo-info 2432c2aa98e2SPeter Wemm info@bar.com bar-info 2433c2aa98e2SPeter Wemm @baz.org jane@elsewhere.net 2434c2aa98e2SPeter Wemm would send all mail destined for info@foo.com to foo-info 2435c2aa98e2SPeter Wemm (which is presumably an alias), mail addressed to info@bar.com 2436c2aa98e2SPeter Wemm to bar-info, and anything addressed to anyone at baz.org will 2437c2aa98e2SPeter Wemm be sent to jane@elsewhere.net. The names foo.com, bar.com, 2438c2aa98e2SPeter Wemm and baz.org must all be in $=w. Based on discussions with 2439c2aa98e2SPeter Wemm a great many people. 2440c2aa98e2SPeter Wemm CONFIG: add nullclient configurations to define SMTP_MAILER_FLAGS. 2441c2aa98e2SPeter Wemm Suggested by Richard Bainter. 2442c2aa98e2SPeter Wemm CONFIG: add FAX_MAILER_ARGS to tweak the arguments passed to the 2443c2aa98e2SPeter Wemm "fax" mailer. 2444c2aa98e2SPeter Wemm CONFIG: allow mailertable entries to resolve to local:user; this 2445c2aa98e2SPeter Wemm passes the original user@host in to procmail-style local 2446c2aa98e2SPeter Wemm mailers as the "detail" information to allow them to do 2447c2aa98e2SPeter Wemm additional clever processing. From Joe Pruett of 2448c2aa98e2SPeter Wemm Teleport Corporation. Delivery to the original user can 2449c2aa98e2SPeter Wemm be done by specifying "local:" (with nothing after the colon). 2450c2aa98e2SPeter Wemm CONFIG: allow any context that takes "mailer:domain" to also take 2451c2aa98e2SPeter Wemm "mailer:user@domain" to force mailing to the given user; 2452c2aa98e2SPeter Wemm "local:user" can also be used to do local delivery. This 2453c2aa98e2SPeter Wemm applies on *_RELAY and in the mailertable entries. Based 2454c2aa98e2SPeter Wemm on a suggestion by Ribert Kiessling of Easynet. 2455c2aa98e2SPeter Wemm CONFIG: Allow FEATURE(bestmx_is_local) to take an argument that 2456c2aa98e2SPeter Wemm limits the possible domains; this reduces the number of DNS 2457c2aa98e2SPeter Wemm lookups required to support this feature. For example, 2458c2aa98e2SPeter Wemm FEATURE(bestmx_is_local, my.site.com) limits the lookups 2459c2aa98e2SPeter Wemm to domains under my.site.com. Code contributed by Anthony 2460c2aa98e2SPeter Wemm Thyssen <anthony@cit.gu.edu.au>. 2461c2aa98e2SPeter Wemm CONFIG: LOCAL_RULESETS introduces any locally defined rulesets, 2462c2aa98e2SPeter Wemm such as the check_rcpt ruleset. Suggested by Gregory Shapiro 2463c2aa98e2SPeter Wemm of WPI. 2464c2aa98e2SPeter Wemm CONFIG: MAILER_DEFINITIONS introduces any mailer definitions, in the 2465c2aa98e2SPeter Wemm event you have to define local mailers. Suggested by 2466c2aa98e2SPeter Wemm Gregory Shapiro of WPI. 2467c2aa98e2SPeter Wemm CONFIG: fix cases where a three- (or more-) stage route-addr could 2468c2aa98e2SPeter Wemm be misinterpreted as a list:...; syntax. Based on a patch by 2469c2aa98e2SPeter Wemm Vlado Potisk <Vlado_Potisk@tempest.sk>. 2470c2aa98e2SPeter Wemm CONFIG: Fix masquerading of UUCP addresses when the UUCP relay is 2471c2aa98e2SPeter Wemm remotely connected. The address host!user was being 2472c2aa98e2SPeter Wemm converted to host!user@thishost instead of host!user@uurelay. 2473c2aa98e2SPeter Wemm Problem noted by William Gianopoulos of Raytheon Company. 2474c2aa98e2SPeter Wemm CONFIG: add confTO_ICONNECT to set Timeout.iconnect. 2475c2aa98e2SPeter Wemm CONFIG: change FEATURE(redirect) message from "User not local" to 2476c2aa98e2SPeter Wemm "User has moved"; the former wording was confusing if the 2477c2aa98e2SPeter Wemm new address is still on the local host. Based on a suggestion 2478c2aa98e2SPeter Wemm by Andreas Luik. 2479c2aa98e2SPeter Wemm CONFIG: add support in FEATURE(nullclient) for $=E (exposed users). 2480c2aa98e2SPeter Wemm However, the class is not pre-initialized to contain root. 2481c2aa98e2SPeter Wemm Suggested by Gregory Neil Shapiro. 2482c2aa98e2SPeter Wemm CONTRIB: Remove XLA code at the request of the author, Christophe 2483c2aa98e2SPeter Wemm Wolfhugel. 2484c2aa98e2SPeter Wemm CONTRIB: Add re-mqueue.pl, contributed by Paul Pomes of Qualcomm. 2485c2aa98e2SPeter Wemm MAIL.LOCAL: make it possible to compile mail.local on Solaris. Note 2486c2aa98e2SPeter Wemm well: this produces a slightly different mailbox format (no 2487c2aa98e2SPeter Wemm Content-Length: headers), file ownerships and modes are 2488c2aa98e2SPeter Wemm different (not owned by group mail; mode 600 instead of 660), 2489c2aa98e2SPeter Wemm and the local mailer flags will have to be tweaked (make them 2490c2aa98e2SPeter Wemm match bsd4.4) in order to use this mailer. Patches from Paul 2491c2aa98e2SPeter Wemm Hammann of the Missouri Research and Education Network. 2492c2aa98e2SPeter Wemm MAIL.LOCAL: in some cases it could return EX_OK even though there 2493c2aa98e2SPeter Wemm was a delivery error, such as if the ownership on the file 2494c2aa98e2SPeter Wemm was wrong or the mode changed between the initial stat and 2495c2aa98e2SPeter Wemm the open. Problem reported by William Colburn of the New 2496c2aa98e2SPeter Wemm Mexico Institute of Mining and Technology. 2497c2aa98e2SPeter Wemm MAILSTATS: handle zero length files more reliably. Patch from Bryan 2498c2aa98e2SPeter Wemm Costales. 2499c2aa98e2SPeter Wemm MAILSTATS: add man page contributed by Keith Bostic of BSDI. 2500c2aa98e2SPeter Wemm MAKEMAP: The -d flag (to allow duplicate keys) to a btree map wasn't 2501c2aa98e2SPeter Wemm honored. Fix from Michael Scott Shappe. 2502c2aa98e2SPeter Wemm PRALIASES: add man page contributed by Keith Bostic of BSDI. 2503c2aa98e2SPeter Wemm NEW FILES: 2504c2aa98e2SPeter Wemm src/Makefiles/Makefile.AIX.2 2505c2aa98e2SPeter Wemm src/Makefiles/Makefile.IRIX.6.2 2506c2aa98e2SPeter Wemm src/Makefiles/Makefile.maxion 2507c2aa98e2SPeter Wemm src/Makefiles/Makefile.NCR.MP-RAS.3.x 2508c2aa98e2SPeter Wemm src/Makefiles/Makefile.SCO.5.x 2509c2aa98e2SPeter Wemm src/Makefiles/Makefile.UXPDSV20 2510c2aa98e2SPeter Wemm mailstats/mailstats.8 2511c2aa98e2SPeter Wemm praliases/praliases.8 2512c2aa98e2SPeter Wemm cf/cf/generic-nextstep3.3.mc 2513c2aa98e2SPeter Wemm cf/feature/genericstable.m4 2514c2aa98e2SPeter Wemm cf/feature/limited_masquerade.m4 2515c2aa98e2SPeter Wemm cf/feature/masquerade_entire_domain.m4 2516c2aa98e2SPeter Wemm cf/feature/virtusertable.m4 2517c2aa98e2SPeter Wemm cf/ostype/aix2.m4 2518c2aa98e2SPeter Wemm cf/ostype/altos.m4 2519c2aa98e2SPeter Wemm cf/ostype/maxion.m4 2520c2aa98e2SPeter Wemm cf/ostype/solaris2.ml.m4 2521c2aa98e2SPeter Wemm cf/ostype/uxpds.m4 2522c2aa98e2SPeter Wemm contrib/re-mqueue.pl 2523c2aa98e2SPeter Wemm DELETED FILES: 2524c2aa98e2SPeter Wemm src/Makefiles/Makefile.Solaris 2525c2aa98e2SPeter Wemm contrib/xla/README 2526c2aa98e2SPeter Wemm contrib/xla/xla.c 2527c2aa98e2SPeter Wemm RENAMED FILES: 2528c2aa98e2SPeter Wemm src/Makefiles/Makefile.NCR3000 => Makefile.NCR.MP-RAS.2.x 2529c2aa98e2SPeter Wemm src/Makefiles/Makefile.SCO.3.2v4.2 => Makefile.SCO.4.2 2530c2aa98e2SPeter Wemm src/Makefiles/Makefile.UXPDS => Makefile.UXPDSV10 2531c2aa98e2SPeter Wemm src/Makefiles/Makefile.NeXT => Makefile.NeXT.2.x 2532c2aa98e2SPeter Wemm src/Makefiles/Makefile.NEXTSTEP => Makefile.NeXT.3.x 2533c2aa98e2SPeter Wemm 2534c2aa98e2SPeter Wemm8.7.6/8.7.3 96/09/17 2535c2aa98e2SPeter Wemm SECURITY: It is possible to force getpwuid to fail when writing the 2536c2aa98e2SPeter Wemm queue file, causing sendmail to fall back to running programs 2537c2aa98e2SPeter Wemm as the default user. This is not exploitable from off-site. 2538c2aa98e2SPeter Wemm Workarounds include using a unique user for the DefaultUser 2539c2aa98e2SPeter Wemm (old u & g options) and using smrsh as the local shell. 2540c2aa98e2SPeter Wemm SECURITY: fix some buffer overruns; in at least one case this allows 2541c2aa98e2SPeter Wemm a local user to get root. This is not known to be exploitable 2542c2aa98e2SPeter Wemm from off-site. The workaround is to disable chfn(1) commands. 2543c2aa98e2SPeter Wemm 2544c2aa98e2SPeter Wemm8.7.5/8.7.3 96/03/04 2545c2aa98e2SPeter Wemm Fix glitch in 8.7.4 when putting certain internal lines; this can 2546c2aa98e2SPeter Wemm in some case cause connections to hang or messages to have 2547c2aa98e2SPeter Wemm extra spaces in odd places. Patch from Eric Wassenaar; 2548c2aa98e2SPeter Wemm reports from Eric Hall of Chiron Corporation, Stephen 2549c2aa98e2SPeter Wemm Hansen of Stanford University, Dean Gaudet of HotWired, 2550c2aa98e2SPeter Wemm and others. 2551c2aa98e2SPeter Wemm 2552c2aa98e2SPeter Wemm8.7.4/8.7.3 96/02/18 2553c2aa98e2SPeter Wemm SECURITY: In some cases it was still possible for an attacker to 2554c2aa98e2SPeter Wemm insert newlines into a queue file, thus allowing access to 2555c2aa98e2SPeter Wemm any user (except root). 2556c2aa98e2SPeter Wemm CONFIG: no changes -- it is not a bug that the configuration 2557c2aa98e2SPeter Wemm version number is unchanged. 2558c2aa98e2SPeter Wemm 2559c2aa98e2SPeter Wemm8.7.3/8.7.3 95/12/03 2560c2aa98e2SPeter Wemm Fix botch in name server timeout in RCPT code; this problem caused 2561c2aa98e2SPeter Wemm two responses in SMTP, which breaks things horribly. Fix 2562c2aa98e2SPeter Wemm from Gregory Neil Shapiro of WPI. 2563c2aa98e2SPeter Wemm Verify that L= value on M lines cannot be negative, which could cause 2564c2aa98e2SPeter Wemm negative array subscripting. Not a security problem since 2565c2aa98e2SPeter Wemm this has to be in the config file, but it could have caused 2566c2aa98e2SPeter Wemm core dumps. Pointed out by Bryan Costales. 2567c2aa98e2SPeter Wemm Fix -d21 debug output for long macro names. Pointed out by Bryan 2568c2aa98e2SPeter Wemm Costales. 2569c2aa98e2SPeter Wemm PORTABILITY FIXES: 2570c2aa98e2SPeter Wemm SCO doesn't have ftruncate. From Bill Aten of Computerizers. 2571c2aa98e2SPeter Wemm IBM's version of arpa/nameser.h defaults to the wrong byte 2572c2aa98e2SPeter Wemm order. Tweak it to work properly. Based on fixes 2573c2aa98e2SPeter Wemm from Fletcher Mattox of UTexas and Betty Lee of 2574c2aa98e2SPeter Wemm Stanford University. 2575c2aa98e2SPeter Wemm CONFIG: add confHOSTS_FILE m4 variable to set HostsFile option. 2576c2aa98e2SPeter Wemm Deficiency pointed out by Bryan Costales of ICSI. 2577c2aa98e2SPeter Wemm 2578c2aa98e2SPeter Wemm8.7.2/8.7.2 95/11/19 2579c2aa98e2SPeter Wemm REALLY fix the backslash escapes in SmtpGreetingMessage, 2580c2aa98e2SPeter Wemm OperatorChars, and UnixFromLine options. They were not 2581c2aa98e2SPeter Wemm properly repaired in 8.7.1. 2582c2aa98e2SPeter Wemm Completely delete the Bcc: header if and only if there are other 2583c2aa98e2SPeter Wemm valid recipient headers (To:, Cc: or Apparently-To:, the 2584c2aa98e2SPeter Wemm last being a historic botch, of course). If Bcc: is the 2585c2aa98e2SPeter Wemm only recipient header in the message, its value is tossed, 25862e43090eSPeter Wemm but the header name is kept. The old behavior (always keep 2587c2aa98e2SPeter Wemm the header name and toss the value) allowed primary recipients 2588c2aa98e2SPeter Wemm to see that a Bcc: went to _someone_. 2589c2aa98e2SPeter Wemm Include queue id on ``Authentication-Warning: <host>: <user> set 2590c2aa98e2SPeter Wemm sender to <address> using -f'' syslog messages. Suggested 2591c2aa98e2SPeter Wemm by Kari Hurtta. 2592c2aa98e2SPeter Wemm If a sequence or switch map lookup entry gets a tempfail but then 2593c2aa98e2SPeter Wemm continues on to another map type, but the name is not found, 2594c2aa98e2SPeter Wemm return a temporary failure from the sequence or switch map. 2595c2aa98e2SPeter Wemm For example, if hosts search ``dns files'' and DNS fails 2596c2aa98e2SPeter Wemm with a tempfail, the hosts map will go on and search files, 2597c2aa98e2SPeter Wemm but if it fails the whole thing should be a tempfail, not 2598c2aa98e2SPeter Wemm a permanent (host unknown) failure, even though that is the 2599c2aa98e2SPeter Wemm failure in the hosts.files map. This error caused hard 2600c2aa98e2SPeter Wemm bounces when it should have requeued. 2601c2aa98e2SPeter Wemm Aliases to files such as /users/bar/foo/inbox, with /users/bar/foo 2602c2aa98e2SPeter Wemm owned by bar mode 700 and inbox being setuid bar stopped 2603c2aa98e2SPeter Wemm working properly due to excessive paranoia. Pointed out by 2604c2aa98e2SPeter Wemm John Hawkinson of Panix. 2605c2aa98e2SPeter Wemm An SMTP RCPT command referencing a host that gave a nameserver 2606c2aa98e2SPeter Wemm timeout would return a 451 command (8.6 accepted it and 26072e43090eSPeter Wemm queued it locally). Revert to the 8.6 behavior in order 2608c2aa98e2SPeter Wemm to simplify queue management for clustered systems. Suggested 2609c2aa98e2SPeter Wemm by Gregory Neil Shapiro of WPI. The same problem could break 2610c2aa98e2SPeter Wemm MH, which assumes that the SMTP session will succeed (tsk, tsk 2611c2aa98e2SPeter Wemm -- mail gets lost!); this was pointed out by Stuart Pook of 2612c2aa98e2SPeter Wemm Infobiogen. 2613c2aa98e2SPeter Wemm Fix possible buffer overflow in munchstring(). This was not a security 2614c2aa98e2SPeter Wemm problem because you couldn't specify any argument to this 2615c2aa98e2SPeter Wemm without first giving up root privileges, but it is still a 2616c2aa98e2SPeter Wemm good idea to avoid future problems. Problem noted by John 2617c2aa98e2SPeter Wemm Hawkinson and Sam Hartman of MIT. 2618c2aa98e2SPeter Wemm ``452 Out of disk space for temp file'' messages weren't being 2619c2aa98e2SPeter Wemm printed. Fix from David Perlin of Nanosoft. 26202e43090eSPeter Wemm Don't advertise the ESMTP DSN extension if the SendMimeErrors option 2621c2aa98e2SPeter Wemm is not set, since this is required to get the actual DSNs 2622c2aa98e2SPeter Wemm created. Problem pointed out by John Gardiner Myers of CMU. 2623c2aa98e2SPeter Wemm Log permission problems that cause .forward and :include: files to 2624c2aa98e2SPeter Wemm be untrusted or ignored on log level 12 and higher. Suggested 2625c2aa98e2SPeter Wemm by Randy Martin of Clemson University. 2626c2aa98e2SPeter Wemm Allow user ids in U= clauses of M lines to have hyphens and 2627c2aa98e2SPeter Wemm underscores. 2628c2aa98e2SPeter Wemm Fix overcounting of recipients -- only happened when sending to an 2629c2aa98e2SPeter Wemm alias. Pointed out by Mark Andrews of SGI and Jack Woolley 2630c2aa98e2SPeter Wemm of Systems and Computer Technology Corporation. 2631c2aa98e2SPeter Wemm If a message is sent to an address that fails, the error message that 2632c2aa98e2SPeter Wemm is returned could show some extraneous "success" information 2633c2aa98e2SPeter Wemm included even if the user did not request success notification, 2634c2aa98e2SPeter Wemm which was confusing. Pointed out by Allan Johannesen of WPI. 2635c2aa98e2SPeter Wemm Config files that had no AliasFile definition were defaulting to 2636c2aa98e2SPeter Wemm using /etc/aliases; this caused problems with nullclient 2637c2aa98e2SPeter Wemm configurations. Change it back to the 8.6 semantics of 2638c2aa98e2SPeter Wemm having no local alias file unless it is declared. Problem 2639c2aa98e2SPeter Wemm noted by Charles Karney of Princeton University. 2640c2aa98e2SPeter Wemm Fix compile problem if NOTUNIX is defined. Pointed out by Bryan 2641c2aa98e2SPeter Wemm Costales of ICSI. 2642c2aa98e2SPeter Wemm Map lookups of class "userdb" maps were always case sensitive; they 2643c2aa98e2SPeter Wemm should be controlled by the -f flag like other maps. Pointed 2644c2aa98e2SPeter Wemm out by Bjart Kvarme <bjart.kvarme@usit.uio.no>. 2645c2aa98e2SPeter Wemm Fix problem that caused some addresses to be passed through ruleset 5 2646c2aa98e2SPeter Wemm even when they were tagged as "sticky" by prefixing the 2647c2aa98e2SPeter Wemm address with an "@". Patch from Thomas Dwyer III of Michigan 2648c2aa98e2SPeter Wemm Technological University. 2649c2aa98e2SPeter Wemm When converting a message to Quoted-Printable, prevent any lines with 2650c2aa98e2SPeter Wemm dots alone on a line by themselves. This is because of the 2651c2aa98e2SPeter Wemm preponderance of broken mailers that still get this wrong. 2652c2aa98e2SPeter Wemm Code contributed by Per Hedeland of Ericsson. 2653c2aa98e2SPeter Wemm Fix F{macro}/file construct -- it previously did nothing. Pointed 2654c2aa98e2SPeter Wemm out by Bjart Kvarme of USIT/UiO (Norway). 2655c2aa98e2SPeter Wemm Announce whether a cached connection is SMTP or ESMTP (in -v mode). 2656c2aa98e2SPeter Wemm Requested by Allan Johannesen. 2657c2aa98e2SPeter Wemm Delete check for text format of alias files -- it should be legal 2658c2aa98e2SPeter Wemm to have the database format of the alias files without the 2659c2aa98e2SPeter Wemm text version. Problem pointed out by Joe Rhett of Navigist, 2660c2aa98e2SPeter Wemm Inc. 2661c2aa98e2SPeter Wemm If "Ot" was specified with no value, the TZ variable was not properly 2662c2aa98e2SPeter Wemm imported from the environment. Pointed out by Frank Crawford 2663c2aa98e2SPeter Wemm <frank@ansto.gov.au>. 2664c2aa98e2SPeter Wemm Some architectures core dumped on "program" maps that didn't have 2665c2aa98e2SPeter Wemm extra arguments. Patch from Booker C. Bense of Stanford 2666c2aa98e2SPeter Wemm University. 2667c2aa98e2SPeter Wemm Queue run processes would re-spawn daemons when given a SIGHUP; only 2668c2aa98e2SPeter Wemm the parent should do this. Fix from Brian Coan of the 2669c2aa98e2SPeter Wemm Association for Progressive Communications. 2670c2aa98e2SPeter Wemm If MinQueueAge was set and a message was considered but not run 2671c2aa98e2SPeter Wemm during a queue run and the Timeout.queuereturn interval was 2672c2aa98e2SPeter Wemm reached, a "timed out" error message would be returned that 2673c2aa98e2SPeter Wemm didn't include the failed address (and claimed to be a warning 2674c2aa98e2SPeter Wemm even though it was fatal). The fix is to not return such 2675c2aa98e2SPeter Wemm messages until they are actually tried, i.e., in the next 2676c2aa98e2SPeter Wemm MinQueueAge interval. Problem noted by Rein Tollevik of 2677c2aa98e2SPeter Wemm SINTEF RUNIT, Oslo. 2678c2aa98e2SPeter Wemm Add HES_GETMAILHOST compile flag to support MIT Hesiod distributions 2679c2aa98e2SPeter Wemm that have the hes_getmailhost() routine. DEC Hesiod 2680c2aa98e2SPeter Wemm distributions do not have this routine. Based on a patch 2681c2aa98e2SPeter Wemm from Betty Lee of Stanford University. 2682c2aa98e2SPeter Wemm Extensive cleanups to map open code to handle a locking race condition 2683c2aa98e2SPeter Wemm in ndbm, hash, and btree format database files on some (most 2684c2aa98e2SPeter Wemm non-4.4-BSD based) OS architectures. This should solve the 2685c2aa98e2SPeter Wemm occasional "user unknown" problem during alias rebuilds that 2686c2aa98e2SPeter Wemm has plagued me for quite some time. Based on a patch from 2687c2aa98e2SPeter Wemm Thomas Dwyer III of Michigan Technological University. 2688c2aa98e2SPeter Wemm PORTABILITY FIXES: 2689c2aa98e2SPeter Wemm Solaris: Change location of newaliases and mailq from 2690c2aa98e2SPeter Wemm /usr/ucb to /usr/bin to match Sun settings. From 2691c2aa98e2SPeter Wemm James B. Davis of TCI. 2692c2aa98e2SPeter Wemm DomainOS: Makefile.DomainOS doesn't require -ldbm. From 2693c2aa98e2SPeter Wemm Don Lewis of Silicon Systems. 2694c2aa98e2SPeter Wemm HP-UX 10: rename Makefile.HP-UX.10 => Makefile.HP-UX.10.x 2695c2aa98e2SPeter Wemm so that the makesendmail script will find it. Pointed 2696c2aa98e2SPeter Wemm out by Richard Allen of the University of Iceland. 2697c2aa98e2SPeter Wemm Also, use -Aa -D_HPUX_SOURCE instead of -Ae, which 2698c2aa98e2SPeter Wemm isn't supported on all compilers. 2699c2aa98e2SPeter Wemm UXPDS: compilation fixes from Diego R. Lopez. 2700c2aa98e2SPeter Wemm CONFIG: FAX mailer wasn't setting .FAX as a pseudo-domain unless 2701c2aa98e2SPeter Wemm you also had a FAX_RELAY. From Thomas.Tornblom@Hax.SE. 2702c2aa98e2SPeter Wemm CONFIG: Minor glitch in S21 -- attachment of local domain name 2703c2aa98e2SPeter Wemm didn't have trailing dot. From Jim Hickstein of Teradyne. 2704c2aa98e2SPeter Wemm CONFIG: Fix best_mx_is_local feature to allow nested addresses such as 2705c2aa98e2SPeter Wemm user%host@thishost. From Claude Scarpelli of Infobiogen 2706c2aa98e2SPeter Wemm (France). 2707c2aa98e2SPeter Wemm CONFIG: OSTYPE(hpux10) failed to define the location of the help file. 2708c2aa98e2SPeter Wemm Pointed out by Hannu Martikka of Nokia Telecommunications. 2709c2aa98e2SPeter Wemm CONFIG: Diagnose some inappropriate ordering in configuration files, 2710c2aa98e2SPeter Wemm such as FEATURE(smrsh) listed after MAILER(local). Based on 2711c2aa98e2SPeter Wemm a bug report submitted by Paul Hoffman of Proper Publishing. 2712c2aa98e2SPeter Wemm CONFIG: Make OSTYPE files consistently not override settings that 2713c2aa98e2SPeter Wemm have already been set. Previously it worked differently 2714c2aa98e2SPeter Wemm for different files. 2715c2aa98e2SPeter Wemm CONFIG: Change relay mailer to do masquerading like 8.6 did. My take 2716c2aa98e2SPeter Wemm is that this is wrong, but the change was causing problems 2717c2aa98e2SPeter Wemm for some people. From Per Hedeland of Ericsson. 2718c2aa98e2SPeter Wemm CONTRIB: bitdomain.c patch from John Gardiner Myers <jgm+@CMU.EDU>; 2719c2aa98e2SPeter Wemm portability changes for Posix environments (no functional 2720c2aa98e2SPeter Wemm changes). 2721c2aa98e2SPeter Wemm 2722c2aa98e2SPeter Wemm8.7.1/8.7.1 95/10/01 2723c2aa98e2SPeter Wemm Old macros that have become options (SmtpGreetingMessage, 2724c2aa98e2SPeter Wemm OperatorChars, and UnixFromLine) didn't allow backslash 2725c2aa98e2SPeter Wemm escapes in the options, where they previously had. Bug 2726c2aa98e2SPeter Wemm pointed out by John Hawkinson of MIT. 2727c2aa98e2SPeter Wemm Fix strange case of an executable called by a program map that 2728c2aa98e2SPeter Wemm returns a value but also a non-zero exit status; this 2729c2aa98e2SPeter Wemm would give contradictory results in the higher level; in 2730c2aa98e2SPeter Wemm particular, the default clause in the map lookup would be 2731c2aa98e2SPeter Wemm ignored. Change to ignore the value if the program returns 2732c2aa98e2SPeter Wemm non-zero exit status. From Tom Moore of AT&T GIS. 2733c2aa98e2SPeter Wemm Shorten parameters passed to syslog() in some contexts to avoid a 2734c2aa98e2SPeter Wemm bug in many vendors' implementations of that routine. Although 2735c2aa98e2SPeter Wemm this isn't really a bug in sendmail per se, and my solution 2736c2aa98e2SPeter Wemm has to assume that syslog() has at least a 1K buffer size 2737c2aa98e2SPeter Wemm internally (I know some vendors have shortened this 2738c2aa98e2SPeter Wemm dramatically -- they're on their own), sendmail is a popular 2739c2aa98e2SPeter Wemm target. Also, limit the size of %s arguments in sprintf. 2740c2aa98e2SPeter Wemm These both have possible security implications. Solutions 2741c2aa98e2SPeter Wemm suggested by Casper Dik of Sun's Network Security Group 2742c2aa98e2SPeter Wemm (Holland), Mark Seiden, and others. 2743c2aa98e2SPeter Wemm Fix a problem that might cause a non-standard -B (body type) 2744c2aa98e2SPeter Wemm parameter to be passed to the next server with undefined 2745c2aa98e2SPeter Wemm results. This could have security implications. 2746c2aa98e2SPeter Wemm If a filesystem was at > 100% utilization, the freediskspace() 2747c2aa98e2SPeter Wemm routine incorrectly returned an error rather than zero. 2748c2aa98e2SPeter Wemm Problem noted by G. Paul Ziemba of Alantec. 2749c2aa98e2SPeter Wemm Change MX sort order so that local hostnames (those in $=w) always 2750c2aa98e2SPeter Wemm sort first within a given preference. This forces the bestmx 2751c2aa98e2SPeter Wemm map to always return the local host first, if it is included 2752c2aa98e2SPeter Wemm in the list of highest priority MX records. From K. Robert 2753c2aa98e2SPeter Wemm Elz. 2754c2aa98e2SPeter Wemm Avoid some possible null pointer dereferences. Fixes from Randy 2755c2aa98e2SPeter Wemm Martin <WOLF@CLEMSON.EDU> 2756c2aa98e2SPeter Wemm When sendmail starts up on systems that have no fully qualified 2757c2aa98e2SPeter Wemm domain name (FQDN) anywhere in the first matching host map 2758c2aa98e2SPeter Wemm (e.g., /etc/hosts if the hosts service searches "files dns"), 2759c2aa98e2SPeter Wemm sendmail would sleep to try to find a FQDN, which it really 2760c2aa98e2SPeter Wemm really needs. This has been changed to fall through to the 2761c2aa98e2SPeter Wemm next map type if it can't find a FQDN -- i.e., if the hosts 2762c2aa98e2SPeter Wemm file doesn't have a FQDN, it will try dns even though the 2763c2aa98e2SPeter Wemm short name was found in /etc/hosts. This is probably a crock, 2764c2aa98e2SPeter Wemm but many people have hosts files without FQDNs. Remember: 2765c2aa98e2SPeter Wemm domain names are your friends. 2766c2aa98e2SPeter Wemm Log a high-priority message if you can't find your FQDN during startup. 2767c2aa98e2SPeter Wemm Suggested by Simon Barnes of Schlumberger Limited. 2768c2aa98e2SPeter Wemm When using Hesiod, initialize it early to improve error reporting. 2769c2aa98e2SPeter Wemm Patch from Don Lewis of Silicon Systems, Inc. 2770c2aa98e2SPeter Wemm Apparently at least some versions of Linux have a 90 !minute! TCP 2771c2aa98e2SPeter Wemm connection timeout in the kernel. Add a new "connect" timeout 2772c2aa98e2SPeter Wemm to limit this time. Defaults to zero (use whatever the 2773c2aa98e2SPeter Wemm kernel provides). Based on code contributed by J.R. Oldroyd 2774c2aa98e2SPeter Wemm of TerraNet. 2775c2aa98e2SPeter Wemm Under some circumstances, a failed message would not be properly 2776c2aa98e2SPeter Wemm removed from the queue, causing tons of bogus error messages. 2777c2aa98e2SPeter Wemm (This fix eliminates the problematic EF_KEEPQUEUE flag.) 2778c2aa98e2SPeter Wemm Problem noted by Allan E Johannesen and Gregory Neil Shapiro 2779c2aa98e2SPeter Wemm of WPI. 2780c2aa98e2SPeter Wemm PORTABILITY FIXES: 2781c2aa98e2SPeter Wemm On IRIX 5.x, there was an inconsistency in the setting 2782c2aa98e2SPeter Wemm of sendmail.st location. Change the Makefile to 2783c2aa98e2SPeter Wemm install it in /var/sendmail.st to match the OSTYPE 2784c2aa98e2SPeter Wemm file and SGI standards. From Andre 2785c2aa98e2SPeter Wemm <andre@curry.zfe.siemens.de>. 2786c2aa98e2SPeter Wemm Support for Fujitsu/ICL UXP/DS (For the DS/90 Series) 2787c2aa98e2SPeter Wemm from Diego R. Lopez <drlopez@cica.es>. 2788c2aa98e2SPeter Wemm Linux compilation patches from J.R. Oldroyd of TerraNet, Inc. 2789c2aa98e2SPeter Wemm LUNA 2 Mach patches from Motonori Nakamura. 2790c2aa98e2SPeter Wemm SunOS Makefile was including -ldbm, which is for the old 2791c2aa98e2SPeter Wemm dbm library. The ndbm library is part of libc. 2792c2aa98e2SPeter Wemm CONFIG: avoid bouncing ``user@host.'' (note trailing dot) with 2793c2aa98e2SPeter Wemm ``local configuration error'' in nullclient configuration. 2794c2aa98e2SPeter Wemm Patch from Gregory Neil Shapiro of WPI. 2795c2aa98e2SPeter Wemm CONFIG: don't allow an alias file in nullclient configurations -- 2796c2aa98e2SPeter Wemm since all addresses are relayed, they give errors during 2797c2aa98e2SPeter Wemm rebuild. Suggested by Per Hedeland of Ericsson. 2798c2aa98e2SPeter Wemm CONFIG: local mailer on Solaris 2 should always get a -f flag because 2799c2aa98e2SPeter Wemm otherwise the F=S causes the From_ line to imply that root is 2800c2aa98e2SPeter Wemm the sender. Problem pointed out by Claude Scarpelli of 2801c2aa98e2SPeter Wemm Infobiogen (France). 2802c2aa98e2SPeter Wemm NEW FILES: 2803c2aa98e2SPeter Wemm cf/feature/use_ct_file.m4 (omitted from 8.7 by mistake) 2804c2aa98e2SPeter Wemm src/Makefiles/Makefile.KSR (omitted from 8.7 by mistake) 2805c2aa98e2SPeter Wemm src/Makefiles/Makefile.UXPDS 2806c2aa98e2SPeter Wemm 2807c2aa98e2SPeter Wemm8.7/8.7 95/09/16 2808c2aa98e2SPeter Wemm Fix a problem that could cause sendmail to run out of file 2809c2aa98e2SPeter Wemm descriptors due to a trashed data structure after a 2810c2aa98e2SPeter Wemm vfork. Fix from Brian Coan of the Institute for 2811c2aa98e2SPeter Wemm Global Communications. 2812c2aa98e2SPeter Wemm Change the VRFY response if you have disabled VRFY -- some 2813c2aa98e2SPeter Wemm people seemed to think that it was too rude. 2814c2aa98e2SPeter Wemm Avoid reference to uninitialized file descriptor if HASFLOCK 2815c2aa98e2SPeter Wemm was not defined. This was used "safely" in the sense 2816c2aa98e2SPeter Wemm that it only did a stat, but it would have set the 2817c2aa98e2SPeter Wemm map modification time improperly. Problem pointed out 2818c2aa98e2SPeter Wemm by Roy Mongiovi of Georgia Tech. 2819c2aa98e2SPeter Wemm Clean up the Subject: line on warning messages and return 2820c2aa98e2SPeter Wemm receipts so that they don't say "Returned mail:"; this 2821c2aa98e2SPeter Wemm can be confusing. 2822c2aa98e2SPeter Wemm Move ruleset entry/exit debugging from 21.2 to 21.1 -- this is 2823c2aa98e2SPeter Wemm useful enough to make it worthwhile printing on "-d". 2824c2aa98e2SPeter Wemm Avoid logging alias statistics every time you read the alias 2825c2aa98e2SPeter Wemm file on systems with no database method compiled in. 2826c2aa98e2SPeter Wemm If you have a name with a trailing dot, and you try looking it 2827c2aa98e2SPeter Wemm up using gethostbyname without the dot (for /etc/hosts 2828c2aa98e2SPeter Wemm compatibility), be sure to turn off RES_DEFNAMES and 2829c2aa98e2SPeter Wemm RES_DNSRCH to avoid finding the wrong name accidentally. 2830c2aa98e2SPeter Wemm Problem noted by Charles Amos of the University of 2831c2aa98e2SPeter Wemm Maryland. 2832c2aa98e2SPeter Wemm Don't do timeouts in collect if you are not running SMTP. 2833c2aa98e2SPeter Wemm There is nothing that says you can't have a long 2834c2aa98e2SPeter Wemm running program piped into sendmail (possibly via 2835c2aa98e2SPeter Wemm /bin/mail, which just execs sendmail). Problem reported 2836c2aa98e2SPeter Wemm by Don "Truck" Lewis of Silicon Systems. 2837c2aa98e2SPeter Wemm Try gethostbyname() even if the DNS lookup fails iff option I 2838c2aa98e2SPeter Wemm is not set. This allows you to have hosts listed in 2839c2aa98e2SPeter Wemm NIS or /etc/hosts that are not known to DNS. It's normally 2840c2aa98e2SPeter Wemm a bad idea, but can be useful on firewall machines. This 2841c2aa98e2SPeter Wemm should really be broken out on a separate flag, I suppose. 2842c2aa98e2SPeter Wemm Avoid compile warnings against BIND 4.9.3, which uses function 2843c2aa98e2SPeter Wemm prototypes. From Don Lewis of Silicon Systems. 2844c2aa98e2SPeter Wemm Avoid possible incorrect diagnosis of DNS-related errors caused 2845c2aa98e2SPeter Wemm by things like attempts to resolve uucp names using 2846c2aa98e2SPeter Wemm $[ ... $] -- the fix is to clear h_errno at appropriate 2847c2aa98e2SPeter Wemm times. From Kyle Jones of UUNET. 2848c2aa98e2SPeter Wemm SECURITY: avoid denial-of-service attacks possible by destroying 2849c2aa98e2SPeter Wemm the alias database file by setting resource limits low. 2850c2aa98e2SPeter Wemm This involves adding two new compile-time options: 2851c2aa98e2SPeter Wemm HASSETRLIMIT (indicating that setrlimit(2) support is 2852c2aa98e2SPeter Wemm available) and HASULIMIT (indicating that ulimit(2) support 2853c2aa98e2SPeter Wemm is available -- the Release 3 form is used). The former 2854c2aa98e2SPeter Wemm is assumed on BSD-based systems, the latter on System 2855c2aa98e2SPeter Wemm V-based systems. Attack noted by Phil Brandenberger of 2856c2aa98e2SPeter Wemm Swarthmore University. 2857c2aa98e2SPeter Wemm New syntaxes in test (-bt) mode: 2858c2aa98e2SPeter Wemm ``.Dmvalue'' will define macro "m" to "value". 2859c2aa98e2SPeter Wemm ``.Ccvalue'' will add "value" to class "c". 2860c2aa98e2SPeter Wemm ``=Sruleset'' will dump the contents of the indicated 2861c2aa98e2SPeter Wemm ruleset. 2862c2aa98e2SPeter Wemm ``=M'' will display the known mailers. 2863c2aa98e2SPeter Wemm ``-ddebug-spec'' is equivalent to the command-line 2864c2aa98e2SPeter Wemm -d debug flag. 2865c2aa98e2SPeter Wemm ``$m'' will print the value of macro $m. 2866c2aa98e2SPeter Wemm ``$=c'' will print the contents of class $=c. 2867c2aa98e2SPeter Wemm ``/mx host'' returns the MX records for ``host''. 2868c2aa98e2SPeter Wemm ``/parse address'' will parse address, returning the value of 2869c2aa98e2SPeter Wemm crackaddr (essentially, the comment information) 2870c2aa98e2SPeter Wemm and the parsed address. 2871c2aa98e2SPeter Wemm ``/try mailer address'' will rewrite address into the form 2872c2aa98e2SPeter Wemm it will have when presented to the indicated mailer. 2873c2aa98e2SPeter Wemm ``/tryflags flags'' will set flags used by parsing. The 2874c2aa98e2SPeter Wemm flags can be `H' for header or `E' for envelope, 2875c2aa98e2SPeter Wemm and `S' for sender or `R' for recipient. These 2876c2aa98e2SPeter Wemm can be combined, so `HR' sets flags for header 2877c2aa98e2SPeter Wemm recipients. 2878c2aa98e2SPeter Wemm ``/canon hostname'' will try to canonify hostname and 2879c2aa98e2SPeter Wemm return the result. 2880c2aa98e2SPeter Wemm ``/map mapname key'' will look up `key' in the indicated 2881c2aa98e2SPeter Wemm `mapname' and return the result. 2882c2aa98e2SPeter Wemm Somewhat better handling of UNIX-domain socket addresses -- it 2883c2aa98e2SPeter Wemm should show the pathname rather than hex bytes. 2884c2aa98e2SPeter Wemm Restore ``-ba'' mode -- this reads a file from stdin and parses 2885c2aa98e2SPeter Wemm the header for envelope sender information and uses 2886c2aa98e2SPeter Wemm CR-LF as message terminators. It was thought to be 2887c2aa98e2SPeter Wemm obsolete (used only for Arpanet NCP protocols), but it 2888c2aa98e2SPeter Wemm turns out that the UK ``Grey Book'' protocols require 2889c2aa98e2SPeter Wemm that functionality. 2890c2aa98e2SPeter Wemm Fix a fix in previous release -- if gethostname and gethostbyname 2891c2aa98e2SPeter Wemm return a name without dots, and if an attempt to canonify 2892c2aa98e2SPeter Wemm that name fails, wait one minute and try again. This can 2893c2aa98e2SPeter Wemm result in an extra 60 second delay on startup if your system 2894c2aa98e2SPeter Wemm hostname (as returned by hostname(1)) has no dot and no names 2895c2aa98e2SPeter Wemm listed in /etc/hosts or your NIS map have a dot. 2896c2aa98e2SPeter Wemm Check for proper domain name on HELO and EHLO commands per 2897c2aa98e2SPeter Wemm RFC 1123 section 5.2.5. Problem noted by Thomas Dwyer III 2898c2aa98e2SPeter Wemm of Michigan Technological University. 2899c2aa98e2SPeter Wemm Relax chownsafe rules slightly -- old version said that if you 2900c2aa98e2SPeter Wemm can't tell if _POSIX_CHOWN_RESTRICTED is set (that is, 2901c2aa98e2SPeter Wemm if fpathconf returned EINVAL or ENOSYS), assume that 2902c2aa98e2SPeter Wemm chown is not safe. The new version falls back to whether 2903c2aa98e2SPeter Wemm you are on a BSD system or not. This is important for 2904c2aa98e2SPeter Wemm SunOS, which apparently always returns one of those 2905c2aa98e2SPeter Wemm error codes. This impacts whether you can mail to files 2906c2aa98e2SPeter Wemm or not. 2907c2aa98e2SPeter Wemm Syntax errors such as unbalanced parentheses in the configuration 2908c2aa98e2SPeter Wemm file could be omitted if you had "Oem" prior to the 2909c2aa98e2SPeter Wemm syntax error in the config file. Change to always print 2910c2aa98e2SPeter Wemm the error message. It was especially weird because it 2911c2aa98e2SPeter Wemm would cause a "warning" message to be sent to the Postmaster 2912c2aa98e2SPeter Wemm for every message sent (but with no transcript). Problem 2913c2aa98e2SPeter Wemm noted by Gregory Paris of Motorola. 2914c2aa98e2SPeter Wemm Rewrite collect and putbody to handle full 8-bit data, including 2915c2aa98e2SPeter Wemm zero bytes. These changes are internally extensive, but 2916c2aa98e2SPeter Wemm should have minimal impact on external function. 2917c2aa98e2SPeter Wemm Allow full words for option names -- if the option letter is 2918c2aa98e2SPeter Wemm (apparently) a space, then take the word following -- e.g., 2919c2aa98e2SPeter Wemm O MatchGECOS=TRUE 2920c2aa98e2SPeter Wemm The full list of old and new names is as follows: 2921c2aa98e2SPeter Wemm 7 SevenBitInput 2922c2aa98e2SPeter Wemm 8 EightBitMode 2923c2aa98e2SPeter Wemm A AliasFile 2924c2aa98e2SPeter Wemm a AliasWait 2925c2aa98e2SPeter Wemm B BlankSub 2926c2aa98e2SPeter Wemm b MinFreeBlocks/MaxMessageSize 2927c2aa98e2SPeter Wemm C CheckpointInterval 2928c2aa98e2SPeter Wemm c HoldExpensive 2929c2aa98e2SPeter Wemm D AutoRebuildAliases 2930c2aa98e2SPeter Wemm d DeliveryMode 2931c2aa98e2SPeter Wemm E ErrorHeader 2932c2aa98e2SPeter Wemm e ErrorMode 2933c2aa98e2SPeter Wemm f SaveFromLine 2934c2aa98e2SPeter Wemm F TempFileMode 2935c2aa98e2SPeter Wemm G MatchGECOS 2936c2aa98e2SPeter Wemm H HelpFile 2937c2aa98e2SPeter Wemm h MaxHopCount 2938c2aa98e2SPeter Wemm i IgnoreDots 2939c2aa98e2SPeter Wemm I ResolverOptions 2940c2aa98e2SPeter Wemm J ForwardPath 2941c2aa98e2SPeter Wemm j SendMimeErrors 2942c2aa98e2SPeter Wemm k ConnectionCacheSize 2943c2aa98e2SPeter Wemm K ConnectionCacheTimeout 2944c2aa98e2SPeter Wemm L LogLevel 2945c2aa98e2SPeter Wemm l UseErrorsTo 2946c2aa98e2SPeter Wemm m MeToo 2947c2aa98e2SPeter Wemm n CheckAliases 2948c2aa98e2SPeter Wemm O DaemonPortOptions 2949c2aa98e2SPeter Wemm o OldStyleHeaders 2950c2aa98e2SPeter Wemm P PostmasterCopy 2951c2aa98e2SPeter Wemm p PrivacyOptions 2952c2aa98e2SPeter Wemm Q QueueDirectory 2953c2aa98e2SPeter Wemm q QueueFactor 2954c2aa98e2SPeter Wemm R DontPruneRoutes 2955c2aa98e2SPeter Wemm r, T Timeout 2956c2aa98e2SPeter Wemm S StatusFile 2957c2aa98e2SPeter Wemm s SuperSafe 2958c2aa98e2SPeter Wemm t TimeZoneSpec 2959c2aa98e2SPeter Wemm u DefaultUser 2960c2aa98e2SPeter Wemm U UserDatabaseSpec 29612e43090eSPeter Wemm V FallbackMXHost 2962c2aa98e2SPeter Wemm v Verbose 2963c2aa98e2SPeter Wemm w TryNullMXList 2964c2aa98e2SPeter Wemm x QueueLA 2965c2aa98e2SPeter Wemm X RefuseLA 2966c2aa98e2SPeter Wemm Y ForkEachJob 2967c2aa98e2SPeter Wemm y RecipientFactor 2968c2aa98e2SPeter Wemm z ClassFactor 2969c2aa98e2SPeter Wemm Z RetryFactor 2970c2aa98e2SPeter Wemm The old macros that passed information into sendmail have 2971c2aa98e2SPeter Wemm been changed to options; those correspondences are: 2972c2aa98e2SPeter Wemm $e SmtpGreetingMessage 2973c2aa98e2SPeter Wemm $l UnixFromLine 2974c2aa98e2SPeter Wemm $o OperatorChars 2975c2aa98e2SPeter Wemm $q (deleted -- not necessary) 2976c2aa98e2SPeter Wemm To avoid possible problems with an older sendmail, 2977c2aa98e2SPeter Wemm configuration level 6 is accepted by this version of 2978c2aa98e2SPeter Wemm sendmail; any config file using the new names should 2979c2aa98e2SPeter Wemm specify "V6" in the configuration. 2980c2aa98e2SPeter Wemm Change address parsing to properly note that a phrase before a 2981c2aa98e2SPeter Wemm colon and a trailing semicolon are essentially the same 2982c2aa98e2SPeter Wemm as text outside of angle brackets (i.e., sendmail should 2983c2aa98e2SPeter Wemm treat them as comments). This is to handle the 2984c2aa98e2SPeter Wemm ``group name: addr1, addr2, ..., addrN;'' syntax (it will 2985c2aa98e2SPeter Wemm assume that ``group name:'' is a comment on the first 2986c2aa98e2SPeter Wemm address and the ``;'' is a comment on the last address). 2987c2aa98e2SPeter Wemm This requires config file support to get right. It does 2988c2aa98e2SPeter Wemm understand that :: is NOT this syntax, and can be turned 2989c2aa98e2SPeter Wemm off completely by setting the ColonOkInAddresses option. 2990c2aa98e2SPeter Wemm Level 6 config files added with new mailer flags: 2991c2aa98e2SPeter Wemm A Addresses are aliasable. 2992c2aa98e2SPeter Wemm i Do udb rewriting on envelope as well as header 2993c2aa98e2SPeter Wemm sender lines. Applies to the from address mailer 2994c2aa98e2SPeter Wemm flags rather than the recipient mailer flags. 2995c2aa98e2SPeter Wemm j Do udb rewriting on header recipient addresses. 2996c2aa98e2SPeter Wemm Applies to the sender mailer flags rather than the 2997c2aa98e2SPeter Wemm recipient mailer flags. 2998c2aa98e2SPeter Wemm k Disable check for loops when doing HELO command. 2999c2aa98e2SPeter Wemm o Always run as the mail recipient, even on local 3000c2aa98e2SPeter Wemm delivery. 3001c2aa98e2SPeter Wemm w Check for an /etc/passwd entry for this user. 3002c2aa98e2SPeter Wemm 5 Pass addresses through ruleset 5. 3003c2aa98e2SPeter Wemm : Check for :include: on this address. 3004c2aa98e2SPeter Wemm | Check for |program on this address. 3005c2aa98e2SPeter Wemm / Check for /file on this address. 3006c2aa98e2SPeter Wemm @ Look up sender header addresses in the user 3007c2aa98e2SPeter Wemm database. Applies to the mailer flags for the 3008c2aa98e2SPeter Wemm mailer corresponding to the envelope sender 3009c2aa98e2SPeter Wemm address, rather than to recipient mailer flags. 3010c2aa98e2SPeter Wemm Pre-level 6 configuration files set A, w, 5, :, |, /, and @ 3011c2aa98e2SPeter Wemm on the "local" mailer, the o flag on the "prog" and "*file*" 3012c2aa98e2SPeter Wemm mailers, and the ColonOkInAddresses option. 3013c2aa98e2SPeter Wemm Eight-to-seven bit MIME conversions. This borrows ideas from 3014c2aa98e2SPeter Wemm John Beck of Hewlett-Packard, who generously contributed 3015c2aa98e2SPeter Wemm their implementation to me, which I then didn't use (see 3016c2aa98e2SPeter Wemm mime.c for an explanation of why). This adds the 3017c2aa98e2SPeter Wemm EightBitMode option (a.k.a. `8') and an F=8 mailer flag 3018c2aa98e2SPeter Wemm to control handling of 8-bit data. These have to cope with 3019c2aa98e2SPeter Wemm two types of 8-bit data: unlabelled 8-bit data (that is, 3020c2aa98e2SPeter Wemm 8-bit data that is entered without declaring it as 8-bit 3021c2aa98e2SPeter Wemm MIME -- technically this is illegal according to the 3022c2aa98e2SPeter Wemm specs) and labelled 8-bit data (that is, it was declared 3023c2aa98e2SPeter Wemm as 8BITMIME in the ESMTP session or by using the 3024c2aa98e2SPeter Wemm -B8BITMIME command line flag). If the F=8 mailer flag is 3025c2aa98e2SPeter Wemm set then 8-bit data is sent to non-8BITMIME machines 3026c2aa98e2SPeter Wemm instead of converting to 7 bit (essentially using 3027c2aa98e2SPeter Wemm just-send-8 semantics). The values for EightBitMode are: 3028c2aa98e2SPeter Wemm m convert unlabelled 8-bit input to 8BITMIME, and do 3029c2aa98e2SPeter Wemm any necessary conversion of 8BITMIME to 7BIT 3030c2aa98e2SPeter Wemm (essentially, the full MIME option). 3031c2aa98e2SPeter Wemm p pass unlabelled 8-bit input, but convert labelled 3032c2aa98e2SPeter Wemm 8BITMIME input to 7BIT as required (default). 3033c2aa98e2SPeter Wemm s strict adherence: reject unlabelled 8-bit input, 3034c2aa98e2SPeter Wemm convert 8BITMIME to 7BIT as required. The F=8 3035c2aa98e2SPeter Wemm flag is ignored. 3036c2aa98e2SPeter Wemm Unlabelled 8-bit data is rejected in mode `s' regardless of 3037c2aa98e2SPeter Wemm the setting of F=8. 3038c2aa98e2SPeter Wemm Add new internal class 'n', which is the set of MIME Content-Types 3039c2aa98e2SPeter Wemm which can not be 8 to 7 bit encoded because of other 3040c2aa98e2SPeter Wemm considerations. Types "multipart/*" and "message/*" are 3041c2aa98e2SPeter Wemm never directly encoded (although their components can be). 3042c2aa98e2SPeter Wemm Add new internal class 's', which is the set of subtypes of the 3043c2aa98e2SPeter Wemm MIME message/* content type that can be treated as though 3044c2aa98e2SPeter Wemm they are an RFC822 message. It is predefined to have 3045c2aa98e2SPeter Wemm "rfc822". Suggested By Kari Hurtta. 3046c2aa98e2SPeter Wemm Add new internal class 'e'. This is the set of MIME 3047c2aa98e2SPeter Wemm Content-Transfer-Encodings that can be converted to 3048c2aa98e2SPeter Wemm a seven bit format (Quoted-Printable or Base64). It is 3049c2aa98e2SPeter Wemm preinitialized to contain "7bit", "8bit", and "binary". 3050c2aa98e2SPeter Wemm Add C=charset mailer parameter and the the DefaultCharSet option (no 3051c2aa98e2SPeter Wemm short name) to set the default character set to use in the 3052c2aa98e2SPeter Wemm Content-Type: header when doing encoding of an 8-bit message 3053c2aa98e2SPeter Wemm which isn't marked as MIME into MIME format. If the C= 3054c2aa98e2SPeter Wemm parameter is set on the Envelope From address, use that as 3055c2aa98e2SPeter Wemm the default encoding; else use the DefaultCharSet option. 3056c2aa98e2SPeter Wemm If neither is set, it defaults to "unknown-8bit" as 3057c2aa98e2SPeter Wemm suggested by RFC 1428 section 3. 3058c2aa98e2SPeter Wemm Allow ``U=user:group'' field in mailer definition to set a default 3059c2aa98e2SPeter Wemm user and group that a mailer will be executed as. This 3060c2aa98e2SPeter Wemm overrides the 'u' and 'g' options, and if the `F=S' flag is 3061c2aa98e2SPeter Wemm also set, it is the uid/gid that will always be used (that 3062c2aa98e2SPeter Wemm is, the controlling address is ignored). The values may be 3063c2aa98e2SPeter Wemm numeric or symbolic; if only a symbolic user is given (no 3064c2aa98e2SPeter Wemm group) that user's default group in the passwd file is used 3065c2aa98e2SPeter Wemm as the group. Based on code donated by Chip Rosenthal of 3066c2aa98e2SPeter Wemm Unicom. 3067c2aa98e2SPeter Wemm Allow `u' option to also accept user:group as a value, in the same 3068c2aa98e2SPeter Wemm fashion as the U= mailer option. 3069c2aa98e2SPeter Wemm Add the symbolic time zone name in the Arpanet format dates (as 3070c2aa98e2SPeter Wemm a comment). This adds a new compile-time configuration 3071c2aa98e2SPeter Wemm flag: TZ_TYPE can be set to TZ_TM_NAME (use the value 3072c2aa98e2SPeter Wemm of (struct tm *)->tm_name), TZ_TM_ZONE (use the value 3073c2aa98e2SPeter Wemm of (struct tm *)->tm_zone), TZ_TZNAME (use extern char 3074c2aa98e2SPeter Wemm *tzname[(struct tm *)->tm_isdst]), TZ_TIMEZONE (use 3075c2aa98e2SPeter Wemm timezone()), or TZ_NONE (don't include the comment). Code 3076c2aa98e2SPeter Wemm from Chip Rosenthal. 3077c2aa98e2SPeter Wemm The "Timeout" option (formerly "r") is extended to allow suboptions. 3078c2aa98e2SPeter Wemm For example, 3079c2aa98e2SPeter Wemm O Timeout.helo = 2m 3080c2aa98e2SPeter Wemm There are also two new suboptions "queuereturn" and 3081c2aa98e2SPeter Wemm "queuewarn"; these subsume the old T option. Thus, to 3082c2aa98e2SPeter Wemm set them both the preferred new syntax is 3083c2aa98e2SPeter Wemm O Timeout.queuereturn = 5d 3084c2aa98e2SPeter Wemm O Timeout.queuewarn = 4h 3085c2aa98e2SPeter Wemm Sort queue by host name instead of by message priority if the 3086c2aa98e2SPeter Wemm QueueSortOrder option (no short name) is set is set to 3087c2aa98e2SPeter Wemm ``host''. This makes better use of the connection cache, 3088c2aa98e2SPeter Wemm but may delay more ``interactive'' messages behind large 3089c2aa98e2SPeter Wemm backlogs under some circumstances. This is probably a 3090c2aa98e2SPeter Wemm good option if you have high speed links or don't do lots 3091c2aa98e2SPeter Wemm of ``batch'' messages, but less good if you are using 3092c2aa98e2SPeter Wemm something like PPP on a 14.4 modem. Based on code 3093c2aa98e2SPeter Wemm contributed by Roy Mongiovi of Georgia Tech (my main 3094c2aa98e2SPeter Wemm contribution was to make it configurable). 3095c2aa98e2SPeter Wemm Save i-number of df file in qf file to simplify rebuilding of queue 3096c2aa98e2SPeter Wemm after disastrous disk crash. Suggested by Kyle Jones of 3097c2aa98e2SPeter Wemm UUNET; closely based on code from KJS DECWRL code written 3098c2aa98e2SPeter Wemm by Paul Vixie. NOTA BENE: The qf files produced by 8.7 3099c2aa98e2SPeter Wemm are NOT back compatible with 8.6 -- that is, you can convert 3100c2aa98e2SPeter Wemm from 8.6 to 8.7, but not the other direction. 3101c2aa98e2SPeter Wemm Add ``F=d'' mailer flag to disable all use of angle brackets in 3102c2aa98e2SPeter Wemm route-addrs in envelopes; this is because in some cases 3103c2aa98e2SPeter Wemm they can be sent to the shell, which interprets them as 3104c2aa98e2SPeter Wemm I/O redirection. 3105c2aa98e2SPeter Wemm Don't include error file (option E) with return-receipts; this 3106c2aa98e2SPeter Wemm can be confusing. 3107c2aa98e2SPeter Wemm Don't send "Warning: cannot send" messages to owner-* or 3108c2aa98e2SPeter Wemm *-request addresses. Suggested by Christophe Wolfhugel 3109c2aa98e2SPeter Wemm of the Institut Pasteur, Paris. 3110c2aa98e2SPeter Wemm Allow -O command line flag to set long form options. 3111c2aa98e2SPeter Wemm Add "MinQueueAge" option to set the minimum time between attempts 3112c2aa98e2SPeter Wemm to run the queue. For example, if the queue interval 3113c2aa98e2SPeter Wemm (-q value) is five minutes, but the minimum queue age 3114c2aa98e2SPeter Wemm is fifteen minutes, jobs won't be tried more often than 3115c2aa98e2SPeter Wemm once every fifteen minutes. This can be used to give 3116c2aa98e2SPeter Wemm you more responsiveness if your delivery mode is set to 3117c2aa98e2SPeter Wemm queue-only. 3118c2aa98e2SPeter Wemm Allow "fileopen" timeout (default: 60 seconds) for opening 3119c2aa98e2SPeter Wemm :include: and .forward files. 3120c2aa98e2SPeter Wemm Add "-k", "-v", and "-z" flags to map definitions; these set the 3121c2aa98e2SPeter Wemm key field name, the value field name, and the field 3122c2aa98e2SPeter Wemm delimiter. The field delimiter can be a single character 3123c2aa98e2SPeter Wemm or the sequence "\t" or "\n" for tab or newline. 3124c2aa98e2SPeter Wemm These are for use by NIS+ and similar access methods. 3125c2aa98e2SPeter Wemm Change maps to always strip quotes before lookups; the -q flag 31262e43090eSPeter Wemm turns off this behavior. Suggested by Motonori Nakamura. 3127c2aa98e2SPeter Wemm Add "nisplus" map class. Takes -k and -v flags to choose the 3128c2aa98e2SPeter Wemm key and value field names respectively. Code donated by 3129c2aa98e2SPeter Wemm Sun Microsystems. 3130c2aa98e2SPeter Wemm Add "hesiod" map class. The "file name" is used as the 3131c2aa98e2SPeter Wemm "HesiodNameType" parameter to hes_resolve(3). Returns the 3132c2aa98e2SPeter Wemm first value found for the match. Code donated by Scott 3133c2aa98e2SPeter Wemm Hutton of Indiana University. 3134c2aa98e2SPeter Wemm Add "netinfo" (NeXT NetInfo) map class. Maps can have a -k flag to 3135c2aa98e2SPeter Wemm specify the name of the property that is searched as the 3136c2aa98e2SPeter Wemm key and a -v flag to specify the name of the property that 3137c2aa98e2SPeter Wemm is returned as the value (defaults to "members"). The 3138c2aa98e2SPeter Wemm default map is "/aliases". Some code based on code 3139c2aa98e2SPeter Wemm contributed by Robert La Ferla of Hot Software. 3140c2aa98e2SPeter Wemm Add "text" map class. This does slow, linear searches through 3141c2aa98e2SPeter Wemm text files. The -z flag specifies a column delimiter 3142c2aa98e2SPeter Wemm (defaults to any sequence of white space), the -k flag 3143c2aa98e2SPeter Wemm sets the key column number, and the -v flag sets the 3144c2aa98e2SPeter Wemm value column number. Lines beginning with `#' are treated 3145c2aa98e2SPeter Wemm as comments. 3146c2aa98e2SPeter Wemm Add "program" map class to execute arbitrary programs. The search 3147c2aa98e2SPeter Wemm key is presented as the last argument; the output is one 3148c2aa98e2SPeter Wemm line read from the programs standard output. Exit statuses 3149c2aa98e2SPeter Wemm are from sysexits.h. 3150c2aa98e2SPeter Wemm Add "sequence" map class -- searches maps in sequence until it 3151c2aa98e2SPeter Wemm finds a match. For example, the declarations: 3152c2aa98e2SPeter Wemm Kmap1 ... 3153c2aa98e2SPeter Wemm Kmap2 ... 3154c2aa98e2SPeter Wemm Kmapseq sequence map1 map2 3155c2aa98e2SPeter Wemm defines a map "mapseq" that first searches map1; if the 3156c2aa98e2SPeter Wemm value is found it is returned immediately, otherwise 3157c2aa98e2SPeter Wemm map2 is searched and the value returned. 3158c2aa98e2SPeter Wemm Add "switch" map class. This is much like "sequence" except that 3159c2aa98e2SPeter Wemm the ordering is fetched from an external file, usually 3160c2aa98e2SPeter Wemm the system service switch. The parameter is the name of 3161c2aa98e2SPeter Wemm the service to switch on, and the maps that it will use 3162c2aa98e2SPeter Wemm are the name of the switch map followed by ".service_type". 3163c2aa98e2SPeter Wemm For example, if the declaration of the map is 3164c2aa98e2SPeter Wemm Ksample switch hosts 3165c2aa98e2SPeter Wemm and the system service switch specifies that hosts are 3166c2aa98e2SPeter Wemm looked up using dns and nis in that order, then this is 3167c2aa98e2SPeter Wemm equivalent to 3168c2aa98e2SPeter Wemm Ksample sequence sample.dns sample.nis 3169c2aa98e2SPeter Wemm The subordinate maps (sample.*) must already be defined. 3170c2aa98e2SPeter Wemm Add "user" map class -- looks up users using getpwnam. Takes a 3171c2aa98e2SPeter Wemm "-v field" flag on the definition that tells what passwd 3172c2aa98e2SPeter Wemm entry to return -- legal values are name, passwd, uid, gid, 3173c2aa98e2SPeter Wemm gecos, dir, and shell. Generally expected to be used with 3174c2aa98e2SPeter Wemm the -m (matchonly) flag. 3175c2aa98e2SPeter Wemm Add "bestmx" map class -- returns the best MX value for the host 3176c2aa98e2SPeter Wemm listed as the value. If there are several "best" MX records 3177c2aa98e2SPeter Wemm for this host, one will be chosen at random. 3178c2aa98e2SPeter Wemm Add "userdb" map class -- looks up entries in the user database. 3179c2aa98e2SPeter Wemm The "file name" is actually the tag that will be used, 3180c2aa98e2SPeter Wemm typically "mailname". If there are multiple entries 3181c2aa98e2SPeter Wemm matching the name, the one chosen is undefined. 3182c2aa98e2SPeter Wemm Add multiple queue timeouts (both return and warning). These are 3183c2aa98e2SPeter Wemm set by the Precedence: or Priority: header fields to one of 3184c2aa98e2SPeter Wemm three values. If a Priority: is set and has value "normal", 3185c2aa98e2SPeter Wemm "urgent", or "non-urgent" the corresponding timeouts are 3186c2aa98e2SPeter Wemm used. If no priority is set, the Precedence: is consulted; 3187c2aa98e2SPeter Wemm if negative, non-urgent timeouts are used; if greater than 3188c2aa98e2SPeter Wemm zero, urgent timeouts are used. Otherwise, normal timeouts 3189c2aa98e2SPeter Wemm are used. The timeouts are set by setting the six timeouts 3190c2aa98e2SPeter Wemm queue{warn,return}.{urgent,normal,non-urgent}. 3191c2aa98e2SPeter Wemm Fix problem when a mail address is resolved to a $#error mailer 3192c2aa98e2SPeter Wemm with a temporary failure indication; it works in SMTP, 3193c2aa98e2SPeter Wemm but when delivering locally the mail is silently discarded. 3194c2aa98e2SPeter Wemm This patch, from Kyle Jones of UUNET, bounces it instead 3195c2aa98e2SPeter Wemm of queueing it (queueing is very hard). 3196c2aa98e2SPeter Wemm When using /etc/hosts or NIS-style lookups, don't assume that 3197c2aa98e2SPeter Wemm the first name in the list is the best one -- instead, 3198c2aa98e2SPeter Wemm search for the first one with a dot. For example, if 3199c2aa98e2SPeter Wemm an /etc/hosts entry reads 3200c2aa98e2SPeter Wemm 128.32.149.68 mammoth mammoth.CS.Berkeley.EDU 3201c2aa98e2SPeter Wemm this change will use the second name as the canonical 3202c2aa98e2SPeter Wemm machine name instead of the initial, unqualified name. 3203c2aa98e2SPeter Wemm Change dequote map to replace spaces in quoted text with a value 3204c2aa98e2SPeter Wemm indicated by the -s flag on the dequote map definition. 3205c2aa98e2SPeter Wemm For example, ``Mdequote dequote -s_'' will change 3206c2aa98e2SPeter Wemm "Foo Bar" into an unquoted Foo_Bar instead of leaving it 3207c2aa98e2SPeter Wemm quoted (because of the space character). Suggested by Dan 3208c2aa98e2SPeter Wemm Oscarsson for use in X.400 addresses. 3209c2aa98e2SPeter Wemm Implement long macro names as ${name}; long class names can 3210c2aa98e2SPeter Wemm be similarly referenced as $={name} and $~{name}. 3211c2aa98e2SPeter Wemm Definitions are (e.g.) ``D{name}value''. Names that have 3212c2aa98e2SPeter Wemm a leading lower case letter or punctuation characters are 3213c2aa98e2SPeter Wemm reserved for internal use by sendmail; i.e., config files 3214c2aa98e2SPeter Wemm should use names that begin with a capital letter. Based 3215c2aa98e2SPeter Wemm on code contributed by Dan Oscarsson. 3216c2aa98e2SPeter Wemm Fix core dump if getgrgid returns a null group list (as opposed 3217c2aa98e2SPeter Wemm to an empty group list, that is, a pointer to a list 3218c2aa98e2SPeter Wemm with no members). Fix from Andrew Chang of Sun Microsystems. 3219c2aa98e2SPeter Wemm Fix possible core dump if malloc fails -- if the malloc in xalloc 3220c2aa98e2SPeter Wemm failed, it called syserr which called newstr which called 3221c2aa98e2SPeter Wemm xalloc.... The newstr is now avoided for "panic" messages. 3222c2aa98e2SPeter Wemm Reported by Stuart Kemp of James Cook University. 3223c2aa98e2SPeter Wemm Improve connection cache timeouts; previously, they were not even 3224c2aa98e2SPeter Wemm checked if you were delivering to anything other than an 3225c2aa98e2SPeter Wemm IPC-connected host, so a series of (say) local mail 3226c2aa98e2SPeter Wemm deliveries could cause cached connections to be open 3227c2aa98e2SPeter Wemm much longer than the specified timeout. 3228c2aa98e2SPeter Wemm If an incoming message exceeds the maximum message size, stop 3229c2aa98e2SPeter Wemm writing the incoming bytes to the queue data file, since 3230c2aa98e2SPeter Wemm this can fill your mqueue partition -- this is a possible 3231c2aa98e2SPeter Wemm denial-of-service attack. 3232c2aa98e2SPeter Wemm Don't reject all numeric local user names unless HESIOD is 3233c2aa98e2SPeter Wemm defined. It turns out that Posix allows all-numeric 3234c2aa98e2SPeter Wemm user names. Fix from Tony Sanders of BSDI. 3235c2aa98e2SPeter Wemm Add service switch support. If the local OS has a service 3236c2aa98e2SPeter Wemm switch (e.g., /etc/nsswitch.conf on Solaris or /etc/svc.conf 3237c2aa98e2SPeter Wemm on DEC systems) that will be used; otherwise, it falls back 3238c2aa98e2SPeter Wemm to using a local mechanism based on the ServiceSwitchFile 3239c2aa98e2SPeter Wemm option (default: /etc/service.switch). For example, if the 3240c2aa98e2SPeter Wemm service switch lists "files" and "nis" for the aliases 3241c2aa98e2SPeter Wemm service, that will be the default lookup order. the "files" 3242c2aa98e2SPeter Wemm ("local" on DEC) service type expands to any alias files 3243c2aa98e2SPeter Wemm you listed in the configuration file, even if they aren't 3244c2aa98e2SPeter Wemm actually file lookups. 3245c2aa98e2SPeter Wemm Option I (NameServerOptions) no longer sets the "UseNameServer" 3246c2aa98e2SPeter Wemm variable which tells whether or not DNS should be considered 3247c2aa98e2SPeter Wemm canonical. This is now determined based on whether or not 3248c2aa98e2SPeter Wemm "dns" is in the service list for "hosts". 3249c2aa98e2SPeter Wemm Add preliminary support for the ESMTP "DSN" extension (Delivery 3250c2aa98e2SPeter Wemm Status Notifications). DSN notifications override 3251c2aa98e2SPeter Wemm Return-Receipt-To: headers, which are bogus anyhow -- 3252c2aa98e2SPeter Wemm support for them has been removed. 3253c2aa98e2SPeter Wemm Add T=mts-name-type/address-type/diagnostic-type keyletter to mailer 3254c2aa98e2SPeter Wemm definitions to define the types used in DSN returns for 3255c2aa98e2SPeter Wemm MTA names, addresses, and diagnostics respectively. 3256c2aa98e2SPeter Wemm Extend heuristic to force running in ESMTP mode to look for the 3257c2aa98e2SPeter Wemm five-character string "ESMTP" anywhere in the 220 greeting 3258c2aa98e2SPeter Wemm message (not just the second line). This is to provide 3259c2aa98e2SPeter Wemm better compatibility with other ESMTP servers. 3260c2aa98e2SPeter Wemm Print sequence number of job when running the queue so you can 3261c2aa98e2SPeter Wemm easily see how much progress you have made. Suggested 3262c2aa98e2SPeter Wemm by Peter Wemm of DIALix. 3263c2aa98e2SPeter Wemm Map newlines to spaces in logged message-ids; some versions of 3264c2aa98e2SPeter Wemm syslog truncate the rest of the line after newlines. 3265c2aa98e2SPeter Wemm Suggested by Fletcher Mattox of U. Texas. 3266c2aa98e2SPeter Wemm Move up forking for job runs so that if a message is split into 3267c2aa98e2SPeter Wemm multiple envelopes you don't get "fork storms" -- this 3268c2aa98e2SPeter Wemm also improves the connection cache utilization. 3269c2aa98e2SPeter Wemm Accept "<<>>", "<<<>>>", and so forth as equivalent to "<>" for 3270c2aa98e2SPeter Wemm the purposes of refusing to send error returns. Suggested 3271c2aa98e2SPeter Wemm by Motonori Nakamura of Ritsumeikan University. 3272c2aa98e2SPeter Wemm Relax rules on when a file can be written when referenced from 3273c2aa98e2SPeter Wemm the aliases file: use the default uid/gid instead of the 3274c2aa98e2SPeter Wemm real uid/gid. This allows you to create a file owned by 3275c2aa98e2SPeter Wemm and writable only by the default uid/gid that will work 3276c2aa98e2SPeter Wemm all the time (without having the setuid bit set). Change 3277c2aa98e2SPeter Wemm suggested by Shau-Ping Lo and Andrew Cheng of Sun 3278c2aa98e2SPeter Wemm Microsystems. 3279c2aa98e2SPeter Wemm Add "DialDelay" option (no short name) to provide an "extra" 3280c2aa98e2SPeter Wemm delay for dial on demand systems. If this is non-zero 3281c2aa98e2SPeter Wemm and a connect fails, sendmail will wait this long and 3282c2aa98e2SPeter Wemm then try again. If it takes longer than the kernel 3283c2aa98e2SPeter Wemm timeout interval to establish the connection, this 3284c2aa98e2SPeter Wemm option can give the network software time to establish 3285c2aa98e2SPeter Wemm the link. The default units are seconds. 3286c2aa98e2SPeter Wemm Move logging of sender information to be as early as possible; 3287c2aa98e2SPeter Wemm previously, it could be delayed a while for SMTP mail 3288c2aa98e2SPeter Wemm sent to aliases. Suggested by Brad Knowles of the 3289c2aa98e2SPeter Wemm Defense Information Systems Agency. 3290c2aa98e2SPeter Wemm Call res_init() before setting RES_DEBUG; this is required by 3291c2aa98e2SPeter Wemm BIND 4.9.3, or so I'm told. From Douglas Anderson of 3292c2aa98e2SPeter Wemm the National Computer Security Center. 3293c2aa98e2SPeter Wemm Add xdelay= field in logs -- this is a transaction delay, telling 3294c2aa98e2SPeter Wemm you how long it took to deliver to this address on the 3295c2aa98e2SPeter Wemm last try. It is intended to be used for sorting mailing 3296c2aa98e2SPeter Wemm lists to favor "quick" addresses. Provided for use by 3297c2aa98e2SPeter Wemm the mailprio scripts (see below). 3298c2aa98e2SPeter Wemm If a map cannot be opened, and that map is non-optional, and 3299c2aa98e2SPeter Wemm an address requires that map for resolution, queue the 3300c2aa98e2SPeter Wemm map instead of bouncing it. This involves creating a 3301c2aa98e2SPeter Wemm pseudo-class of maps called "bogus-map" -- if a required 3302c2aa98e2SPeter Wemm map cannot be opened, the class is changed to bogus-map; 3303c2aa98e2SPeter Wemm all queries against bogus-map return "tempfail". The 3304c2aa98e2SPeter Wemm bogus-map class is not directly accessible. A sample 3305c2aa98e2SPeter Wemm implementation was donated by Jem Taylor of Glasgow 3306c2aa98e2SPeter Wemm University Computing Service. 3307c2aa98e2SPeter Wemm Fix a possible core dump when mailing to a program that talks 3308c2aa98e2SPeter Wemm SMTP on its standard input. Fix from Keith Moore of 3309c2aa98e2SPeter Wemm the University of Kentucky. 3310c2aa98e2SPeter Wemm Make it possible to resolve filenames to $#local $: @ /filename; 3311c2aa98e2SPeter Wemm previously, the "@" would cause it to not be recognized 3312c2aa98e2SPeter Wemm as a file. Problem noted by Brian Hill of U.C. Davis. 3313c2aa98e2SPeter Wemm Accept a -1 signal to re-exec the daemon. This only works if 3314c2aa98e2SPeter Wemm argv[0] is a full path to sendmail. 3315c2aa98e2SPeter Wemm Fix bug in "addr=..." field in O option on little-endian machines 3316c2aa98e2SPeter Wemm -- the network number wasn't being converted to network 3317c2aa98e2SPeter Wemm byte order. Patch from Kurt Lidl of Pix Technologies 3318c2aa98e2SPeter Wemm Corporation. 3319c2aa98e2SPeter Wemm Pre-initialize the resolver early on; this is to avoid a bug with 3320c2aa98e2SPeter Wemm BIND 4.9.3 that can cause the _res.retry field to get 3321c2aa98e2SPeter Wemm reset to zero, causing all name server lookups to time 3322c2aa98e2SPeter Wemm out. Fix from Matt Day of Artisoft. 3323c2aa98e2SPeter Wemm Restore T line (trusted users) in config file -- but instead of 3324c2aa98e2SPeter Wemm locking out the -f flag, they just tell whether or not 3325c2aa98e2SPeter Wemm an X-Authentication-Warning: will be added. This really 3326c2aa98e2SPeter Wemm just creates new entries in class 't', so "Ft/file/name" 3327c2aa98e2SPeter Wemm can be used to read trusted user names from a file. 3328c2aa98e2SPeter Wemm Trusted users are also allowed to execute programs even 3329c2aa98e2SPeter Wemm if they have a shell that isn't in /etc/shells. 3330c2aa98e2SPeter Wemm Improve NEWDB alias file rebuilding so it will create them 3331c2aa98e2SPeter Wemm properly if they do not already exist. This had been 3332c2aa98e2SPeter Wemm a MAYBENEXTRELEASE feature in 8.6.9. 3333c2aa98e2SPeter Wemm Check for @:@ entry in NIS maps before starting up to avoid 3334c2aa98e2SPeter Wemm (but not prevent, sigh) race conditions. This ought to 3335c2aa98e2SPeter Wemm be handled properly in ypserv, but isn't. Suggested by 3336c2aa98e2SPeter Wemm Michael Beirne of Motorola. 3337c2aa98e2SPeter Wemm Refuse connections if there isn't enough space on the filesystem 3338c2aa98e2SPeter Wemm holding the queue. Contributed by Robert Dana of Wolf 3339c2aa98e2SPeter Wemm Communications. 3340c2aa98e2SPeter Wemm Skip checking for directory permissions in the path to a file 3341c2aa98e2SPeter Wemm when checking for file permissions iff setreuid() 3342c2aa98e2SPeter Wemm succeeded -- it is unnecessary in that case. This avoids 3343c2aa98e2SPeter Wemm significant performance problems when looking for .forward 3344c2aa98e2SPeter Wemm files. Based on a suggestion by Win Bent of USC. 3345c2aa98e2SPeter Wemm Allow symbolic ruleset names. Syntax can be "Sname" to get an 3346c2aa98e2SPeter Wemm arbitrary ruleset number assigned or "Sname = integer" 3347c2aa98e2SPeter Wemm to assign a specific ruleset number. Reference is 3348c2aa98e2SPeter Wemm $>name_or_number. Names can be composed of alphas, digits, 3349c2aa98e2SPeter Wemm underscore, or hyphen (first character must be non-numeric). 3350c2aa98e2SPeter Wemm Allow -o flag on AliasFile lines to make the alias file optional. 3351c2aa98e2SPeter Wemm From Bryan Costales of ICSI. 3352c2aa98e2SPeter Wemm Add NoRecipientAction option to handle the case where there is 3353c2aa98e2SPeter Wemm no legal recipient header in the message. It can take 3354c2aa98e2SPeter Wemm on values: 3355c2aa98e2SPeter Wemm None Leave the message as is. The 3356c2aa98e2SPeter Wemm message will be passed on even 3357c2aa98e2SPeter Wemm though it is in technically 3358c2aa98e2SPeter Wemm illegal syntax. 3359c2aa98e2SPeter Wemm Add-To Add a To: header with any 3360c2aa98e2SPeter Wemm recipients that it can find from 3361c2aa98e2SPeter Wemm the envelope. This risks exposing 3362c2aa98e2SPeter Wemm Bcc: recipients. 3363c2aa98e2SPeter Wemm Add-Apparently-To Add an Apparently-To: header. This 3364c2aa98e2SPeter Wemm has almost no redeeming social value, 3365c2aa98e2SPeter Wemm and is provided only for back 3366c2aa98e2SPeter Wemm compatibility. 3367c2aa98e2SPeter Wemm Add-To-Undisclosed Add a header reading 3368c2aa98e2SPeter Wemm To: undisclosed-recipients:; 3369c2aa98e2SPeter Wemm which will have the effect of 3370c2aa98e2SPeter Wemm making the message legal without 3371c2aa98e2SPeter Wemm exposing Bcc: recipients. 3372c2aa98e2SPeter Wemm Add-Bcc To add an empty Bcc: header. 3373c2aa98e2SPeter Wemm There is a chance that mailers down 3374c2aa98e2SPeter Wemm the line will delete this header, 3375c2aa98e2SPeter Wemm which could cause exposure of Bcc: 3376c2aa98e2SPeter Wemm recipients. 3377c2aa98e2SPeter Wemm The default is NoRecipientAction=None. 3378c2aa98e2SPeter Wemm Truncate (rather than delete) Bcc: lines in the header. This 3379c2aa98e2SPeter Wemm should prevent later sendmails (at least, those that don't 3380c2aa98e2SPeter Wemm themselves delete Bcc:) from considering this message to 3381c2aa98e2SPeter Wemm be non-conforming -- although it does imply that non-blind 3382c2aa98e2SPeter Wemm recipients can see that a Bcc: was sent, albeit not to whom. 3383c2aa98e2SPeter Wemm Add SafeFileEnvironment option. If declared, files named as delivery 3384c2aa98e2SPeter Wemm targets must be regular files in addition to the regular 3385c2aa98e2SPeter Wemm checks. Also, if the option is non-null then it is used as 3386c2aa98e2SPeter Wemm the name of a directory that is used as a chroot(2) 3387c2aa98e2SPeter Wemm environment for the delivery; the file names listed in an 3388c2aa98e2SPeter Wemm alias or forward should include the name of this root. 3389c2aa98e2SPeter Wemm For example, if you run with 3390c2aa98e2SPeter Wemm O SafeFileEnvironment=/arch 3391c2aa98e2SPeter Wemm then aliases should reference "/arch/rest/of/path". If a 3392c2aa98e2SPeter Wemm value is given, sendmail also won't try to save to 3393c2aa98e2SPeter Wemm /usr/tmp/dead.letter (instead it just leaves the job in the 3394c2aa98e2SPeter Wemm queue as Qfxxxxxx). Inspired by *Hobbit*'s sendmail patch kit. 3395c2aa98e2SPeter Wemm Support -A flag for alias files; this will comma concatenate like 3396c2aa98e2SPeter Wemm entries. For example, given the aliases: 3397c2aa98e2SPeter Wemm list: member1 3398c2aa98e2SPeter Wemm list: member2 3399c2aa98e2SPeter Wemm and an alias file declared as: 3400c2aa98e2SPeter Wemm OAhash:-A /etc/aliases 3401c2aa98e2SPeter Wemm the final alias inserted will be "list: member1,member2"; 3402c2aa98e2SPeter Wemm without -A you will get an error on the second and subsequent 3403c2aa98e2SPeter Wemm alias for "list". Contributed by Bryan Costales of ICSI. 3404c2aa98e2SPeter Wemm Line-buffer transcript file. Suggested by Liudvikas Bukys. 3405c2aa98e2SPeter Wemm Fix a problem that could cause very long addresses to core dump in 3406c2aa98e2SPeter Wemm some special circumstances. Problem pointed out by Allan 3407c2aa98e2SPeter Wemm Johannesen. 3408c2aa98e2SPeter Wemm (Internal change.) Change interface to expand() (macro expansion) 3409c2aa98e2SPeter Wemm to be simpler and more consistent. 3410c2aa98e2SPeter Wemm Delete check for funny qf file names. This didn't really give 3411c2aa98e2SPeter Wemm any extra security and caused some people some problems. 3412c2aa98e2SPeter Wemm (If you -really- want this, define PICKY_QF_NAME_CHECK 3413c2aa98e2SPeter Wemm at compile time.) Suggested by Kyle Jones of UUNET. 3414c2aa98e2SPeter Wemm (Internal change.) Change EF_NORETURN to EF_NO_BODY_RETN and 3415c2aa98e2SPeter Wemm merge with DSN code; this is simpler and more consistent. 3416c2aa98e2SPeter Wemm This may affect some people who have written their own 3417c2aa98e2SPeter Wemm checkcompat() routine. 3418c2aa98e2SPeter Wemm (Internal change.) Eliminate `D' line in qf file. The df file 3419c2aa98e2SPeter Wemm is now assumed to be the same name as the qf file (with 3420c2aa98e2SPeter Wemm the `q' changed to a `d', of course). 3421c2aa98e2SPeter Wemm Avoid forking for delivery if all recipient mailers are marked as 3422c2aa98e2SPeter Wemm "expensive" -- this can be a major cost on some systems. 3423c2aa98e2SPeter Wemm Essentially, this forces sendmail into "queue only" mode 3424c2aa98e2SPeter Wemm if all it is going to do is queue anyway. 3425c2aa98e2SPeter Wemm Avoid sending a null message in some rather unusual circumstances 3426c2aa98e2SPeter Wemm (specifically, the RCPT command returns a temporary 3427c2aa98e2SPeter Wemm failure but the connection is lost before the DATA 3428c2aa98e2SPeter Wemm command). Fix from Scott Hammond of Secure Computing 3429c2aa98e2SPeter Wemm Corporation. 3430c2aa98e2SPeter Wemm Change makesendmail to use a somewhat more rational naming scheme: 3431c2aa98e2SPeter Wemm Makefiles and obj directories are named $os.$rel.$arch, 3432c2aa98e2SPeter Wemm where $os is the operating system (e.g., SunOS), $rel is 3433c2aa98e2SPeter Wemm the release number (e.g., 5.3), and $arch is the machine 3434c2aa98e2SPeter Wemm architecture (e.g., sun4). Any of these can be omitted, 3435c2aa98e2SPeter Wemm and anything after the first dot in a release number can 3436c2aa98e2SPeter Wemm be replaced with "x" (e.g., SunOS.4.x.sun4). The previous 3437c2aa98e2SPeter Wemm version used $os.$arch.$rel and was rather less general. 3438c2aa98e2SPeter Wemm Change makesendmail to do a "make depend" in the target directory 3439c2aa98e2SPeter Wemm when it is being created. This involves adding an empty 3440c2aa98e2SPeter Wemm "depend:" entry in most Makefiles. 3441c2aa98e2SPeter Wemm Ignore IDENT return value if the OSTYPE field returns "OTHER", 3442c2aa98e2SPeter Wemm as indicated by RFC 1413. Pointed out by Kari Hurtta 3443c2aa98e2SPeter Wemm of the Finnish Meteorological Institute. 3444c2aa98e2SPeter Wemm Fix problem that could cause multiple responses to DATA command 3445c2aa98e2SPeter Wemm on header syntax errors (e.g., lines beginning with colons). 3446c2aa98e2SPeter Wemm Problem noted by Jens Thomassen of the University of Oslo. 3447c2aa98e2SPeter Wemm Don't let null bytes in headers cause truncation of the rest of 3448c2aa98e2SPeter Wemm the header. 3449c2aa98e2SPeter Wemm Log Authentication-Warning:s. Suggested by Motonori Nakamura. 3450c2aa98e2SPeter Wemm Increase timeouts on message data puts to allow time for receivers 3451c2aa98e2SPeter Wemm to canonify addresses in headers on the fly. This is still 3452c2aa98e2SPeter Wemm a rather ugly heuristic. From Motonori Nakamura. 3453c2aa98e2SPeter Wemm Add "HasWildcardMX" suboption to ResolverOptions; if set, MX 3454c2aa98e2SPeter Wemm records are not used when canonifying names, and when MX 3455c2aa98e2SPeter Wemm lookups are done for addressing they must be fully 3456c2aa98e2SPeter Wemm qualified. This is useful if you have a wildcard MX record, 3457c2aa98e2SPeter Wemm although it may cause other problems. In general, don't use 3458c2aa98e2SPeter Wemm wildcard MX records. Patch from Motonori Nakamura. 3459c2aa98e2SPeter Wemm Eliminate default two-line SMTP greeting message. Instead of 3460c2aa98e2SPeter Wemm adding an extra "ESMTP spoken here" line, the word "ESMTP" 3461c2aa98e2SPeter Wemm is added between the first and second word of the first 3462c2aa98e2SPeter Wemm line of the greeting message (i.e., immediately after the 3463c2aa98e2SPeter Wemm host name). This eliminates the need for the BROKEN_SMTP_PEERS 3464c2aa98e2SPeter Wemm compile flag. Old sendmails won't see the ESMTP, but that's 3465c2aa98e2SPeter Wemm acceptable because SIZE was the only useful extension that 3466c2aa98e2SPeter Wemm old sendmails understand. 3467c2aa98e2SPeter Wemm Avoid gethostbyname calls on UNIX domain sockets during SIGUSR1 3468c2aa98e2SPeter Wemm invoked state dumps. From Masaharu Onishi. 3469c2aa98e2SPeter Wemm Allow on-line comments in .forward and :include: files; they are 3470c2aa98e2SPeter Wemm introduced by the string "<LWSP>#@#<LWSP>", where <LWSP> 3471c2aa98e2SPeter Wemm is a space or a tab. This is intended for native 3472c2aa98e2SPeter Wemm representation of non-ASCII sets such as Japanese, where 3473c2aa98e2SPeter Wemm existing encodings would be unreadable or would lose 3474c2aa98e2SPeter Wemm data -- for example, 3475c2aa98e2SPeter Wemm <motonori@cs.ritsumei.ac.jp> NAKAMURA Motonori 3476c2aa98e2SPeter Wemm (romanized/less information) 3477c2aa98e2SPeter Wemm <motonori@cs.ritsumei.ac.jp> =?ISO-2022-JP?B?GyRCQ2ZCPBsoQg==?= 3478c2aa98e2SPeter Wemm =?ISO-2022-JP?B?GyRCQUdFNRsoQg==?= 3479c2aa98e2SPeter Wemm (with MIME encoding, not human readable) 3480c2aa98e2SPeter Wemm <motonori@cs.ritsumei.ac.jp> #@# ^[$BCfB<^[(B ^[$BAGE5^[(B 3481c2aa98e2SPeter Wemm (native encoding with ISO-2022-JP) 3482c2aa98e2SPeter Wemm The last form is human readable in the Japanese environment. 3483c2aa98e2SPeter Wemm Based on a fix from (surprise!) Motonori Nakamura. 3484c2aa98e2SPeter Wemm Don't make SMTP error returns on MAIL FROM: line be "sticky" for all 3485c2aa98e2SPeter Wemm messages to that host; these are most frequently associated 3486c2aa98e2SPeter Wemm with addresses rather than the host, with the exception of 3487c2aa98e2SPeter Wemm 421 (service shutting down). The effect was to cause queues 3488c2aa98e2SPeter Wemm to sometimes take an excessive time to flush. Reported by 3489c2aa98e2SPeter Wemm Robert Sargent of Southern Geographics Technologies and 3490c2aa98e2SPeter Wemm Eric Prestemon of American University. 3491c2aa98e2SPeter Wemm Add Nice=N mailer option to set the niceness at which a mailer will 3492c2aa98e2SPeter Wemm run. This is actually a relative niceness (that is, an 3493c2aa98e2SPeter Wemm increment on the background value). 3494c2aa98e2SPeter Wemm Log queue runs that are skipped due to high loads. They are logged 3495c2aa98e2SPeter Wemm at LOG_INFO priority iff the log level is > 8. Contributed 3496c2aa98e2SPeter Wemm by Bruce Nagel of Data General. 3497c2aa98e2SPeter Wemm Allow the error mailer to accept a DSN-style error status code 3498c2aa98e2SPeter Wemm instead of an sysexits status code in the host part. 3499c2aa98e2SPeter Wemm Anything with a dot will be interpreted as a DSN-style code. 3500c2aa98e2SPeter Wemm Add new mailer flag: F=3 will tell translations to Quoted-Printable 3501c2aa98e2SPeter Wemm to encode characters that might be munged by an EBCDIC system 3502c2aa98e2SPeter Wemm in addition to the set required by RFC 1521. The additional 3503c2aa98e2SPeter Wemm characters are !, ", #, $, @, [, \, ], ^, `, {, |, }, and ~. 3504c2aa98e2SPeter Wemm (Think of "IBM 360" as the mnemonic for this flag.) 3505c2aa98e2SPeter Wemm Change check for mailing to files to look for a pathname of [FILE] 3506c2aa98e2SPeter Wemm rather than looking for the mailer named *file*. The mapping 3507c2aa98e2SPeter Wemm of leading slashes still goes to the *file* mailer. This 3508c2aa98e2SPeter Wemm allows you to implement the *file* mailer as a separate 3509c2aa98e2SPeter Wemm program, for example, to insert a Content-Length: header 3510c2aa98e2SPeter Wemm or do special security policy. However, note that the usual 3511c2aa98e2SPeter Wemm initial checking for the file permissions is still done, and 3512c2aa98e2SPeter Wemm the program in question needs to be very careful about how 3513c2aa98e2SPeter Wemm it does the file write to avoid security problems. 3514c2aa98e2SPeter Wemm Be able to read ~root/.forward even if the path isn't accessible to 3515c2aa98e2SPeter Wemm regular users. This is disrecommended because sendmail 3516c2aa98e2SPeter Wemm sometimes does not run as root (e.g., when an unsafe option 3517c2aa98e2SPeter Wemm is specified on the command line), but should otherwise be 3518c2aa98e2SPeter Wemm safe because .forward files must be owned by the user for 3519c2aa98e2SPeter Wemm whom mail is being forwarded, and cannot be a symbolic link. 3520c2aa98e2SPeter Wemm Suggested by Forrest Aldrich of Wang Laboratories. 3521c2aa98e2SPeter Wemm Add new "HostsFile" option that is the pathname to the /etc/hosts 3522c2aa98e2SPeter Wemm file. This is used for canonifying hostnames when the 3523c2aa98e2SPeter Wemm service type is "files". 3524c2aa98e2SPeter Wemm Implement programs on F (read class from file) line. The syntax is 3525c2aa98e2SPeter Wemm Fc|/path/to/program to read the output from the program 3526c2aa98e2SPeter Wemm into class "c". 3527c2aa98e2SPeter Wemm Probe the network interfaces to find alternate names for this 3528c2aa98e2SPeter Wemm host. Requires the SIOCGIFCONF ioctl call. Code 3529c2aa98e2SPeter Wemm contributed by SunSoft. 3530c2aa98e2SPeter Wemm Add "E" configuration line to set or propagate environment 3531c2aa98e2SPeter Wemm variables into children. "E<envar>" will propagate 3532c2aa98e2SPeter Wemm the named variable from the environment when sendmail 3533c2aa98e2SPeter Wemm was invoked into any children it calls; "E<envar>=<value>" 3534c2aa98e2SPeter Wemm sets the named variable to the indicated value. Any 3535c2aa98e2SPeter Wemm variables not explicitly named will not be in the child 3536c2aa98e2SPeter Wemm environment. However, sendmail still forces an 3537c2aa98e2SPeter Wemm "AGENT=sendmail" environment variable, in part to enforce 3538c2aa98e2SPeter Wemm at least one environment variable, since many programs and 3539c2aa98e2SPeter Wemm libraries die horribly if this is not guaranteed. 3540c2aa98e2SPeter Wemm Change heuristic for rebuilding both NEWDB and NDBM versions of 3541c2aa98e2SPeter Wemm alias databases -- new algorithm looks for the substring 3542c2aa98e2SPeter Wemm "/yp/" in the file name. This is more portable and involves 3543c2aa98e2SPeter Wemm less overhead. Suggested by Motonori Nakamura. 3544c2aa98e2SPeter Wemm Dynamically allocate the queue work list so that you don't lose 3545c2aa98e2SPeter Wemm jobs in large queue runs. The old QUEUESIZE compile parameter 3546c2aa98e2SPeter Wemm is replaced by QUEUESEGSIZE (the unit of allocation, which 3547c2aa98e2SPeter Wemm should not need to be changed) and the MaxQueueRunSize option, 3548c2aa98e2SPeter Wemm which is the absolute maximum number of jobs that will ever 3549c2aa98e2SPeter Wemm be handled in a single queue run. Based on code contributed 3550c2aa98e2SPeter Wemm by Brian Coan of the Institute for Global Communications. 3551c2aa98e2SPeter Wemm Log message when a message is dropped because it exceeds the maximum 3552c2aa98e2SPeter Wemm message size. Suggested by Leo Bicknell of Virginia Tech. 3553c2aa98e2SPeter Wemm Allow trusted users (those on a T line or in $=t) to use -bs without 3554c2aa98e2SPeter Wemm an X-Authentication-Warning: added. Suggested by Mark Thomas 3555c2aa98e2SPeter Wemm of Mark G. Thomas Consulting. 3556c2aa98e2SPeter Wemm Announce state of compile flags on -d0.1 (-d0.10 throws in the 3557c2aa98e2SPeter Wemm OS-dependent defines). The old semantic of -d0.1 to not 3558c2aa98e2SPeter Wemm run the daemon in background has been moved to -d99.100, 3559c2aa98e2SPeter Wemm and the old 52.5 flag (to avoid disconnect() from closing 3560c2aa98e2SPeter Wemm all output files) has been moved to 52.100. This makes 3561c2aa98e2SPeter Wemm things more consistent (flags below .100 don't change 3562c2aa98e2SPeter Wemm semantics) and separates out the backgrounding so that 3563c2aa98e2SPeter Wemm it doesn't happen automatically on other unrelated debugging 3564c2aa98e2SPeter Wemm flags. 3565c2aa98e2SPeter Wemm If -t is used but no addresses are found in the header, give an 3566c2aa98e2SPeter Wemm error message rather than just doing nothing. Fix from 3567c2aa98e2SPeter Wemm Motonori Nakamura. 3568c2aa98e2SPeter Wemm On systems (like SunOS) where the effective gid is not necessarily 3569c2aa98e2SPeter Wemm included in the group list returned by getgroups(), the 3570c2aa98e2SPeter Wemm `restrictmailq' option could sometimes cause an authorized 3571c2aa98e2SPeter Wemm user to not be able to use `mailq'. Fix from Charles Hannum 3572c2aa98e2SPeter Wemm of MIT. 3573c2aa98e2SPeter Wemm Allow symbolic service names for [IPC] mailers. Suggested by 3574c2aa98e2SPeter Wemm Gerry Magennis of Logica International. 3575c2aa98e2SPeter Wemm Add DontExpandCnames option to prevent $[ ... $] from expanding CNAMEs 3576c2aa98e2SPeter Wemm when running DNS. For example, if the name FTP.Foo.ORG is 3577c2aa98e2SPeter Wemm a CNAME for Cruft.Foo.ORG, then when sitting on a machine in 3578c2aa98e2SPeter Wemm the Foo.ORG domain a lookup of "FTP" returns "Cruft.Foo.ORG" 3579c2aa98e2SPeter Wemm if this option is not set, or "FTP.Foo.ORG" if it is set. 3580c2aa98e2SPeter Wemm This is technically illegal under RFC 822 and 1123, but the 3581c2aa98e2SPeter Wemm IETF is moving toward legalizing it. Note that turning on 3582c2aa98e2SPeter Wemm this option is not sufficient to guarantee that a downstream 3583c2aa98e2SPeter Wemm neighbor won't rewrite the address for you. 3584c2aa98e2SPeter Wemm Add "-m" flag to makesendmail script -- this tells you what object 3585c2aa98e2SPeter Wemm directory and Makefile it will use, but doesn't actually do 3586c2aa98e2SPeter Wemm the make. 3587c2aa98e2SPeter Wemm Do some additional checking on the contents of the qf file to try 3588c2aa98e2SPeter Wemm to detect attacks against the qf file. In particular, 3589c2aa98e2SPeter Wemm abort on any line beginning "From ", and add an "end of 3590c2aa98e2SPeter Wemm file" line -- any data after that line is prohibited. 3591c2aa98e2SPeter Wemm Always use /etc/sendmail.cf, regardless of the arbitrary vendor 3592c2aa98e2SPeter Wemm choices. This can be overridden in the Makefile by using 3593c2aa98e2SPeter Wemm either -DUSE_VENDOR_CF_PATH to get the vendor location 3594c2aa98e2SPeter Wemm (to the extent that we know it) or by defining 3595c2aa98e2SPeter Wemm _PATH_SENDMAILCF (which is a "hard override"). This allows 3596c2aa98e2SPeter Wemm sendmail 8 to have more consistent installation instructions. 3597c2aa98e2SPeter Wemm Allow macros on `K' line in config file. Suggested by Andrew Chang 3598c2aa98e2SPeter Wemm of Sun Microsystems. 3599c2aa98e2SPeter Wemm Improved symbol table hash function from Eric Wassenaar. This one 3600c2aa98e2SPeter Wemm is at least 50% faster. 3601c2aa98e2SPeter Wemm Fix problem that didn't notice that timeout on file open was a 3602c2aa98e2SPeter Wemm transient error. Fix from Larry Parmelee of Cornell 3603c2aa98e2SPeter Wemm University. 3604c2aa98e2SPeter Wemm Allow comments (lines beginning with a `#') in files read for 3605c2aa98e2SPeter Wemm classes. Suggested by Motonori Nakamura. 3606c2aa98e2SPeter Wemm Make SIGINT (usually ^C) in test mode return to the prompt instead 3607c2aa98e2SPeter Wemm of dropping out entirely. This makes testing some of the 3608c2aa98e2SPeter Wemm name server lookups easier to deal with when there are 3609c2aa98e2SPeter Wemm hung servers. From Motonori Nakamura. 3610c2aa98e2SPeter Wemm Add new ${opMode} macro that is set to the current operation mode 3611c2aa98e2SPeter Wemm (e.g., `s' for -bs, `t' for -bt, etc.). Suggested by 3612c2aa98e2SPeter Wemm Claude Marinier <MARINIER@emp.ewd.dreo.dnd.ca>. 3613c2aa98e2SPeter Wemm Add new delivery mode (Odd) that defers all map lookups to queue runs. 3614c2aa98e2SPeter Wemm Kind of like queue-only mode (Odq) except it tries to avoid 3615c2aa98e2SPeter Wemm any external service requests; for dial-on-demand hosts that 3616c2aa98e2SPeter Wemm want to minimize DNS lookups when mail is being queued. For 3617c2aa98e2SPeter Wemm this to work you will also have to make sure that gethostbyname 3618c2aa98e2SPeter Wemm of your local host name does not do a DNS lookup. 3619c2aa98e2SPeter Wemm Improved handling of "out of space" conditions from John Myers of 3620c2aa98e2SPeter Wemm Carnegie Mellon. 3621c2aa98e2SPeter Wemm Improved security for mailing to files on systems that have fchmod(2) 3622c2aa98e2SPeter Wemm support. 3623c2aa98e2SPeter Wemm Improve "cannot send message for N days" message -- now says "could 3624c2aa98e2SPeter Wemm not send for past N days". Suggested by Tom Moore of AT&T 3625c2aa98e2SPeter Wemm Global Information Solutions. 3626c2aa98e2SPeter Wemm Less misleading Subject: line on messages sent to postmaster only. 3627c2aa98e2SPeter Wemm From Motonori Nakamura. 3628c2aa98e2SPeter Wemm Avoid duplicate error messages on bad command line flags. From 3629c2aa98e2SPeter Wemm Motonori Nakamura. 3630c2aa98e2SPeter Wemm Better error message for case where ruleset 0 falls off the end 3631c2aa98e2SPeter Wemm or otherwise does not resolve to a canonical triple. 3632c2aa98e2SPeter Wemm Fix a problem that could cause multiple bounce messages if a bad 3633c2aa98e2SPeter Wemm address was sent along with a good address to an SMTP 3634c2aa98e2SPeter Wemm site where that SMTP site returned a 4yz code in response 3635c2aa98e2SPeter Wemm to the final dot of the data. Problem reported by David 3636c2aa98e2SPeter Wemm James of British Telecom. 3637c2aa98e2SPeter Wemm Add "volatile" declarations so that gcc -O2 will work. Patches 3638c2aa98e2SPeter Wemm from Alexander Dupuy of System Management ARTS. 3639c2aa98e2SPeter Wemm Delete duplicates in MX lists -- believe it or not, there are sites 3640c2aa98e2SPeter Wemm that list the same host twice in an MX list. This deletion 3641c2aa98e2SPeter Wemm only works on adjacent preferences, so an MX list that 3642c2aa98e2SPeter Wemm had A=5, B=10, A=15 would leave both As, but one that had 3643c2aa98e2SPeter Wemm A=5, A=10, B=15 would reduce to A, B. This is intentional, 3644c2aa98e2SPeter Wemm just in case there is something weird I haven't thought of. 3645c2aa98e2SPeter Wemm Suggested by Barry Shein of Software Tool & Die. 3646c2aa98e2SPeter Wemm SECURITY: .forward files cannot be symbolic links. If they are, 3647c2aa98e2SPeter Wemm a bad guy can read your private files. 3648c2aa98e2SPeter Wemm PORTABILITY FIXES: 3649c2aa98e2SPeter Wemm Solaris 2 from Rob McMahon <cudcv@csv.warwick.ac.uk>. 3650c2aa98e2SPeter Wemm System V Release 4 from Motonori Nakamura of Ritsumeikan 3651c2aa98e2SPeter Wemm University. This expands the disk size 3652c2aa98e2SPeter Wemm checking to include all (?) SVR4 configurations. 3653c2aa98e2SPeter Wemm System V Release 4 from Kimmo Suominen -- initgroups(3) 3654c2aa98e2SPeter Wemm and setrlimit(2) are both available. 3655c2aa98e2SPeter Wemm System V Release 4 from sob@sculley.ffg.com -- some versions 3656c2aa98e2SPeter Wemm apparently "have EX_OK defined in other headerfiles." 3657c2aa98e2SPeter Wemm Linux Makefile typo. 3658c2aa98e2SPeter Wemm Linux getusershell(3) is broken in Slackware 2.0 -- 3659c2aa98e2SPeter Wemm from Andrew Pam of Xanadu Australia. 3660c2aa98e2SPeter Wemm More Linux tweaking from John Kennedy of California State 3661c2aa98e2SPeter Wemm University, Chico. 3662c2aa98e2SPeter Wemm Cray changes from Eric Wassenaar: ``On Cray, shorts, 3663c2aa98e2SPeter Wemm ints, and longs are all 64 bits, and all structs 3664c2aa98e2SPeter Wemm are multiples of 64 bits. This means that the 3665c2aa98e2SPeter Wemm sizeof operator returns only multiples of 8. 3666c2aa98e2SPeter Wemm This requires adaptation of code that really 3667c2aa98e2SPeter Wemm deals with 32 bit or 16 bit fields, such as IP 3668c2aa98e2SPeter Wemm addresses or nameserver fields.'' 3669c2aa98e2SPeter Wemm DG/UX 5.4.3 from Mark T. Robinson <mtr@ornl.gov>. To 36702e43090eSPeter Wemm get the old behavior, use -DDGUX_5_4_2. 3671c2aa98e2SPeter Wemm DG/UX hack: add _FORCE_MAIL_LOCAL_=yes environment 36722e43090eSPeter Wemm variable to fix bogus /bin/mail behavior. 3673c2aa98e2SPeter Wemm Tandem NonStop-UX from Rick McCarty <mccarty@mpd.tandem.com>. 3674c2aa98e2SPeter Wemm This also cleans up some System V Release 4 compile 3675c2aa98e2SPeter Wemm problems. 3676c2aa98e2SPeter Wemm Solaris 2: sendmail.cw file should be in /etc/mail to 3677c2aa98e2SPeter Wemm match all the other configuration files. Fix 3678c2aa98e2SPeter Wemm from Glenn Barry of Emory University. 3679c2aa98e2SPeter Wemm Solaris 2.3: compile problem in conf.c. Fix from Alain 3680c2aa98e2SPeter Wemm Nissen of the University of Liege, Belgium. 3681c2aa98e2SPeter Wemm Ultrix: freespace calculation was incorrect. Fix from 3682c2aa98e2SPeter Wemm Takashi Kizu of Osaka University. 3683c2aa98e2SPeter Wemm SVR4: running in background gets a SIGTTOU because the 3684c2aa98e2SPeter Wemm emulation code doesn't realize that "getpeername" 3685c2aa98e2SPeter Wemm doesn't require reading the file. Fix from Peter 3686c2aa98e2SPeter Wemm Wemm of DIALix. 3687c2aa98e2SPeter Wemm Solaris 2.3: due to an apparent bug in the socket emulation 3688c2aa98e2SPeter Wemm library, sockets can get into a "wedged" state where 3689c2aa98e2SPeter Wemm they just return EPROTO; closing and re-opening the 3690c2aa98e2SPeter Wemm socket clears the problem. Fix from Bob Manson 3691c2aa98e2SPeter Wemm of Ohio State University. 3692c2aa98e2SPeter Wemm Hitachi 3050R & 3050RX running HI-UX/WE2: portability 3693c2aa98e2SPeter Wemm fixes from Akihiro Hashimoto ("Hash") of Chiba 3694c2aa98e2SPeter Wemm University. 3695c2aa98e2SPeter Wemm AIX changes to allow setproctitle to work from Rainer Sch�pf 3696c2aa98e2SPeter Wemm of Zentrum f�r Datenverarbeitung der Universit�t 3697c2aa98e2SPeter Wemm Mainz. 3698c2aa98e2SPeter Wemm AIX changes for load average from Ed Ravin of NASA/Goddard. 3699c2aa98e2SPeter Wemm SCO Unix from Chip Rosenthal of Unicom (code was using the 3700c2aa98e2SPeter Wemm wrong statfs call). 3701c2aa98e2SPeter Wemm ANSI C fixes from Adam Glass (NetBSD project). 3702c2aa98e2SPeter Wemm Stardent Titan/ANSI C fixes from Kate Hedstrom of Rutgers 3703c2aa98e2SPeter Wemm University. 3704c2aa98e2SPeter Wemm DG-UX fixes from Bruce Nagel of Data General. 3705c2aa98e2SPeter Wemm IRIX64 updates from Mark Levinson of the University of 3706c2aa98e2SPeter Wemm Rochester Medical Center. 3707c2aa98e2SPeter Wemm Altos System V (``the first UNIX/XENIX merge the Altos 3708c2aa98e2SPeter Wemm did for their Series 1000 & Series 2000 line; 3709c2aa98e2SPeter Wemm their merged code was licensed back to AT&T and 3710c2aa98e2SPeter Wemm Microsoft and became System V release 3.2'') from 3711c2aa98e2SPeter Wemm Tim Rice <timr@crl.com>. 3712c2aa98e2SPeter Wemm OSF/1 running on Intel Paragon from Jeff A. Earickson 3713c2aa98e2SPeter Wemm <jeff@ssd.intel.com> of Intel Scalable Systems 3714c2aa98e2SPeter Wemm Division. 3715c2aa98e2SPeter Wemm Amdahl UTS System V 2.1.5 (SVr3-based) from Janet Jackson 3716c2aa98e2SPeter Wemm <janet@dialix.oz.au>. 3717c2aa98e2SPeter Wemm System V Release 4 (statvfs semantic fix) from Alain 3718c2aa98e2SPeter Wemm Durand of I.M.A.G. 3719c2aa98e2SPeter Wemm HP-UX 10.x multiprocessor load average changes from 3720c2aa98e2SPeter Wemm Scott Hutton and Jeff Sumler of Indiana University. 3721c2aa98e2SPeter Wemm Cray CSOS from Scott Bolte of Cray Computer Corporation. 3722c2aa98e2SPeter Wemm Unicos 8.0 from Douglas K. Rand of the University of North 3723c2aa98e2SPeter Wemm Dakota, Scientific Computing Center. 3724c2aa98e2SPeter Wemm Solaris 2.4 fixes from Sanjay Dani of Dani Communications. 3725c2aa98e2SPeter Wemm ConvexOS 11.0 from Christophe Wolfhugel. 3726c2aa98e2SPeter Wemm IRIX 4.0.5 from David Ashton-Reader of CADcentre. 3727c2aa98e2SPeter Wemm ISC UNIX from J. J. Bailey. 3728c2aa98e2SPeter Wemm HP-UX 9.xx on the 8xx series machines from Remy Giraud 3729c2aa98e2SPeter Wemm of Meteo France. 3730c2aa98e2SPeter Wemm HP-UX configuration from Tom Lane <tgl@sss.pgh.pa.us>. 3731c2aa98e2SPeter Wemm IRIX 5.2 and 5.3 from Kari E. Hurtta. 3732c2aa98e2SPeter Wemm FreeBSD 2.0 from Mike Hickey of Federal Data Corporation. 3733c2aa98e2SPeter Wemm Sony NEWS-OS 4.2.1R and 6.0.3 from Motonori Nakamura. 3734c2aa98e2SPeter Wemm Omron LUNA unios-b, mach from Motonori Nakamura. 3735c2aa98e2SPeter Wemm NEC EWS-UX/V 4.2 from Motonori Nakamura. 3736c2aa98e2SPeter Wemm NeXT 2.1 from Bryan Costales. 3737c2aa98e2SPeter Wemm AUX patch thanks to Mike Erwin of Apple Computer. 3738c2aa98e2SPeter Wemm HP-UX 10.0 from John Beck of Hewlett-Packard. 3739c2aa98e2SPeter Wemm Ultrix: allow -DBROKEN_RES_SEARCH=0 if you are using a 3740c2aa98e2SPeter Wemm non-DEC resolver. Suggested by Allan Johannesen. 3741c2aa98e2SPeter Wemm UnixWare 2.0 fixes from Petr Lampa of the Technical 3742c2aa98e2SPeter Wemm University of Brno (Czech Republic). 3743c2aa98e2SPeter Wemm KSR OS 1.2.2 support from Todd Miller of the University 3744c2aa98e2SPeter Wemm of Colorado. 3745c2aa98e2SPeter Wemm UX4800 support from Kazuhisa Shimizu of NEC. 3746c2aa98e2SPeter Wemm MAKEMAP: allow -d flag to allow insertion of duplicate aliases 3747c2aa98e2SPeter Wemm in type ``btree'' maps. The semantics of this are undefined 3748c2aa98e2SPeter Wemm for regular maps, but it can be useful for the user database. 3749c2aa98e2SPeter Wemm MAKEMAP: lock database file while rebuilding to avoid sendmail 3750c2aa98e2SPeter Wemm lookups while the rebuild is going on. There is a race 3751c2aa98e2SPeter Wemm condition between the open(... O_TRUNC ...) and the lock 3752c2aa98e2SPeter Wemm on the file, but it should be quite small. 3753c2aa98e2SPeter Wemm SMRSH: sendmail restricted shell added to the release. This can 3754c2aa98e2SPeter Wemm be used as an alternative to /bin/sh for the "prog" mailer, 3755c2aa98e2SPeter Wemm giving the local administrator more control over what 3756c2aa98e2SPeter Wemm programs can be run from sendmail. 3757c2aa98e2SPeter Wemm MAIL.LOCAL: add this local mailer to the tape. It is not really 3758c2aa98e2SPeter Wemm part of the release proper, and isn't fully supported; in 3759c2aa98e2SPeter Wemm particular, it does not run on System V based systems and 3760c2aa98e2SPeter Wemm never will. 3761c2aa98e2SPeter Wemm CONTRIB: a patch to rmail.c from Bill Gianopoulos of Raytheon 3762c2aa98e2SPeter Wemm to allow rmail to compile on systems that don't have 3763c2aa98e2SPeter Wemm function prototypes and systems that don't have snprintf. 3764c2aa98e2SPeter Wemm CONTRIB: add the "mailprio" scripts that will help you sort mailing 3765c2aa98e2SPeter Wemm lists by transaction delay times so that addresses that 3766c2aa98e2SPeter Wemm respond quickly get sent first. This is to prevent very 3767c2aa98e2SPeter Wemm sluggish servers from delaying other peoples' mail. 3768c2aa98e2SPeter Wemm Contributed by Tony Sanders of BSDI. 3769c2aa98e2SPeter Wemm CONTRIB: add the "bsdi.mc" file as contributed by Tony Sanders 3770c2aa98e2SPeter Wemm of BSDI. This has a lot of comments to help people out. 3771c2aa98e2SPeter Wemm CONFIG: Don't have .mc files include(../m4/cf.m4) -- instead, 3772c2aa98e2SPeter Wemm put this on the m4 command line. On GNU m4 (which 3773c2aa98e2SPeter Wemm supports the __file__ primitive) you can run m4 in an 3774c2aa98e2SPeter Wemm arbitrary directory -- use either: 3775c2aa98e2SPeter Wemm m4 ${CFDIR}/m4/cf.m4 config.mc > config.cf 3776c2aa98e2SPeter Wemm or 3777c2aa98e2SPeter Wemm m4 -I${CFDIR} m4/cf.m4 config.mc > config.cf 3778c2aa98e2SPeter Wemm On other versions of m4 that don't support __file__, you 3779c2aa98e2SPeter Wemm can use: 3780c2aa98e2SPeter Wemm m4 -D_CF_DIR_=${CFDIR}/ ${CFDIR}/m4/cf.m4 ... 3781c2aa98e2SPeter Wemm (Note the trailing slash on the _CF_DIR_ definition.) 3782c2aa98e2SPeter Wemm Old versions of m4 will default to _CF_DIR_=.. for back 3783c2aa98e2SPeter Wemm compatibility. 3784c2aa98e2SPeter Wemm CONFIG: fix mail from <> so it will properly convert to 3785c2aa98e2SPeter Wemm MAILER-DAEMON on local addresses. 3786c2aa98e2SPeter Wemm CONFIG: fix code that was supposed to catch colons in host 3787c2aa98e2SPeter Wemm names. Problem noted by John Gardiner Myers of CMU. 3788c2aa98e2SPeter Wemm CONFIG: allow use of SMTP_MAILER_MAX in nullclient configuration. 3789c2aa98e2SPeter Wemm From Paul Riddle of the University of Maryland, Baltimore 3790c2aa98e2SPeter Wemm County. 3791c2aa98e2SPeter Wemm CONFIG: Catch and reject "." as a host address. 3792c2aa98e2SPeter Wemm CONFIG: Generalize domaintable to look up all domains, not 3793c2aa98e2SPeter Wemm just unqualified ones. 3794c2aa98e2SPeter Wemm CONFIG: Delete OLD_SENDMAIL support -- as near as I can tell, it 3795c2aa98e2SPeter Wemm was never used and didn't work anyway. 3796c2aa98e2SPeter Wemm CONFIG: Set flags A, w, 5, :, /, |, and @ on the "local" mailer 3797c2aa98e2SPeter Wemm and d on all mailers in the UUCP class. 3798c2aa98e2SPeter Wemm CONFIG: Allow "user+detail" to be aliased specially: it will first 3799c2aa98e2SPeter Wemm look for an alias for "user+detail", then for "user+*", and 3800c2aa98e2SPeter Wemm finally for "user". This is intended for forwarding mail 3801c2aa98e2SPeter Wemm for system aliases such as root and postmaster to a 3802c2aa98e2SPeter Wemm centralized hub. 3803c2aa98e2SPeter Wemm CONFIG: add confEIGHT_BIT_HANDLING to set option 8 (see above). 3804c2aa98e2SPeter Wemm CONFIG: add smtp8 mailer; this has the F=8 (just-send-8) flag set. 3805c2aa98e2SPeter Wemm The F=8 flag is also set on the "relay" mailer, since 3806c2aa98e2SPeter Wemm this is expected to be another sendmail. 3807c2aa98e2SPeter Wemm CONFIG: avoid qualifying all UUCP addresses sent via SMTP with 3808c2aa98e2SPeter Wemm the name of the UUCP_RELAY -- in some cases, this is the 3809c2aa98e2SPeter Wemm wrong value (e.g., when we have local UUCP connections), 3810c2aa98e2SPeter Wemm and this can create unreplyable addresses. From Chip 3811c2aa98e2SPeter Wemm Rosenthal of Unicom. 3812c2aa98e2SPeter Wemm CONFIG: add confRECEIVED_HEADER to change the format of the 3813c2aa98e2SPeter Wemm Received: header inserted into all messages. Suggested by 3814c2aa98e2SPeter Wemm Gary Mills of the University of Manitoba. 3815c2aa98e2SPeter Wemm CONFIG: Make "notsticky" the default; use FEATURE(stickyhost) 38162e43090eSPeter Wemm to get the old behavior. I did this upon observing 3817c2aa98e2SPeter Wemm that almost everyone needed this feature, and that the 3818c2aa98e2SPeter Wemm concept I was trying to make happen didn't work with 3819c2aa98e2SPeter Wemm some user agents anyway. FEATURE(notsticky) still works, 3820c2aa98e2SPeter Wemm but it is a no-op. 3821c2aa98e2SPeter Wemm CONFIG: Add LUSER_RELAY -- the host to which unrecognized user 3822c2aa98e2SPeter Wemm names are sent, rather than immediately diagnosing them 3823c2aa98e2SPeter Wemm as User Unknown. 3824c2aa98e2SPeter Wemm CONFIG: Add SMTP_MAILER_ARGS, ESMTP_MAILER_ARGS, SMTP8_MAILER_ARGS, 3825c2aa98e2SPeter Wemm and RELAY_MAILER_ARGS to set the arguments for the 3826c2aa98e2SPeter Wemm indicated mailers. All default to "IPC $h". Patch from 3827c2aa98e2SPeter Wemm Larry Parmelee of Cornell University. 3828c2aa98e2SPeter Wemm CONFIG: pop mailer needs F=n flag to avoid "annoying side effects 3829c2aa98e2SPeter Wemm on the client side" and F=P to get an appropriate 3830c2aa98e2SPeter Wemm return-path. From Kimmo Suominen. 3831c2aa98e2SPeter Wemm CONFIG: add FEATURE(local_procmail) to use the procmail program 3832c2aa98e2SPeter Wemm as the local mailer. For addresses of the form "user+detail" 3833c2aa98e2SPeter Wemm the "detail" part is passed to procmail via the -a flag. 3834c2aa98e2SPeter Wemm Contributed by Kimmo Suominen. 3835c2aa98e2SPeter Wemm CONFIG: add MAILER(procmail) to add an interface to procmail for 3836c2aa98e2SPeter Wemm use from mailertables. This lets you execute arbitrary 3837c2aa98e2SPeter Wemm procmail scripts. Contributed by Kimmo Suominen. 3838c2aa98e2SPeter Wemm CONFIG: add T= fields (MTS type) to local, smtp, and uucp mailers. 3839c2aa98e2SPeter Wemm CONFIG: add OSTYPE(ptx2) for DYNIX/ptx 2.x from Sequent. From 3840c2aa98e2SPeter Wemm Paul Southworth of CICNet Systems Support. 3841c2aa98e2SPeter Wemm CONFIG: use -a$g as default to UUCP mailers, instead of -a$f. 3842c2aa98e2SPeter Wemm This causes the null return path to be rewritten as 3843c2aa98e2SPeter Wemm MAILER-DAEMON; otherwise UUCP gets horribly confused. 3844c2aa98e2SPeter Wemm From Michael Hohmuth of Technische Universitat Dresden. 3845c2aa98e2SPeter Wemm CONFIG: Add FEATURE(bestmx_is_local) to cause any hosts that 3846c2aa98e2SPeter Wemm list us as the best possible MX record to be treated as 3847c2aa98e2SPeter Wemm though they were local (essentially, assume that they 3848c2aa98e2SPeter Wemm are included in $=w). This can cause additional DNS 3849c2aa98e2SPeter Wemm traffic, but is easier to administer if this fits your 3850c2aa98e2SPeter Wemm local model. It does not work reliably if there are 3851c2aa98e2SPeter Wemm multiple hosts that share the best MX preference. 3852c2aa98e2SPeter Wemm Code contributed by John Oleynick of Rutgers. 3853c2aa98e2SPeter Wemm CONFIG: Add FEATURE(smrsh) to use smrsh (the SendMail Restricted 3854c2aa98e2SPeter Wemm SHell) instead of /bin/sh as the program used for delivery 3855c2aa98e2SPeter Wemm to programs. If an argument is included, it is used as 3856c2aa98e2SPeter Wemm the path to smrsh; otherwise, /usr/local/etc/smrsh is 3857c2aa98e2SPeter Wemm assumed. 3858c2aa98e2SPeter Wemm CONFIG: Add LOCAL_MAILER_MAX and PROCMAILER_MAILER_MAX to limit the 3859c2aa98e2SPeter Wemm size of messages to the local and procmail mailers 3860c2aa98e2SPeter Wemm respectively. Contributed by Brad Knowles of the Defense 3861c2aa98e2SPeter Wemm Information Systems Agency. 3862c2aa98e2SPeter Wemm CONFIG: Handle leading ``phrase:'' and trailing ``;'' as comments 3863c2aa98e2SPeter Wemm (just like text outside of angle brackets) in order to 3864c2aa98e2SPeter Wemm properly deal with ``group: addr1, ... addrN;'' syntax. 3865c2aa98e2SPeter Wemm CONFIG: Require OSTYPE macro (the defaults really don't apply to 3866c2aa98e2SPeter Wemm any real systems any more) and tweak the DOMAIN macro 3867c2aa98e2SPeter Wemm so that it is less likely that users will accidentally use 3868c2aa98e2SPeter Wemm the Berkeley defaults. Also, create some generic files 3869c2aa98e2SPeter Wemm that really can be used in the real world. 3870c2aa98e2SPeter Wemm CONFIG: Add new configuration macros to set character sets for 3871c2aa98e2SPeter Wemm messages _arriving from_ various mailers: LOCAL_MAILER_CHARSET, 3872c2aa98e2SPeter Wemm SMTP_MAILER_CHARSET, and UUCP_MAILER_CHARSET. 3873c2aa98e2SPeter Wemm CONFIG: Change UUCP_MAX_SIZE to UUCP_MAILER_MAX for consistency. 3874c2aa98e2SPeter Wemm The old name will still be accepted for a while at least. 3875c2aa98e2SPeter Wemm CONFIG: Implement DECNET_RELAY as spec for host to which DECNET 3876c2aa98e2SPeter Wemm mail (.DECNET pseudo-domain or node::user) will be sent. 3877c2aa98e2SPeter Wemm As with all relays, it can be ``mailer:hostname''. Suggested 3878c2aa98e2SPeter Wemm by Scott Hutton. 3879c2aa98e2SPeter Wemm CONFIG: Add MAILER(mail11) to get DECnet support. Code contributed 3880c2aa98e2SPeter Wemm by Barb Dijker of Labyrinth Computer Services. 3881c2aa98e2SPeter Wemm CONFIG: change confCHECK_ALIASES to default to False -- it has poor 3882c2aa98e2SPeter Wemm performance for large alias files, and this confused many 3883c2aa98e2SPeter Wemm people. 3884c2aa98e2SPeter Wemm CONFIG: Add confCF_VERSION to append local information to the 3885c2aa98e2SPeter Wemm configuration version number displayed during SMTP startup. 3886c2aa98e2SPeter Wemm CONFIG: fix some.newsgroup.usenet@local.host syntax (previously it 3887c2aa98e2SPeter Wemm would only work when locally addressed. Fix from 3888c2aa98e2SPeter Wemm Edvard Tuinder of Cistron Internet Services. 3889c2aa98e2SPeter Wemm CONFIG: use ${opMode} to avoid error on .REDIRECT addresses if option 38902e43090eSPeter Wemm "n" (CheckAliases) is set when rebuilding alias database. 3891c2aa98e2SPeter Wemm Based on code contributed by Claude Marinier. 3892c2aa98e2SPeter Wemm CONFIG: Allow mailertable to have values of the form 3893c2aa98e2SPeter Wemm ``error:code message''. The ``code'' is a status code 3894c2aa98e2SPeter Wemm derived from the sysexits codes -- e.g., NOHOST or UNAVAILABLE. 3895c2aa98e2SPeter Wemm Contributed by David James <dwj@agw.bt.co.uk>. 3896c2aa98e2SPeter Wemm CONFIG: add MASQUERADE_DOMAIN(domain list) to extend the list of 3897c2aa98e2SPeter Wemm sender domains that will be replaced with the masquerade name. 3898c2aa98e2SPeter Wemm These domains will not be treated as local, but if mail passes 3899c2aa98e2SPeter Wemm through with sender addresses in those domains they will be 3900c2aa98e2SPeter Wemm replaced by the masquerade name. These can also be specified 3901c2aa98e2SPeter Wemm in a file using MASQUERADE_DOMAIN_FILE(filename). 3902c2aa98e2SPeter Wemm CONFIG: add FEATURE(masquerade_envelope) to masquerade the envelope 3903c2aa98e2SPeter Wemm as well as the header. Substantial improvements to this 3904c2aa98e2SPeter Wemm code were contributed by Per Hedeland. 3905c2aa98e2SPeter Wemm CONFIG: add MAILER(phquery) to define a new "ph" mailer; this can be 3906c2aa98e2SPeter Wemm accessed from a mailertable to do CCSO ph lookups. Contributed 3907c2aa98e2SPeter Wemm by Kimmo Suominen. 3908c2aa98e2SPeter Wemm CONFIG: add MAILER(cyrus) to define a new Cyrus mailer; this can be 3909c2aa98e2SPeter Wemm used to define cyrus and cyrusbb mailers (for IMAP support). 3910c2aa98e2SPeter Wemm Contributed by John Gardiner Myers of Carnegie Mellon. 3911c2aa98e2SPeter Wemm CONFIG: add confUUCP_MAILER to select default mailer to use for 3912c2aa98e2SPeter Wemm UUCP addressing. Suggested by Tom Moore of AT&T GIS. 3913c2aa98e2SPeter Wemm NEW FILES: 3914c2aa98e2SPeter Wemm cf/cf/cs-hpux10.mc 3915c2aa98e2SPeter Wemm cf/cf/cs-solaris2.mc 3916c2aa98e2SPeter Wemm cf/cf/cyrusproto.mc 3917c2aa98e2SPeter Wemm cf/cf/generic-bsd4.4.mc 3918c2aa98e2SPeter Wemm cf/cf/generic-hpux10.mc 3919c2aa98e2SPeter Wemm cf/cf/generic-hpux9.mc 3920c2aa98e2SPeter Wemm cf/cf/generic-osf1.mc 3921c2aa98e2SPeter Wemm cf/cf/generic-solaris2.mc 3922c2aa98e2SPeter Wemm cf/cf/generic-sunos4.1.mc 3923c2aa98e2SPeter Wemm cf/cf/generic-ultrix4.mc 3924c2aa98e2SPeter Wemm cf/cf/huginn.cs.mc 3925c2aa98e2SPeter Wemm cf/domain/berkeley-only.m4 3926c2aa98e2SPeter Wemm cf/domain/generic.m4 3927c2aa98e2SPeter Wemm cf/feature/bestmx_is_local.m4 3928c2aa98e2SPeter Wemm cf/feature/local_procmail.m4 3929c2aa98e2SPeter Wemm cf/feature/masquerade_envelope.m4 3930c2aa98e2SPeter Wemm cf/feature/smrsh.m4 3931c2aa98e2SPeter Wemm cf/feature/stickyhost.m4 3932c2aa98e2SPeter Wemm cf/feature/use_ct_file.m4 3933c2aa98e2SPeter Wemm cf/m4/cfhead.m4 3934c2aa98e2SPeter Wemm cf/mailer/cyrus.m4 3935c2aa98e2SPeter Wemm cf/mailer/mail11.m4 3936c2aa98e2SPeter Wemm cf/mailer/phquery.m4 3937c2aa98e2SPeter Wemm cf/mailer/procmail.m4 3938c2aa98e2SPeter Wemm cf/ostype/amdahl-uts.m4 3939c2aa98e2SPeter Wemm cf/ostype/bsdi2.0.m4 3940c2aa98e2SPeter Wemm cf/ostype/hpux10.m4 3941c2aa98e2SPeter Wemm cf/ostype/irix5.m4 3942c2aa98e2SPeter Wemm cf/ostype/isc4.1.m4 3943c2aa98e2SPeter Wemm cf/ostype/ptx2.m4 3944c2aa98e2SPeter Wemm cf/ostype/unknown.m4 3945c2aa98e2SPeter Wemm contrib/bsdi.mc 3946c2aa98e2SPeter Wemm contrib/mailprio 3947c2aa98e2SPeter Wemm contrib/rmail.oldsys.patch 3948c2aa98e2SPeter Wemm mail.local/mail.local.0 3949c2aa98e2SPeter Wemm makemap/makemap.0 3950c2aa98e2SPeter Wemm smrsh/README 3951c2aa98e2SPeter Wemm smrsh/smrsh.0 3952c2aa98e2SPeter Wemm smrsh/smrsh.8 3953c2aa98e2SPeter Wemm smrsh/smrsh.c 3954c2aa98e2SPeter Wemm src/Makefiles/Makefile.CSOS 3955c2aa98e2SPeter Wemm src/Makefiles/Makefile.EWS-UX_V 3956c2aa98e2SPeter Wemm src/Makefiles/Makefile.HP-UX.10 3957c2aa98e2SPeter Wemm src/Makefiles/Makefile.IRIX.5.x 3958c2aa98e2SPeter Wemm src/Makefiles/Makefile.IRIX64 3959c2aa98e2SPeter Wemm src/Makefiles/Makefile.ISC 3960c2aa98e2SPeter Wemm src/Makefiles/Makefile.KSR 3961c2aa98e2SPeter Wemm src/Makefiles/Makefile.NEWS-OS.4.x 3962c2aa98e2SPeter Wemm src/Makefiles/Makefile.NEWS-OS.6.x 3963c2aa98e2SPeter Wemm src/Makefiles/Makefile.NEXTSTEP 3964c2aa98e2SPeter Wemm src/Makefiles/Makefile.NonStop-UX 3965c2aa98e2SPeter Wemm src/Makefiles/Makefile.Paragon 3966c2aa98e2SPeter Wemm src/Makefiles/Makefile.SCO.3.2v4.2 3967c2aa98e2SPeter Wemm src/Makefiles/Makefile.SunOS.5.3 3968c2aa98e2SPeter Wemm src/Makefiles/Makefile.SunOS.5.4 3969c2aa98e2SPeter Wemm src/Makefiles/Makefile.SunOS.5.5 3970c2aa98e2SPeter Wemm src/Makefiles/Makefile.UNIX_SV.4.x.i386 3971c2aa98e2SPeter Wemm src/Makefiles/Makefile.uts.systemV 3972c2aa98e2SPeter Wemm src/Makefiles/Makefile.UX4800 3973c2aa98e2SPeter Wemm src/aliases.0 3974c2aa98e2SPeter Wemm src/mailq.0 3975c2aa98e2SPeter Wemm src/mime.c 3976c2aa98e2SPeter Wemm src/newaliases.0 3977c2aa98e2SPeter Wemm src/sendmail.0 3978c2aa98e2SPeter Wemm test/t_seteuid.c 3979c2aa98e2SPeter Wemm RENAMED FILES: 3980c2aa98e2SPeter Wemm cf/cf/alpha.mc => cf/cf/s2k-osf1.mc 3981c2aa98e2SPeter Wemm cf/cf/chez.mc => cf/cf/chez.cs.mc 3982c2aa98e2SPeter Wemm cf/cf/hpux-cs-exposed.mc => cf/cf/cs-hpux9.mc 3983c2aa98e2SPeter Wemm cf/cf/osf1-cs-exposed.mc => cf/cf/cs-osf1.mc 3984c2aa98e2SPeter Wemm cf/cf/s2k.mc => cf/cf/s2k-ultrix4.mc 3985c2aa98e2SPeter Wemm cf/cf/sunos4.1-cs-exposed.mc => cf/cf/cs-sunos4.1.mc 3986c2aa98e2SPeter Wemm cf/cf/ultrix4.1-cs-exposed.mc => cf/cf/cs-ultrix4.mc 3987c2aa98e2SPeter Wemm cf/cf/vangogh.mc => cf/cf/vangogh.cs.mc 3988c2aa98e2SPeter Wemm cf/domain/Berkeley.m4 => cf/domain/Berkeley.EDU.m4 3989c2aa98e2SPeter Wemm cf/domain/cs-exposed.m4 => cf/domain/CS.Berkeley.EDU.m4 3990c2aa98e2SPeter Wemm cf/domain/eecs-hidden.m4 => cf/domain/EECS.Berkeley.EDU.m4 3991c2aa98e2SPeter Wemm cf/domain/s2k.m4 => cf/domain/S2K.Berkeley.EDU.m4 3992c2aa98e2SPeter Wemm cf/ostype/hpux.m4 => cf/ostype/hpux9.m4 3993c2aa98e2SPeter Wemm cf/ostype/irix.m4 => cf/ostype/irix4.m4 3994c2aa98e2SPeter Wemm cf/ostype/ultrix4.1.m4 => cf/ostype/ultrix4.m4 3995c2aa98e2SPeter Wemm src/Makefile.* => src/Makefiles/Makefile.* 3996c2aa98e2SPeter Wemm src/Makefile.AUX => src/Makefiles/Makefile.A-UX 3997c2aa98e2SPeter Wemm src/Makefile.BSDI => src/Makefiles/Makefile.BSD-OS 3998c2aa98e2SPeter Wemm src/Makefile.DGUX => src/Makefiles/Makefile.dgux 3999c2aa98e2SPeter Wemm src/Makefile.RISCos => src/Makefiles/Makefile.UMIPS 4000c2aa98e2SPeter Wemm src/Makefile.SunOS.4.0.3 => src/Makefiles/Makefile.SunOS.4.0 4001c2aa98e2SPeter Wemm OBSOLETED FILES: 4002c2aa98e2SPeter Wemm cf/cf/cogsci.mc 4003c2aa98e2SPeter Wemm cf/cf/cs-exposed.mc 4004c2aa98e2SPeter Wemm cf/cf/cs-hidden.mc 4005c2aa98e2SPeter Wemm cf/cf/hpux-cs-hidden.mc 4006c2aa98e2SPeter Wemm cf/cf/knecht.mc 4007c2aa98e2SPeter Wemm cf/cf/osf1-cs-hidden.mc 4008c2aa98e2SPeter Wemm cf/cf/sunos3.5-cs-exposed.mc 4009c2aa98e2SPeter Wemm cf/cf/sunos3.5-cs-hidden.mc 4010c2aa98e2SPeter Wemm cf/cf/sunos4.1-cs-hidden.mc 4011c2aa98e2SPeter Wemm cf/cf/ultrix4.1-cs-hidden.mc 4012c2aa98e2SPeter Wemm cf/domain/cs-hidden.m4 4013c2aa98e2SPeter Wemm contrib/rcpt-streaming 4014c2aa98e2SPeter Wemm src/Makefiles/Makefile.SunOS.5.x 4015c2aa98e2SPeter Wemm 4016c2aa98e2SPeter Wemm8.6.13/8.6.12 96/01/25 4017c2aa98e2SPeter Wemm SECURITY: In some cases it was still possible for an attacker to 4018c2aa98e2SPeter Wemm insert newlines into a queue file, thus allowing access to 4019c2aa98e2SPeter Wemm any user (except root). 4020c2aa98e2SPeter Wemm CONFIG: no changes -- it is not a bug that the configuration 4021c2aa98e2SPeter Wemm version number is unchanged. 4022c2aa98e2SPeter Wemm 4023c2aa98e2SPeter Wemm8.6.12/8.6.12 95/03/28 4024c2aa98e2SPeter Wemm Fix to IDENT code (it was getting the size of the reply buffer 4025c2aa98e2SPeter Wemm too small, so nothing was ever accepted). Fix from several 4026c2aa98e2SPeter Wemm people, including Allan Johannesen, Shane Castle of the 4027c2aa98e2SPeter Wemm Boulder County Information Services, and Jeff Smith of 4028c2aa98e2SPeter Wemm Warwick University (all arrived within a few hours of 4029c2aa98e2SPeter Wemm each other!). 4030c2aa98e2SPeter Wemm Fix a problem that could cause large jobs to run out of 4031c2aa98e2SPeter Wemm file descriptors on systems that use vfork() rather 4032c2aa98e2SPeter Wemm than fork(). 4033c2aa98e2SPeter Wemm 4034c2aa98e2SPeter Wemm8.6.11/8.6.11 95/03/08 4035c2aa98e2SPeter Wemm The ``possible attack'' message would be logged more often 4036c2aa98e2SPeter Wemm than necessary if you are using Pine as a user agent. 4037c2aa98e2SPeter Wemm The wrong host would be reported in the ``possible attack'' 4038c2aa98e2SPeter Wemm message when attempted from IDENT. 4039c2aa98e2SPeter Wemm In some cases the syslog buffer could be overflowed when 4040c2aa98e2SPeter Wemm reporting the ``possible attack'' message. This can 4041c2aa98e2SPeter Wemm cause denial of service attacks. Truncate the message 4042c2aa98e2SPeter Wemm to 80 characters to prevent this problem. 4043c2aa98e2SPeter Wemm When reading the IDENT response a loop is needed around the 4044c2aa98e2SPeter Wemm read from the network to ensure that you don't get 4045c2aa98e2SPeter Wemm partial lines. 4046c2aa98e2SPeter Wemm Password entries without any shell listed (that is, a null 4047c2aa98e2SPeter Wemm shell) wouldn't match as "ok". Problem noted by 4048c2aa98e2SPeter Wemm Rob McMahon. 4049c2aa98e2SPeter Wemm When running BIND 4.9.x a problem could occur because the 4050c2aa98e2SPeter Wemm _res.options field is initialized differently than it 4051c2aa98e2SPeter Wemm was historically -- this requires that sendmail call 4052c2aa98e2SPeter Wemm res_init before it tweaks any bits. 4053c2aa98e2SPeter Wemm Fix an incompatibility in openxscript() between the file open mode 4054c2aa98e2SPeter Wemm and the stdio mode passed to fdopen. This caused UnixWare 4055c2aa98e2SPeter Wemm 2.0 to have conniptions. Fix from Martin Sohnius of 4056c2aa98e2SPeter Wemm Novell Labs Europe. 4057c2aa98e2SPeter Wemm Fix problem with static linking of local getopt routine when 4058c2aa98e2SPeter Wemm using GNU's ld command. Fix from John Kennedy of 4059c2aa98e2SPeter Wemm Cal State Chico. 4060c2aa98e2SPeter Wemm It was possible to turn off privacy flags. Problem noted by 4061c2aa98e2SPeter Wemm *Hobbit*. 4062c2aa98e2SPeter Wemm Be more paranoid about writing files. Suggestions by *Hobbit* 4063c2aa98e2SPeter Wemm and Liudvikas Bukys. 4064c2aa98e2SPeter Wemm MAKEMAP: fixes for 64 bit machines (DEC Alphas in particular) 4065c2aa98e2SPeter Wemm from Spider Boardman. 4066c2aa98e2SPeter Wemm CONFIG: No changes (version number only, to keep it in sync 4067c2aa98e2SPeter Wemm with the binaries). 4068c2aa98e2SPeter Wemm 4069c2aa98e2SPeter Wemm8.6.10/8.6.10 95/02/10 4070c2aa98e2SPeter Wemm SECURITY: Diagnose bogus values to some command line flags that 4071c2aa98e2SPeter Wemm could allow trash to get into headers and qf files. 4072c2aa98e2SPeter Wemm Validate the name of the user returned by the IDENT protocol. 4073c2aa98e2SPeter Wemm Some systems that really dislike IDENT send intentionally 4074c2aa98e2SPeter Wemm bogus information. Problem pointed out by Michael Bushnell 4075c2aa98e2SPeter Wemm of the Free Software Foundation. Has some security 4076c2aa98e2SPeter Wemm implications. 4077c2aa98e2SPeter Wemm Fix a problem causing error messages about DNS problems when 4078c2aa98e2SPeter Wemm the host name contained a percent sign to act oddly 4079c2aa98e2SPeter Wemm because it was passed as a printf-style format string. 4080c2aa98e2SPeter Wemm In some cases this could cause core dumps. 4081c2aa98e2SPeter Wemm Avoid possible buffer overrun in returntosender() if error 4082c2aa98e2SPeter Wemm message is quite long. From Fletcher Mattox of the 4083c2aa98e2SPeter Wemm University of Texas. 4084c2aa98e2SPeter Wemm Fix a problem that would silently drop "too many hops" error 4085c2aa98e2SPeter Wemm messages if and only if you were sending to an alias. 4086c2aa98e2SPeter Wemm From Jon Giltner of the University of Colorado and 4087c2aa98e2SPeter Wemm Dan Harton of Oak Ridge National Laboratory. 4088c2aa98e2SPeter Wemm Fix a bug that caused core dumps on some systems if -d11.2 was 4089c2aa98e2SPeter Wemm set and e->e_message was null. Fix from Bruce Nagel of 4090c2aa98e2SPeter Wemm Data General. 4091c2aa98e2SPeter Wemm Fix problem that can still cause df files to be left around 4092c2aa98e2SPeter Wemm after "hop count exceeded" messages. Fix from Andrew 4093c2aa98e2SPeter Wemm Chang and Shau-Ping Lo of SunSoft. 4094c2aa98e2SPeter Wemm Fix a problem that can cause buffer overflows on very long 4095c2aa98e2SPeter Wemm user names (as might occur if you piped to a program 4096c2aa98e2SPeter Wemm with a lot of arguments). 4097c2aa98e2SPeter Wemm Avoid returning an error and re-queueing if the host signature 4098c2aa98e2SPeter Wemm is null; this can occur on addresses like ``user@.''. 4099c2aa98e2SPeter Wemm Problem noted by Wesley Craig and the University of 4100c2aa98e2SPeter Wemm Michigan. 4101c2aa98e2SPeter Wemm Avoid possible calls to malloc(0) if MCI caching is turned 4102c2aa98e2SPeter Wemm off. Bug fix from Pierre David of the Laboratoire 4103c2aa98e2SPeter Wemm Parallelisme, Reseaux, Systemes et Modelisation (PRiSM), 4104c2aa98e2SPeter Wemm Universite de Versailles - St Quentin, and Jacky 4105c2aa98e2SPeter Wemm Thibault. 4106c2aa98e2SPeter Wemm Make a local copy of the line being sent via senttolist() -- in 4107c2aa98e2SPeter Wemm some cases, buffers could get trashed by map lookups 4108c2aa98e2SPeter Wemm causing it to do unexpected things. This also simplifies 4109c2aa98e2SPeter Wemm some of the map code. 4110c2aa98e2SPeter Wemm CONFIG: No changes (version number only, to keep it in sync 4111c2aa98e2SPeter Wemm with the binaries). 4112c2aa98e2SPeter Wemm 4113c2aa98e2SPeter Wemm8.6.9/8.6.9 94/04/19 4114c2aa98e2SPeter Wemm Do all mail delivery completely disconnected from any terminal. 4115c2aa98e2SPeter Wemm This provides consistency with daemon delivery and 4116c2aa98e2SPeter Wemm may have some security implications. 4117c2aa98e2SPeter Wemm Make sure that malloc doesn't get called with zero size, 4118c2aa98e2SPeter Wemm since that fails on some systems. Reported by Ed 4119c2aa98e2SPeter Wemm Hill of the University of Iowa. 4120c2aa98e2SPeter Wemm Fix multi-line values for $e (SMTP greeting message). Reported 4121c2aa98e2SPeter Wemm by Mike O'Connor of Ford Motor Company. 4122c2aa98e2SPeter Wemm Avoid syserr if no NIS domain name is defined, but the map it 4123c2aa98e2SPeter Wemm is trying to open is optional. From Win Bent of USC. 4124c2aa98e2SPeter Wemm Changes for picky compilers from Ed Gould of Digital Equipment. 4125c2aa98e2SPeter Wemm Hesiod support for UDB from Todd Miller of the University of 4126c2aa98e2SPeter Wemm Colorado. Use "hesiod" as the service name in the U 4127c2aa98e2SPeter Wemm option. 4128c2aa98e2SPeter Wemm Fix a problem that failed to set the "authentic" host name (that 4129c2aa98e2SPeter Wemm is, the one derived from the socket info) if you called 4130c2aa98e2SPeter Wemm sendmail -bs from inetd. Based on code contributed by 4131c2aa98e2SPeter Wemm Todd Miller (this problem was also reported by Guy Helmer 4132c2aa98e2SPeter Wemm of Dakota State University). This also fixes a related 4133c2aa98e2SPeter Wemm problem reported by Liudvikas Bukys of the University of 4134c2aa98e2SPeter Wemm Rochester. 4135c2aa98e2SPeter Wemm Parameterize "nroff -h" in all the Makefiles so people with 4136c2aa98e2SPeter Wemm variant versions can use them easily. Suggested by 4137c2aa98e2SPeter Wemm Peter Collinson of Hillside Systems. 4138c2aa98e2SPeter Wemm SMTP "MAIL" commands with multiple ESMTP parameters required two 4139c2aa98e2SPeter Wemm spaces between parameters instead of one. Reported by 4140c2aa98e2SPeter Wemm Valdis Kletnieks of Virginia Tech. 4141c2aa98e2SPeter Wemm Reduce the number of system calls during message collection by 4142c2aa98e2SPeter Wemm using global timeouts around the collect() loop. This 4143c2aa98e2SPeter Wemm code was contributed by Eric Wassenaar. 4144c2aa98e2SPeter Wemm If the initial hostname name gathering results in a name 4145c2aa98e2SPeter Wemm without a dot (usually caused by NIS misconfiguration) 4146c2aa98e2SPeter Wemm and BIND is compiled in, directly access DNS to get 4147c2aa98e2SPeter Wemm the canonical name. This should make life easier for 4148c2aa98e2SPeter Wemm Solaris systems. If it still can't be resolved, and 4149c2aa98e2SPeter Wemm if the name server is listed as "required", try again 4150c2aa98e2SPeter Wemm in 30 seconds. If that also fails, exit immediately to 4151c2aa98e2SPeter Wemm avoid bogus "config error: mail loops back to myself" 4152c2aa98e2SPeter Wemm messages. 4153c2aa98e2SPeter Wemm Improve the "MAIL DELETED BECAUSE OF LACK OF DISK SPACE" error 4154c2aa98e2SPeter Wemm message to explain how much space was available and 4155c2aa98e2SPeter Wemm sound a bit less threatening. Suggested by Stan Janet 4156c2aa98e2SPeter Wemm of the National Institute of Standards and Technology. 4157c2aa98e2SPeter Wemm If mail is delivered to an alias that has an owner, deliver any 4158c2aa98e2SPeter Wemm requested return-receipt immediately, and strip the 4159c2aa98e2SPeter Wemm Return-Receipt-To: header from the subsequent message. 4160c2aa98e2SPeter Wemm This prevents a certain class of denial of service 4161c2aa98e2SPeter Wemm attack, arguably gives more reasonable semantics, and 4162c2aa98e2SPeter Wemm moves things more towards what will probably become a 4163c2aa98e2SPeter Wemm network standard. Suggested by Christopher Davis of 4164c2aa98e2SPeter Wemm Kapor Enterprises. 4165c2aa98e2SPeter Wemm Add a "noreceipts" privacy flag to turn off all return receipts 4166c2aa98e2SPeter Wemm without recompiling. 4167c2aa98e2SPeter Wemm Avoid printing ESMTP parameters as part of the error message 4168c2aa98e2SPeter Wemm if there are errors during parsing. This change is 4169c2aa98e2SPeter Wemm purely cosmetic. 4170c2aa98e2SPeter Wemm Avoid sending out error messages during the collect phase of 4171c2aa98e2SPeter Wemm SMTP; there is an MVS mailer from UCLA that gets 4172c2aa98e2SPeter Wemm confused by this. Of course, I think it's their bug.... 4173c2aa98e2SPeter Wemm Check for the $j macro getting undefined, losing a dot, or getting 4174c2aa98e2SPeter Wemm lost from $=w in the daemon before accepting a connection; 4175c2aa98e2SPeter Wemm if it is, it dumps state, prints a LOG_ALERT message, 4176c2aa98e2SPeter Wemm and drops core for debugging. This is an attempt to 4177c2aa98e2SPeter Wemm track down a bug that I thought was long since gone. 4178c2aa98e2SPeter Wemm If you see this, please forward the log fragment to 4179c2aa98e2SPeter Wemm sendmail@sendmail.ORG. 4180c2aa98e2SPeter Wemm Change OLD_NEWDB from a #ifdef to a #if so it can be turned off 4181c2aa98e2SPeter Wemm with -DOLD_NEWDB=0 on the command line. From Christophe 4182c2aa98e2SPeter Wemm Wolfhugel. 4183c2aa98e2SPeter Wemm Instead of trying to truncate the listen queue for the server 4184c2aa98e2SPeter Wemm SMTP port when the load average is too high, just close 4185c2aa98e2SPeter Wemm the port completely and reopen it later as needed. 4186c2aa98e2SPeter Wemm This ensures that the other end gets a quick "connection 4187c2aa98e2SPeter Wemm refused" response, and that the connection can be 4188c2aa98e2SPeter Wemm recovered later. In particular, some socket emulations 4189c2aa98e2SPeter Wemm seem to get confused if you tweak the listen queue 4190c2aa98e2SPeter Wemm size around and can never start listening to connections 4191c2aa98e2SPeter Wemm again. The down side is that someone could start up 4192c2aa98e2SPeter Wemm another daemon process in the interim, so you could 4193c2aa98e2SPeter Wemm have multiple daemons all not listening to connections; 4194c2aa98e2SPeter Wemm this could in turn cause the sendmail.pid file to be 4195c2aa98e2SPeter Wemm incorrect. A better approach might be to accept the 4196c2aa98e2SPeter Wemm connection and give a 421 code, but that could break 41972e43090eSPeter Wemm other mailers in mysterious ways and have paging behavior 4198c2aa98e2SPeter Wemm implications. 4199c2aa98e2SPeter Wemm Fix a glitch in TCP-level debugging that caused flag 16.101 to 4200c2aa98e2SPeter Wemm set debugging on the wrong socket. From Eric Wassenaar. 4201c2aa98e2SPeter Wemm When creating a df* temporary file, be sure you truncate any 4202c2aa98e2SPeter Wemm existing data in the file -- otherwise system crashes 4203c2aa98e2SPeter Wemm and the like could result in extra data being sent. 4204c2aa98e2SPeter Wemm DOC: Replace the CHANGES-R5-R8 readme file with a paper in the 4205c2aa98e2SPeter Wemm doc directory. This includes some additional 4206c2aa98e2SPeter Wemm information. 4207c2aa98e2SPeter Wemm CONFIG: change UUCP rules to never add $U! or $k! on the front 4208c2aa98e2SPeter Wemm of recipient envelope addresses. This should have been 4209c2aa98e2SPeter Wemm handled by the $&h trick, but broke if people were 4210c2aa98e2SPeter Wemm mixing domainized and UUCP addresses. They should 4211c2aa98e2SPeter Wemm probably have converted all the way over to uucp-uudom 4212c2aa98e2SPeter Wemm instead of uucp-{new,old}, but the failure mode was to 4213c2aa98e2SPeter Wemm loop the mail, which was bad news. 4214c2aa98e2SPeter Wemm Portability fixes: 4215c2aa98e2SPeter Wemm Newer BSDI systems (several people). 4216c2aa98e2SPeter Wemm Older BSDI systems from Christophe Wolfhugel. 4217c2aa98e2SPeter Wemm Intergraph CLIX, from Paul Southworth of CICNet. 4218c2aa98e2SPeter Wemm UnixWare, from Evan Champion. 4219c2aa98e2SPeter Wemm NetBSD from Adam Glass. 4220c2aa98e2SPeter Wemm Solaris from Quentin Campbell of the University of 4221c2aa98e2SPeter Wemm Newcastle upon Tyne. 4222c2aa98e2SPeter Wemm IRIX from Dean Cookson and Bill Driscoll of Mitre 4223c2aa98e2SPeter Wemm Corporation. 4224c2aa98e2SPeter Wemm NCR 3000 from Kevin Darcy of Chrysler Financial Corporation. 4225c2aa98e2SPeter Wemm SunOS (it has setsid() and setvbuf() calls) from 4226c2aa98e2SPeter Wemm Jonathan Kamens of OpenVision Technologies. 4227c2aa98e2SPeter Wemm HP-UX from Tor Lillqvist. 4228c2aa98e2SPeter Wemm New Files: 4229c2aa98e2SPeter Wemm src/Makefile.CLIX 4230c2aa98e2SPeter Wemm src/Makefile.NCR3000 4231c2aa98e2SPeter Wemm doc/changes/Makefile 4232c2aa98e2SPeter Wemm doc/changes/changes.me 4233c2aa98e2SPeter Wemm doc/changes/changes.ps 4234c2aa98e2SPeter Wemm 4235c2aa98e2SPeter Wemm8.6.8/8.6.6 94/03/21 4236c2aa98e2SPeter Wemm SECURITY: it was possible to read any file as root using the 4237c2aa98e2SPeter Wemm E (error message) option. Reported by Richard Jones; 4238c2aa98e2SPeter Wemm fixed by Michael Corrigan and Christophe Wolfhugel. 4239c2aa98e2SPeter Wemm 4240c2aa98e2SPeter Wemm8.6.7/8.6.6 94/03/14 4241c2aa98e2SPeter Wemm SECURITY: it was possible to get root access by using weird 4242c2aa98e2SPeter Wemm values to the -d flag. Thanks to Alain Durand of 4243c2aa98e2SPeter Wemm INRIA for forwarding me the notice from the bugtraq 4244c2aa98e2SPeter Wemm list. 4245c2aa98e2SPeter Wemm 4246c2aa98e2SPeter Wemm8.6.6/8.6.6 94/03/13 4247c2aa98e2SPeter Wemm SECURITY: the ability to give files away on System V-based 4248c2aa98e2SPeter Wemm systems proved dangerous -- don't run as the owner 4249c2aa98e2SPeter Wemm of a :include: file on a system that allows giveaways. 4250c2aa98e2SPeter Wemm Unfortunately, this also applies to determining a 4251c2aa98e2SPeter Wemm valid shell. 4252c2aa98e2SPeter Wemm IMPORTANT: Previous versions weren't expiring old connections 4253c2aa98e2SPeter Wemm in the connection cache for a long time under some 4254c2aa98e2SPeter Wemm circumstances. This could result in resource exhaustion, 4255c2aa98e2SPeter Wemm both at your end and at the other end. This checks the 4256c2aa98e2SPeter Wemm connections for timeouts much more frequently. From 4257c2aa98e2SPeter Wemm Doug Anderson of NCSC. 4258c2aa98e2SPeter Wemm Fix a glitch that snuck in that caused programs to be run as 4259c2aa98e2SPeter Wemm the sender instead of the recipient if the mail was 4260c2aa98e2SPeter Wemm from a local user to another local user. From 4261c2aa98e2SPeter Wemm Motonori Nakamura of Kyoto University. 4262c2aa98e2SPeter Wemm Fix "wildcard" on /etc/shells matching -- instead of looking 4263c2aa98e2SPeter Wemm for "*", look for "/SENDMAIL/ANY/SHELL/". From 4264c2aa98e2SPeter Wemm Bryan Costales of ICSI. 4265c2aa98e2SPeter Wemm Change the method used to declare the "statfs" availability; 4266c2aa98e2SPeter Wemm instead of HASSTATFS and/or HASUSTAT with a ton of 4267c2aa98e2SPeter Wemm tweaking in conf.c, there is a single #define called 4268c2aa98e2SPeter Wemm SFS_TYPE which takes on one of six values (SFS_NONE 4269c2aa98e2SPeter Wemm for no statfs availability, SFS_USTAT for the ustat(2) 4270c2aa98e2SPeter Wemm syscall, SFS_4ARGS for a four argument statfs(2) call, 4271c2aa98e2SPeter Wemm and SFS_VFS, SFS_MOUNT, or SFS_STATFS for a two argument 4272c2aa98e2SPeter Wemm statfs(2) call with the declarations in <sys/vfs.h>, 4273c2aa98e2SPeter Wemm <sys/mount.h>, or <sys/statfs.h> respectively). 4274c2aa98e2SPeter Wemm Fix glitch in NetInfo support that could return garbage if 4275c2aa98e2SPeter Wemm there was no "/locations/sendmail" property. From 4276c2aa98e2SPeter Wemm David Meyer of the University of Virginia. 4277c2aa98e2SPeter Wemm Change HASFLOCK from defined/not-defined to a 0/1 definition 4278c2aa98e2SPeter Wemm to allow Linux to turn it off even though it is a 4279c2aa98e2SPeter Wemm BSD-like system. 4280c2aa98e2SPeter Wemm Allow setting of "ident" timeout to zero to turn off the ident 4281c2aa98e2SPeter Wemm protocol entirely. 4282c2aa98e2SPeter Wemm Make 7-bit stripping local to a connection (instead of to a 4283c2aa98e2SPeter Wemm mailer); this allows you to specify that SMTP is a 4284c2aa98e2SPeter Wemm 7-bit channel, but revert to 8-bit should it advertise 4285c2aa98e2SPeter Wemm that it supports 8BITMIME. You still have to specify 4286c2aa98e2SPeter Wemm mailer flag 7 to get this stripping at all. 4287c2aa98e2SPeter Wemm Improve makesendmail script so it handles more cases automatically. 4288c2aa98e2SPeter Wemm Tighten up restrictions on taking ownership of :include: files 4289c2aa98e2SPeter Wemm to avoid problems on systems that allow you to give away 4290c2aa98e2SPeter Wemm files. 4291c2aa98e2SPeter Wemm Fix a problem that made it impossible to rebuild the alias 4292c2aa98e2SPeter Wemm file if it was on a read-only file system. From 4293c2aa98e2SPeter Wemm Harry Edmon of the University of Washington. 4294c2aa98e2SPeter Wemm Improve MX randomization function. From John Gardiner Myers 4295c2aa98e2SPeter Wemm of CMU. 4296c2aa98e2SPeter Wemm Fix a minor glitch causing a bogus message to be printed (used 4297c2aa98e2SPeter Wemm %s instead of %d in a printf string for the line number) 4298c2aa98e2SPeter Wemm when a bad queue file was read. From Harry Edmon. 4299c2aa98e2SPeter Wemm Allow $s to remain NULL on locally generated mail. I'm not 4300c2aa98e2SPeter Wemm sure this is necessary, but a lot of people have complained 4301c2aa98e2SPeter Wemm about it, and there is a legitimate question as to whether 4302c2aa98e2SPeter Wemm "localhost" is legal as an 822-style domain. 4303c2aa98e2SPeter Wemm Fix a problem with very short line lengths (mailer L= flag) in 4304c2aa98e2SPeter Wemm headers. This causes a leading space to be added onto 4305c2aa98e2SPeter Wemm continuation lines (including in the body!), and also 4306c2aa98e2SPeter Wemm tries to wrap headers containing addresses (From:, To:, 4307c2aa98e2SPeter Wemm etc) intelligently at the shorter line lengths. Problem 4308c2aa98e2SPeter Wemm Reported by Lars-Johan Liman of SUNET Operations Center. 4309c2aa98e2SPeter Wemm Log the real user name when logging syserrs, since these can have 4310c2aa98e2SPeter Wemm security implications. Suggested by several people. 4311c2aa98e2SPeter Wemm Fix address logging of cached connections -- it used to always 4312c2aa98e2SPeter Wemm log the numeric address as zero. This is a somewhat 4313c2aa98e2SPeter Wemm bogus implementation in that it does an extra system 4314c2aa98e2SPeter Wemm call, but it should be an inexpensive one. Fix from 4315c2aa98e2SPeter Wemm Motonori Nakamura. 4316c2aa98e2SPeter Wemm Tighten up handling of short syslog buffers even more -- there 4317c2aa98e2SPeter Wemm were cases where the outgoing relay= name was too long 4318c2aa98e2SPeter Wemm to share a line with delay= and mailer= logging. 4319c2aa98e2SPeter Wemm Limit the overhead on split envelopes to one open file descriptor 4320c2aa98e2SPeter Wemm per envelope -- previously the overhead was three 4321c2aa98e2SPeter Wemm descriptors. This was in response to a problem reported 4322c2aa98e2SPeter Wemm by P{r (Pell) Emanuelsson. 4323c2aa98e2SPeter Wemm Fixes to better handle the case of unexpected connection closes; 4324c2aa98e2SPeter Wemm this redirects the output to the transcript so the info 4325c2aa98e2SPeter Wemm is not lost. From Eric Wassenaar. 4326c2aa98e2SPeter Wemm Fix potential string overrun if you macro evaluate a string that 4327c2aa98e2SPeter Wemm has a naked $ at the end. Problem noted by James Matheson 4328c2aa98e2SPeter Wemm <jmrm@eng.cam.ac.uk>. 4329c2aa98e2SPeter Wemm Make default error number on $#error messages 553 (``Requested 4330c2aa98e2SPeter Wemm action not taken: mailbox name not allowed'') instead of 4331c2aa98e2SPeter Wemm 501 (``Syntax error in parameters or arguments'') to 4332c2aa98e2SPeter Wemm avoid bogus "protocol error" messages. 4333c2aa98e2SPeter Wemm Strip off any existing trailing dot on names during $[ ... $] 4334c2aa98e2SPeter Wemm lookup. This prevents it from ending up with two dots 4335c2aa98e2SPeter Wemm on the end of dot terminated names. From Wesley Craig 4336c2aa98e2SPeter Wemm of the University of Michigan and Bryan Costales of ICSI. 4337c2aa98e2SPeter Wemm Clean up file class reading so that the debugging information is 4338c2aa98e2SPeter Wemm more informative. It hadn't been using setclass, so you 4339c2aa98e2SPeter Wemm didn't see the class items being added. 4340c2aa98e2SPeter Wemm Avoid core dump if you are running a version of sendmail where 4341c2aa98e2SPeter Wemm NIS is compiled in, and you specify an NIS map, but 4342c2aa98e2SPeter Wemm NIS is not running. Fix from John Oleynick of 4343c2aa98e2SPeter Wemm Rutgers. 4344c2aa98e2SPeter Wemm Diagnose bizarre case where res_search returns a failure value, 4345c2aa98e2SPeter Wemm but sets h_errno to a success value. 4346c2aa98e2SPeter Wemm Make sure that "too many hops" messages are considered important 4347c2aa98e2SPeter Wemm enough to send an error to the Postmaster (that is, the 4348c2aa98e2SPeter Wemm address specified in the P option). This fix should 4349c2aa98e2SPeter Wemm help problems that cause the df file to be left around 4350c2aa98e2SPeter Wemm sometimes -- unfortunately, I can't seem to reproduce 4351c2aa98e2SPeter Wemm the problem myself. 4352c2aa98e2SPeter Wemm Avoid core dump (null pointer reference) on EXPN command; this 4353c2aa98e2SPeter Wemm only occurred if your log level was set to 10 or higher 4354c2aa98e2SPeter Wemm and the target account was an alias or had a .forward file. 4355c2aa98e2SPeter Wemm Problem noted by Janne Himanka. 4356c2aa98e2SPeter Wemm Avoid "denial of service" attacks by someone who is flooding your 4357c2aa98e2SPeter Wemm SMTP port with bad commands by shutting the connection 4358c2aa98e2SPeter Wemm after 25 bad commands are issued. From Kyle Jones of 4359c2aa98e2SPeter Wemm UUNET. 4360c2aa98e2SPeter Wemm Fix core dump on error messages with very long "to" buffers; 4361c2aa98e2SPeter Wemm fmtmsg overflows the message buffer. Fixed by trimming 4362c2aa98e2SPeter Wemm the to address to 203 characters. Problem reported by 4363c2aa98e2SPeter Wemm John Oleynick. 4364c2aa98e2SPeter Wemm Fix configuration for HASFLOCK -- there were some spots where 4365c2aa98e2SPeter Wemm a #ifndef was incorrectly #ifdef. Pointed out by 4366c2aa98e2SPeter Wemm George Baltz of the University of Maryland. 4367c2aa98e2SPeter Wemm Fix a typo in savemail() that could cause the error message To: 4368c2aa98e2SPeter Wemm lists to be incorrect in some places. From Motonori 4369c2aa98e2SPeter Wemm Nakamura. 4370c2aa98e2SPeter Wemm Fix a glitch that can cause duplicate error messages on split 4371c2aa98e2SPeter Wemm envelopes where an address on one of the lists has a 4372c2aa98e2SPeter Wemm name server failure. Fix from Voradesh Yenbut of the 4373c2aa98e2SPeter Wemm University of Washington. 4374c2aa98e2SPeter Wemm Fix possible bogus pointer reference on ESMTP parameters that 4375c2aa98e2SPeter Wemm don't have an ``=value'' part. 4376c2aa98e2SPeter Wemm CNAME loops caused an error message to be generated, but also 4377c2aa98e2SPeter Wemm re-queued the message. Changed to just re-queue the 4378c2aa98e2SPeter Wemm message (it's really hard to just bounce it because 4379c2aa98e2SPeter Wemm of the weird way the name server works in the presence 4380c2aa98e2SPeter Wemm of CNAME loops). Problem noted by James M.R.Matheson 4381c2aa98e2SPeter Wemm of Cambridge University. 4382c2aa98e2SPeter Wemm Avoid giving ``warning: foo owned process doing -bs'' messages 4383c2aa98e2SPeter Wemm if they use ``MAIL FROM:<foo>'' where foo is their true 4384c2aa98e2SPeter Wemm user name. Suggested by Andreas Stolcke of ICSI. 4385c2aa98e2SPeter Wemm Change the NAMED_BIND compile flag to be a 0/1 flag so you can 4386c2aa98e2SPeter Wemm override it easily in the Makefile -- that is, you can 4387c2aa98e2SPeter Wemm turn it off using -DNAMED_BIND=0. 4388c2aa98e2SPeter Wemm If a gethostbyname(...) of an address with a trailing dot fails, 4389c2aa98e2SPeter Wemm try it without the trailing dot. This is because if 4390c2aa98e2SPeter Wemm you have a version of gethostbyname() that falls back 4391c2aa98e2SPeter Wemm to NIS or the /etc/hosts file it will fail to find 4392c2aa98e2SPeter Wemm perfectly reasonable names that just don't happen to 4393c2aa98e2SPeter Wemm be dot terminated in the hosts file. You don't want to 4394c2aa98e2SPeter Wemm strip the dot first though because we're trying to ensure 4395c2aa98e2SPeter Wemm that country names that match one of your subdomains get 4396c2aa98e2SPeter Wemm a chance. 4397c2aa98e2SPeter Wemm PRALIASES: fix bogus output on non-null-terminated strings. 4398c2aa98e2SPeter Wemm From Bill Gianopoulos of Raytheon. 4399c2aa98e2SPeter Wemm CONFIG: Avoid rewriting anything that matches $w to be $j. 4400c2aa98e2SPeter Wemm This was in code intended to only catch the self-literal 4401c2aa98e2SPeter Wemm address (that is, [1.2.3.4], where 1.2.3.4 is your 4402c2aa98e2SPeter Wemm IP address), but the code was broken. However, it will 4403c2aa98e2SPeter Wemm still do this if $M is defined; this is necessary to 4404c2aa98e2SPeter Wemm get client configurations to work (sigh). Note that this 4405c2aa98e2SPeter Wemm means that $M overrides :mailname entries in the user 4406c2aa98e2SPeter Wemm database! Problem noted by Paul Southworth. 4407c2aa98e2SPeter Wemm CONFIG: Fix definition of Solaris help file location. From 4408c2aa98e2SPeter Wemm Steve Cliffe <steve@gorgon.cs.uow.edu.au>. 4409c2aa98e2SPeter Wemm CONFIG: Fix bug that broke news.group.USENET mappings. 4410c2aa98e2SPeter Wemm CONFIG: Allow declaration of SMTP_MAILER_MAX, FAX_MAILER_MAX, 4411c2aa98e2SPeter Wemm and USENET_MAILER_MAX to tweak the maximum message 4412c2aa98e2SPeter Wemm size for various mailers. 4413c2aa98e2SPeter Wemm CONFIG: Change definition of USENET_MAILER_ARGS to include argv[0] 4414c2aa98e2SPeter Wemm instead of assuming that it is "inews" for consistency 4415c2aa98e2SPeter Wemm with other mailers. From Michael Corrigan of UC San Diego. 4416c2aa98e2SPeter Wemm CONFIG: When mail is forwarded to a LOCAL_RELAY or a MAIL_HUB, 4417c2aa98e2SPeter Wemm qualify the address in the SMTP envelope as user@{relay|hub} 4418c2aa98e2SPeter Wemm instead of user@$j. From Bill Wisner of The Well. 4419c2aa98e2SPeter Wemm CONFIG: Fix route-addr syntax in nullrelay configuration set. 4420c2aa98e2SPeter Wemm CONFIG: Don't turn off case mapping of user names in the local 4421c2aa98e2SPeter Wemm mailer for IRIX. This was different than most every other 4422c2aa98e2SPeter Wemm system. 4423c2aa98e2SPeter Wemm CONFIG: Avoid infinite loops on certainly list:; syntaxes in 4424c2aa98e2SPeter Wemm envelope. Noted by Thierry Besancon 4425c2aa98e2SPeter Wemm <besancon@excalibur.ens.fr>. 4426c2aa98e2SPeter Wemm CONFIG: Don't include -z by default on uux line -- most systems 4427c2aa98e2SPeter Wemm don't want it set by default. Pointed out by Philippe 4428c2aa98e2SPeter Wemm Michel of Thomson CSF. 4429c2aa98e2SPeter Wemm CONFIG: Fix some bugs with mailertables -- for example, if your 4430c2aa98e2SPeter Wemm host name was foo.bar.ray.com and you matched against 4431c2aa98e2SPeter Wemm ".ray.com", the old implementation bound %1 to "bar" 4432c2aa98e2SPeter Wemm instead of "foo.bar". Also, allow "." in the mailertable 4433c2aa98e2SPeter Wemm to match anything -- essentially, take over SMART_HOST. 4434c2aa98e2SPeter Wemm This also moves matching of explicit local host names 4435c2aa98e2SPeter Wemm before the mailertable so they don't have to be special 4436c2aa98e2SPeter Wemm cased in the mailertable data. Reported by Bill 4437c2aa98e2SPeter Wemm Gianopoulos of Raytheon; the fix for the %1 binding 4438c2aa98e2SPeter Wemm problem was contributed by Nicholas Comanos of the 4439c2aa98e2SPeter Wemm University of Sydney. 4440c2aa98e2SPeter Wemm CONFIG: Don't include "root" in class $=L (users to deliver 4441c2aa98e2SPeter Wemm locally, even if a hub or relay exists) by default. 4442c2aa98e2SPeter Wemm This is because of the known bug where definition of 4443c2aa98e2SPeter Wemm both a LOCAL_RELAY and a MAIL_HUB causes $=L to ignore 4444c2aa98e2SPeter Wemm both and deliver into the local mailbox. 4445c2aa98e2SPeter Wemm CONFIG: Move up bitdomain and uudomain handling so that they 4446c2aa98e2SPeter Wemm are done before .UUCP class matching; uudomain was 4447c2aa98e2SPeter Wemm reported as ineffective before. This also frees up 4448c2aa98e2SPeter Wemm diversion 8 for future use. Problem reported by Kimmo 4449c2aa98e2SPeter Wemm Suominen. 4450c2aa98e2SPeter Wemm CONFIG: Don't try to convert dotted IP address (e.g., [1.2.3.4]) 4451c2aa98e2SPeter Wemm into host names. As pointed out by Jonathan Kamens, 4452c2aa98e2SPeter Wemm these are often used because either the forward or reverse 4453c2aa98e2SPeter Wemm mapping is broken; this translation makes it broken again. 4454c2aa98e2SPeter Wemm DOC: Clarify $@ and $: in the Install & Op Guide. From Kimmo 4455c2aa98e2SPeter Wemm Suominen. 4456c2aa98e2SPeter Wemm Portability fixes: 4457c2aa98e2SPeter Wemm Unicos from David L. Kensiski of Sterling Software. 4458c2aa98e2SPeter Wemm DomainOS from Don Lewis of Silicon Systems. 4459c2aa98e2SPeter Wemm GNU m4 1.0.3 from Karst Koymans of Utrecht University. 4460c2aa98e2SPeter Wemm Convex from Kimmo Suominen <kim@tac.nyc.ny.us>. 4461c2aa98e2SPeter Wemm NetBSD from Adam Glass <glass@sun-lamp.cs.berkeley.edu>. 4462c2aa98e2SPeter Wemm BSD/386 from Tony Sanders of BSDI. 4463c2aa98e2SPeter Wemm Apollo from Eric Wassenaar. 4464c2aa98e2SPeter Wemm DGUX from Doug Anderson. 4465c2aa98e2SPeter Wemm Sequent DYNIX/ptx 2.0 from Tim Wright of Sequent. 4466c2aa98e2SPeter Wemm NEW FILES: 4467c2aa98e2SPeter Wemm src/Makefile.DomainOS 4468c2aa98e2SPeter Wemm src/Makefile.PTX 4469c2aa98e2SPeter Wemm src/Makefile.SunOS.5.1 4470c2aa98e2SPeter Wemm src/Makefile.SunOS.5.2 4471c2aa98e2SPeter Wemm src/Makefile.SunOS.5.x 4472c2aa98e2SPeter Wemm src/mailq.1 4473c2aa98e2SPeter Wemm cf/ostype/domainos.m4 4474c2aa98e2SPeter Wemm doc/op/Makefile 4475c2aa98e2SPeter Wemm doc/intro/Makefile 4476c2aa98e2SPeter Wemm doc/usenix/Makefile 4477c2aa98e2SPeter Wemm 4478c2aa98e2SPeter Wemm8.6.5/8.6.5 94/01/13 4479c2aa98e2SPeter Wemm Security fix: /.forward could be owned by anyone (the test 4480c2aa98e2SPeter Wemm to allow root to own any file was backwards). From 4481c2aa98e2SPeter Wemm Bob Campbell at U.C. Berkeley. 4482c2aa98e2SPeter Wemm Security fix: group ids were not completely set when programs 4483c2aa98e2SPeter Wemm were invoked. This caused programs to have group 4484c2aa98e2SPeter Wemm permissions they should not have had (usually group 4485c2aa98e2SPeter Wemm daemon instead of their own group). In particular, 4486c2aa98e2SPeter Wemm Perl scripts would refuse to run. 4487c2aa98e2SPeter Wemm Security: check to make sure files that are written are not 4488c2aa98e2SPeter Wemm symbolic links (at least under some circumstances). 4489c2aa98e2SPeter Wemm Although this does not respond to a specific known 4490c2aa98e2SPeter Wemm attack, it's just a good idea. Suggested by 4491c2aa98e2SPeter Wemm Christian Wettergren. 4492c2aa98e2SPeter Wemm Security fix: if a user had an NFS mounted home directory on 4493c2aa98e2SPeter Wemm a system with a restricted shell listed in their 4494c2aa98e2SPeter Wemm /etc/passwd entry, they could still execute any 4495c2aa98e2SPeter Wemm program by putting that in their .forward file. 4496c2aa98e2SPeter Wemm This fix prevents that by insisting that their shell 4497c2aa98e2SPeter Wemm appear in /etc/shells before allowing a .forward to 4498c2aa98e2SPeter Wemm execute a program or write a file. You can disable 4499c2aa98e2SPeter Wemm this by putting "*" in /etc/shells. It also won't 4500c2aa98e2SPeter Wemm permit world-writable :include: files to reference 4501c2aa98e2SPeter Wemm programs or files (there's no way to disable this). 45022e43090eSPeter Wemm These behaviors are only one level deep -- for 4503c2aa98e2SPeter Wemm example, it is legal for a world-writable :include: 4504c2aa98e2SPeter Wemm file to reference an alias that writes a file, on 4505c2aa98e2SPeter Wemm the assumption that the alias file is well controlled. 4506c2aa98e2SPeter Wemm Security fix: root was not treated suspiciously enough when 4507c2aa98e2SPeter Wemm looking into subdirectories. This would potentially 4508c2aa98e2SPeter Wemm allow a cracker to examine files that were publicly 4509c2aa98e2SPeter Wemm readable but in a non-publicly searchable directory. 4510c2aa98e2SPeter Wemm Fix a problem that causes an error on QUIT on a cached 4511c2aa98e2SPeter Wemm connection to create problems on the current job. 4512c2aa98e2SPeter Wemm These are typically unrelated, so errors occur in 4513c2aa98e2SPeter Wemm the wrong place. 4514c2aa98e2SPeter Wemm Reset CurrentLA in sendall() -- this makes sendmail queue 4515c2aa98e2SPeter Wemm runs more responsive to load average, and fixes a 4516c2aa98e2SPeter Wemm problem that ignored the load average in locally 4517c2aa98e2SPeter Wemm generated mail. From Eric Wassenaar. 4518c2aa98e2SPeter Wemm Fix possible core dump on aliases with null LHS. From 4519c2aa98e2SPeter Wemm John Orthoefer of BB&N. 4520c2aa98e2SPeter Wemm Revert to using flock() whenever possible -- there are just 4521c2aa98e2SPeter Wemm too many bugs in fcntl() locking, particularly over 4522c2aa98e2SPeter Wemm NFS, that cause sendmail to fail in perverse ways. 4523c2aa98e2SPeter Wemm Fix a bug that causes the connection cache to get confused 4524c2aa98e2SPeter Wemm when sending error messages. This resulted in 4525c2aa98e2SPeter Wemm "unexpected close" messages. It should fix itself 4526c2aa98e2SPeter Wemm on the following queue run. Problem noted by 4527c2aa98e2SPeter Wemm Liudvikas Bukys of the University of Rochester. 4528c2aa98e2SPeter Wemm Include $k in $=k as documented in the Install & Op Guide. 4529c2aa98e2SPeter Wemm This seems odd, but it was documented.... From 4530c2aa98e2SPeter Wemm Michael Corrigan of UCSD. 4531c2aa98e2SPeter Wemm Fix problem that caused :include:s from alias files to be 4532c2aa98e2SPeter Wemm forced to be owned by root instead of daemon 4533c2aa98e2SPeter Wemm (actually DefUid). From Tim Irvin. 4534c2aa98e2SPeter Wemm Diagnose unrecognized I option values -- from Mortin Forssen 4535c2aa98e2SPeter Wemm of the Chalmers University of Technology. 4536c2aa98e2SPeter Wemm Make "error" mailer work consistently when there is no error 4537c2aa98e2SPeter Wemm code associated with it -- previously it returned OK 4538c2aa98e2SPeter Wemm even though there was a real problem. Now it assumes 4539c2aa98e2SPeter Wemm EX_UNAVAILABLE. 4540c2aa98e2SPeter Wemm Fix bug that caused the last header line of messages that had 4541c2aa98e2SPeter Wemm no body and which were terminated with EOF instead of 4542c2aa98e2SPeter Wemm "." to be discarded. Problem noted by Liudvikas Bukys. 4543c2aa98e2SPeter Wemm Fix core dump on SMTP mail to programs that failed -- it tried 4544c2aa98e2SPeter Wemm to go to a "next MX host" when none existed, causing 4545c2aa98e2SPeter Wemm a core dump. From der Mouse at McGill University. 4546c2aa98e2SPeter Wemm Change IDENTPROTO from a defined/not defined to a 0/1 switch; 4547c2aa98e2SPeter Wemm this makes it easier to turn it off (using 4548c2aa98e2SPeter Wemm -DIDENTPROTO=0 in the Makefile). From der Mouse. 4549c2aa98e2SPeter Wemm Fix YP_MASTER_NAME store to use the unupdated result of 4550c2aa98e2SPeter Wemm gethostname() (instead of myhostname(), which tries 4551c2aa98e2SPeter Wemm to fully qualify the name) to be consistent with 4552c2aa98e2SPeter Wemm SunOS. If your hostname is unqualified, this fixes 4553c2aa98e2SPeter Wemm transfers to slave servers. Bug noted by Keith 4554c2aa98e2SPeter Wemm McMillan of Ameritech Services, Inc. 4555c2aa98e2SPeter Wemm Fix Ultrix problem: gethostbyname() can return a very large 4556c2aa98e2SPeter Wemm (> 500) h_length field, which causes the sockaddr 4557c2aa98e2SPeter Wemm to be trashed. Use the size of the sockaddr instead. 4558c2aa98e2SPeter Wemm Fix from Bob Manson of Ohio State. 4559c2aa98e2SPeter Wemm Don't assume "-a." on host lookups if NAMED_BIND is not 4560c2aa98e2SPeter Wemm defined -- this confuses gethostbyname on hosts 4561c2aa98e2SPeter Wemm file lookups, which doesn't understand the trailing 4562c2aa98e2SPeter Wemm dot convention. 4563c2aa98e2SPeter Wemm Log SMTP server subprocesses that die with a signal instead 4564c2aa98e2SPeter Wemm of from a clean exit. 4565c2aa98e2SPeter Wemm If you don't have option "I" set, don't assume that a DNS 4566c2aa98e2SPeter Wemm "host unknown" message is authoritative -- it 4567c2aa98e2SPeter Wemm might still be found in /etc/hosts. 4568c2aa98e2SPeter Wemm Fix a problem that would cause Deferred: messages to be sent 4569c2aa98e2SPeter Wemm as the subject of an error message, even though the 4570c2aa98e2SPeter Wemm actual cause of a message was more severe than that. 4571c2aa98e2SPeter Wemm Problem noted by Chris Seabrook of OSSI. 4572c2aa98e2SPeter Wemm Fix race condition in DBM alias file locking. From Kyle 4573c2aa98e2SPeter Wemm Jones of UUNET. 4574c2aa98e2SPeter Wemm Limit delivery syslog line length to avoid bugs in some 4575c2aa98e2SPeter Wemm versions of syslog(3). This adds a new compile time 4576c2aa98e2SPeter Wemm variable SYSLOG_BUFSIZE. From Jay Plett of Princeton 4577c2aa98e2SPeter Wemm University, which is in turn derived from IDA. 4578c2aa98e2SPeter Wemm Fix quotes inside of comments in addresses -- previously 4579c2aa98e2SPeter Wemm it insisted that they be balanced, but the 822 spec 4580c2aa98e2SPeter Wemm says that they should be ignored. 4581c2aa98e2SPeter Wemm Dump open file state to syslog upon receiving SIGUSR1 (for 4582c2aa98e2SPeter Wemm debugging). This also evaluates ruleset 89, if set 4583c2aa98e2SPeter Wemm (with the null input), and logs the result. This 4584c2aa98e2SPeter Wemm should be used sparingly, since the rewrite process 4585c2aa98e2SPeter Wemm is not reentrant. 4586c2aa98e2SPeter Wemm Change -qI, -qR, and -qS flags to be case-insensitive as 4587c2aa98e2SPeter Wemm documented in the Bat Book. 4588c2aa98e2SPeter Wemm If the mailer returned EX_IOERR or EX_OSERR, sendmail did not 4589c2aa98e2SPeter Wemm return an error message and did not requeue the message. 4590c2aa98e2SPeter Wemm Fix based on code from Roland Dirlewanger of 4591c2aa98e2SPeter Wemm Reseau Regional Aquarel, Bordeaux, France. 4592c2aa98e2SPeter Wemm Fix a problem that caused a seg fault if you got a 421 error 4593c2aa98e2SPeter Wemm code during some parts of connection initialization. 4594c2aa98e2SPeter Wemm I've only seen this when talking to buggy mailers on 4595c2aa98e2SPeter Wemm the other end, but it shouldn't give a seg fault in 4596c2aa98e2SPeter Wemm any case. From Amir Plivatsky. 4597c2aa98e2SPeter Wemm Fix core dump caused by a ruleset call that returns null. 4598c2aa98e2SPeter Wemm Fix from Bryan Costales of ICSI. 4599c2aa98e2SPeter Wemm Full-Name: field was being ignored. Fix from Motonori Nakamura 4600c2aa98e2SPeter Wemm of Kyoto University. 4601c2aa98e2SPeter Wemm Fix a possible problem with very long input lines in setproctitle. 4602c2aa98e2SPeter Wemm From P{r Emanuelsson. 4603c2aa98e2SPeter Wemm Avoid putting "This is a warning message" out on return receipts. 4604c2aa98e2SPeter Wemm Suggested by Douglas Anderson. 4605c2aa98e2SPeter Wemm Detect loops caused by recursive ruleset calls. Suggested by 4606c2aa98e2SPeter Wemm Bryan Costales. 4607c2aa98e2SPeter Wemm Initialize non-alias maps during alias rebuilds -- they may be 4608c2aa98e2SPeter Wemm needed for parsing. Problem noted by Douglas Anderson. 4609c2aa98e2SPeter Wemm Log sender address even if no message was collected in SMTP 4610c2aa98e2SPeter Wemm (e.g., if all RCPTs failed). Suggested by Motonori 4611c2aa98e2SPeter Wemm Nakamura. 4612c2aa98e2SPeter Wemm Don't reflect the owner-list contents into the envelope sender 4613c2aa98e2SPeter Wemm address if the value contains ", :, /, or | (to avoid 4614c2aa98e2SPeter Wemm illegal addresses appearing there). 4615c2aa98e2SPeter Wemm Efficiency hack for toktype macro -- from Craig Partridge of 4616c2aa98e2SPeter Wemm BB&N. 4617c2aa98e2SPeter Wemm Clean up DNS error printing so that a host name is always 4618c2aa98e2SPeter Wemm included. 4619c2aa98e2SPeter Wemm Remember to set $i during queue runs. Reported by Stephen 4620c2aa98e2SPeter Wemm Campbell of Dartmouth University. 4621c2aa98e2SPeter Wemm If the environment variable HOSTALIASES is set, use it during 4622c2aa98e2SPeter Wemm canonification as the name of a file with per-user host 4623c2aa98e2SPeter Wemm translations so that headers are properly mapped. Reported 4624c2aa98e2SPeter Wemm by Anne Bennett of Concordia University. 4625c2aa98e2SPeter Wemm Avoid printing misleading error message if SMTP mailer (not 4626c2aa98e2SPeter Wemm using [IPC]) should die on a core dump. 4627c2aa98e2SPeter Wemm Avoid incorrect diagnosis of "file 1 closed" when it is caused 4628c2aa98e2SPeter Wemm by the other end closing the connection. From 4629c2aa98e2SPeter Wemm Dave Morrison of Oracle. 4630c2aa98e2SPeter Wemm Improve several of the error messages printed by "mailq" 4631c2aa98e2SPeter Wemm to include a host name or other useful information. 4632c2aa98e2SPeter Wemm Add NetInfo preliminary support for NeXT systems. From Vince 4633c2aa98e2SPeter Wemm DeMarco. 4634c2aa98e2SPeter Wemm Fix a glitch that sometimes caused :include:s that pointed to 4635c2aa98e2SPeter Wemm NFS filesystems that were down to give an "aliasing/ 4636c2aa98e2SPeter Wemm forwarding loop broken" message instead of queueing 4637c2aa98e2SPeter Wemm the message for retry. Noted by William C Fenner of 4638c2aa98e2SPeter Wemm the NRL Connection Machine Facility. 4639c2aa98e2SPeter Wemm Fix a problem that could cause a core dump if the input sequence 4640c2aa98e2SPeter Wemm had (or somehow acquired) a \231 character. 4641c2aa98e2SPeter Wemm Make sure that route-addrs always have <angle brackets> around 4642c2aa98e2SPeter Wemm them in non-SMTP envelopes (SMTP envelopes already do 4643c2aa98e2SPeter Wemm this properly). 4644c2aa98e2SPeter Wemm Avoid weird headers on unbalanced punctuation of the form: 4645c2aa98e2SPeter Wemm ``Joe User <user)'' -- this caused reference to the 4646c2aa98e2SPeter Wemm null macro. Fix from Rick McCarty of IO.COM. 4647c2aa98e2SPeter Wemm Fix a problem that caused an alias "user: user@local.host" to 4648c2aa98e2SPeter Wemm not have the QNOTREMOTE bit set; this caused configs 4649c2aa98e2SPeter Wemm to act as if FEATURE(notsticky) was defined even when 4650c2aa98e2SPeter Wemm it was not. The effect of the problem was to make it 4651c2aa98e2SPeter Wemm very hard to to set up satellite sites that had a few 4652c2aa98e2SPeter Wemm local accounts, with everything else forwarded to a 4653c2aa98e2SPeter Wemm corporate hub. Reported by Detlef Drewanz of the 4654c2aa98e2SPeter Wemm University of Rostock and Mark Frost of NCD. 4655c2aa98e2SPeter Wemm Change queuing to not call rulesets 3, {1 or 2}, 4 on header 4656c2aa98e2SPeter Wemm addresses. This is more efficient (fewer name server 4657c2aa98e2SPeter Wemm calls) and fixes certain unusual configurations, such 4658c2aa98e2SPeter Wemm as those that have ruleset 4 do something that is 4659c2aa98e2SPeter Wemm non-idempotent unless a mailer-specific ruleset did 4660c2aa98e2SPeter Wemm something else. Problem reported by Brian J. Coan 4661c2aa98e2SPeter Wemm of the Institute for Global Communications. 4662c2aa98e2SPeter Wemm Fix the "obsolete argument" routine in main to better understand 4663c2aa98e2SPeter Wemm new arguments. For example, if you used ``sendmail 4664c2aa98e2SPeter Wemm -C config -v -q'' it would choke on the -q because 4665c2aa98e2SPeter Wemm the -C would stop looking for old-format arguments. 4666c2aa98e2SPeter Wemm Fix the code that was intended to allow two users to forward their 4667c2aa98e2SPeter Wemm mail to the same program and have them appear unique. 4668c2aa98e2SPeter Wemm Portability fixes for: 4669c2aa98e2SPeter Wemm SCO UNIX from Murray Kucherawy. 4670c2aa98e2SPeter Wemm SCO Open Server 3.2v4 from Philippe Brand. 4671c2aa98e2SPeter Wemm System V Release 4 from Rick Ellis and others. 4672c2aa98e2SPeter Wemm OSF/1 from Steve Campbell. 4673c2aa98e2SPeter Wemm DG/UX from Ben Mesander of the USGS and Bryan Curnutt 4674c2aa98e2SPeter Wemm of Stoner Associates. 4675c2aa98e2SPeter Wemm Motorola SysV88 from Kevin Johnson of Motorola. 4676c2aa98e2SPeter Wemm Solaris 2.3 from Casper H.S. Dik of the University 4677c2aa98e2SPeter Wemm of Amsterdam and John Caruso of University 4678c2aa98e2SPeter Wemm of Maryland. 4679c2aa98e2SPeter Wemm FreeBSD from Ollivier Robert. 4680c2aa98e2SPeter Wemm NetBSD from Adam Glass. 4681c2aa98e2SPeter Wemm TitanOS from Kate Hedstrom of Rutgers University. 4682c2aa98e2SPeter Wemm Irix from Bryan Curnutt. 4683c2aa98e2SPeter Wemm Dynix from Jim Davis of the University of Arizona. 4684c2aa98e2SPeter Wemm RISC/os. 4685c2aa98e2SPeter Wemm Linux from John Kennedy of California State University 4686c2aa98e2SPeter Wemm at Chico. 4687c2aa98e2SPeter Wemm Solaris 2.x from Tony Boner of the U.S. Air Force. 4688c2aa98e2SPeter Wemm NEXTSTEP 3.x from Vince DeMarco. 4689c2aa98e2SPeter Wemm HP-UX from various people. NOTA BENE: the location 4690c2aa98e2SPeter Wemm of the config file has moved to /usr/lib 4691c2aa98e2SPeter Wemm to match the HP-UX version of sendmail. 4692c2aa98e2SPeter Wemm CONFIG: Don't do any recipient rewriting on relay mailer; 4693c2aa98e2SPeter Wemm since this is intended only for internal use, the 4694c2aa98e2SPeter Wemm usual RFC 821/822/1123 rules can be relaxed. The 4695c2aa98e2SPeter Wemm main point of this is to avoid munging (ugh) UUCP 4696c2aa98e2SPeter Wemm addresses when relaying internally. 4697c2aa98e2SPeter Wemm CONFIG: fix typo in mailer/uucp.m4 that mutilates list:; 4698c2aa98e2SPeter Wemm syntax addresses delivered via UUCP. Solution 4699c2aa98e2SPeter Wemm provided by Peter Wemm. 4700c2aa98e2SPeter Wemm CONFIG: fix thumb-fumble in default UUCP relaying in ruleset 4701c2aa98e2SPeter Wemm zero; it caused double @ signs in addresses. From 4702c2aa98e2SPeter Wemm Irving Reid of the University of Toronto. 4703c2aa98e2SPeter Wemm CONFIG: Portability fixes for SCO Unix 3.2 with TCP/IP 1.2.1 4704c2aa98e2SPeter Wemm from Markku Toijala of ICL Personal Systems Oy. 4705c2aa98e2SPeter Wemm CONFIG: Add trailing "." on pseudo-domains for consistency; 4706c2aa98e2SPeter Wemm this fixes a problem (noted by Al Whaley of Sunnyside) 4707c2aa98e2SPeter Wemm that made it hard to recognize your own pseudodomain 4708c2aa98e2SPeter Wemm names. 4709c2aa98e2SPeter Wemm CONFIG: catch "@host" syntax errors (i.e., null local-parts) 4710c2aa98e2SPeter Wemm rather than letting them get "local configuration 4711c2aa98e2SPeter Wemm error"s. Problem noted by John Gardiner Myers. 4712c2aa98e2SPeter Wemm CONFIG: add uucp-uudom mailer variant, based on code posted 4713c2aa98e2SPeter Wemm by Spider Boardman <spider@Orb.Nashua.NH.US>; this 4714c2aa98e2SPeter Wemm has uucp-dom semantics but old UUCP syntax. This 4715c2aa98e2SPeter Wemm also permits "uucp-old" as an alias for "uucp" and 4716c2aa98e2SPeter Wemm "uucp-new" as a synonym for "suucp" for consistency. 4717c2aa98e2SPeter Wemm CONFIG: add POP mailer support (from Kimmo Suominen 4718c2aa98e2SPeter Wemm <kim@grendel.lut.fi>). 4719c2aa98e2SPeter Wemm CONFIG: drop CSNET_RELAY support -- CSNET is long gone. 4720c2aa98e2SPeter Wemm CONFIG: fix bug caused with domain literal addresses (e.g., 4721c2aa98e2SPeter Wemm ``[128.32.131.12]'') when FEATURE(allmasquerade) 4722c2aa98e2SPeter Wemm was set; it would get an additional @masquerade.host 4723c2aa98e2SPeter Wemm added to the address. Problem noted by Peter Wan 4724c2aa98e2SPeter Wemm of Georgia Tech. 4725c2aa98e2SPeter Wemm CONFIG: make sure that the local UUCP name is in $=w. From 4726c2aa98e2SPeter Wemm Jim Murray of Stratus. 4727c2aa98e2SPeter Wemm CONFIG: changes to UUCP rewriting to simulate IDA-style "V" 4728c2aa98e2SPeter Wemm mailer flag. Briefly, if you are sending to host 4729c2aa98e2SPeter Wemm "foo", then it rewrites "foo!...!baz" to "...!baz", 4730c2aa98e2SPeter Wemm "foo!baz" remains "foo!baz", and anything else has 4731c2aa98e2SPeter Wemm the local name prepended. 4732c2aa98e2SPeter Wemm CONFIG: portability fixes for HP-UX. 4733c2aa98e2SPeter Wemm DOC: several minor problems fixed in the Install & Op Guide. 4734c2aa98e2SPeter Wemm MAKEMAP: fix core dump problem on lines that are too long or 4735c2aa98e2SPeter Wemm which lack newline. From Mark Delany. 4736c2aa98e2SPeter Wemm MAILSTATS: print sums of columns (total messages & kbytes 4737c2aa98e2SPeter Wemm in and out of the system). From Tom Ferrin of UC 4738c2aa98e2SPeter Wemm San Francisco Computer Graphics Lab. 4739c2aa98e2SPeter Wemm SIGNIFICANT USER- OR SYSAD-VISIBLE CHANGES: 4740c2aa98e2SPeter Wemm On HP-UX, /etc/sendmail.cf has been moved to 4741c2aa98e2SPeter Wemm /usr/lib/sendmail.cf to match HP sendmail. 4742c2aa98e2SPeter Wemm Permissions have been tightened up on world-writable 4743c2aa98e2SPeter Wemm :include: files and accounts that have shells 4744c2aa98e2SPeter Wemm that are not listed in /etc/shells. This may 4745c2aa98e2SPeter Wemm cause some .forward files that have worked 4746c2aa98e2SPeter Wemm before to start failing. 4747c2aa98e2SPeter Wemm SIGUSR1 dumps some state to the log. 4748c2aa98e2SPeter Wemm NEW FILES: 4749c2aa98e2SPeter Wemm src/Makefile.DGUX 4750c2aa98e2SPeter Wemm src/Makefile.Dynix 4751c2aa98e2SPeter Wemm src/Makefile.FreeBSD 4752c2aa98e2SPeter Wemm src/Makefile.Mach386 4753c2aa98e2SPeter Wemm src/Makefile.NetBSD 4754c2aa98e2SPeter Wemm src/Makefile.RISCos 4755c2aa98e2SPeter Wemm src/Makefile.SCO 4756c2aa98e2SPeter Wemm src/Makefile.SVR4 4757c2aa98e2SPeter Wemm src/Makefile.Titan 4758c2aa98e2SPeter Wemm cf/mailer/pop.m4 4759c2aa98e2SPeter Wemm cf/ostype/bsdi1.0.m4 4760c2aa98e2SPeter Wemm cf/ostype/dgux.m4 4761c2aa98e2SPeter Wemm cf/ostype/dynix3.2.m4 4762c2aa98e2SPeter Wemm cf/ostype/sco3.2.m4 4763c2aa98e2SPeter Wemm makemap/Makefile.dist 4764c2aa98e2SPeter Wemm praliases/Makefile.dist 4765c2aa98e2SPeter Wemm 4766c2aa98e2SPeter Wemm8.6.4/8.6.4 93/10/31 4767c2aa98e2SPeter Wemm Repair core-dump problem (write to read-only memory segment) 4768c2aa98e2SPeter Wemm if you fall back to the return-to-Postmaster case in 4769c2aa98e2SPeter Wemm savemail. Problem reported by Richard Liu. 4770c2aa98e2SPeter Wemm Immediately diagnose bogus sender addresses in SMTP. This 4771c2aa98e2SPeter Wemm makes quite certain that crackers can't use this 4772c2aa98e2SPeter Wemm class of attack. 4773c2aa98e2SPeter Wemm Reliability Fix: check return value from fclose() and fsync() 4774c2aa98e2SPeter Wemm in a few critical places. 4775c2aa98e2SPeter Wemm Minor problem in initsys() that reversed a condition for 4776c2aa98e2SPeter Wemm redirecting the output channel on queue runs. It's 4777c2aa98e2SPeter Wemm not clear this code even does anything. From Eric 4778c2aa98e2SPeter Wemm Wassenaar of the Dutch National Institute for Nuclear 4779c2aa98e2SPeter Wemm and High-Energy Physics. 4780c2aa98e2SPeter Wemm Fix some problems that caused queue runs to do "too much work", 4781c2aa98e2SPeter Wemm such as double-reading the Errors-To: header. From 4782c2aa98e2SPeter Wemm Eric Wassenaar. 4783c2aa98e2SPeter Wemm Error messages on writing the temporary file (including the 4784c2aa98e2SPeter Wemm data file) were getting suppressed in SMTP -- this 4785c2aa98e2SPeter Wemm fix causes them to be properly reported. From Eric 4786c2aa98e2SPeter Wemm Wassenaar. 4787c2aa98e2SPeter Wemm Some changes to support AF_UNIX sockets -- this will only 4788c2aa98e2SPeter Wemm really become relevant in the next release, but some 4789c2aa98e2SPeter Wemm people need it for local patches. From Michael 4790c2aa98e2SPeter Wemm Corrigan of UC San Diego. 4791c2aa98e2SPeter Wemm Use dynamically allocated memory (instead of static buffers) 4792c2aa98e2SPeter Wemm for macros defined in initsys() and settime(); since 4793c2aa98e2SPeter Wemm these can have different values depending on which 4794c2aa98e2SPeter Wemm envelope they are in. From Eric Wassenaar. 4795c2aa98e2SPeter Wemm Improve logging to show ctladdr on to= logging; this tells you 4796c2aa98e2SPeter Wemm what uid/gid processes ran as. 4797c2aa98e2SPeter Wemm Fix a problem that caused error messages to be discarded if 4798c2aa98e2SPeter Wemm the sender address was unparseable for some reason; 4799c2aa98e2SPeter Wemm this was supposed to fall back to the "return to 4800c2aa98e2SPeter Wemm postmaster" case. 4801c2aa98e2SPeter Wemm Improve aliaswait backoff algorithm. 4802c2aa98e2SPeter Wemm Portability patches for Linux (8.6.3 required another header 4803c2aa98e2SPeter Wemm file) (from Karl London) and SCO UNIX. 4804c2aa98e2SPeter Wemm CONFIG: patch prog mailer to not strip host name off of envelope 4805c2aa98e2SPeter Wemm addresses (so that it matches local again). From 4806c2aa98e2SPeter Wemm Christopher Davis. 4807c2aa98e2SPeter Wemm CONFIG: change uucp-dom mailer so that "<>" translates to $n; 4808c2aa98e2SPeter Wemm this prevents uux from seeing lines with null names like 4809c2aa98e2SPeter Wemm ``From Sat Oct 30 14:55:31 1993''. From Motonori 4810c2aa98e2SPeter Wemm Nakamura of Kyoto University. 4811c2aa98e2SPeter Wemm CONFIG: handle <list:;> syntax correctly. This isn't legal, but 4812c2aa98e2SPeter Wemm it shouldn't fail miserably. From Motonori Nakamura. 4813c2aa98e2SPeter Wemm 4814c2aa98e2SPeter Wemm8.6.2/8.6.2 93/10/15 4815c2aa98e2SPeter Wemm Put a "successful delivery" message in the transcript for 4816c2aa98e2SPeter Wemm addresses that get return-receipts. 4817c2aa98e2SPeter Wemm Put a prominent "this is only a warning" message in warning 4818c2aa98e2SPeter Wemm messages -- some people don't read carefully enough 4819c2aa98e2SPeter Wemm and end up sending the message several times. 4820c2aa98e2SPeter Wemm Include reason for temporary failure in the "warning" return 4821c2aa98e2SPeter Wemm message. Currently, it just says "cannot send for 4822c2aa98e2SPeter Wemm four hours". 4823c2aa98e2SPeter Wemm Fix the "Original message received" time generated for 4824c2aa98e2SPeter Wemm returntosender messages. It was previously listed as 4825c2aa98e2SPeter Wemm the current time. Bug reported by Eric Hagberg of 4826c2aa98e2SPeter Wemm Cornell University Medical College. 4827c2aa98e2SPeter Wemm If there is an error when writing the body of a message, 4828c2aa98e2SPeter Wemm don't send the trailing dot and wait for a response 4829c2aa98e2SPeter Wemm in sender SMTP, as this could cause the connection to 4830c2aa98e2SPeter Wemm hang up under some bizarre circumstances. From Eric 4831c2aa98e2SPeter Wemm Wassenaar. 4832c2aa98e2SPeter Wemm Fix some server SMTP synchronization problems caused when 4833c2aa98e2SPeter Wemm connections fail during message collection. From 4834c2aa98e2SPeter Wemm Eric Wassenaar. 4835c2aa98e2SPeter Wemm Fix a problem that can cause srvrsmtp to reject mail if the 4836c2aa98e2SPeter Wemm name server is down -- it accepts the RCPT but rejects 4837c2aa98e2SPeter Wemm the DATA command. Problem reported by Jim Murray of 4838c2aa98e2SPeter Wemm Stratus. 4839c2aa98e2SPeter Wemm Fix a problem that can cause core dumps if the config file 4840c2aa98e2SPeter Wemm incorrectly resolves to a null hostname. Reported by 4841c2aa98e2SPeter Wemm Allan Johannesen of WPI. 4842c2aa98e2SPeter Wemm Non-root use of -C flag, dangerous -f flags, and use of -oQ 4843c2aa98e2SPeter Wemm by non-root users were not put into 4844c2aa98e2SPeter Wemm X-Authentication-Warning:s as intended because the 48452e43090eSPeter Wemm config file hadn't set the PrivacyOptions yet. Fix 4846c2aa98e2SPeter Wemm from Sven-Ove Westberg of the University of Lulea. 4847c2aa98e2SPeter Wemm Under very odd circumstances, the alias file rebuild code 4848c2aa98e2SPeter Wemm could get confused as to whether a database was 4849c2aa98e2SPeter Wemm open or not. 4850c2aa98e2SPeter Wemm Check "vendor code" on the end of V lines -- this is 4851c2aa98e2SPeter Wemm intended to provide a hook for vendor-specific 4852c2aa98e2SPeter Wemm configuration syntax. (This is a "new feature", 4853c2aa98e2SPeter Wemm but I've made an exception to my rule in a belief 4854c2aa98e2SPeter Wemm that this is a highly exceptional case.) 4855c2aa98e2SPeter Wemm Portability fixes for DG/UX (from Douglas Anderson of NCSC), 4856c2aa98e2SPeter Wemm SCO Unix (from Murray Kucherawy), A/UX, and OSF/1 4857c2aa98e2SPeter Wemm (from Jon Forrest of UC Berkeley) 4858c2aa98e2SPeter Wemm CONFIG: fix ``mailer:host'' form of UUCP relay naming. 4859c2aa98e2SPeter Wemm 4860c2aa98e2SPeter Wemm8.6.1/8.6 93/10/08 4861c2aa98e2SPeter Wemm Portability fixes for A/UX and Encore UMAX V. 4862c2aa98e2SPeter Wemm Fix error message handling -- if you had a name server down 4863c2aa98e2SPeter Wemm causing an error during parsing, that message was never 4864c2aa98e2SPeter Wemm propagated to the queue file. 4865c2aa98e2SPeter Wemm 4866c2aa98e2SPeter Wemm8.6/8.6 93/10/05 4867c2aa98e2SPeter Wemm Configuration cleanup: make it easier to undo IDENTPROTO in 4868c2aa98e2SPeter Wemm conf.h (other systems have the same bug). 4869c2aa98e2SPeter Wemm If HASGETDTABLESIZE and _SC_OPEN_MAX are both defined, assume 4870c2aa98e2SPeter Wemm getdtablesize() instead of sysconf(); a disturbingly 4871c2aa98e2SPeter Wemm large number of systems defined _SC_OPEN_MAX in the 4872c2aa98e2SPeter Wemm header files but don't have the syscall. 4873c2aa98e2SPeter Wemm Another patch to really truly ignore MX records in getcanonname 4874c2aa98e2SPeter Wemm if trymx == FALSE. 4875c2aa98e2SPeter Wemm Fix problem that caused the "250 IAA25499 Message accepted for 4876c2aa98e2SPeter Wemm delivery" message to be omitted if there was an error 4877c2aa98e2SPeter Wemm in the header of the message (e.g., a bad Errors-To: 4878c2aa98e2SPeter Wemm line). Pointed out by Michael Corrigan of UCSD. 4879c2aa98e2SPeter Wemm Announce name of host we are chatting when we get errors; this 4880c2aa98e2SPeter Wemm is an IDA-ism suggested by Christophe Wolfhugel. 4881c2aa98e2SPeter Wemm Portability fixes for Alpha OSF/1 (from Anthony Baxter of the 4882c2aa98e2SPeter Wemm Australian Artificial Intelligence Institute), SCO Unix 4883c2aa98e2SPeter Wemm (from Murray Kucherawy of Hookup Communication Corp.), 4884c2aa98e2SPeter Wemm NeXT (from Vince DeMarco and myself), Linux (from 4885c2aa98e2SPeter Wemm Karl London <karl@borg.demon.co.uk>), BSDI (from 4886c2aa98e2SPeter Wemm Christophe Wolfhugel, and SVR4 on Dell (from Kimmo 4887c2aa98e2SPeter Wemm Suominen), AUX 3.0 on Macintosh, and ANSI C compilers. 4888c2aa98e2SPeter Wemm Some changes to get around gcc optimizer bugs. From Takahiro 4889c2aa98e2SPeter Wemm Kanbe. 4890c2aa98e2SPeter Wemm Fix error recovery in queueup if another tf file of the same 4891c2aa98e2SPeter Wemm name already exists. Problem stumbled over by Bill 4892c2aa98e2SPeter Wemm Wisner of The Well. 4893c2aa98e2SPeter Wemm Output YP_MASTER_NAME and YP_LAST_MODIFIED without null bytes. 4894c2aa98e2SPeter Wemm Problem noted by Keith McMillan of Ameritech Services. 4895c2aa98e2SPeter Wemm Deal with group permissions properly when opening .forward and 4896c2aa98e2SPeter Wemm :include: files. This relaxes the 8.1C restrictions 4897c2aa98e2SPeter Wemm slightly more. This includes proper setting of groups 4898c2aa98e2SPeter Wemm when reading :include: files, allowing you to read some 4899c2aa98e2SPeter Wemm files that you should be able to read but have previously 4900c2aa98e2SPeter Wemm been denied unless you owned them or they had "other" 4901c2aa98e2SPeter Wemm read permission. 4902c2aa98e2SPeter Wemm Make certain that $j is in $=w (after the .cf is read) so that 4903c2aa98e2SPeter Wemm if the user is forced to override some silly system, 4904c2aa98e2SPeter Wemm MX suppression will still work. 4905c2aa98e2SPeter Wemm Fix a couple of efficiency problems where newstr was double- 4906c2aa98e2SPeter Wemm calling expensive routines. In at least one case, it 4907c2aa98e2SPeter Wemm wasn't guaranteed that they would always return the 4908c2aa98e2SPeter Wemm same result. Problem noted by Christophe Wolfhugel. 4909c2aa98e2SPeter Wemm Fix null pointer dereference in putoutmsg -- only on an error 4910c2aa98e2SPeter Wemm condition from a non-SMTP mailer. From Motonori 4911c2aa98e2SPeter Wemm Nakamura. 4912c2aa98e2SPeter Wemm Macro expand "C" line class definitions before scanning so that 4913c2aa98e2SPeter Wemm "CX $Z" works. 4914c2aa98e2SPeter Wemm Fix problem that caused error message to be sent while still 4915c2aa98e2SPeter Wemm trying to send the original message if the connection 4916c2aa98e2SPeter Wemm is closed during a DATA command after getting an error 4917c2aa98e2SPeter Wemm on an RCPT command (pretty obscure). Problem reported 4918c2aa98e2SPeter Wemm by John Myers of CMU. 4919c2aa98e2SPeter Wemm Fix reply to NOOP to be 250 instead of 200 -- this is a long 4920c2aa98e2SPeter Wemm term bug. 4921c2aa98e2SPeter Wemm Fix a nasty bug causing core dumps when returning the "warning: 4922c2aa98e2SPeter Wemm cannot deliver for N hours -- will keep trying" message; 49232e43090eSPeter Wemm it only occurred if you had PostmasterCopy set and 4924c2aa98e2SPeter Wemm only on some architectures. Although sendmail would 4925c2aa98e2SPeter Wemm keep trying, it would send error messages on each 4926c2aa98e2SPeter Wemm queue interval. This is an important fix. 4927c2aa98e2SPeter Wemm Allow u and g options to take user and group names respectively. 4928c2aa98e2SPeter Wemm Don't do a chdir into the queue directory in -bt mode to make 4929c2aa98e2SPeter Wemm ruleset testing a bit easier. 4930c2aa98e2SPeter Wemm Don't allow users to turn off logging (using -oL) on the command 4931c2aa98e2SPeter Wemm line -- command line can only raise, not lower, logging 4932c2aa98e2SPeter Wemm level. 4933c2aa98e2SPeter Wemm Set $u to the original recipient on the SMTP transaction or on 4934c2aa98e2SPeter Wemm the command line. This is only done if there is exactly 4935c2aa98e2SPeter Wemm one recipient. Technically, this does not meet the 4936c2aa98e2SPeter Wemm specs, because it does not guarantee a domain on the 4937c2aa98e2SPeter Wemm address. 4938c2aa98e2SPeter Wemm Fix a problem that dumped error messages on bad addresses if 4939c2aa98e2SPeter Wemm you used the -t flag. Problem noted by Josh Smith of 4940c2aa98e2SPeter Wemm Harvey Mudd College. 4941c2aa98e2SPeter Wemm Given an address such as ``<foo> <bar>'', auto-quote the first 4942c2aa98e2SPeter Wemm ``<foo>'' part, giving ``"<foo>" <bar>''. This is to 4943c2aa98e2SPeter Wemm avoid the problem of people who use angle brackets in 4944c2aa98e2SPeter Wemm their full name information. 4945c2aa98e2SPeter Wemm Fix a null pointer dereference if you set option "l", have 4946c2aa98e2SPeter Wemm an Errors-To: header in the message, and have Errors-To: 4947c2aa98e2SPeter Wemm defined in the config file H lines. From J.R. Oldroyd. 4948c2aa98e2SPeter Wemm Put YPCOMPAT on #ifdef NIS instead -- it's one less thing to get 4949c2aa98e2SPeter Wemm wrong when compiling. Suggested by Rick McCarty of TI. 4950c2aa98e2SPeter Wemm Fix a problem that could pass negative SIZE parameter if the 4951c2aa98e2SPeter Wemm df file got lost; this would cause servers to always 4952c2aa98e2SPeter Wemm give a temporary failure, making the problem even worse. 4953c2aa98e2SPeter Wemm Problem noted by Allan Johannesen of WPI. 4954c2aa98e2SPeter Wemm Add "ident" timeout (one of the "r" option selectors) for IDENT 4955c2aa98e2SPeter Wemm protocol timeouts (30s default). Requested by Murray 4956c2aa98e2SPeter Wemm Kucherawy of HookUp Communication Corp. to handle bogus 4957c2aa98e2SPeter Wemm PC TCP/IP implementations. 4958c2aa98e2SPeter Wemm Change $w default definition to be just the first component of 4959c2aa98e2SPeter Wemm the domain name on config level 5. The $j macro defaults 4960c2aa98e2SPeter Wemm to the FQDN; $m remains as before. This lets well-behaved 4961c2aa98e2SPeter Wemm config files use any of the short, long, or subdomain 4962c2aa98e2SPeter Wemm names. 4963c2aa98e2SPeter Wemm Add makesendmail script in src to try to automate multi-architecture 4964c2aa98e2SPeter Wemm builds. I know, this is sub-optimal, but it is still 4965c2aa98e2SPeter Wemm helpful. 4966c2aa98e2SPeter Wemm Fix very obscure race condition that can cause a queue run to 4967c2aa98e2SPeter Wemm get a queue file for an already completed job. This 4968c2aa98e2SPeter Wemm problem has existed for years. Problem noted by the 4969c2aa98e2SPeter Wemm long suffering Allan Johannesen of WPI. 4970c2aa98e2SPeter Wemm Fix a problem that caused the raw sender name to be passed to 4971c2aa98e2SPeter Wemm udbsender instead of the canonified name -- this caused 4972c2aa98e2SPeter Wemm it to sometimes miss records that it should have found. 4973c2aa98e2SPeter Wemm Relax check of name on HELO packet so that a program using -bs 4974c2aa98e2SPeter Wemm that claims to be itself works properly. 4975c2aa98e2SPeter Wemm Restore rewriting of $: part of address through 2, R, 4 in 4976c2aa98e2SPeter Wemm buildaddr -- this requires passing a lot of flags to get 4977c2aa98e2SPeter Wemm it right. Unlike old versions, this ONLY rewrites 4978c2aa98e2SPeter Wemm recipient addresses, not sender addresses. 4979c2aa98e2SPeter Wemm Fix a bug that caused core dumps in config files that cannot 4980c2aa98e2SPeter Wemm resolve /file/name style addresses. Fix from Jonathan 4981c2aa98e2SPeter Wemm Kamens of OpenVision Technologies. 4982c2aa98e2SPeter Wemm Fix problem with fcntl locking that can cause error returns to 4983c2aa98e2SPeter Wemm be lost if the lock is lost; this required fully 4984c2aa98e2SPeter Wemm queueing everything, dropping the envelope (so errors 4985c2aa98e2SPeter Wemm would get returned), and then re-reading the queue from 4986c2aa98e2SPeter Wemm scratch. 4987c2aa98e2SPeter Wemm Fix a problem that caused aliases that redefine an otherwise 4988c2aa98e2SPeter Wemm true address to still send to the original address 4989c2aa98e2SPeter Wemm if and only if the alias failed in certain bizarre 4990c2aa98e2SPeter Wemm ways (e.g, if they pointed at a list:; syntax address). 4991c2aa98e2SPeter Wemm Problem pointed out by Jonathan Kamens. 4992c2aa98e2SPeter Wemm Remove support for frozen configuration files. They caused 4993c2aa98e2SPeter Wemm more trouble than it was worth. 4994c2aa98e2SPeter Wemm Fix problem that can cause error messages to get ignored when 4995c2aa98e2SPeter Wemm using both -odb and -t flags. Problem noted by Rob 4996c2aa98e2SPeter Wemm McNicholas at U.C. Berkeley. 4997c2aa98e2SPeter Wemm Include all "normal" variations on hostname in $=w. For example, 4998c2aa98e2SPeter Wemm if the host name is vangogh.cs.berkeley.edu, $=w will 4999c2aa98e2SPeter Wemm contain vangogh, vangogh.cs, and vangogh.cs.berkeley.edu. 5000c2aa98e2SPeter Wemm Add "restrictqrun" privacy flag -- without this, anyone can run 5001c2aa98e2SPeter Wemm the queue. 5002c2aa98e2SPeter Wemm Reset SmtpPhase global on initial connection creation so that 5003c2aa98e2SPeter Wemm messages don't come out with stale information. 5004c2aa98e2SPeter Wemm Pass an "ext" argument to lockfile so that error/log messages 5005c2aa98e2SPeter Wemm will properly reflect the true filename being locked. 5006c2aa98e2SPeter Wemm Put all [...] address forms into $=w -- this eliminates the need 5007c2aa98e2SPeter Wemm for MAXIPADDR in conf.h. Suggested by John Gardiner 5008c2aa98e2SPeter Wemm Myers of CMU. 5009c2aa98e2SPeter Wemm Fix a bug that can cause qf files to be left around even after 5010c2aa98e2SPeter Wemm an SMTP RSET command. Problem and fix from Michael 5011c2aa98e2SPeter Wemm Corrigan. 50122e43090eSPeter Wemm Don't send a PostmasterCopy to errors when the Precedence: is 5013c2aa98e2SPeter Wemm negative. Error reports still go to the envelope 5014c2aa98e2SPeter Wemm sender address. 5015c2aa98e2SPeter Wemm Add LA_SHORT for load averages. 5016c2aa98e2SPeter Wemm Lock sendmail.st file when posting statistics. 5017c2aa98e2SPeter Wemm Add "SendBufSize" and "RcvBufSize" suboptions to "O" option to 5018c2aa98e2SPeter Wemm set the size of the TCP send and receive buffers; if you 5019c2aa98e2SPeter Wemm run over a slow slip line you may need to set these down 5020c2aa98e2SPeter Wemm (although it would be better to fix the SLIP implementation 5021c2aa98e2SPeter Wemm so that it's not necessary to recompile every program 5022c2aa98e2SPeter Wemm that does bulk data transfer). 5023c2aa98e2SPeter Wemm Allow null defaults on $( ... $) lookups. Problem reported by 5024c2aa98e2SPeter Wemm Amir Plivatsky. 5025c2aa98e2SPeter Wemm Diagnose crufty S and V config lines. This resulted from an 5026c2aa98e2SPeter Wemm observation that some people were using the SITE macro 5027c2aa98e2SPeter Wemm without the SITECONFIG macro first, which was causing 5028c2aa98e2SPeter Wemm bogus config files that were not caught. 5029c2aa98e2SPeter Wemm Fix makemap -f flag to turn off case folding (it was turning it 5030c2aa98e2SPeter Wemm on instead). THIS IS A USER VISIBLE CHANGE!!! 5031c2aa98e2SPeter Wemm Fix a problem that caused multiple error messages to be sent if 5032c2aa98e2SPeter Wemm you used "sendmail -t -oem -odb", your system uses fcntl 5033c2aa98e2SPeter Wemm locking, and one of the recipient addresses is unknown. 5034c2aa98e2SPeter Wemm Reset uid earlier in include() so that recursive .forwards or 5035c2aa98e2SPeter Wemm :include:s don't use the wrong uid. 5036c2aa98e2SPeter Wemm If file descriptor 0, 1, or 2 was closed when sendmail was 5037c2aa98e2SPeter Wemm called, the code to recover the descriptor was broken. 5038c2aa98e2SPeter Wemm This sometimes (only sometimes) caused problems with the 5039c2aa98e2SPeter Wemm alias file. Fix from Motonori Nakamura. 5040c2aa98e2SPeter Wemm Fix a problem that caused aliaswait to go into infinite recursion 5041c2aa98e2SPeter Wemm if the @:@ metasymbol wasn't found in the alias file. 5042c2aa98e2SPeter Wemm Improve error message on newaliases if database files cannot be 5043c2aa98e2SPeter Wemm opened or if running with no database format defined. 5044c2aa98e2SPeter Wemm Do a better estimation of the size of error messages when NoReturn 5045c2aa98e2SPeter Wemm is set. Problem noted by P{r (Pell) Emanuelsson. 5046c2aa98e2SPeter Wemm Fix a problem causing the "c" option (don't connect to expensive 5047c2aa98e2SPeter Wemm mailers) to be ignored in SMTP. Problem noted and the 5048c2aa98e2SPeter Wemm solution suggested by Robert Elz of The University of 5049c2aa98e2SPeter Wemm Melbourne. 5050c2aa98e2SPeter Wemm Improve connection caching algorithm by passing "[host]" to 5051c2aa98e2SPeter Wemm hostsignature, which strips the square brackets and 5052c2aa98e2SPeter Wemm returns the real name. This allows mailertable entries 5053c2aa98e2SPeter Wemm to match regular entries. 5054c2aa98e2SPeter Wemm Re-enable Return-Receipt-To: -- people seem to want this stupid 5055c2aa98e2SPeter Wemm feature, even if it doesn't work right. 5056c2aa98e2SPeter Wemm Catch and log attempts to try the "wiz" command in server SMTP. 5057c2aa98e2SPeter Wemm This also ups the log level from LOG_NOTICE to LOG_CRIT. 5058c2aa98e2SPeter Wemm Be more generous at assigning $z to the home directory -- do this 5059c2aa98e2SPeter Wemm for programs that are specified through a .forward file. 5060c2aa98e2SPeter Wemm Fix from Andrew Chang of Sun Microsystems. 5061c2aa98e2SPeter Wemm Always save a fatal error message in preference to a non-fatal 5062c2aa98e2SPeter Wemm error message so that the "subject" line of return 5063c2aa98e2SPeter Wemm messages is the best possible. 5064c2aa98e2SPeter Wemm CONFIG: reduce the number of quotes needed to quote configuration 5065c2aa98e2SPeter Wemm parameters with commas: two quotes should work now, e.g., 5066c2aa98e2SPeter Wemm define(ALIAS_FILE, ``/etc/aliases,/etc/aliases.local''). 5067c2aa98e2SPeter Wemm CONFIG: class $=Z is a set of UUCP hosts that use uucp-dom 5068c2aa98e2SPeter Wemm connections (domain-ized UUCP). 5069c2aa98e2SPeter Wemm CONFIG: fix bug in default maps (-o must be before database file 5070c2aa98e2SPeter Wemm name). Pointed out by Christophe Wolfhugel. 5071c2aa98e2SPeter Wemm CONFIG: add FEATURE(nodns) to state that we are not relying on 5072c2aa98e2SPeter Wemm DNS. This would presumably be used in UUCP islands. 5073c2aa98e2SPeter Wemm CONFIG: add OSTYPE(nextstep) and OSTYPE(linux). 5074c2aa98e2SPeter Wemm CONFIG: log $u in Received: line. This is in technical violation 5075c2aa98e2SPeter Wemm of the standards, since it doesn't guarantee a domain 5076c2aa98e2SPeter Wemm on the address. 5077c2aa98e2SPeter Wemm CONFIG: don't assume "m" in local mailer flags -- this means that 5078c2aa98e2SPeter Wemm if you redefine LOCAL_MAILER_FLAGS you will have to include 5079c2aa98e2SPeter Wemm the "m" flag should you want it. Apparently some Solaris 2.2 5080c2aa98e2SPeter Wemm installations can't handle multiple local recipients. 5081c2aa98e2SPeter Wemm Problem noted by Josh Smith. 5082c2aa98e2SPeter Wemm CONFIG: add confDOMAIN_NAME to set $j (if undefined, $j defaults). 5083c2aa98e2SPeter Wemm CONFIG: change default version level from 4 to 5. 5084c2aa98e2SPeter Wemm CONFIG: add FEATURE(nullclient) to create a config file that 5085c2aa98e2SPeter Wemm forwards all mail to a hub without ever looking at the 5086c2aa98e2SPeter Wemm addresses in any detail. 5087c2aa98e2SPeter Wemm CONFIG: properly strip mailer: information off of relays when 5088c2aa98e2SPeter Wemm used to change .BITNET form into %-hack form. 5089c2aa98e2SPeter Wemm CONFIG: fix a problem that caused infinite loops if presented 5090c2aa98e2SPeter Wemm with an address such as "!foo". 5091c2aa98e2SPeter Wemm CONFIG: check for self literal (e.g., [128.32.131.12]) even if 5092c2aa98e2SPeter Wemm the reverse "PTR" mapping is broken. There's a better 5093c2aa98e2SPeter Wemm way to do this, but the change is fairly major and I 5094c2aa98e2SPeter Wemm want to hold it for another release. Problem noted by 5095c2aa98e2SPeter Wemm Bret Marquis. 5096c2aa98e2SPeter Wemm 5097c2aa98e2SPeter Wemm8.5/8.5 93/07/23 5098c2aa98e2SPeter Wemm Serious bug: if you used a command line recipient that was unknown 5099c2aa98e2SPeter Wemm sendmail would not send a return message (it was treating 5100c2aa98e2SPeter Wemm everything as though it had an SMTP-style client that 5101c2aa98e2SPeter Wemm would do the return itself). Problem noted by Josh Smith. 5102c2aa98e2SPeter Wemm Change "trymx" option in getcanonname() to ignore all MX data, 5103c2aa98e2SPeter Wemm even during a T_ANY query. This actually didn't break 5104c2aa98e2SPeter Wemm anything, because the only time you called getcanonname 5105c2aa98e2SPeter Wemm with !trymx was if you already knew there were no MX 5106c2aa98e2SPeter Wemm records, but it is somewhat cleaner. From Motonori 5107c2aa98e2SPeter Wemm Nakamura. 5108c2aa98e2SPeter Wemm Don't call getcanonname from getmxrr if you already know there 5109c2aa98e2SPeter Wemm are no DNS records matching the name. 5110c2aa98e2SPeter Wemm Fix a problem causing error messages to always include "The 5111c2aa98e2SPeter Wemm original message was received ... from localhost". 5112c2aa98e2SPeter Wemm The correct original host information is now included. 5113c2aa98e2SPeter Wemm Previous change to cf/sh/makeinfo.sh doesn't port to Ultrix (their 5114c2aa98e2SPeter Wemm version of "test" doesn't have the -x flag). Change it 5115c2aa98e2SPeter Wemm to use -f instead. From John Myers. 5116c2aa98e2SPeter Wemm CONFIG: 8.4 mistakenly set the default SMTP-style mailer to 5117c2aa98e2SPeter Wemm esmtp -- it should be smtp. 5118c2aa98e2SPeter Wemm CONFIG: send all relayed mail using confRELAY_MAILER (defaults 5119c2aa98e2SPeter Wemm to "relay" (a variant of "smtp") if MAILER(smtp) is used, 5120c2aa98e2SPeter Wemm else "suucp" if MAILER(uucp) is used, else "unknown"); 5121c2aa98e2SPeter Wemm this cleans up the configs somewhat. This fixes a serious 5122c2aa98e2SPeter Wemm problem that caused route-addrs to get mistaken as relays, 5123c2aa98e2SPeter Wemm pointed out by John Myers. WARNING: this also causes 5124c2aa98e2SPeter Wemm the default on SMART_HOST to change from "suucp" to 5125c2aa98e2SPeter Wemm "relay" if you have MAILER(smtp) specified. 5126c2aa98e2SPeter Wemm 5127c2aa98e2SPeter Wemm8.4/8.4 93/07/22 5128c2aa98e2SPeter Wemm Add option `w'. If you receive a message that comes to you because 5129c2aa98e2SPeter Wemm you are the best (lowest preference) target of an MX, and 5130c2aa98e2SPeter Wemm you haven't explicitly recognized the source MX host in 5131c2aa98e2SPeter Wemm your .cf file, this option will cause you to try the target 5132c2aa98e2SPeter Wemm host directly (as if there were no MX for it at all). If 5133c2aa98e2SPeter Wemm `w' is not set, this case is a configuration error. 5134c2aa98e2SPeter Wemm Beware: if `w' is set, senders may get bogus errors like 5135c2aa98e2SPeter Wemm "message timed out" or "host unknown" for problems that 5136c2aa98e2SPeter Wemm are really configuration errors. This option is 5137c2aa98e2SPeter Wemm disrecommended, provided only for compatibility with 5138c2aa98e2SPeter Wemm UIUC sendmail. 5139c2aa98e2SPeter Wemm Fix a problem that caused the incoming socket to be left open 5140c2aa98e2SPeter Wemm when sendmail forks after the DATA command. This caused 5141c2aa98e2SPeter Wemm calling systems to wait in FIN_WAIT_2 state until the 5142c2aa98e2SPeter Wemm entire list was processed and the child closed -- a 5143c2aa98e2SPeter Wemm potentially prodigious amount of time. Problem noted 5144c2aa98e2SPeter Wemm by Neil Rickert. 5145c2aa98e2SPeter Wemm Fix problem (created in 6.64) that caused mail sent to multiple 5146c2aa98e2SPeter Wemm addresses, one of which was a bad address, to completely 5147c2aa98e2SPeter Wemm suppress the sending of the message. This changes 5148c2aa98e2SPeter Wemm handling of EF_FATALERRS somewhat, and adds an 5149c2aa98e2SPeter Wemm EF_GLOBALERRS flag. This also fixes a potential problem 5150c2aa98e2SPeter Wemm with duplicate error messages if there is a syntax error 5151c2aa98e2SPeter Wemm in the header of a message that isn't noticed until late 5152c2aa98e2SPeter Wemm in processing. Original problem pointed out by Josh Smith 5153c2aa98e2SPeter Wemm of Harvey Mudd College. This release includes quite a bit 5154c2aa98e2SPeter Wemm of dickering with error handling (see below). 5155c2aa98e2SPeter Wemm Back out SMTP transaction if MAIL gets nested 501 error. This 5156c2aa98e2SPeter Wemm will only hurt already-broken software and should help 5157c2aa98e2SPeter Wemm humans. 5158c2aa98e2SPeter Wemm Fix a problem that broke aliases when neither NDBM nor NEWDB were 5159c2aa98e2SPeter Wemm compiled in. It would never read the alias file. 5160c2aa98e2SPeter Wemm Repair unbalanced `)' and `>' (the "open" versions are already 5161c2aa98e2SPeter Wemm repaired). 5162c2aa98e2SPeter Wemm Logging of "done" in dropenvelope() was incorrect: it would 5163c2aa98e2SPeter Wemm log this even when the queue file still existed. Change 5164c2aa98e2SPeter Wemm this to only log "done" (at log level 11) when the 5165c2aa98e2SPeter Wemm queue file is actually removed. From John Myers. 5166c2aa98e2SPeter Wemm Log "lost connection" in server SMTP at log level 20 if there 5167c2aa98e2SPeter Wemm is no pending transaction. Some senders just close the 5168c2aa98e2SPeter Wemm connection rather than sending QUIT. 5169c2aa98e2SPeter Wemm Fix a bug causing getmxrr to add a dot to the end of unqualified 5170c2aa98e2SPeter Wemm domains that do not have MX records -- this would cause 5171c2aa98e2SPeter Wemm the subsequent host name lookup to fail. The problem 5172c2aa98e2SPeter Wemm only occurred if you had FEATURE(nocanonify) set. 5173c2aa98e2SPeter Wemm Problem noted by Rick McCarty of Texas Instruments. 5174c2aa98e2SPeter Wemm Fix invocation of setvbuf when passed a -X flag -- I had 5175c2aa98e2SPeter Wemm unwittingly used an ANSI C extension, and this caused 5176c2aa98e2SPeter Wemm core dumps on some machines. 5177c2aa98e2SPeter Wemm Diagnose self-destructive alias loops on RCPT as well as EXPN. 5178c2aa98e2SPeter Wemm Previously it just gave an empty send queue, which 5179c2aa98e2SPeter Wemm then gave either "Need RCPT (recipient)" at the DATA 5180c2aa98e2SPeter Wemm (confusing, since you had given an RCPT command which 5181c2aa98e2SPeter Wemm returned 250) or just dropped the email, depending on 5182c2aa98e2SPeter Wemm whether you were running VERBose mode. Now it usually 5183c2aa98e2SPeter Wemm diagnoses this case as "aliasing/forwarding loop broken". 5184c2aa98e2SPeter Wemm Unfortunately, it still doesn't adequately diagnose 5185c2aa98e2SPeter Wemm some true error conditions. 5186c2aa98e2SPeter Wemm Add internal concept of "warning messages" using 6xx codes. 5187c2aa98e2SPeter Wemm These are not reported only to Postmaster. Unbalanced 5188c2aa98e2SPeter Wemm parens, brackets, and quotes are printed as 653 codes. 5189c2aa98e2SPeter Wemm They are always mapped to 5xx codes before use in SMTP. 5190c2aa98e2SPeter Wemm Clean up error messages to tell both the actual address that 5191c2aa98e2SPeter Wemm failed and the alias they arose from. This makes it 5192c2aa98e2SPeter Wemm somewhat easier to diagnose problems. Difficulty noted 5193c2aa98e2SPeter Wemm by Motonori Nakamura. 5194c2aa98e2SPeter Wemm Fix a problem that inappropriately added a ctladdr to addresses 5195c2aa98e2SPeter Wemm that shouldn't have had one during a queue run. This 5196c2aa98e2SPeter Wemm caused error messages to be handled differently during 5197c2aa98e2SPeter Wemm a queue run than a direct run. 5198c2aa98e2SPeter Wemm Don't print the qf name and line number if you get errors during 5199c2aa98e2SPeter Wemm the direct run of the queue from srvrsmtp -- this was 5200c2aa98e2SPeter Wemm just extra stuff for users to crawl through. 5201c2aa98e2SPeter Wemm Put command line flags on second line of pid file so you can 5202c2aa98e2SPeter Wemm auto-restart the daemon with all appropriate arguments. 5203c2aa98e2SPeter Wemm Use "kill `head -1 /etc/sendmail.pid`" to stop the 5204c2aa98e2SPeter Wemm daemon, and "eval `tail -1 /etc/sendmail.pid`" to 5205c2aa98e2SPeter Wemm restart it. 5206c2aa98e2SPeter Wemm Remove the ``setuid(getuid())'' in main -- this caused the 5207c2aa98e2SPeter Wemm IDENT daemon to screw up. This required that I change 5208c2aa98e2SPeter Wemm HASSETEUID to HASSETREUID and complicate the mode 5209c2aa98e2SPeter Wemm changing somewhat because both Ultrix and SunOS seem 5210c2aa98e2SPeter Wemm to have a bug causing seteuid() to set the saved uid 5211c2aa98e2SPeter Wemm as well as the effective. The program test/t_setreuid.c 5212c2aa98e2SPeter Wemm will test to see if your implementation of setreuid(2) 5213c2aa98e2SPeter Wemm is appropriately functional. 5214c2aa98e2SPeter Wemm The FallBackMX (option V) handling failed to properly identify 5215c2aa98e2SPeter Wemm fallback to yourself -- most of the code was there, 5216c2aa98e2SPeter Wemm but it wasn't being enabled. Problem noted by Murray 5217c2aa98e2SPeter Wemm Kucherawy of the University of Waterloo. 5218c2aa98e2SPeter Wemm Change :include: open timeout from ETIMEDOUT to an internal 5219c2aa98e2SPeter Wemm code EOPENTIMEOUT; this avoids adding "during SmtpPhase 5220c2aa98e2SPeter Wemm with CurHostName" in error messages, which can be 5221c2aa98e2SPeter Wemm confusing. Reported by Jonathan Kamens of OpenVision 5222c2aa98e2SPeter Wemm Technologies. 5223c2aa98e2SPeter Wemm Back out setpgrp (setpgid on POSIX systems) call to reset the 5224c2aa98e2SPeter Wemm process group id. The original fix was to get around 5225c2aa98e2SPeter Wemm some problems with recalcitrant MUAs, but it breaks 5226c2aa98e2SPeter Wemm any call from a shell that creates a process group id 5227c2aa98e2SPeter Wemm different from the process id. I could try to fix 5228c2aa98e2SPeter Wemm this by diddling the tty owner (using tcsetpgrp or 5229c2aa98e2SPeter Wemm equivalent) but this is too likely to break other 5230c2aa98e2SPeter Wemm things. 5231c2aa98e2SPeter Wemm Portability changes: 5232c2aa98e2SPeter Wemm Support -M as equivalent to -oM on Ultrix -- apparently 5233c2aa98e2SPeter Wemm DECnet calls sendmail with -MrDECnet -Ms<HOST> -bs 5234c2aa98e2SPeter Wemm instead of using standard flags. Oh joy. This 52352e43090eSPeter Wemm behavior reported by Jon Giltner of University 5236c2aa98e2SPeter Wemm of Colorado. 5237c2aa98e2SPeter Wemm SGI IRIX -- this includes several changes that should 5238c2aa98e2SPeter Wemm help other strict ANSI compilers. 5239c2aa98e2SPeter Wemm SCO Unix -- from Murray Kucherawy of HookUp Communication 5240c2aa98e2SPeter Wemm Corporation. 5241c2aa98e2SPeter Wemm Solaris running the Sun C compiler (which despite the 5242c2aa98e2SPeter Wemm documentation apparently doesn't define 5243c2aa98e2SPeter Wemm __STDC__ by default). 5244c2aa98e2SPeter Wemm ConvexOS from Eric Schnoebelen of Convex. 5245c2aa98e2SPeter Wemm Sony NEWS workstations and Omron LUNA workstations from 5246c2aa98e2SPeter Wemm Motonori Nakamura. 5247c2aa98e2SPeter Wemm CONFIG: add confTRY_NULL_MX_LIST to set option `w'. 5248c2aa98e2SPeter Wemm CONFIG: delete `C' and `e' from default SMTP mailers flags; 5249c2aa98e2SPeter Wemm several people have made a good argument that this 5250c2aa98e2SPeter Wemm creates more problems than it solves (although this 5251c2aa98e2SPeter Wemm may prove painful in the short run). 5252c2aa98e2SPeter Wemm CONFIG: generalize all the relays to accept a "mailer:host" 5253c2aa98e2SPeter Wemm format. 5254c2aa98e2SPeter Wemm CONFIG: move local processing in ruleset 0 into a new ruleset 5255c2aa98e2SPeter Wemm 98 (8 on old sendmail). Domain literal [a.b.c.d] 5256c2aa98e2SPeter Wemm addresses are also passed through this ruleset. 5257c2aa98e2SPeter Wemm CONFIG: if neither SMART_HOST nor MAILER(smtp) were defined, 5258c2aa98e2SPeter Wemm internet-style addresses would "fall off the end" of 5259c2aa98e2SPeter Wemm ruleset zero and be interpreted as local -- however, 5260c2aa98e2SPeter Wemm the angle brackets confused the recursive call. 5261c2aa98e2SPeter Wemm These are now diagnosed as "Unrecognized host name". 5262c2aa98e2SPeter Wemm CONFIG: USENET rules weren't included in S0 because of a mistaken 5263c2aa98e2SPeter Wemm ifdef(`_MAILER_USENET_') instead of 5264c2aa98e2SPeter Wemm ifdef(`_MAILER_usenet_'). Problem found by Rein Tollevik 5265c2aa98e2SPeter Wemm of SINTEF RUNIT, Oslo. 5266c2aa98e2SPeter Wemm CONFIG: move up LOCAL_RULE_0 processing so that it happens very 5267c2aa98e2SPeter Wemm early in ruleset 0; this allows .mc authors to bypass 5268c2aa98e2SPeter Wemm things like the "short circuit" code for local addresses. 5269c2aa98e2SPeter Wemm Prompted by a comment by Bill Wisner of The Well. 5270c2aa98e2SPeter Wemm CONFIG: add confSMTP_MAILER to define the mailer used (smtp or 5271c2aa98e2SPeter Wemm esmtp) to send SMTP mail. This allows you to default 5272c2aa98e2SPeter Wemm to esmtp but use a mailertable or other override to 5273c2aa98e2SPeter Wemm deal with broken servers. This logic was pointed out 5274c2aa98e2SPeter Wemm to me by Bill Wisner. Ditto for confLOCAL_MAILER. 5275c2aa98e2SPeter Wemm Changes to cf/sh/makeinfo.sh to make it portable to SVR4 5276c2aa98e2SPeter Wemm environments. Ugly as sin. 5277c2aa98e2SPeter Wemm 5278c2aa98e2SPeter Wemm8.3/8.3 93/07/13 5279c2aa98e2SPeter Wemm Fix setuid problems introduced in 8.2 that caused messages 5280c2aa98e2SPeter Wemm like "Cannot create qfXXXXXX: Invalid argument" 5281c2aa98e2SPeter Wemm or "Cannot reopen dfXXXXXX: Permission denied". This 5282c2aa98e2SPeter Wemm involved a new compile flag "HASSETEUID" that takes 5283c2aa98e2SPeter Wemm the place of the old _POSIX_SAVED_IDS -- it turns out 5284c2aa98e2SPeter Wemm that the POSIX interface is broken enough to break 5285c2aa98e2SPeter Wemm some systems badly. This includes some fixes for 5286c2aa98e2SPeter Wemm HP-UX. Also fixes problems where the real uid is 5287c2aa98e2SPeter Wemm not reset properly on startup (from Neil Rickert). 5288c2aa98e2SPeter Wemm Fix a problem that caused timed out messages to not report the 5289c2aa98e2SPeter Wemm addresses that timed out. Error messages are also more 5290c2aa98e2SPeter Wemm "user friendly". 5291c2aa98e2SPeter Wemm Drop required bandwidth on connections from 64 bytes/sec to 5292c2aa98e2SPeter Wemm 16 bytes/sec. 5293c2aa98e2SPeter Wemm Further Solaris portability changes -- doesn't require the BSD 5294c2aa98e2SPeter Wemm compatibility library. This also adds a new 5295c2aa98e2SPeter Wemm "HASGETDTABLESIZE" compile flag which can be used if 5296c2aa98e2SPeter Wemm you want to use getdtablesize(2) instead of sysconf(2). 5297c2aa98e2SPeter Wemm These are loosely based on changes from David Meyer at 5298c2aa98e2SPeter Wemm University of Oregon. This now seems to work, at least 5299c2aa98e2SPeter Wemm for quick test cases. 5300c2aa98e2SPeter Wemm Fix a problem that can cause duplicate error messages to be 5301c2aa98e2SPeter Wemm sent if you are in SMTP, you send to multiple addresses, 5302c2aa98e2SPeter Wemm and at least one of those addresses is good and points 5303c2aa98e2SPeter Wemm to an account that has a .forward file (whew!). 5304c2aa98e2SPeter Wemm Fix a problem causing messages to be discarded if checkcompat() 5305c2aa98e2SPeter Wemm returned EX_TEMPFAIL (because it didn't properly mark 5306c2aa98e2SPeter Wemm the "to" address). Problem noted by John Myers. 5307c2aa98e2SPeter Wemm Fix dfopen to return NULL if the open failed; I was depending 5308c2aa98e2SPeter Wemm on fdopen(-1) returning NULL, which isn't the case. This 5309c2aa98e2SPeter Wemm isn't serious, but does result in weird error diagnoses. 5310c2aa98e2SPeter Wemm From Michael Corrigan. 5311c2aa98e2SPeter Wemm CONFIG: add UUCP_MAX_SIZE M4 macro to set the maximum size of 5312c2aa98e2SPeter Wemm messages sent through UUCP-family mailers. Suggested 5313c2aa98e2SPeter Wemm by Bill Wisner of The Well. 5314c2aa98e2SPeter Wemm CONFIG: if both MAILER(uucp) and MAILER(smtp) are specified, 5315c2aa98e2SPeter Wemm include a "uucp-dom" mailer that uses domain-style 5316c2aa98e2SPeter Wemm addressing. Suggested by Bill Wisner. 5317c2aa98e2SPeter Wemm CONFIG: Add LOCAL_SHELL_FLAGS and LOCAL_SHELL_ARGS to match 5318c2aa98e2SPeter Wemm LOCAL_MAILER_FLAGS and LOCAL_MAILER_ARGS. Suggested by 5319c2aa98e2SPeter Wemm Christophe Wolfhugel. 5320c2aa98e2SPeter Wemm CONFIG: Add OSTYPE(aix3). From Christophe Wolfhugel. 5321c2aa98e2SPeter Wemm 5322c2aa98e2SPeter Wemm8.2/8.2 93/07/11 5323c2aa98e2SPeter Wemm Don't drop out on config file parse errors in -bt mode. 5324c2aa98e2SPeter Wemm On older configuration files, assume option "l" (use Errors-To 5325c2aa98e2SPeter Wemm header) for back compatibility. NOTE: this DOES NOT 5326c2aa98e2SPeter Wemm imply an endorsement of the Errors-To: header in any way. 5327c2aa98e2SPeter Wemm Accept -x flag on AIX-3 as well as OSF/1. Why, why, why??? 5328c2aa98e2SPeter Wemm Don't log errors on EHLO -- it isn't a "real" error for an old 5329c2aa98e2SPeter Wemm SMTP server to give an error on this command, and 5330c2aa98e2SPeter Wemm logging it in the transcript can be confusing. Fix 5331c2aa98e2SPeter Wemm from Bill Wisner. 5332c2aa98e2SPeter Wemm IRIX compatibility changes provided by Dan Rich 5333c2aa98e2SPeter Wemm <drich@sandman.lerc.nasa.gov>. 5334c2aa98e2SPeter Wemm Solaris 2 compatibility changes. Provided by Bob Cunningham 5335c2aa98e2SPeter Wemm <bob@kahala.soest.hawaii.edu>, John Oleynick 5336c2aa98e2SPeter Wemm <juo@klinzhai.rutgers.edu> 5337c2aa98e2SPeter Wemm Debugging: -d17 was overloaded (hostsignature and usersmtp.c); 5338c2aa98e2SPeter Wemm move usersmtp (smtpinit and smtpmailfrom) to -d18 to 5339c2aa98e2SPeter Wemm match the other flags in that file. 5340c2aa98e2SPeter Wemm Flush transcript before fork in mailfile(). From Eric Wassenaar. 5341c2aa98e2SPeter Wemm Save h_errno in mci struct and improve error message display. 5342c2aa98e2SPeter Wemm Changes from Eric Wassenaar. 5343c2aa98e2SPeter Wemm Open /dev/null for the transcript if the create of the xf file 5344c2aa98e2SPeter Wemm failed; this avoids at least one possible null pointer 5345c2aa98e2SPeter Wemm reference in very weird cases. From Eric Wassenaar. 5346c2aa98e2SPeter Wemm Clean up statistics gathering; it was over-reporting because of 5347c2aa98e2SPeter Wemm forks. From Eric Wassenaar. 5348c2aa98e2SPeter Wemm Fix problem that causes old Return-Path: line to override new 5349c2aa98e2SPeter Wemm Return-Path: line (conf.c needs H_FORCE to avoid 5350c2aa98e2SPeter Wemm re-using old value). From Motonori Nakamura. 5351c2aa98e2SPeter Wemm Fix broken -m flag in K definition -- even if -m (match only) 5352c2aa98e2SPeter Wemm was specified, it would still replace the key with the 5353c2aa98e2SPeter Wemm value. Noted by Rick McCarty of Texas Instruments. 5354c2aa98e2SPeter Wemm If the name server timed out over several days, no "timed out" 5355c2aa98e2SPeter Wemm message would ever be sent back. The timeout code 5356c2aa98e2SPeter Wemm has been moved from markfailure() to dropenvelope() 5357c2aa98e2SPeter Wemm so that all such failures should be diagnosed. Pointed 5358c2aa98e2SPeter Wemm out by Christophe Wolfhugel and others. 5359c2aa98e2SPeter Wemm Relax safefile() constraints: directories in an include or 5360c2aa98e2SPeter Wemm forward path must be readable by self if the controlling 5361c2aa98e2SPeter Wemm user owns the entry, readable by all otherwise (e.g., 5362c2aa98e2SPeter Wemm when reading your .forward file, you have to own and 5363c2aa98e2SPeter Wemm have X permission in it; everyone needs X permission in 5364c2aa98e2SPeter Wemm the root and directories leading up to your home); 5365c2aa98e2SPeter Wemm include files must be readable by anyone, but need not 5366c2aa98e2SPeter Wemm be owned by you. 5367c2aa98e2SPeter Wemm If _POSIX_SAVED_IDS is defined, setuid to the owner before 5368c2aa98e2SPeter Wemm reading a .forward file; this gets around some problems 5369c2aa98e2SPeter Wemm on NFS mounts if root permission is not exported and 5370c2aa98e2SPeter Wemm the user's home directory isn't x'able. 5371c2aa98e2SPeter Wemm Additional NeXT portability enhancements from Axel Zinser. 5372c2aa98e2SPeter Wemm Additional HP-UX portability enhancements from Brian Bullen. 5373c2aa98e2SPeter Wemm Add a timeout around SMTP message writes; this assumes you can 5374c2aa98e2SPeter Wemm get throughput of at least 64 bytes/second. Note that 5375c2aa98e2SPeter Wemm this does not impact the "datafinal" default, which 5376c2aa98e2SPeter Wemm is separate; this is just intended to work around 5377c2aa98e2SPeter Wemm network clogs that will occur before the final dot 5378c2aa98e2SPeter Wemm is sent. From Eric Wassenaar. 5379c2aa98e2SPeter Wemm Change map code to set the "include null" flag adaptively -- 5380c2aa98e2SPeter Wemm it initially tries both, but if it finds anything 5381c2aa98e2SPeter Wemm matching without a null it never tries again with a 5382c2aa98e2SPeter Wemm null and vice versa. If -N is specified, it never 5383c2aa98e2SPeter Wemm tries without the null and creates new maps with a 5384c2aa98e2SPeter Wemm null byte. If -O is specified, it never tries with 5385c2aa98e2SPeter Wemm the null (for efficiency). If -N and -O are specified, 5386c2aa98e2SPeter Wemm you get -NO (get it?) lookup at all, so this would 5387c2aa98e2SPeter Wemm be a bad idea. If you don't specify either -N or -O, 5388c2aa98e2SPeter Wemm it adapts. 5389c2aa98e2SPeter Wemm Fix recognition of "same from address" so that MH submissions 5390c2aa98e2SPeter Wemm will insert the appropriate full name information; 5391c2aa98e2SPeter Wemm this used to work and got broken somewhere along the 5392c2aa98e2SPeter Wemm way. 5393c2aa98e2SPeter Wemm Some changes to eliminate some unnecessary SYSERRs in the 5394c2aa98e2SPeter Wemm log. For example, if you lost a connection, don't 5395c2aa98e2SPeter Wemm bother reporting that fact on the connection you lost. 5396c2aa98e2SPeter Wemm Add some "extended debugging" flags to try to track down 5397c2aa98e2SPeter Wemm why we get occasional problems with file descriptor 5398c2aa98e2SPeter Wemm one being closed when execing a mailer; it seems to 5399c2aa98e2SPeter Wemm only happen when there has been another error in the 5400c2aa98e2SPeter Wemm same transaction. This requires XDEBUG, defined 5401c2aa98e2SPeter Wemm by default in conf.h. 5402c2aa98e2SPeter Wemm Add "-X filename" command line flag, which logs both sides of 5403c2aa98e2SPeter Wemm all SMTP transactions. This is intended ONLY for 5404c2aa98e2SPeter Wemm debugging bad implementations of other mailers; start 5405c2aa98e2SPeter Wemm it up, send a message from a mailer that is failing, 5406c2aa98e2SPeter Wemm and then kill it off and examine the indicated log. 5407c2aa98e2SPeter Wemm This output is not intended to be particularly human 5408c2aa98e2SPeter Wemm readable. This also adds the HASSETVBUF compile 5409c2aa98e2SPeter Wemm flag, defaulted on if your compiler defines __STDC__. 5410c2aa98e2SPeter Wemm CONFIG: change SMART_HOST to override an SMTP mailer. If you 5411c2aa98e2SPeter Wemm have a local net that should get direct connects, you 5412c2aa98e2SPeter Wemm will need to use LOCAL_NET_CONFIG to catch these hosts. 5413c2aa98e2SPeter Wemm See cf/README for an example. 5414c2aa98e2SPeter Wemm CONFIG: add LOCAL_MAILER_ARGS (default: `mail -d $u') to handle 5415c2aa98e2SPeter Wemm sites that don't use the -d flag. 5416c2aa98e2SPeter Wemm CONFIG: hide recipient addresses as well as sender addresses 5417c2aa98e2SPeter Wemm behind $M if FEATURE(allmasquerade) is specified; this 5418c2aa98e2SPeter Wemm has been requested by several people, but can break 5419c2aa98e2SPeter Wemm local aliases. For example, if you mail to "localalias" 5420c2aa98e2SPeter Wemm this will be rewritten as "localalias@masqueradehost"; 5421c2aa98e2SPeter Wemm although initial delivery will work, replies will be 5422c2aa98e2SPeter Wemm broken. Use it sparingly. 5423c2aa98e2SPeter Wemm CONFIG: add FEATURE(domaintable). This maps unqualified domains 5424c2aa98e2SPeter Wemm to qualified domains in headers. I believe this is 5425c2aa98e2SPeter Wemm largely equivalent to the IDA feature of the same name. 5426c2aa98e2SPeter Wemm CONFIG: use $U as UUCP name instead of $k. This permits you 5427c2aa98e2SPeter Wemm to override the "system name" as your UUCP name -- 5428c2aa98e2SPeter Wemm in particular, to use domain-ized UUCP names. From 5429c2aa98e2SPeter Wemm Bill Wisner of The Well. 5430c2aa98e2SPeter Wemm CONFIG: create new mailer "esmtp" that always tries EHLO 5431c2aa98e2SPeter Wemm first. This is currently unused in the config files, 5432c2aa98e2SPeter Wemm but could be used in a mailertable entry. 5433c2aa98e2SPeter Wemm 5434c2aa98e2SPeter Wemm8.1C/8.1B 93/06/27 5435c2aa98e2SPeter Wemm Serious security bug fix: it was possible to read any file on 5436c2aa98e2SPeter Wemm the system, regardless of ownership and permissions. 5437c2aa98e2SPeter Wemm If a subroutine returns a fully qualified address, return it 5438c2aa98e2SPeter Wemm immediately instead of feeding it back into rewriting. 5439c2aa98e2SPeter Wemm This fixes a problem with mailertable lookups. 5440c2aa98e2SPeter Wemm CONFIG: fix some M4 frotz (concat => CONCAT) 5441c2aa98e2SPeter Wemm 5442c2aa98e2SPeter Wemm8.1B/8.1A 93/06/12 5443c2aa98e2SPeter Wemm Serious bug fix: pattern matching backup algorithm stepped by 5444c2aa98e2SPeter Wemm two tokens in classes instead of one. Found by Claus 5445c2aa98e2SPeter Wemm Assmann at University of Kiel, Germany. 5446c2aa98e2SPeter Wemm 5447c2aa98e2SPeter Wemm8.1A/8.1A 93/06/08 5448c2aa98e2SPeter Wemm Another mailertable fix.... 5449c2aa98e2SPeter Wemm 5450c2aa98e2SPeter Wemm8.1/8.1 93/06/07 5451c2aa98e2SPeter Wemm 4.4BSD freeze. No semantic changes. 5452c2aa98e2SPeter Wemm 5453c2aa98e2SPeter Wemm6.65/6.34 93/06/06 5454c2aa98e2SPeter Wemm Fix some lintish problems. 5455c2aa98e2SPeter Wemm Fix some cases where server SMTP behaved poorly when handed bogus 5456c2aa98e2SPeter Wemm input, pointed out by Eric Wassenaar. 5457c2aa98e2SPeter Wemm CONFIG: fix some more (sigh) mailertable bugs -- thanks to 5458c2aa98e2SPeter Wemm Motonori Nakamura of Kyoto University (again). 5459c2aa98e2SPeter Wemm 5460c2aa98e2SPeter Wemm6.64/6.33 93/06/05 5461c2aa98e2SPeter Wemm Don't send 050 (-v) information after the 250 response to a QUIT 5462c2aa98e2SPeter Wemm command in srvrsmtp -- clients usually close the connection 5463c2aa98e2SPeter Wemm at this point, and it causes bogus error messages. 5464c2aa98e2SPeter Wemm Don't send messages that have errors on input (such as unbalanced 5465c2aa98e2SPeter Wemm parentheses) during SMTP transactions, since a return 5466c2aa98e2SPeter Wemm message has (probably) already been sent. 5467c2aa98e2SPeter Wemm Give better diagnostics on timeouts during network reads, including 5468c2aa98e2SPeter Wemm information similar to the SMTP phase. 5469c2aa98e2SPeter Wemm Fix bug that caused SMTP messages to deliver synchronously; this 5470c2aa98e2SPeter Wemm happened after the DATA 250, and hence caused reading the 5471c2aa98e2SPeter Wemm next command to be delayed. 5472c2aa98e2SPeter Wemm Ignore Errors-To: header unless 'l' (lower case el) header is 5473c2aa98e2SPeter Wemm specified. The Errors-To: header violates RFC 1123. 5474c2aa98e2SPeter Wemm Errors-To: was only needed to take the place of the 5475c2aa98e2SPeter Wemm envelope sender in the days when most Unix mailers 5476c2aa98e2SPeter Wemm didn't understand about the two kinds of senders. 5477c2aa98e2SPeter Wemm Don't send warning messages in response to automatically generated 5478c2aa98e2SPeter Wemm messages (that is, those From:<>). 5479c2aa98e2SPeter Wemm CONFIG: fix some rather stupid typos in the mailertable code 5480c2aa98e2SPeter Wemm pointed out by Motonori Nakamura of Kyoto University. 5481c2aa98e2SPeter Wemm CONFIG: add confUSE_ERRORS_TO configuration option. 5482c2aa98e2SPeter Wemm CONFIG: if ALWAYS_ADD_DOMAIN is selected, try to use $M 5483c2aa98e2SPeter Wemm (masquerade name) instead of $j. 5484c2aa98e2SPeter Wemm CONFIG: don't add dots to relay names (added in 6.29); it breaks 5485c2aa98e2SPeter Wemm several things, and can be simulated by dot terminating 5486c2aa98e2SPeter Wemm the names of relays. For example, use: 5487c2aa98e2SPeter Wemm DBbit.net.relay. 5488c2aa98e2SPeter Wemm (note the trailing dot). 5489c2aa98e2SPeter Wemm 5490c2aa98e2SPeter Wemm6.63/6.32 93/06/01 5491c2aa98e2SPeter Wemm Fix prototypes to eliminate chars in argument lists -- some 5492c2aa98e2SPeter Wemm compilers are pissy about this. 5493c2aa98e2SPeter Wemm Log protocol ($r) and body type if set so we can determine if 5494c2aa98e2SPeter Wemm the adaptive algorithms are working. 5495c2aa98e2SPeter Wemm Pessimize on locking of database files (particularly for NEWDB 5496c2aa98e2SPeter Wemm databases) during opens. There were problems with 5497c2aa98e2SPeter Wemm processes opening the file while it was rebuilt; since 5498c2aa98e2SPeter Wemm NEWDB caches heavily, the reader opened an empty file, 5499c2aa98e2SPeter Wemm which is an error. If your system has the ability to 5500c2aa98e2SPeter Wemm lock atomically on open, this works properly; otherwise, 5501c2aa98e2SPeter Wemm there are race conditions. 5502c2aa98e2SPeter Wemm Check mod time on .pag file instead of .dir in NDBM aliases 5503c2aa98e2SPeter Wemm because the .dir file doesn't get updated for small 5504c2aa98e2SPeter Wemm alias files. From John Gardiner Myers of CMU. 5505c2aa98e2SPeter Wemm More Solaris portability -- it now compiles on Solaris, but 5506c2aa98e2SPeter Wemm hangs up in gethostbyname(). 5507c2aa98e2SPeter Wemm Move setting of RES_DEBUG flag before first myhostname() call 5508c2aa98e2SPeter Wemm so we can see name server traffic on that call. 5509c2aa98e2SPeter Wemm Fsync() queue files. 5510c2aa98e2SPeter Wemm Fix a problem that causes -bi to try to rebuild maps other than 5511c2aa98e2SPeter Wemm the alias file(s). 5512c2aa98e2SPeter Wemm Fix a problem that caused udb to reject entries from any but 5513c2aa98e2SPeter Wemm the first database listed. 5514c2aa98e2SPeter Wemm Rearrange doc subdirectory for 4.4BSD release tape. 5515c2aa98e2SPeter Wemm CONFIG: put $r into the Received line. This was an oversight. 5516c2aa98e2SPeter Wemm CONFIG: fix typo (call to ruleset 99 should have been ruleset 90). 5517c2aa98e2SPeter Wemm CONFIG: move "auxiliary" subroutines to be in ruleset 90-99 5518c2aa98e2SPeter Wemm range -- in the long run, single digit rulesets may 5519c2aa98e2SPeter Wemm become reserved for builtin use by sendmail. 5520c2aa98e2SPeter Wemm CONFIG: fix major problem that causes host aliases (that is, 5521c2aa98e2SPeter Wemm anything in $=w != $j) to not be recognized. This has 5522c2aa98e2SPeter Wemm been around since 6.30. 5523c2aa98e2SPeter Wemm 5524c2aa98e2SPeter Wemm6.62/6.31 93/05/28 5525c2aa98e2SPeter Wemm BETA RELEASE 5526c2aa98e2SPeter Wemm Fix recursive syserr (if there is an error printing a syserr 5527c2aa98e2SPeter Wemm message). This makes the code much less eager to consider 5528c2aa98e2SPeter Wemm a write error as serious. This also includes some 5529c2aa98e2SPeter Wemm heuristics to be clever about closed connections. 5530c2aa98e2SPeter Wemm Lock NEWDB files during gets. This requires version 1.5 or later 5531c2aa98e2SPeter Wemm of the db library. If you have an older version, you 5532c2aa98e2SPeter Wemm can use -DOLD_NEWDB. This will go away in a few weeks. 5533c2aa98e2SPeter Wemm Fix problem causing aliases that use host maps to get overwritten. 5534c2aa98e2SPeter Wemm Do appropriate byte swapping on port numbers in ident protocol 5535c2aa98e2SPeter Wemm code. Fix from Allan Johannesen of WPI. 5536c2aa98e2SPeter Wemm Defer opening of map files to the same time as alias files so that 5537c2aa98e2SPeter Wemm the daemon will tend to pick up new versions more promptly. 5538c2aa98e2SPeter Wemm Prototype a bunch more functions. 5539c2aa98e2SPeter Wemm Some Solaris 2.1 changes (still doesn't link though). 5540c2aa98e2SPeter Wemm Try to simplify Makefiles by including more subordinate #defines 5541c2aa98e2SPeter Wemm in conf.h (based on OS type). 5542c2aa98e2SPeter Wemm CONFIG: check for domains if FEATURE(mailertable) is defined. 5543c2aa98e2SPeter Wemm For example, if the host name is "knecht.cs.berkeley.edu" 5544c2aa98e2SPeter Wemm it will search the following mailertable keys: 5545c2aa98e2SPeter Wemm knecht.cs.berkeley.edu 5546c2aa98e2SPeter Wemm .cs.berkeley.edu 5547c2aa98e2SPeter Wemm .berkeley.edu 5548c2aa98e2SPeter Wemm .edu 5549c2aa98e2SPeter Wemm This could be used to replace the special relays for bitnet 5550c2aa98e2SPeter Wemm and similar nets. 5551c2aa98e2SPeter Wemm 5552c2aa98e2SPeter Wemm6.61/6.30 93/05/24 5553c2aa98e2SPeter Wemm Fix problem that prevented appending dots on canonified host 5554c2aa98e2SPeter Wemm names. This breaks tons of config files -- very 5555c2aa98e2SPeter Wemm important fix. 5556c2aa98e2SPeter Wemm Fix improper pointer dereference in response to HELO command. 5557c2aa98e2SPeter Wemm Fix core dump if debugging set in map_rewrite. 5558c2aa98e2SPeter Wemm CONFIG: add FEATURE(always_add_domain) to always attach the 5559c2aa98e2SPeter Wemm local domain (only impacts local mail). 5560c2aa98e2SPeter Wemm CONFIG: try to avoid turning names into $j -- although 5561c2aa98e2SPeter Wemm technically a host can only have one "canonical name", 5562c2aa98e2SPeter Wemm it seems to be common practice to have several. 5563c2aa98e2SPeter Wemm 5564c2aa98e2SPeter Wemm6.60/6.29 93/05/22 5565c2aa98e2SPeter Wemm Major change: merge alias databases with maps. This expands and 5566c2aa98e2SPeter Wemm changes the map class interface but fixes a bunch of bugs. 5567c2aa98e2SPeter Wemm The important user-visible change is that the file name 5568c2aa98e2SPeter Wemm in a K line now does not include the ".db" extension; this 5569c2aa98e2SPeter Wemm is added automatically. Also, the -d (NIS domain) flag is 5570c2aa98e2SPeter Wemm missing from the K config line; use @domain instead. 5571c2aa98e2SPeter Wemm When compiling, the *_MAP names are gone -- just compile 5572c2aa98e2SPeter Wemm in NDBM, NEWDB, and/or NIS support. 5573c2aa98e2SPeter Wemm Announce mailer/host/user triple on -bv flag -- from Brian 5574c2aa98e2SPeter Wemm Bullen of Stirling University. 5575c2aa98e2SPeter Wemm Don't send more than one line in response to HELO -- it confuses 5576c2aa98e2SPeter Wemm Pony Express, which then behaves very badly. However, 5577c2aa98e2SPeter Wemm this change does send two line 220 greetings, with the 5578c2aa98e2SPeter Wemm second line reading "ESMTP spoken here". The usersmtp 5579c2aa98e2SPeter Wemm module recognizes this and goes into ESMTP mode regardless 5580c2aa98e2SPeter Wemm of the setting of the "a" mailer flag. Thus, "a" means 5581c2aa98e2SPeter Wemm "always try EHLO". 5582c2aa98e2SPeter Wemm AIX portability changes (thanks to Christophe Wolfhugel of 5583c2aa98e2SPeter Wemm Herve Schauer Consultants (Paris) for providing me with 5584c2aa98e2SPeter Wemm an INSA account for this purpose). Lightly tested. Use 5585c2aa98e2SPeter Wemm -D_AIX3. This probably breaks compatibility with some 5586c2aa98e2SPeter Wemm older systems (e.g., 4.2bsd) but still works on SunOS 5587c2aa98e2SPeter Wemm 4.1.2, Ultrix 4.2A, HP-UX 8.07, OSF/1 T1.3, and AIX 3.2.3. 5588c2aa98e2SPeter Wemm Fix a problem causing an error message loop if the output channel 5589c2aa98e2SPeter Wemm is hosed. 5590c2aa98e2SPeter Wemm Add the Makefiles that I use for various environments -- some are 5591c2aa98e2SPeter Wemm Berkeley make versions and some are old make versions. 5592c2aa98e2SPeter Wemm My makefile for the NeXT box has gotten lost, alas! 5593c2aa98e2SPeter Wemm PRALIASES: support for printing NEWDB databases. From 5594c2aa98e2SPeter Wemm Michael J. Corrigan of U.C. San Diego. 5595c2aa98e2SPeter Wemm CONFIG: don't pass pseudo-domains to $[ ... $] (if you have 5596c2aa98e2SPeter Wemm a wildcard MX it can have weird results). From 5597c2aa98e2SPeter Wemm Christophe Wolfhugel. 5598c2aa98e2SPeter Wemm CONFIG: dot terminate relay hostnames in S0. From Christophe 5599c2aa98e2SPeter Wemm Wolfhugel. 5600c2aa98e2SPeter Wemm 5601c2aa98e2SPeter Wemm6.59/6.28 93/05/13 5602c2aa98e2SPeter Wemm Log version with SMTP daemon startup message. 5603c2aa98e2SPeter Wemm Adjust setproctitle to work on NetBSD and BSD/386. 5604c2aa98e2SPeter Wemm Fix null pointer reference in MX fallback code. 5605c2aa98e2SPeter Wemm A bunch of minor fixes from Eric Wassenaar: 5606c2aa98e2SPeter Wemm If deliver cannot execv the mailer, return EX_OSERR 5607c2aa98e2SPeter Wemm instead of EX_TEMPFAIL (to give better 5608c2aa98e2SPeter Wemm error messages). 5609c2aa98e2SPeter Wemm Consistently malloc e_message. 5610c2aa98e2SPeter Wemm Catch degenerate case of calling returntosender() 5611c2aa98e2SPeter Wemm with an empty returnq. 5612c2aa98e2SPeter Wemm MIME reformatting. 5613c2aa98e2SPeter Wemm 5614c2aa98e2SPeter Wemm6.58/6.28 93/05/13 5615c2aa98e2SPeter Wemm Fix bug that can cause incorrect verbose display of user smtp 5616c2aa98e2SPeter Wemm messages. 5617c2aa98e2SPeter Wemm Disable SMTP VERB command if PRIV_NOEXPN is set (since this 5618c2aa98e2SPeter Wemm could reveal the same information. 5619c2aa98e2SPeter Wemm Allow failure when reading SMTP greeting message to go on to 5620c2aa98e2SPeter Wemm next MX host. 5621c2aa98e2SPeter Wemm Add "MIME-Version: 1.0" header if using MIME (this was NOT 5622c2aa98e2SPeter Wemm included in RFC 1344, but Bill King of Allan-Bradley 5623c2aa98e2SPeter Wemm Company forwarded me email from Nathaniel Borenstein 5624c2aa98e2SPeter Wemm claiming that it was an inadvertent omission). 5625c2aa98e2SPeter Wemm Don't use Content-Type: X-message-header. According to John 5626c2aa98e2SPeter Wemm Myers of CMU, many MIME readers will completely ignore 5627c2aa98e2SPeter Wemm the data if they don't recognize it. Instead, just 5628c2aa98e2SPeter Wemm add a blank line to make it a legal (empty) message. 5629c2aa98e2SPeter Wemm Fix problem causing dots to keep getting appended to cached 5630c2aa98e2SPeter Wemm hostnames. This can cause buffer overrun conditions. 5631c2aa98e2SPeter Wemm The problem was found by Erik Forsberg of Retix, 5632c2aa98e2SPeter Wemm although I used a different bug fix than he provided. 5633c2aa98e2SPeter Wemm Fix parsing of split header/envelope rewriting specs -- from 5634c2aa98e2SPeter Wemm Eric Forsberg. 5635c2aa98e2SPeter Wemm Fix from Eric Wassenaar to correct To: lists in error messages. 5636c2aa98e2SPeter Wemm 5637c2aa98e2SPeter Wemm6.57/6.28 93/05/11 5638c2aa98e2SPeter Wemm Fix minor glitch causing extra ctladdrs to be output to queue 5639c2aa98e2SPeter Wemm file. Just an annoyance. 5640c2aa98e2SPeter Wemm Cache results of name server canonification lookups to avoid 5641c2aa98e2SPeter Wemm backed up queue runs. 5642c2aa98e2SPeter Wemm Major rewrite of alias.c: considerable cleanup, plus sample 5643c2aa98e2SPeter Wemm (untested) support for NIS aliases. The "A" option 5644c2aa98e2SPeter Wemm can now be a comma separated list (or be repeated) -- 5645c2aa98e2SPeter Wemm that is, you can have multiple alias databases. Each 5646c2aa98e2SPeter Wemm database can have the syntax ``class:file''; if no class 5647c2aa98e2SPeter Wemm is specified, the "implicit" class is assumed. Implicit 5648c2aa98e2SPeter Wemm searches through a list of compiled in types -- hash, 5649c2aa98e2SPeter Wemm dbm, nis, and stab. Alias files are searched in the 5650c2aa98e2SPeter Wemm order they are listed. For example: 5651c2aa98e2SPeter Wemm OAhash:/etc/aliases.local,/etc/aliases 5652c2aa98e2SPeter Wemm OAnis:mail.aliases@my.nis.domain 5653c2aa98e2SPeter Wemm first searches the hash database /etc/aliases.local, 5654c2aa98e2SPeter Wemm then the regular /etc/aliases database, then the NIS 5655c2aa98e2SPeter Wemm map "mail.aliases" in the NIS domain "my.nis.domain". 5656c2aa98e2SPeter Wemm If in Verbose mode (probably from VERB command) run SMTP job 5657c2aa98e2SPeter Wemm in foreground and don't do RCPT optimizations. 5658c2aa98e2SPeter Wemm Add udb :mailsender as equivalent to owner- for regular aliases. 5659c2aa98e2SPeter Wemm Delete option 8; add option 7 that means the opposite. That is, 5660c2aa98e2SPeter Wemm default to 8-bit mode; a special option is needed to 5661c2aa98e2SPeter Wemm force sendmail into 7 bit mode. 5662c2aa98e2SPeter Wemm Send error messages in encapsulated MIME format. 5663c2aa98e2SPeter Wemm New compile flag "NIS" that turns on NIS alias and NIS map 5664c2aa98e2SPeter Wemm support. 5665c2aa98e2SPeter Wemm Add "j" option to send error messages in MIME (RFC 1341) 5666c2aa98e2SPeter Wemm encapsulated message format per RFC 1344. The 5667c2aa98e2SPeter Wemm syntax is pretty ugly if you don't have MIME-aware 5668c2aa98e2SPeter Wemm user agents. 5669c2aa98e2SPeter Wemm Clean up message handling (for display in mailq output). 5670c2aa98e2SPeter Wemm New setproctitle implementation for 4.4bsd. 5671c2aa98e2SPeter Wemm Create files (such as ~/dead.letter) using mode FileMode (the 5672c2aa98e2SPeter Wemm F option value) instead of 0666. 5673c2aa98e2SPeter Wemm Fix bug causing output of EXPN command to not be fully qualified. 5674c2aa98e2SPeter Wemm This may cause some problems with UUCP addresses that 5675c2aa98e2SPeter Wemm will require some config file assistance -- specifically, 5676c2aa98e2SPeter Wemm the $: part has to include the host name for this output 5677c2aa98e2SPeter Wemm to make sense. 5678c2aa98e2SPeter Wemm Fix a problem that sometimes diagnosed errors and still sent the 5679c2aa98e2SPeter Wemm message if the header syntax was bad. 5680c2aa98e2SPeter Wemm Fix a bug that caused an error message to be emailed when sendmail 5681c2aa98e2SPeter Wemm was operating in -bv mode. 5682c2aa98e2SPeter Wemm Add "ListenQueueSize" keyword to daemon options option (OO) to 5683c2aa98e2SPeter Wemm set the queue size parameter passed to listen(). You 5684c2aa98e2SPeter Wemm will normally have to tweak your kernel to up this. 5685c2aa98e2SPeter Wemm Strip spaces off of beginning of message-id before logging (in 5686c2aa98e2SPeter Wemm case it was folded across lines). 5687c2aa98e2SPeter Wemm Tweak compile flags in daemon.c -- there were some cases where 5688c2aa98e2SPeter Wemm it wouldn't work without NETINET. 5689c2aa98e2SPeter Wemm Change *file* mailer to output all the usual default headers 5690c2aa98e2SPeter Wemm (From, Date, Message-Id). It gets used when sending 5691c2aa98e2SPeter Wemm back error messages. 5692c2aa98e2SPeter Wemm CONFIG: explicitly catch and diagnose list:; syntax in ruleset 5693c2aa98e2SPeter Wemm zero -- this is not a valid recipient syntax according 5694c2aa98e2SPeter Wemm to RFC 821. 5695c2aa98e2SPeter Wemm CONFIG: add confMIME_FORMAT_ERRORS to send error messages in 5696c2aa98e2SPeter Wemm MIME format. Defaults to on. 5697c2aa98e2SPeter Wemm CONFIG: add SMTP_MAILER_FLAGS and UUCP_MAILER_FLAGS to augment 5698c2aa98e2SPeter Wemm the flags for those mailers. 5699c2aa98e2SPeter Wemm 5700c2aa98e2SPeter Wemm6.56/6.27 93/05/01 5701c2aa98e2SPeter Wemm Fix problem that causes the fallback mail to postmaster 5702c2aa98e2SPeter Wemm (case ESM_POSTMASTER in savemail()) to not look at 5703c2aa98e2SPeter Wemm aliases (ugh). 5704c2aa98e2SPeter Wemm Some more HPUX tweaking (compile flag hpux => __hpux so it 5705c2aa98e2SPeter Wemm still works in ANSI mode). 5706c2aa98e2SPeter Wemm Don't try to flock non-regular files when mailing to a file. 5707c2aa98e2SPeter Wemm In particular, this was a problem if you tried to 5708c2aa98e2SPeter Wemm send to /dev/null. 5709c2aa98e2SPeter Wemm Fix a weird bug that can cause senders to be queued as 5710c2aa98e2SPeter Wemm recipients if the name server is down when the mail 5711c2aa98e2SPeter Wemm is initially sent. This hack just ignores sender 5712c2aa98e2SPeter Wemm deletion (essentially, it sets the MeToo flag) if there 5713c2aa98e2SPeter Wemm is a TEMPFAIL during processing of the sender address. 5714c2aa98e2SPeter Wemm Obscure. 5715c2aa98e2SPeter Wemm Fix a dangling else problem -- from Brian Bullen from University 5716c2aa98e2SPeter Wemm of Stirling, UK. 5717c2aa98e2SPeter Wemm Add the "b" mailer flag to force a blank line on the end of 5718c2aa98e2SPeter Wemm messages. Some brilliant versions of /bin/mail insist 5719c2aa98e2SPeter Wemm on this but do not add it themselves. 5720c2aa98e2SPeter Wemm Add the "g" mailer flag to prevent user SMTP from sending 5721c2aa98e2SPeter Wemm "MAIL From:<>". This is only intended to be a 5722c2aa98e2SPeter Wemm transitional gesture, and should not be used if at 5723c2aa98e2SPeter Wemm all possible. It appears that Berkeley and IDA 5724c2aa98e2SPeter Wemm config files have always handled this properly; the 5725c2aa98e2SPeter Wemm UK config kit apparently does not. 5726c2aa98e2SPeter Wemm Don't lowercase and then capitalize header field names -- leave 5727c2aa98e2SPeter Wemm them with original capitalization. Fixes from Bill 5728c2aa98e2SPeter Wemm King of Allen-Bradley Company. 5729c2aa98e2SPeter Wemm Further cleanup and improved reporting of error messages, 5730c2aa98e2SPeter Wemm particularly conditions that cause messages to be 5731c2aa98e2SPeter Wemm requeued for future delivery. 5732c2aa98e2SPeter Wemm Tweak syslog priorities in some cases. 5733c2aa98e2SPeter Wemm CONFIG: clean up route-addr on UUCP addresses. 5734c2aa98e2SPeter Wemm 5735c2aa98e2SPeter Wemm6.55/6.25 93/04/27 5736c2aa98e2SPeter Wemm HPUX 8.07 compatibility changes in getla() -- I had to make 5737c2aa98e2SPeter Wemm these changes to get it to work at Berkeley, although 5738c2aa98e2SPeter Wemm others seem to have been working before (???). 5739c2aa98e2SPeter Wemm Various patches to XLA code. 5740c2aa98e2SPeter Wemm Fix problem that causes setuid bit on files to be ignored from 5741c2aa98e2SPeter Wemm SMTP or in queue runs. Problem noted by Jason Ornstein 5742c2aa98e2SPeter Wemm of Under The Wire, Inc. 5743c2aa98e2SPeter Wemm Fix problem that can cause CNAMEs to be ignored. 5744c2aa98e2SPeter Wemm Generalize getmxrr to match local host in $=w instead of a 5745c2aa98e2SPeter Wemm single name passed in. 5746c2aa98e2SPeter Wemm Some cleanup from Eric Wassenaar: 5747c2aa98e2SPeter Wemm Use FileMailer instead of ProgMailer in two places. 5748c2aa98e2SPeter Wemm Eliminate duplicate 8th-bit stripping in commaize. 5749c2aa98e2SPeter Wemm Fix a problem with mis-parsing of backslash escapes 5750c2aa98e2SPeter Wemm under some circumstances. 5751c2aa98e2SPeter Wemm NIS map fix (was always including trailing null character) 5752c2aa98e2SPeter Wemm from Mike Glendinning of Ingres UK. 5753c2aa98e2SPeter Wemm Add "a" mailer flag to try using ESMTP. It tries the EHLO 5754c2aa98e2SPeter Wemm command and if that fails falls back to regular SMTP. 5755c2aa98e2SPeter Wemm Also parses EHLO option keywords. If host supports 5756c2aa98e2SPeter Wemm SIZE extension, this is added to the MAIL FROM: 5757c2aa98e2SPeter Wemm command. 5758c2aa98e2SPeter Wemm Extend "b" option to include a second value which is the 5759c2aa98e2SPeter Wemm maximum message size this server is willing to accept. 5760c2aa98e2SPeter Wemm For example, a value of "10/1000000" says that there 5761c2aa98e2SPeter Wemm must be ten blocks free, and sendmail will reject 5762c2aa98e2SPeter Wemm any message larger than one megabyte. 5763c2aa98e2SPeter Wemm Some portability hooks for NeXT (this could be applicable 5764c2aa98e2SPeter Wemm to Mach in general). You have to create an empty 5765c2aa98e2SPeter Wemm file called "unistd.h" to get it to compile. 5766c2aa98e2SPeter Wemm Adjust config values (MAXLINE, MAXATOM, and PSBUFSIZE) to 5767c2aa98e2SPeter Wemm be more generous. 5768c2aa98e2SPeter Wemm Add X400-Received: to the list of headers tagged with H_TRACE 5769c2aa98e2SPeter Wemm in conf.c. From Bill King, Allen-Bradley Co. 5770c2aa98e2SPeter Wemm 5771c2aa98e2SPeter Wemm6.54/6.25 93/04/19 5772c2aa98e2SPeter Wemm Fix problem that caused redefinition of SMTP and QUEUE compile 5773c2aa98e2SPeter Wemm flags. Pointed out by Jon Forrest of the Sequoia 2000 5774c2aa98e2SPeter Wemm project at Berkeley. 5775c2aa98e2SPeter Wemm Properly handle \! hack -- it was treating host\!user as one 5776c2aa98e2SPeter Wemm token (host!user) instead of three (host, !, user). 5777c2aa98e2SPeter Wemm Fix from Eric Wassenaar of NIKHEF-H. 5778c2aa98e2SPeter Wemm Fix compilation problem in getauthinfo() if IDENTPROTO is off. 5779c2aa98e2SPeter Wemm Turn off DEFNAMES and DNSRCH when getting the hostsignature 5780c2aa98e2SPeter Wemm (i.e., MX records) in level 1 configuration files; this 57812e43090eSPeter Wemm matches the old behavior. From Motonori Nakamura of 5782c2aa98e2SPeter Wemm Kyoto University. 5783c2aa98e2SPeter Wemm Improve error message printing -- if sent through an alias, 5784c2aa98e2SPeter Wemm error messages include the name of the alias in the 5785c2aa98e2SPeter Wemm message. Unfortunately, in order to make this work 5786c2aa98e2SPeter Wemm properly in queue runs, this changes the format of the 5787c2aa98e2SPeter Wemm C line in the qf file. The relatively uselessness of 5788c2aa98e2SPeter Wemm the previous information was pointed out to me by 5789c2aa98e2SPeter Wemm Allan E Johannesen of WPI. 5790c2aa98e2SPeter Wemm Add XLA compile flag to add hooks to Christophe Wolfhugel's 5791c2aa98e2SPeter Wemm extended load average code. This is still in very early 5792c2aa98e2SPeter Wemm form. For information regarding the guts of the xla 5793c2aa98e2SPeter Wemm code, contact Christophe.Wolfhugel@grasp.insa-lyon.fr. 5794c2aa98e2SPeter Wemm Additional hooks for detecting tempfails in rewriting rules 5795c2aa98e2SPeter Wemm (that is, in map lookups). 5796c2aa98e2SPeter Wemm 5797c2aa98e2SPeter Wemm6.53/6.25 93/04/15 5798c2aa98e2SPeter Wemm Properly diagnose ruleset zero returning null (instead of a mailer 5799c2aa98e2SPeter Wemm triple). From Motonori Nakamura of Kyoto University. 5800c2aa98e2SPeter Wemm More generalization of socket code for other protocols. 5801c2aa98e2SPeter Wemm Shorten timeouts on reverse name lookups -- since they are done 5802c2aa98e2SPeter Wemm during connection establishment, long timeouts here can 5803c2aa98e2SPeter Wemm cause higher level timeouts. This mainly serves to accept 5804c2aa98e2SPeter Wemm mail from hosts that do not have proper reverse (PTR) DNS 5805c2aa98e2SPeter Wemm records set up. 5806c2aa98e2SPeter Wemm Reset e_statmsg before each mailer invocation to avoid bogus 5807c2aa98e2SPeter Wemm messages in the log. 5808c2aa98e2SPeter Wemm Redefine $r, $s, and $_ in error envelopes so you don't get 5809c2aa98e2SPeter Wemm incorrect cruft in the error message. Problem noted by 5810c2aa98e2SPeter Wemm Motonori Nakamura of Kyoto University. 5811c2aa98e2SPeter Wemm Fix a problem that can cause failure to return errors to Postmaster 5812c2aa98e2SPeter Wemm in certain cases. From Motonori Nakamura. 5813c2aa98e2SPeter Wemm Fix a problem that can cause some systems to give duplicate error 5814c2aa98e2SPeter Wemm messages when a bad syntax address such as "<a" is presented 5815c2aa98e2SPeter Wemm to an SMTP server. It doesn't seem to occur on all 5816c2aa98e2SPeter Wemm machines. From Motonori Nakamura. 5817c2aa98e2SPeter Wemm Default IDENTPROTO off for Ultrix and HPUX, which apparently have 5818c2aa98e2SPeter Wemm the interesting "feature" that when they receive a "Host 5819c2aa98e2SPeter Wemm unreachable" message they closes all open connections to 5820c2aa98e2SPeter Wemm that host. However, some firewall gateways send this message 5821c2aa98e2SPeter Wemm if you try to connect to an unauthorized port, such as the 5822c2aa98e2SPeter Wemm IDENT port (113). Thus, no email can be received from such 5823c2aa98e2SPeter Wemm hosts. There is some evidence that versions of Ultrix before 5824c2aa98e2SPeter Wemm 4.3 do not have this problem. Thanks to Tom Ivar Helbekkmo 58252e43090eSPeter Wemm for pointing out this behavior to me and to Michael Corrigan 5826c2aa98e2SPeter Wemm of U.C. San Diego for informing me about the HPUX problem. 5827c2aa98e2SPeter Wemm Allow IPC mailers to return a colon-separated list of hosts in the 5828c2aa98e2SPeter Wemm $@ clause; these are searched in order as though they were 5829c2aa98e2SPeter Wemm MX records. 5830c2aa98e2SPeter Wemm When sending an error report, print the list of addresses tagged 5831c2aa98e2SPeter Wemm as bad. Requested by Allan E Johannesen of WPI. 5832c2aa98e2SPeter Wemm Change map function calls to return a status code. This gets 5833c2aa98e2SPeter Wemm passed back as the result of rewrite. Parseaddr marks 5834c2aa98e2SPeter Wemm the address as a QUEUEUP address if the return code is 5835c2aa98e2SPeter Wemm EX_TEMPFAIL. All this to queue properly if the name 5836c2aa98e2SPeter Wemm server is down. This code is not well tested. This code 5837c2aa98e2SPeter Wemm changes the interface to map lookup functions (a fifth 5838c2aa98e2SPeter Wemm parameter, int *statp, is added). Feature requested by 5839c2aa98e2SPeter Wemm Dan Oscarsson. 5840c2aa98e2SPeter Wemm Don't delete quotes (in the dequote map) if there are spaces in 5841c2aa98e2SPeter Wemm the string, since this would cause them to be replaced by 5842c2aa98e2SPeter Wemm the SpaceSub character. 5843c2aa98e2SPeter Wemm Accept BODY=8BITMIME on SMTP MAIL command. This isn't advertised 5844c2aa98e2SPeter Wemm because the 8BIT to 7BIT translation doesn't exist yet. 5845c2aa98e2SPeter Wemm This does add a "bodytype" field to both envelope and 5846c2aa98e2SPeter Wemm queue file and a -B command line flag to pass the type in 5847c2aa98e2SPeter Wemm during direct invocations. 5848c2aa98e2SPeter Wemm Discard return error messages only on responses to responses to 5849c2aa98e2SPeter Wemm responses, not on responses to responses. That is, the 5850c2aa98e2SPeter Wemm algorithm is to try return to sender, then return to 5851c2aa98e2SPeter Wemm postmaster, then discard. Previously it discarded 5852c2aa98e2SPeter Wemm immediately if the return to sender pass failed. 5853c2aa98e2SPeter Wemm CONFIG: back out change to hide unqualified hostnames behind %-hack. 5854c2aa98e2SPeter Wemm This screws up local aliases and .forward files. 5855c2aa98e2SPeter Wemm CONFIG: add FEATURE(nocanonify) to turn off calls to $[ ... $]; 5856c2aa98e2SPeter Wemm some sites only handle completely canonified names. 5857c2aa98e2SPeter Wemm Requested by John Gardiner Myers of CMU. 5858c2aa98e2SPeter Wemm CONFIG: some UUCP code was still included even if FEATURE(nouucp) 5859c2aa98e2SPeter Wemm was specified. 5860c2aa98e2SPeter Wemm 5861c2aa98e2SPeter Wemm6.52/6.24 93/04/10 5862c2aa98e2SPeter Wemm Clean up some minor glitches on error return messages pointed out 5863c2aa98e2SPeter Wemm by Motonori Nakamura of Kyoto University. 5864c2aa98e2SPeter Wemm Fix reply() to not reset SmtpReplyBuffer on fatal errors; this 5865c2aa98e2SPeter Wemm was supposed to reset SmtpMsg Buffer. This makes the 5866c2aa98e2SPeter Wemm client side code virtually useless. Reported by Allan 5867c2aa98e2SPeter Wemm E Johannesen of WPI and Phil Brandenberger of Swarthmore. 5868c2aa98e2SPeter Wemm Better debug messages if fuzzy is disabled, suggested by Allan 5869c2aa98e2SPeter Wemm E Johannesen of WPI. 5870c2aa98e2SPeter Wemm Offset SmtpReplyBuffer by four in usersmtp when checking for 5871c2aa98e2SPeter Wemm loopback. From Eric Wassenaar. 5872c2aa98e2SPeter Wemm Don't set $s until after runinchild in srvrsmtp -- otherwise 5873c2aa98e2SPeter Wemm it gets cleared. From Eric Wassenaar. 5874c2aa98e2SPeter Wemm Implement IDA-style $&x for deferred macro expansion. 5875c2aa98e2SPeter Wemm More POSIX compatibility. 5876c2aa98e2SPeter Wemm CONFIG: Hide unqualified hostnames behind %-hack using $s as the 5877c2aa98e2SPeter Wemm actual sender. This is only done if $r is non-null, that 5878c2aa98e2SPeter Wemm is, if this is not locally submitted mail. 5879c2aa98e2SPeter Wemm CONFIG: Add FEATURE(bitdomain) allowing mapping of BITNET host 5880c2aa98e2SPeter Wemm names to internet domains. A program contributed by 5881c2aa98e2SPeter Wemm John Gardiner Myers of CMU to create the maps is included 5882c2aa98e2SPeter Wemm in the contrib directory (in the "misc" tar file). 5883c2aa98e2SPeter Wemm CONFIG: Add FEATURE(uucpdomain) for a similar mapping for UUCP 5884c2aa98e2SPeter Wemm hosts. There is currently no tool to create this map. 5885c2aa98e2SPeter Wemm 5886c2aa98e2SPeter Wemm6.51/6.23 93/04/04 5887c2aa98e2SPeter Wemm Add D= mailer flag to specify a path of possible working directories 5888c2aa98e2SPeter Wemm in which to execute the mailer. This is intended for the 5889c2aa98e2SPeter Wemm prog mailer; some shells can get upset if they don't have 5890c2aa98e2SPeter Wemm access to the current directory. 5891c2aa98e2SPeter Wemm Add RFC 1413 (IDENT) protocol support. This is only very loosely 5892c2aa98e2SPeter Wemm tested. This adds a $_ macro to be the authenticated 5893c2aa98e2SPeter Wemm info (in ``user@domain [address]'' form) and debug flag 5894c2aa98e2SPeter Wemm 9 to trace the protocol. 5895c2aa98e2SPeter Wemm Check for loopbacks in usersmtp instead of srvrsmtp -- there is no 5896c2aa98e2SPeter Wemm reason for a local agent to not be talking to the localhost 5897c2aa98e2SPeter Wemm (although the inverse is not true). 5898c2aa98e2SPeter Wemm Add a few hooks for automated map rebuilding. This is certainly 5899c2aa98e2SPeter Wemm not done yet. 5900c2aa98e2SPeter Wemm CONFIG: Have prog mailer specify a path of ``D=$z:/'' -- that is, 5901c2aa98e2SPeter Wemm user's home directory then the root. 5902c2aa98e2SPeter Wemm CONFIG: Log RFC 1413 identification in Received: line. 5903c2aa98e2SPeter Wemm 5904c2aa98e2SPeter Wemm6.50/6.22 93/04/01 5905c2aa98e2SPeter Wemm Fixes to requeueing code to make it compute priority, nrcpts, 5906c2aa98e2SPeter Wemm and the like properly. 5907c2aa98e2SPeter Wemm 5908c2aa98e2SPeter Wemm6.49/6.22 93/04/01 5909c2aa98e2SPeter Wemm Diagnose incorrect privacy flags. Suggested by Bryan Costales 5910c2aa98e2SPeter Wemm of ICSI. 5911c2aa98e2SPeter Wemm Some ANSI C fixes. 5912c2aa98e2SPeter Wemm Arrange to quote backslashes as well as other special characters 5913c2aa98e2SPeter Wemm in the phrase part of a route-addr. 5914c2aa98e2SPeter Wemm Some fixes to FallBackMX code suggested by Motonori Nakamura of 5915c2aa98e2SPeter Wemm Kyoto University. 5916c2aa98e2SPeter Wemm More vigorous zeroing of CurHostAddr to avoid logging of bogus 5917c2aa98e2SPeter Wemm host addresses when you are actually just printing 5918c2aa98e2SPeter Wemm information from the MCI structure; problem noted by 5919c2aa98e2SPeter Wemm Michael Corrigan of U.C. San Diego. 5920c2aa98e2SPeter Wemm Don't ignore rest of queue if any job is not runnable. This can 5921c2aa98e2SPeter Wemm also cause an incorrect job to be lost. Fix from 5922c2aa98e2SPeter Wemm Eric Wassenaar. 5923c2aa98e2SPeter Wemm Always respond "quickly" to RCPT command; do alias expansion and 5924c2aa98e2SPeter Wemm the like later. This also means that mail for lists that 5925c2aa98e2SPeter Wemm have errors will be accepted, and an error sent back 5926c2aa98e2SPeter Wemm later. This is done by instantiating the queue file 5927c2aa98e2SPeter Wemm and then immediately running and requeueing it. 5928c2aa98e2SPeter Wemm 5929c2aa98e2SPeter Wemm6.48/6.22 93/03/30 5930c2aa98e2SPeter Wemm Fix incorrect diagnosis of infinite loop in ruleset. Problem noted 5931c2aa98e2SPeter Wemm by several people. 5932c2aa98e2SPeter Wemm Improve information printed when infinite loops are discovered. 5933c2aa98e2SPeter Wemm Zero CurHostAddr to fix erroneous internet addresses in log when no 5934c2aa98e2SPeter Wemm addresses can be bound. Pointed out by Motonori Nakamura 5935c2aa98e2SPeter Wemm of Kyoto University. 5936c2aa98e2SPeter Wemm "Probe" SMTP connections using RSET instead of NOOP "just in case". 5937c2aa98e2SPeter Wemm Suggested by John Gardiner Myers of CMU. 5938c2aa98e2SPeter Wemm Don't warn about -f if you are setting sender to yourself. 5939c2aa98e2SPeter Wemm 5940c2aa98e2SPeter Wemm6.47/6.22 93/03/29 5941c2aa98e2SPeter Wemm Fix incompatible call to endmailer in smtpquit which causes core 5942c2aa98e2SPeter Wemm dumps. Noted by Allan E Johannesen of WPI. 5943c2aa98e2SPeter Wemm HPUX portability changes from Michael J. Corrigan of UC San Diego. 5944c2aa98e2SPeter Wemm Require MAIL before RCPT command in srvrsmtp.c. This had been 5945c2aa98e2SPeter Wemm intentional from the 821 draft days when the order wasn't 5946c2aa98e2SPeter Wemm clear, but is silly now. 5947c2aa98e2SPeter Wemm Fix bug in nis_magic routine that was initializing parameters 5948c2aa98e2SPeter Wemm incorrectly. Fix from Takahiro Kanbe of Fuji Xerox 5949c2aa98e2SPeter Wemm Information Systems Co., Ltd. 5950c2aa98e2SPeter Wemm Change default for PrivacyFlags in conf.c to 0 -- since it always 5951c2aa98e2SPeter Wemm "or"s in new values, there was no way to turn off the 5952c2aa98e2SPeter Wemm AuthWarning stuff. 5953c2aa98e2SPeter Wemm Add O option to set SMTP daemon options. 5954c2aa98e2SPeter Wemm Add V option to set fallback MX host. This always sorts at lower 5955c2aa98e2SPeter Wemm priority than anything it gets from the name server. It 5956c2aa98e2SPeter Wemm should only be used for environments with very bad network 5957c2aa98e2SPeter Wemm connectivity. Requested by several people. 5958c2aa98e2SPeter Wemm Log sending info. It's not clear this is a good idea. 5959c2aa98e2SPeter Wemm CONFIG: fix typo in mailertable code. Noted by Phil Brandenberger 5960c2aa98e2SPeter Wemm of Swarthmore. 5961c2aa98e2SPeter Wemm CONFIG: add confDAEMON_OPTIONS and confFALLBACK_MX to set options 5962c2aa98e2SPeter Wemm O and V, respectively. 5963c2aa98e2SPeter Wemm 5964c2aa98e2SPeter Wemm6.46/6.21 93/03/26 5965c2aa98e2SPeter Wemm Fix botch in server SMTP that broke transactions that did not 5966c2aa98e2SPeter Wemm use HELO first (like MH). Fix from Michael Corrigan 5967c2aa98e2SPeter Wemm of U.C. San Diego. 5968c2aa98e2SPeter Wemm Fall back to other MX records if there is an error anywhere 5969c2aa98e2SPeter Wemm in delivery (actually on MAIL or DATA -- RCPT is harder). 5970c2aa98e2SPeter Wemm Suggested by John Gardiner Myers and Motonori Nakamura. 5971c2aa98e2SPeter Wemm Revert to non-prototypes -- it turns out that our ANSI C 5972c2aa98e2SPeter Wemm compiler is more forgiving than most others about 5973c2aa98e2SPeter Wemm mixing prototyped extern declarations with non-prototyped 5974c2aa98e2SPeter Wemm function definitions. 5975c2aa98e2SPeter Wemm Fix a problem with multi-word class matching pointed out by 5976c2aa98e2SPeter Wemm Neil Rickert. Given: 5977c2aa98e2SPeter Wemm CX b a.b.c 5978c2aa98e2SPeter Wemm R$+ $=X $+ $: $1 < $2 > $3 5979c2aa98e2SPeter Wemm the input "user@a.b.c" failed instead of being properly 5980c2aa98e2SPeter Wemm rewritten as "user@a.<b>.c". 5981c2aa98e2SPeter Wemm Neil also convinced me that it was correct that $~ should match 5982c2aa98e2SPeter Wemm only one token -- the problem is that it's always possible 5983c2aa98e2SPeter Wemm to add another token, so $~ matches far too eagerly. 5984c2aa98e2SPeter Wemm 5985c2aa98e2SPeter Wemm6.45/6.21 93/03/25 5986c2aa98e2SPeter Wemm Implement multi-word classes (properly!). 5987c2aa98e2SPeter Wemm 5988c2aa98e2SPeter Wemm6.44/6.21 93/03/25 5989c2aa98e2SPeter Wemm Add X-Authentication-Warning: headers to clue users into possible 5990c2aa98e2SPeter Wemm attempts to forge mail. This is on the authwarnings 5991c2aa98e2SPeter Wemm privacy flag, but is the default. Suggested by Bryan 5992c2aa98e2SPeter Wemm Costales of ICSI. 5993c2aa98e2SPeter Wemm Pass default units for convtime in so they can be more reasonable. 5994c2aa98e2SPeter Wemm Allow config files to always add a new Comments: header (i.e., 5995c2aa98e2SPeter Wemm they will be added even if an old one already exists). 5996c2aa98e2SPeter Wemm Suggested by Bryan Costales of ICSI. 5997c2aa98e2SPeter Wemm Allow config files to delete an existing Return-Path: header. 5998c2aa98e2SPeter Wemm These should only be added at final delivery. Suggested 5999c2aa98e2SPeter Wemm by Bryan Costales of ICSI. 6000c2aa98e2SPeter Wemm Some debugging additions. Suggested by Bryan Costales of ICSI. 6001c2aa98e2SPeter Wemm Clean up logging of Family 0 addresses. Noted by David Muir 6002c2aa98e2SPeter Wemm Sharnoff and others. 6003c2aa98e2SPeter Wemm Add a "dequote" map class. This allows config files to strip 6004c2aa98e2SPeter Wemm quotes off of addresses. Note that this is not a builtin 6005c2aa98e2SPeter Wemm map, just a class -- so you have to define the map 6006c2aa98e2SPeter Wemm using the K line. 6007c2aa98e2SPeter Wemm Fix a bug in the queueup() loop getting a locked tf where in 6008c2aa98e2SPeter Wemm very odd cases it can fall off the bottom and core dump. 6009c2aa98e2SPeter Wemm Of course, it was P{r Emanuelsson who found it.... 6010c2aa98e2SPeter Wemm Open a new transcript when splitting an envelope. Problem found 6011c2aa98e2SPeter Wemm by Allan E Johannesen of WPI. 6012c2aa98e2SPeter Wemm Improved error output in endmailer if the mailer core dumps. 6013c2aa98e2SPeter Wemm CONFIG: Fix typo in UUCP mailer definition. 6014c2aa98e2SPeter Wemm CONFIG: Default several of the new options on: eight bit input, 6015c2aa98e2SPeter Wemm privacy flags set to "authwarnings", and message warning 6016c2aa98e2SPeter Wemm set to 4h. 6017c2aa98e2SPeter Wemm CONFIG: Use dequote map. 6018c2aa98e2SPeter Wemm 6019c2aa98e2SPeter Wemm6.43/6.20 93/03/23 6020c2aa98e2SPeter Wemm Fix problem with assumption of an sa_len field in a generic 6021c2aa98e2SPeter Wemm sockaddr -- it turns out that most vendors haven't 6022c2aa98e2SPeter Wemm picked up this (very important) fix. 6023c2aa98e2SPeter Wemm Change compilation flags for daemon code -- select one or both 6024c2aa98e2SPeter Wemm of NETINET or NETISO, but don't ever set DAEMON manually. 6025c2aa98e2SPeter Wemm CONFIG: add FEATURE(mailertable) to do IDA-style mailertables. 6026c2aa98e2SPeter Wemm 6027c2aa98e2SPeter Wemm6.42/6.19 93/03/19 6028c2aa98e2SPeter Wemm Use Postmaster as default fallback return address, not root. 6029c2aa98e2SPeter Wemm POSIX changes for file descriptor handling. 6030c2aa98e2SPeter Wemm Diagnose errors writing new queue file. 6031c2aa98e2SPeter Wemm If you change the owner using an owner- alias, also change the 6032c2aa98e2SPeter Wemm error mode to EM_MAIL so that errors don't get dropped 6033c2aa98e2SPeter Wemm into an inappropriate directory. Problem noted by 6034c2aa98e2SPeter Wemm Allan E Johannesen of WPI. 6035c2aa98e2SPeter Wemm If you are su'ed to root, send email as who you really are, not 6036c2aa98e2SPeter Wemm as root. From Brian Kantor of U.C. San Diego. 6037c2aa98e2SPeter Wemm Allow warning messages to be sent after a configurable interval 6038c2aa98e2SPeter Wemm has passed without delivery. The message is sent only 6039c2aa98e2SPeter Wemm once per envelope. This changes the format of the qf 6040c2aa98e2SPeter Wemm file to have an F line, and the format of the T option 6041c2aa98e2SPeter Wemm to accept take the format "return/warn" (both intervals). 6042c2aa98e2SPeter Wemm Don't force all local names to lower case -- this was left over 6043c2aa98e2SPeter Wemm from the weird handling of case mapping on aliases. It 6044c2aa98e2SPeter Wemm is now driven (as expected) by the "u" mailer flag. 6045c2aa98e2SPeter Wemm Problem noted by P{r Emanuelsson. 6046c2aa98e2SPeter Wemm Fix problem that caused headers on returned email to be trashed; 6047c2aa98e2SPeter Wemm they were getting freed, but are still accessible via 6048c2aa98e2SPeter Wemm BlankEnvelope. 6049c2aa98e2SPeter Wemm Fix problem that caused bogus ids to be created on returned 6050c2aa98e2SPeter Wemm mail. 6051c2aa98e2SPeter Wemm Add support for ISO and other non-INET networking. This is by 6052c2aa98e2SPeter Wemm no means finished yet. This does assume a lot of other 6053c2aa98e2SPeter Wemm system support, like a version of gethostbyname that 6054c2aa98e2SPeter Wemm returns non-AF_INET addresses. 6055c2aa98e2SPeter Wemm CONFIG: change default on prog mailer to keep upper case in 6056c2aa98e2SPeter Wemm user names (i.e., in the program command line). 6057c2aa98e2SPeter Wemm CONFIG: strip trailing dots off of hosts in uucp mailer before 6058c2aa98e2SPeter Wemm convert to bang format. 6059c2aa98e2SPeter Wemm CONFIG: create new "relay" mailer for $R (LOCAL_RELAY) and $H 6060c2aa98e2SPeter Wemm (MAIL_HUB) delivery that doesn't add local domain. Note 6061c2aa98e2SPeter Wemm that this violates 821, but is probably "more correct" 6062c2aa98e2SPeter Wemm for what we are trying to do. Problem pointed out by 6063c2aa98e2SPeter Wemm Michael Graff of Iowa State. 6064c2aa98e2SPeter Wemm 6065c2aa98e2SPeter Wemm6.41/6.18 93/03/18 6066c2aa98e2SPeter Wemm Clean up unnecessary creates of queue ids (i.e., empty qf files) 6067c2aa98e2SPeter Wemm when not needed, such as when starting up an SMTP 6068c2aa98e2SPeter Wemm connection. 6069c2aa98e2SPeter Wemm Fix problem where split envelopes aren't instantiated in the queue. 6070c2aa98e2SPeter Wemm This is quite a serious bug. 6071c2aa98e2SPeter Wemm Owner- aliases had problems with leading spaces causing a 6072c2aa98e2SPeter Wemm premature delimitation. 6073c2aa98e2SPeter Wemm 6074c2aa98e2SPeter Wemm6.40/6.18 93/03/18 6075c2aa98e2SPeter Wemm Have ending 250 (after DATA) include the id; suggested by 6076c2aa98e2SPeter Wemm Brian Kantor of UC San Diego. 6077c2aa98e2SPeter Wemm Add logging on envelope splitting. 6078c2aa98e2SPeter Wemm Change queue ids to have one more letter encoding the hour of 6079c2aa98e2SPeter Wemm the day so that during a single day there is a greater 6080c2aa98e2SPeter Wemm likelihood of uniqueness; requested by Brian Kantor. 6081c2aa98e2SPeter Wemm 6082c2aa98e2SPeter Wemm6.39/6.18 93/03/18 6083c2aa98e2SPeter Wemm Fix minor compile problem if LOCKF is defined. 6084c2aa98e2SPeter Wemm Define size of tobuf in conf.h. Observed by Toshinari Takahashi 6085c2aa98e2SPeter Wemm of Toshiba. 6086c2aa98e2SPeter Wemm Restore e_sender -- this is equivalent to e_from.q_paddr without 6087c2aa98e2SPeter Wemm decorations such as angle brackets and comments. 6088c2aa98e2SPeter Wemm OSF/1 on Alpha changes from Allan E Johannesen of WPI. 6089c2aa98e2SPeter Wemm CONFIG: fix typo in S3 for list syntax (;: => :;). Thanks to 6090c2aa98e2SPeter Wemm Christopher Hoover for noting the problem. 6091c2aa98e2SPeter Wemm 6092c2aa98e2SPeter Wemm6.38/6.17 93/03/17 6093c2aa98e2SPeter Wemm Pass envelope to disconnect to avoid another use of CurEnv, which 6094c2aa98e2SPeter Wemm can apparently end up being null at inopportune times. 6095c2aa98e2SPeter Wemm Log "received from" as "relay=" for consistency (suggested by 6096c2aa98e2SPeter Wemm John Gardiner Myers). 6097c2aa98e2SPeter Wemm Fix major bug in header handling: if no From: line existed in 6098c2aa98e2SPeter Wemm the header (so sendmail inserts one), and the sender is 6099c2aa98e2SPeter Wemm an alias that has an owner, the From: line shows the 6100c2aa98e2SPeter Wemm owner (as well as the envelope). Fixed by early binding 6101c2aa98e2SPeter Wemm the headers (which will change debugging output). 6102c2aa98e2SPeter Wemm HPUX portability patches from Michael J. Corrigan of UC San Diego. 6103c2aa98e2SPeter Wemm Some attempts to adapt better to out of open file conditions. 6104c2aa98e2SPeter Wemm Some changes to ctladdr handling in queue files. 6105c2aa98e2SPeter Wemm 6106c2aa98e2SPeter Wemm6.37/6.17 93/03/16 6107c2aa98e2SPeter Wemm MAJOR CHANGE: delete e_sender and e_returnpath (why are these 6108c2aa98e2SPeter Wemm different from e_from?) and $< macro. 6109c2aa98e2SPeter Wemm Log correct IP address in relay= field even if the connection 6110c2aa98e2SPeter Wemm times out. 6111c2aa98e2SPeter Wemm Log "received from [RESPONSE]" on EF_RESPONSE messages (from 6112c2aa98e2SPeter Wemm John Gardiner Myers). 6113c2aa98e2SPeter Wemm Fixes to SysExMsg logging (sometimes just got "message: %s" 6114c2aa98e2SPeter Wemm instead of "message: error message"), noted by Eric 6115c2aa98e2SPeter Wemm Wassenaar. Also reported by Motonori Nakamura. 6116c2aa98e2SPeter Wemm Improvements to MX piggybacking code, from Motonori Nakamura. 6117c2aa98e2SPeter Wemm Fix case where CurHostName points to an auto variable that has 6118c2aa98e2SPeter Wemm been deallocated (from Motonori Nakamura). 6119c2aa98e2SPeter Wemm Fix bug causing newlines to be included in aliases if option 6120c2aa98e2SPeter Wemm "n" (check alias RHS) is set; bug noted by David Muir 6121c2aa98e2SPeter Wemm Sharnoff. 6122c2aa98e2SPeter Wemm Fix problem causing user names that should be mapped to lower 6123c2aa98e2SPeter Wemm case to not be mapped if they are sent during a queue 6124c2aa98e2SPeter Wemm run. This greatly simplifies the case mapping code. 6125c2aa98e2SPeter Wemm Problem noted by Allan E Johannesen of WPI. 6126c2aa98e2SPeter Wemm Don't do recipient address rewriting in buildaddr. This 6127c2aa98e2SPeter Wemm improperly did recipient rewriting on sender addresses, 6128c2aa98e2SPeter Wemm and just seems bogus in general -- but the change could 6129c2aa98e2SPeter Wemm break some .cf files. 6130c2aa98e2SPeter Wemm Pass TZ envariable to child processes for System V. 6131c2aa98e2SPeter Wemm CONFIG: allow LOCAL_RULE_1 and LOCAL_RULE_2 if you want to 6132c2aa98e2SPeter Wemm define those rulesets. 6133c2aa98e2SPeter Wemm KNOWN PROBLEM: I have seen some problems on SunOS that causes 6134c2aa98e2SPeter Wemm the User Data Base to give errors on some addresses. I 6135c2aa98e2SPeter Wemm have tracked the problem back at least as far as 93.02.15 6136c2aa98e2SPeter Wemm (version 6.22). Running with debugging on makes it 6137c2aa98e2SPeter Wemm go away, so I conclude that it is referencing uninitialized 6138c2aa98e2SPeter Wemm stack data. I haven't been able to track this down yet. 6139c2aa98e2SPeter Wemm 6140c2aa98e2SPeter Wemm6.36/6.16 93/03/08 6141c2aa98e2SPeter Wemm Allow local mailer to specify $@host -- this lets you assign the 6142c2aa98e2SPeter Wemm "foo" part of jgm+foo to $h for passing in to the local 6143c2aa98e2SPeter Wemm mailer. 6144c2aa98e2SPeter Wemm Additional debug printing in getcanonname (show query type). 6145c2aa98e2SPeter Wemm Don't add the e_fromdomain on sender addresses -- this interacts 6146c2aa98e2SPeter Wemm weirdly with the owner- code. 6147c2aa98e2SPeter Wemm Improve delivery logging to not log obvious or meaningless stuff. 6148c2aa98e2SPeter Wemm Include numeric IP address in Received: lines per RFC 1123 section 6149c2aa98e2SPeter Wemm 5.2.8. 6150c2aa98e2SPeter Wemm Fixed a bug in checking stat() return value if restrictmailq is 6151c2aa98e2SPeter Wemm set. Also, check the entire group set instead of just the 6152c2aa98e2SPeter Wemm primary group. Both from John Gardiner Myers. 6153c2aa98e2SPeter Wemm Don't have usrerr automatically print errno, since this is often 6154c2aa98e2SPeter Wemm misleading. 6155c2aa98e2SPeter Wemm Use transienterror() in makeconnection after connect() fails and 6156c2aa98e2SPeter Wemm in openmailer after execve() fails (from Eric Wassenaar). 6157c2aa98e2SPeter Wemm Also moved transienterror() from util.c to conf.c. 6158c2aa98e2SPeter Wemm Clean up from= logging on response messages. 6159c2aa98e2SPeter Wemm Undo patch allowing prescan to return a null vector -- it breaks 6160c2aa98e2SPeter Wemm too many things. 6161c2aa98e2SPeter Wemm Config: FEATURE(notsticky) lets you use UDB for everything coming 6162c2aa98e2SPeter Wemm in to the machine, even if it is specifically targetted 6163c2aa98e2SPeter Wemm to this machine. Without it, UDB is bypassed if the user 6164c2aa98e2SPeter Wemm name is fully qualified. 6165c2aa98e2SPeter Wemm Config: fix another minor botch with <> (local mailer wasn't 6166c2aa98e2SPeter Wemm mapping them properly). 6167c2aa98e2SPeter Wemm 6168c2aa98e2SPeter Wemm6.35/6.15 93/03/05 6169c2aa98e2SPeter Wemm Fix getrealhostname to return null if sinlen <= 0 -- this can 6170c2aa98e2SPeter Wemm occur if stdin is a pipe. 6171c2aa98e2SPeter Wemm Avoid infinite loop in getcanonname if name server return 6172c2aa98e2SPeter Wemm NO_DATA (for example). 6173c2aa98e2SPeter Wemm Config: avoid having C flag qualify list syntax and error syntax. 6174c2aa98e2SPeter Wemm 6175c2aa98e2SPeter Wemm6.34/6.14 93/03/05 6176c2aa98e2SPeter Wemm Fix logging in deliver to not pass too many parameters to Ultrix 6177c2aa98e2SPeter Wemm versions of syslog. 6178c2aa98e2SPeter Wemm Don't write the pid file until after the daemon has actually 6179c2aa98e2SPeter Wemm opened and conditioned the connection. 6180c2aa98e2SPeter Wemm Consider addresses "different" if their q_uids differ (so that 6181c2aa98e2SPeter Wemm two users forwarding to the same program will be seen 6182c2aa98e2SPeter Wemm as different, rather than the same). 6183c2aa98e2SPeter Wemm Fix problem with bad parameters in main() -- they set ExitStat 6184c2aa98e2SPeter Wemm but don't exit. 6185c2aa98e2SPeter Wemm Fix null pointer references through RealHostName -- painfully 6186c2aa98e2SPeter Wemm discovered by Allan E Johannesen of WPI. 6187c2aa98e2SPeter Wemm Fix bug causing user@@localhost to core dump (yuch). 6188c2aa98e2SPeter Wemm Config: don't put two @host.dom.ain on users in $=E in SMTP 6189c2aa98e2SPeter Wemm mailer. Also, catch user@ (no host) in ruleset 0. 6190c2aa98e2SPeter Wemm 6191c2aa98e2SPeter Wemm6.33/6.13 93/03/03 6192c2aa98e2SPeter Wemm Config: add confCW_FILE as the name of the cw configuration file 6193c2aa98e2SPeter Wemm (defaults to /etc/sendmail.cw). From P{r Emanuelsson. 6194c2aa98e2SPeter Wemm Allow prescan to return a pointer to an empty list -- this is 6195c2aa98e2SPeter Wemm not an error. Also, clean up error reporting to avoid 6196c2aa98e2SPeter Wemm double errors (prescan reports once, then the caller 6197c2aa98e2SPeter Wemm reports again). 6198c2aa98e2SPeter Wemm Changes to avoid trusting T_ANY queries -- run them, but if you 6199c2aa98e2SPeter Wemm don't get the info you expected, do T_A and T_MX queries 6200c2aa98e2SPeter Wemm anyhow. This also fixes an oversight where _res.options 6201c2aa98e2SPeter Wemm bits were being ignored. 6202c2aa98e2SPeter Wemm If PRIV_NOVRFY is set, use 252 response code instead of 502 per 6203c2aa98e2SPeter Wemm RFC 1123 section 5.2.3. It's not 100% clear that this 6204c2aa98e2SPeter Wemm is correct, but it probably works better with stupid 6205c2aa98e2SPeter Wemm mailers that do a VRFY and only check the first digit. 6206c2aa98e2SPeter Wemm 6207c2aa98e2SPeter Wemm6.32/6.12 93/03/02 6208c2aa98e2SPeter Wemm Fix uninitialized variable "protocol" in smtp code. 6209c2aa98e2SPeter Wemm Include <unistd.h> in sendmail.h -- move towards POSIX/ANSI. 6210c2aa98e2SPeter Wemm Additional hooks for RFC 1427 (ESMTP SIZE extension). This 6211c2aa98e2SPeter Wemm includes requiring that enoughspace() know the system 6212c2aa98e2SPeter Wemm block size, which will undoubtedly break most ports. 6213c2aa98e2SPeter Wemm Trace flag 19 in use for srvrsmtp.c. 6214c2aa98e2SPeter Wemm Additional logging -- notably the sending mailer name. This 6215c2aa98e2SPeter Wemm also changes the delivery logging to strict field=value 6216c2aa98e2SPeter Wemm syntax. 6217c2aa98e2SPeter Wemm Fix some problems with messages getting sent even to addresses 6218c2aa98e2SPeter Wemm that had been marked bad -- from Eric Wassenaar. 6219c2aa98e2SPeter Wemm More WIDE changes: accept host name inside [...] as non-MXed 6220c2aa98e2SPeter Wemm host. This is intended ONLY for use inside firewalled 6221c2aa98e2SPeter Wemm environments, where the MX points at the gateway. 6222c2aa98e2SPeter Wemm Change .cf file conventions so that mapping for <> addresses 6223c2aa98e2SPeter Wemm don't have an @ in them (to avoid confusing the C mailer 6224c2aa98e2SPeter Wemm flag). Pointed out by Neil Rickert. 6225c2aa98e2SPeter Wemm Config extensions for Sam Leffler's FlexFAX software. 6226c2aa98e2SPeter Wemm 6227c2aa98e2SPeter Wemm6.31/6.10 93/02/28 6228c2aa98e2SPeter Wemm Fix some more bugs in alias owner code -- there were some weird 6229c2aa98e2SPeter Wemm cases where an error in a non-aliased name would override 6230c2aa98e2SPeter Wemm the return info in an aliased name with an owner. 6231c2aa98e2SPeter Wemm Changes from WIDE Project, forwarded to me by Motonori Nakamura: 6232c2aa98e2SPeter Wemm Log actual delivery host (after MX et al); from 6233c2aa98e2SPeter Wemm yasuhiro@dcl.co.jp. 6234c2aa98e2SPeter Wemm Log daemon startup. 6235c2aa98e2SPeter Wemm Deliver Postmaster copies without a body. 6236c2aa98e2SPeter Wemm Better logging of SMTP senders. 6237c2aa98e2SPeter Wemm Send all program email as daemon even when local. 6238c2aa98e2SPeter Wemm As requested in various forms from many people, accept -qIstring 6239c2aa98e2SPeter Wemm to limit queue runs to jobs with queue-id matching string. 6240c2aa98e2SPeter Wemm Similarly for -qRstring for recipients, -qSstring for 6241c2aa98e2SPeter Wemm senders. 6242c2aa98e2SPeter Wemm Initial hooks for ESMTP support (see RFC 1425). 6243c2aa98e2SPeter Wemm Fixed a syntax error in the UUCP mailer specification that caused 6244c2aa98e2SPeter Wemm core dumps on startup. 6245c2aa98e2SPeter Wemm Check for missing A= or P= arguments in mailer definitions. 6246c2aa98e2SPeter Wemm 6247c2aa98e2SPeter Wemm6.30/6.10 93/02/27 6248c2aa98e2SPeter Wemm Require FROZENCONFIG compilation flag to include frozen 6249c2aa98e2SPeter Wemm configuration code. Frozen configuration is really 6250c2aa98e2SPeter Wemm not a very good idea any more, particularly in shared 6251c2aa98e2SPeter Wemm library environments. 6252c2aa98e2SPeter Wemm Do better checking of errno after opens of :include: and .forward 6253c2aa98e2SPeter Wemm files to defer delivery on network and other transient 6254c2aa98e2SPeter Wemm errors. Suggestion from Craig Everhart. 6255c2aa98e2SPeter Wemm Fix minor botch in read timeout macro processing. 6256c2aa98e2SPeter Wemm Add FEATURE(nouucp) to config files for sites that know absolutely 6257c2aa98e2SPeter Wemm nothing about UUCP. 6258c2aa98e2SPeter Wemm Add built cf files to distribution tape and clarify how to build 6259c2aa98e2SPeter Wemm them if you don't have the Berkeley make. 6260c2aa98e2SPeter Wemm Some sizeof(long) portability changes for the Alpha, from Allan 6261c2aa98e2SPeter Wemm E Johannesen. 6262c2aa98e2SPeter Wemm Add "restrictmailq" privacy flag -- if set, only people in the same 6263c2aa98e2SPeter Wemm group as your queue directory can print the queue. If you 6264c2aa98e2SPeter Wemm set this, be sure you also restrict access to log files.... 6265c2aa98e2SPeter Wemm Fix another bug in owner-list stuff that can cause data files to 6266c2aa98e2SPeter Wemm be "lost". 6267c2aa98e2SPeter Wemm Fix a bug with queue runs that cause forwards to yourself to go 6268c2aa98e2SPeter Wemm into alias/forwarding loops. I'm still iffy about this 6269c2aa98e2SPeter Wemm fix. 6270c2aa98e2SPeter Wemm Fix from Eric Wassenaar for suppression of return message code. 6271c2aa98e2SPeter Wemm 6272c2aa98e2SPeter Wemm6.29/6.9 93/02/24 6273c2aa98e2SPeter Wemm Fix yet another problem in alias owner code -- put the wrong return 6274c2aa98e2SPeter Wemm address on the enclosed return-to-sender letter. 6275c2aa98e2SPeter Wemm 6276c2aa98e2SPeter Wemm6.28/6.9 93/02/24 6277c2aa98e2SPeter Wemm Fix botch in alias owner code that caused it to not operate if the 6278c2aa98e2SPeter Wemm error was detected locally. 6279c2aa98e2SPeter Wemm 6280c2aa98e2SPeter Wemm6.27/6.9 93/02/24 6281c2aa98e2SPeter Wemm M_LOCAL => M_LOCALMAILER to avoid conflict with Ultrix include 6282c2aa98e2SPeter Wemm file <sys/mount.h>. 6283c2aa98e2SPeter Wemm Miscellaneous bug fixes from Eric Wassenaar: 6284c2aa98e2SPeter Wemm sendmail -bv -t logs the from line even though in verify 6285c2aa98e2SPeter Wemm mode only. 6286c2aa98e2SPeter Wemm sendmail -v can go into queue mode if shouldqueue returns 6287c2aa98e2SPeter Wemm TRUE. 6288c2aa98e2SPeter Wemm Add route-addr pruning per RFC 1123 section 5.3.3. This can be 6289c2aa98e2SPeter Wemm disabled using the "R" option. 6290c2aa98e2SPeter Wemm Delete (always undocumented) -R flag (save original recipients); 6291c2aa98e2SPeter Wemm there are ways to syslog(3) these now. 6292c2aa98e2SPeter Wemm Clean up SMTP reply codes -- specify them as needed in the code, 6293c2aa98e2SPeter Wemm instead of in conf.c -- this was needed during the NCP to 6294c2aa98e2SPeter Wemm TCP transition, but seems silly now. This also changes 6295c2aa98e2SPeter Wemm parameters to message and nmessage. 6296c2aa98e2SPeter Wemm Have mailstats read the .cf file to find the sendmail.st file and 6297c2aa98e2SPeter Wemm get text versions of mailer names. An initial version of 6298c2aa98e2SPeter Wemm this code was provided by Tuominen Keijo (although the 6299c2aa98e2SPeter Wemm comments indicate the good bits were written by "E.V."). 6300c2aa98e2SPeter Wemm Add yet more System V compatibility hacks. 6301c2aa98e2SPeter Wemm Fix bug in VRFY code (assumes everything must be a local user). 6302c2aa98e2SPeter Wemm Allow specification of any of the hard-wired pathnames in the 6303c2aa98e2SPeter Wemm Makefile. 6304c2aa98e2SPeter Wemm Delete concept of "trusted users" -- this really didn't provide 6305c2aa98e2SPeter Wemm any security anyway, and caused some problems. 6306c2aa98e2SPeter Wemm Delete last vestige of support for the word "at" as an equivalent 6307c2aa98e2SPeter Wemm to the character "@". 6308c2aa98e2SPeter Wemm Propagate owner-foo alias information into the envelope sender. 6309c2aa98e2SPeter Wemm Based on code from John Gardiner Myers. This is a major 6310c2aa98e2SPeter Wemm semantic change -- beware! 6311c2aa98e2SPeter Wemm Allow $@ on LHS to indicate "match zero" -- this is used to match 6312c2aa98e2SPeter Wemm the null expression. 6313c2aa98e2SPeter Wemm 6314c2aa98e2SPeter Wemm6.26/6.8 93/02/21 6315c2aa98e2SPeter Wemm Don't "lose" queue runs. Very important fix from (who else?) 6316c2aa98e2SPeter Wemm Eric Wassenaar. 6317c2aa98e2SPeter Wemm Completely reset state on RSET command -- from Eric Wassenaar. 6318c2aa98e2SPeter Wemm Send error messages and return receipts using an envelope sender 6319c2aa98e2SPeter Wemm of <> regardless of the setting of $n. Rewriting rules 6320c2aa98e2SPeter Wemm can undo this if they feel the necessity, as might be 6321c2aa98e2SPeter Wemm needed for networks that don't understand the syntax. 6322c2aa98e2SPeter Wemm This is permitted by RFC 821 section 3.6 and required by 6323c2aa98e2SPeter Wemm RFC 1123 section 5.3.3. THIS REQUIRES VERSION 4 CONFIG 6324c2aa98e2SPeter Wemm FILES because the rulesets must be able to parse <> 6325c2aa98e2SPeter Wemm properly. 6326c2aa98e2SPeter Wemm Don't ever send error messages to "<>" -- they will get sent to 6327c2aa98e2SPeter Wemm the local postmaster or dumped in /usr/tmp/dead.letter 6328c2aa98e2SPeter Wemm instead. Per RFC 1123 section 5.3.3. 6329c2aa98e2SPeter Wemm Explicitly check for email to yourself as a dotted quad. You 6330c2aa98e2SPeter Wemm have to call $[ [ ... ] $] to get this. 6331c2aa98e2SPeter Wemm Up the message timeout to five days per RFC 1123 section 5.3.1.1. 6332c2aa98e2SPeter Wemm Make all read timeouts individually configurable, as strongly 6333c2aa98e2SPeter Wemm recommended by RFC 1123 section 5.3.2. 6334c2aa98e2SPeter Wemm Use f_bavail (blocks available to regular users) instead of f_bfree 6335c2aa98e2SPeter Wemm (blocks available to superuser) in free block checks. 6336c2aa98e2SPeter Wemm Change $d macro to be the current time, not the origination time, 6337c2aa98e2SPeter Wemm since this is consistent with how it is used now. 6338c2aa98e2SPeter Wemm Generalization of enoughspace from Eric Wassenaar covering 6339c2aa98e2SPeter Wemm SGI, Apollo, HPUX, Ultrix, and SunOS. 6340c2aa98e2SPeter Wemm Ignore process group signals -- some front ends can do this if 6341c2aa98e2SPeter Wemm you kill a window too quickly. From Eric Wassenaar. 6342c2aa98e2SPeter Wemm Change umask to 022. 6343c2aa98e2SPeter Wemm 6344c2aa98e2SPeter Wemm6.25/6.8 93/02/20 6345c2aa98e2SPeter Wemm Close all cached connections before calling mailers and after 6346c2aa98e2SPeter Wemm forking for delivery (caused double closes which resulted 6347c2aa98e2SPeter Wemm in false errors). 6348c2aa98e2SPeter Wemm Add FEATURE(redirect) in config files -- this allows you to alias 6349c2aa98e2SPeter Wemm old addresses to a pointer to the new address that will 6350c2aa98e2SPeter Wemm give a 551 error message, but not deliver the mail. 6351c2aa98e2SPeter Wemm Some code changes to make the 551 errors look pretty. 6352c2aa98e2SPeter Wemm Names of M4 program paths in config files have changed -- they 6353c2aa98e2SPeter Wemm are all XXX_MAILER_PATH now, to match XXX_MAILER_FLAGS. 6354c2aa98e2SPeter Wemm Fix a bug in the QSELFREF code having to do with empty .forward 6355c2aa98e2SPeter Wemm files, reported by Eric Wassenaar. 6356c2aa98e2SPeter Wemm Add option "p" (privacy flags); this allows you to tune how 6357c2aa98e2SPeter Wemm picky the SMTP server will be. This also adds the 6358c2aa98e2SPeter Wemm confPRIVACY_FLAGS M4 macro in the config files. 6359c2aa98e2SPeter Wemm Add option "b" (minimum blocks free). If there are fewer than 6360c2aa98e2SPeter Wemm this number of blocks free on the filesystem containing 6361c2aa98e2SPeter Wemm the queue directory, the SMTP MAIL command will return 6362c2aa98e2SPeter Wemm a 452 response and ask you to try again later. This 6363c2aa98e2SPeter Wemm also adds the confMIN_FREE_BLOCKS M4 macro in the config 6364c2aa98e2SPeter Wemm files. 6365c2aa98e2SPeter Wemm Made VRFY just verify (doesn't expand aliases and .forward files); 6366c2aa98e2SPeter Wemm EXPN does full expansion. RCPT in queue-only mode also 6367c2aa98e2SPeter Wemm doesn't chase aliases and .forward. 6368c2aa98e2SPeter Wemm 6369c2aa98e2SPeter Wemm6.24/6.7 93/02/19 6370c2aa98e2SPeter Wemm Increase the number of domain search entries in domain.c to allow 6371c2aa98e2SPeter Wemm for the extra "" entry indicating the root domain. 6372c2aa98e2SPeter Wemm Reported by Motonori Nakamura of Kyoto U. 6373c2aa98e2SPeter Wemm Add a "SMART_HOST" in the configs for UUCP-connected sites that 6374c2aa98e2SPeter Wemm want to forward all mail with extra "@"s to that site. 6375c2aa98e2SPeter Wemm Also allows SMART_HOST, LOCAL_RELAY, and MAIL_HUB to 6376c2aa98e2SPeter Wemm be specified as ``mailer:hostname'' to use an alternate 6377c2aa98e2SPeter Wemm mailer. 6378c2aa98e2SPeter Wemm Clarified and updated some wording in the Operations Guide. 6379c2aa98e2SPeter Wemm Add the "c" mailer flag -- this suppresses all comment parts of 6380c2aa98e2SPeter Wemm addresses (requested by John Curran of NEARnet). 6381c2aa98e2SPeter Wemm Have -v print prompts in -bt mode even if stdin is not a terminal 63822e43090eSPeter Wemm (default behavior is to be silent if not reading from 6383c2aa98e2SPeter Wemm a terminal). Suggested by Bryan Costales, ICSI. 6384c2aa98e2SPeter Wemm Move the metacharacters from C0 space (\001-\037) into C1 space 6385c2aa98e2SPeter Wemm (\201-\237). This also fixes a bunch of potential bugs 6386c2aa98e2SPeter Wemm with G1 characters (\240-\276) in headers relating to 6387c2aa98e2SPeter Wemm negative numbers passed to isspace() et al. 6388c2aa98e2SPeter Wemm Add YP_LAST_MODIFIED and YP_MASTER_NAME to DBM version of alias 6389c2aa98e2SPeter Wemm database if YPCOMPAT is #defined. Enhancement from 6390c2aa98e2SPeter Wemm Takahiro Kanbe of Fuji Xerox Information Systems Co., Ltd. 6391c2aa98e2SPeter Wemm Add "list" Precedence (-30); this can be used with old sendmails 6392c2aa98e2SPeter Wemm which will map to precedence 0 (which will return error 6393c2aa98e2SPeter Wemm messages). Suggested by Stephen R. van den Berg. 6394c2aa98e2SPeter Wemm Many bug fixes from Eric Wassenaar of the National Institute for 6395c2aa98e2SPeter Wemm Nuclear and High-Energy Physics, Amsterdam: 6396c2aa98e2SPeter Wemm Clear timeouts properly on open failures in include(). 6397c2aa98e2SPeter Wemm Don't dereference through NULL if no home directory found. 6398c2aa98e2SPeter Wemm Re-establish SIGCHLD signal on System 5 in reapchild(). 6399c2aa98e2SPeter Wemm Avoid NULL pointer reference on -pFOO flag. 6400c2aa98e2SPeter Wemm Properly handle backslash escapes in comments. 6401c2aa98e2SPeter Wemm Correctly check reply status on SMTP NOOP command. 6402c2aa98e2SPeter Wemm Properly save SMTP error message if peer gives 6403c2aa98e2SPeter Wemm "Service Shutting Down" message. 6404c2aa98e2SPeter Wemm Avoid writing to the transcript if it couldn't be opened. 6405c2aa98e2SPeter Wemm Signal errors in SMTP children to parent properly. 6406c2aa98e2SPeter Wemm Handle self references in a list more globally (include a 6407c2aa98e2SPeter Wemm QSELFREF bit in the address flags). This enhancement 6408c2aa98e2SPeter Wemm was suggested by Eric Wassenaar. 6409c2aa98e2SPeter Wemm Use initgroups() in hpux, even though it's System-V based. The 6410c2aa98e2SPeter Wemm HASINITGROUPS compile flag can set this on other systems. 64112e43090eSPeter Wemm This HPUX behavior was pointed out by Eric Wassenaar. 6412c2aa98e2SPeter Wemm 6413c2aa98e2SPeter Wemm6.23/6.6 93/02/16 6414c2aa98e2SPeter Wemm Clean up handling of LogLevel to make it easier to figure out 6415c2aa98e2SPeter Wemm what's on what level. 6416c2aa98e2SPeter Wemm Change log levels to have some consistency: 6417c2aa98e2SPeter Wemm 1 serious system failures, security problems 6418c2aa98e2SPeter Wemm 2 lost communications, protocol failures 6419c2aa98e2SPeter Wemm 3 other serious failures 6420c2aa98e2SPeter Wemm 4 minor errors 6421c2aa98e2SPeter Wemm 5 message collection 6422c2aa98e2SPeter Wemm 6 vrfy logging, creation of return-to-sender 6423c2aa98e2SPeter Wemm 7 delivery failures 6424c2aa98e2SPeter Wemm 8 delivery successes 6425c2aa98e2SPeter Wemm 9 delivery tempfails (queue ups) 6426c2aa98e2SPeter Wemm 10 database expansion 6427c2aa98e2SPeter Wemm >64 debugging 6428c2aa98e2SPeter Wemm Allow IDA-style separated processing on S= and R= in Mailer 6429c2aa98e2SPeter Wemm definition lines. Note that rulesets 1 and 2 are 6430c2aa98e2SPeter Wemm still used for both addresses as before. Bruce Lilly 6431c2aa98e2SPeter Wemm gave a convincing argument that RFC976 insists on 64322e43090eSPeter Wemm this behavior. 6433c2aa98e2SPeter Wemm Added some time zones to arpatounix -- they may not be in the 6434c2aa98e2SPeter Wemm standards, but they are in use. However, I may delete 6435c2aa98e2SPeter Wemm arpatounix entirely -- there appears to be no reason 6436c2aa98e2SPeter Wemm for it to exist. 6437c2aa98e2SPeter Wemm Change to UUCP mailer (in cf directory) to try to do a saner job. 6438c2aa98e2SPeter Wemm I'm still not certain about this mailer in general. 6439c2aa98e2SPeter Wemm 6440c2aa98e2SPeter Wemm6.22/6.5 93/02/15 6441c2aa98e2SPeter Wemm Fix bug that prevents saving letters in ~/dead.letter. 6442c2aa98e2SPeter Wemm Don't add angle brackets in VRFY command if angle brackets already 6443c2aa98e2SPeter Wemm exist in the address. 6444c2aa98e2SPeter Wemm Fix bogus error message in udbexpand. 6445c2aa98e2SPeter Wemm Null terminate host buffers in buildaddr (broken in 6.21) -- 6446c2aa98e2SPeter Wemm IMPORTANT FIX!! 6447c2aa98e2SPeter Wemm 6448c2aa98e2SPeter Wemm6.21/6.5 93/02/15 6449c2aa98e2SPeter Wemm Fix another incorrect error message in alias.c, found by Azuma 6450c2aa98e2SPeter Wemm Okamoto. 6451c2aa98e2SPeter Wemm Fix a couple of problems in the more-configurable config files, 6452c2aa98e2SPeter Wemm found by Tom Ivar Helbekkmo. 6453c2aa98e2SPeter Wemm Fix problem with quoted :include: entries. 6454c2aa98e2SPeter Wemm Don't duplicate the filename on verbose printing of .forward and 6455c2aa98e2SPeter Wemm :include: contents. 6456c2aa98e2SPeter Wemm Extend size of prescan buffer (to allow bigger addresses). Also, 6457c2aa98e2SPeter Wemm detect some buffer overflows. 6458c2aa98e2SPeter Wemm Log user SMTP protocol errors (log level 4). 6459c2aa98e2SPeter Wemm 6460c2aa98e2SPeter Wemm6.20/6.4 93/02/14 6461c2aa98e2SPeter Wemm Fix another problem in the MCI state machine caused when there 6462c2aa98e2SPeter Wemm were errors generated from the other end to commands 6463c2aa98e2SPeter Wemm other than RCPT. 6464c2aa98e2SPeter Wemm 6465c2aa98e2SPeter Wemm6.19/6.4 93/02/14 6466c2aa98e2SPeter Wemm Include load average support for DEC Alpha running OSF/1. 6467c2aa98e2SPeter Wemm Fix multiple-response problem with errors in MAIL From: line. 6468c2aa98e2SPeter Wemm Fix SMTP reply codes for invalid address syntaxes (give 501; 6469c2aa98e2SPeter Wemm never give multiple error messages for a single message). 6470c2aa98e2SPeter Wemm Fix problem where a cached connection timeout rejects all 6471c2aa98e2SPeter Wemm later connects to that host. 6472c2aa98e2SPeter Wemm Fix incorrect error message if alias.c is compiled with DBM only. 6473c2aa98e2SPeter Wemm Additional changes to fix nested conditionals (from Bruce Lilly). 6474c2aa98e2SPeter Wemm Recover more gracefully from operating system failures, particularly 6475c2aa98e2SPeter Wemm NULL returns from openmailer (from Noritoshi Demizu, 6476c2aa98e2SPeter Wemm OMRON Corporation). 6477c2aa98e2SPeter Wemm Log forward, alias, and userdb expand operations on log level 10; 6478c2aa98e2SPeter Wemm concept suggested by P{r (Pell) Emanuelsson. 6479c2aa98e2SPeter Wemm Changes for HPUX 8.07 compatibility. 6480c2aa98e2SPeter Wemm 6481c2aa98e2SPeter Wemm6.18/6.4 93/02/12 6482c2aa98e2SPeter Wemm Allow any config option to be set using an M4 define. 6483c2aa98e2SPeter Wemm Change UNAME compile flag to HASUNAME for IDA compatibility 6484c2aa98e2SPeter Wemm (besides, it's a better name). 6485c2aa98e2SPeter Wemm Note in README that on SunOS it must be linked -Bstatic. 6486c2aa98e2SPeter Wemm Fairly major change in domain.c to handle wildcard MX records 6487c2aa98e2SPeter Wemm more rationally. NOTE: the "w" option (no wildcard MX 6488c2aa98e2SPeter Wemm records match local domain) has been eliminated. 6489c2aa98e2SPeter Wemm Fix some unset variable references pointed out by Bruce Lilly. 6490c2aa98e2SPeter Wemm Fix host name in process titles when using cached connection. 6491c2aa98e2SPeter Wemm 6492c2aa98e2SPeter Wemm6.17/6.3 93/01/28 6493c2aa98e2SPeter Wemm Fix System 5 compatibility changes to be compatible with the rest 6494c2aa98e2SPeter Wemm of the world. 6495c2aa98e2SPeter Wemm 6496c2aa98e2SPeter Wemm6.16/6.3 93/01/28 6497c2aa98e2SPeter Wemm Experimental fix for problem handling errors in the SMTP 6498c2aa98e2SPeter Wemm protocol in conjunction with connection caching. 6499c2aa98e2SPeter Wemm System 5 compatibility changes. 6500c2aa98e2SPeter Wemm 6501c2aa98e2SPeter Wemm6.15/6.3 93/01/26 6502c2aa98e2SPeter Wemm Fix a bug that causes local mail delivered using -odq to be 6503c2aa98e2SPeter Wemm eliminated as a duplicate (because it matched the 6504c2aa98e2SPeter Wemm ctladdr, now passed in as a C line). These changes 6505c2aa98e2SPeter Wemm are pretty tricky...... 6506c2aa98e2SPeter Wemm 6507c2aa98e2SPeter Wemm6.14/6.3 93/01/25 6508c2aa98e2SPeter Wemm Add debugging for some MCI errors. 6509c2aa98e2SPeter Wemm 6510c2aa98e2SPeter Wemm6.13/6.3 93/01/22 6511c2aa98e2SPeter Wemm Fix -e compatibility flag to take a value. 6512c2aa98e2SPeter Wemm Fix a couple of minor compilation warnings on Sun cc. 6513c2aa98e2SPeter Wemm Improve error messages in a few cases to be more self-explanatory. 6514c2aa98e2SPeter Wemm 6515c2aa98e2SPeter Wemm6.12/6.3 93/01/21 6516c2aa98e2SPeter Wemm Fix yet-another problem with environment handling, pointed out 6517c2aa98e2SPeter Wemm by Yoshitaka Tokugawa and Tom Ivar Helbekkmo. 6518c2aa98e2SPeter Wemm Some heuristics to try to limit resource exhaustion problems 6519c2aa98e2SPeter Wemm if a downstream host has been down for a long time. 6520c2aa98e2SPeter Wemm Fix problem with incorrect host name being logged in "Connection 6521c2aa98e2SPeter Wemm timed out" messages (from Tom Ivar Helbekkmo). 6522c2aa98e2SPeter Wemm Fix some ANSI C problems (from Takahiro Kanbe). 6523c2aa98e2SPeter Wemm Properly log message sender on returned mail during queue run. 6524c2aa98e2SPeter Wemm Count number of recipients properly. 6525c2aa98e2SPeter Wemm Fix a problem in yp map code. 6526c2aa98e2SPeter Wemm Diagnose "message timed out" (from Motonori Nakamura). 6527c2aa98e2SPeter Wemm 6528c2aa98e2SPeter Wemm6.11/6.3 93/01/20 6529c2aa98e2SPeter Wemm Fix problem with address delimitor inside quotes. 6530c2aa98e2SPeter Wemm Define $k and $=k to be the UUCP name (from the uname call) 6531c2aa98e2SPeter Wemm based on code from Bruce Lilly. 6532c2aa98e2SPeter Wemm 6533c2aa98e2SPeter Wemm6.10/6.2 93/01/18 6534c2aa98e2SPeter Wemm Implement arpatounix (largely code from Bruce Lilly). 6535c2aa98e2SPeter Wemm Log more info (suggested by John Myers). 6536c2aa98e2SPeter Wemm Allow nested $?...$|...$. (inspired by code from Bruce Lilly of 6537c2aa98e2SPeter Wemm Sony US). 6538c2aa98e2SPeter Wemm POSIX compatibility (noted by Keith Bostic). 6539c2aa98e2SPeter Wemm Handle SMTP MAIL command errors properly (urged by several people, 6540c2aa98e2SPeter Wemm notably John Myers of CMU). 6541c2aa98e2SPeter Wemm Do early diagnosis of .cf errors (notably referencing a RHS 6542c2aa98e2SPeter Wemm substitution that isn't on the LHS). 6543c2aa98e2SPeter Wemm Adjust checkpointing to better handle batched recipients, suggested 6544c2aa98e2SPeter Wemm by John Myers. 6545c2aa98e2SPeter Wemm Fix miscellaneous bugs. 6546c2aa98e2SPeter Wemm (config files:) Implement MAIL_HUB for all local mail (to handle 6547c2aa98e2SPeter Wemm NFS-mounted directories) as urged by Tom Ivar Helbekkmo 6548c2aa98e2SPeter Wemm of the Norwegian School of Economics. 6549c2aa98e2SPeter Wemm 6550c2aa98e2SPeter Wemm6.9/6.1 93/01/13 6551c2aa98e2SPeter Wemm Environment handling simplification/bug fix -- child processes 6552c2aa98e2SPeter Wemm get a minimal, fixed environment. This avoids different 65532e43090eSPeter Wemm behavior in queue runs. 6554c2aa98e2SPeter Wemm Handle commas inside comments properly. 6555c2aa98e2SPeter Wemm Properly limit large messages submitted in -obq mode. 6556c2aa98e2SPeter Wemm 6557c2aa98e2SPeter Wemm6.8/6.1 93/01/10 6558c2aa98e2SPeter Wemm Check mtime of thaw file against .cf and sendmail binary, based on 6559c2aa98e2SPeter Wemm code from John Myers. 6560c2aa98e2SPeter Wemm 6561c2aa98e2SPeter Wemm6.7/6.1 93/01/10 6562c2aa98e2SPeter Wemm MX piggybacking, based on code from John Myers@CMU. 6563c2aa98e2SPeter Wemm Allow checkcompat to return -1 to mean tempfail. 6564c2aa98e2SPeter Wemm Bug fix in m_mno computation. 6565c2aa98e2SPeter Wemm 6566c2aa98e2SPeter Wemm6.6/6.1 93/01/09 6567c2aa98e2SPeter Wemm Tuning of queueing functions as recommended by John Gardiner Myers. 6568c2aa98e2SPeter Wemm Return mail headers (no body) on messages with negative precedence. 6569c2aa98e2SPeter Wemm Minor other bug fixes. 6570c2aa98e2SPeter Wemm 6571c2aa98e2SPeter Wemm6.5/6.1 93/01/03 6572c2aa98e2SPeter Wemm Fix botch causing queued headers to have ?XX? prefixes. 6573c2aa98e2SPeter Wemm 6574c2aa98e2SPeter Wemm6.4/6.1 93/01/02 6575c2aa98e2SPeter Wemm Changes to recognize special mailer types (e.g., file) early. 6576c2aa98e2SPeter Wemm 6577c2aa98e2SPeter Wemm6.3/6.1 93/01/01 6578c2aa98e2SPeter Wemm Pass timeouts to sfgets. 6579c2aa98e2SPeter Wemm Check for control characters in addresses. 6580c2aa98e2SPeter Wemm Fixed deferred error reporting. 6581c2aa98e2SPeter Wemm Report duplicate aliases. 6582c2aa98e2SPeter Wemm Handle mixed case recursive aliases. 6583c2aa98e2SPeter Wemm Misc bug fixes. 6584c2aa98e2SPeter Wemm 6585c2aa98e2SPeter Wemm6.2/6.1 92/12/30 6586c2aa98e2SPeter Wemm Put return-receipt-to on a conf.c flag (but don't set it). 6587c2aa98e2SPeter Wemm Fix minor syslog problem. 6588