README revision 98121
138032Speter 238032Speter SENDMAIL RELEASE 8 338032Speter 438032SpeterThis directory has the latest sendmail(TM) software from Sendmail, Inc. 538032Speter 638032SpeterReport any bugs to sendmail-bugs@sendmail.ORG 738032Speter 864562SgshapiroThere is a web site at http://WWW.Sendmail.ORG/ -- see that site for 938032Speterthe latest updates. 1038032Speter 1164562Sgshapiro+--------------+ 1264562Sgshapiro| INTRODUCTION | 1364562Sgshapiro+--------------+ 1438032Speter 1564562Sgshapiro0. The vast majority of queries to <sendmail-questions@sendmail.org> 1664562Sgshapiro are answered in the README files noted below. 1764562Sgshapiro 1864562Sgshapiro1. Read this README file, especially this introduction, and the DIRECTORY 1964562Sgshapiro PERMISSIONS sections. 2064562Sgshapiro 2180785Sgshapiro2. Read the INSTALL file in this directory. 2280785Sgshapiro 2380785Sgshapiro3. Read sendmail/README, especially: 2464562Sgshapiro a. the introduction 2564562Sgshapiro b. the BUILDING SENDMAIL section 2664562Sgshapiro c. the relevant part(s) of the OPERATING SYSTEM AND COMPILE QUIRKS section 2764562Sgshapiro 2864562Sgshapiro You may also find these useful: 2964562Sgshapiro 3090792Sgshapiro d. sendmail/SECURITY 3190792Sgshapiro e. devtools/README 3290792Sgshapiro f. devtools/Site/README 3390792Sgshapiro g. libmilter/README 3490792Sgshapiro h. mail.local/README 3590792Sgshapiro i. smrsh/README 3664562Sgshapiro 3780785Sgshapiro4. Read cf/README. 3864562Sgshapiro 3938032SpeterSendmail is a trademark of Sendmail, Inc. 4038032Speter 4138032Speter+-----------------------+ 4238032Speter| DIRECTORY PERMISSIONS | 4338032Speter+-----------------------+ 4438032Speter 4538032SpeterSendmail often gets blamed for many problems that are actually the 4638032Speterresult of other problems, such as overly permissive modes on directories. 4738032SpeterFor this reason, sendmail checks the modes on system directories and 4864562Sgshapirofiles to determine if they can be trusted. For sendmail to run without 4964562Sgshapirocomplaining, you MUST execute the following command: 5038032Speter 5138032Speter chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue 5238032Speter chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue 5338032Speter 5438032SpeterYou will probably have to tweak this for your environment (for example, 5538032Spetersome systems put the spool directory into /usr/spool instead of 5664562Sgshapiro/var/spool). If you set the RunAsUser option in your sendmail.cf, the 5764562Sgshapiro/var/spool/mqueue directory will have to be owned by the RunAsUser user. 5864562SgshapiroAs a general rule, after you have compiled sendmail, run the command 5938032Speter 6038032Speter sendmail -v -bi 6138032Speter 6238032Speterto initialize the alias database. If it gives messages such as 6338032Speter 6438032Speter WARNING: writable directory /etc 6564562Sgshapiro WARNING: writable directory /var/spool/mqueue 6638032Speter 6738032Speterthen the directories listed have inappropriate write permissions and 6838032Spetershould be secured to avoid various possible security attacks. 6938032Speter 7038032SpeterBeginning with sendmail 8.9, these checks have become more strict to 7138032Speterprevent users from being able to access files they would normally not 7238032Speterbe able to read. In particular, .forward and :include: files in unsafe 7338032Speterdirectory paths (directory paths which are group or world writable) will 7438032Speterno longer be allowed. This would mean that if user joe's home directory 7538032Speterwas writable by group staff, sendmail would not use his .forward file. 7638032SpeterThis behavior can be altered, at the expense of system security, by 7738032Spetersetting the DontBlameSendmail option. For example, to allow .forward 7838032Speterfiles in group writable directories: 7938032Speter 8038032Speter O DontBlameSendmail=forwardfileingroupwritabledirpath 8138032Speter 8238032SpeterOr to allow them in both group and world writable directories: 8338032Speter 8438032Speter O DontBlameSendmail=forwardfileinunsafedirpath 8538032Speter 8638032SpeterItems from these unsafe .forward and :include: files will be marked 8738032Speteras unsafe addresses -- the items can not be deliveries to files or 8838032Speterprograms. This behavior can also be altered via DontBlameSendmail: 8938032Speter 9038032Speter O DontBlameSendmail=forwardfileinunsafedirpath, 9138032Speter forwardfileinunsafedirpathsafe 9238032Speter 9338032SpeterThe first flag allows the .forward file to be read, the second allows 9438032Speterthe items in the file to be marked as safe for file and program 9538032Speterdelivery. 9638032Speter 9738032SpeterOther files affected by this strengthened security include class 9890792Sgshapirofiles (i.e., Fw /etc/mail/local-host-names), persistent host status files, 9964562Sgshapiroand the files specified by the ErrorHeader and HelpFile options. Similar 10038032SpeterDontBlameSendmail flags are available for the class, ErrorHeader, and 10138032SpeterHelpFile files. 10238032Speter 10338032SpeterIf you have an unsafe configuration of .forward and :include: 10438032Speterfiles, you can make it safe by finding all such files, and doing 10538032Spetera "chmod go-w $FILE" on each. Also, do a "chmod go-w $DIR" for 10638032Spetereach directory in the file's path. 10738032Speter 10838032Speter 10998121Sgshapiro+--------------------------+ 11098121Sgshapiro| FILE AND MAP PERMISSIONS | 11198121Sgshapiro+--------------------------+ 11298121Sgshapiro 11398121SgshapiroAny application which uses either flock() or fcntl() style locking or 11498121Sgshapiroother APIs that use one of these locking methods (such as open() with 11598121SgshapiroO_EXLOCK and O_SHLOCK) on files readable by other local untrusted users 11698121Sgshapiromay be susceptible to local denial of service attacks. 11798121Sgshapiro 11898121SgshapiroFile locking is used throughout sendmail for a variety of files 11998121Sgshapiroincluding aliases, maps, statistics, and the pid file. Any user who 12098121Sgshapirocan open one of these files can prevent sendmail or it's associated 12198121Sgshapiroutilities, e.g., makemap or newaliases, from operating properly. This 12298121Sgshapirocan also affect sendmail's ability to update status files such as 12398121Sgshapirostatistics files. For system which use flock() for file locking, a 12498121Sgshapirouser's ability to obtain an exclusive lock prevents other sendmail 12598121Sgshapiroprocesses from reading certain files such as alias or map databases. 12698121Sgshapiro 12798121SgshapiroA workaround for this problem is to protect all sendmail files such 12898121Sgshapirothat they can't be opened by untrusted users. As long as users can 12998121Sgshapironot open a file, they can not lock it. Since queue files should 13098121Sgshapiroalready have restricted permissions, the only files that need 13198121Sgshapiroadjustment are alias, map, statistics, and pid files. These files 13298121Sgshapiroshould be owned by root or the trusted user specified in the 13398121SgshapiroTrustedUser option. Changing the permissions to be only readable and 13498121Sgshapirowritable by that user is sufficient to avoid the denial of service. 13598121SgshapiroFor example, depending on the paths you use, these commands would be 13698121Sgshapiroused: 13798121Sgshapiro 13898121Sgshapiro chmod 0640 /etc/mail/aliases /etc/mail/aliases.{db,pag,dir} 13998121Sgshapiro chmod 0640 /etc/mail/*.{db,pag,dir} 14098121Sgshapiro chmod 0640 /etc/mail/statistics /var/log/sendmail.st 14198121Sgshapiro chmod 0600 /var/run/sendmail.pid /etc/mail/sendmail.pid 14298121Sgshapiro 14398121SgshapiroIf the permissions 0640 are used, be sure that only trusted users belong 14498121Sgshapiroto the group assigned to those files. Otherwise, files should not even 14598121Sgshapirobe group readable. As of sendmail 8.12.4, the permissions shown above 14698121Sgshapiroare the default permissions for newly created files. 14798121Sgshapiro 14898121SgshapiroNote that the denial of service on the plain text aliases file 14998121Sgshapiro(/etc/mail/aliases) only prevents newaliases from rebuilding the 15098121Sgshapiroaliases file. The same is true for the database files on systems which 15198121Sgshapirouse fcntl() style locking. Since it does not interfere with normal 15298121Sgshapirooperations, sites may chose to leave these files readable. Also, it is 15398121Sgshapironot necessary to protect the text files associated with map databases 15498121Sgshapiroas makemap does not lock those files. 15598121Sgshapiro 15698121Sgshapiro 15738032Speter+-----------------------+ 15838032Speter| RELATED DOCUMENTATION | 15938032Speter+-----------------------+ 16038032Speter 16138032SpeterThere are other files you should read. Rooted in this directory are: 16238032Speter 16338032Speter FAQ 16480785Sgshapiro The FAQ (frequently answered questions) is no longer maintained 16580785Sgshapiro with the sendmail release. It is available at 16680785Sgshapiro http://www.sendmail.org/faq/ . The file FAQ is a reminder of 16780785Sgshapiro this and a pointer to the web page. 16864562Sgshapiro INSTALL 16964562Sgshapiro Installation instructions for building and installing sendmail. 17038032Speter KNOWNBUGS 17164562Sgshapiro Known bugs in the current release. 17238032Speter RELEASE_NOTES 17338032Speter A detailed description of the changes in each version. This 17438032Speter is quite long, but informative. 17564562Sgshapiro sendmail/README 17638032Speter Details on compiling and installing sendmail. 17738032Speter cf/README 17838032Speter Details on configuring sendmail. 17938032Speter doc/op/op.me 18038032Speter The sendmail Installation & Operations Guide. Be warned: if 18138032Speter you are running this off on SunOS or some other system with an 18238032Speter old version of -me, you need to add the following macro to the 18338032Speter macros: 18438032Speter 18538032Speter .de sm 18638032Speter \s-1\\$1\\s0\\$2 18738032Speter .. 18838032Speter 18938032Speter This sets a word in a smaller pointsize. 19038032Speter 19138032Speter 19238032Speter+--------------+ 19338032Speter| RELATED RFCS | 19438032Speter+--------------+ 19538032Speter 19638032SpeterThere are several related RFCs that you may wish to read -- they are 19764562Sgshapiroavailable via anonymous FTP to several sites. For a list of the 19864562Sgshapiroprimary repositories see: 19938032Speter 20038032Speter http://www.isi.edu/in-notes/rfc-retrieval.txt 20138032Speter 20238032SpeterThey are also online at: 20338032Speter 20438032Speter http://www.ietf.org/ 20538032Speter 20638032SpeterThey can also be retrieved via electronic mail by sending 20738032Speteremail to one of: 20838032Speter 20938032Speter mail-server@nisc.sri.com 21038032Speter Put "send rfcNNN" in message body 21138032Speter nis-info@nis.nsf.net 21238032Speter Put "send RFCnnn.TXT-1" in message body 21338032Speter sendrfc@jvnc.net 21438032Speter Put "RFCnnn" as Subject: line 21538032Speter 21638032SpeterFor further instructions see: 21738032Speter 21838032Speter http://www.isi.edu/in-notes/rfc-editor/rfc-info 21938032Speter 22038032SpeterImportant RFCs for electronic mail are: 22138032Speter 22238032Speter RFC821 SMTP protocol 22338032Speter RFC822 Mail header format 22438032Speter RFC974 MX routing 22538032Speter RFC976 UUCP mail format 22638032Speter RFC1123 Host requirements (modifies 821, 822, and 974) 22790792Sgshapiro RFC1344 Implications of MIME for Internet Mail Gateways 22838032Speter RFC1413 Identification server 22990792Sgshapiro RFC1428 Transition of Internet Mail from Just-Send-8 to 23090792Sgshapiro 8-bit SMTP/MIME 23190792Sgshapiro RFC1652 SMTP Service Extension for 8bit-MIMEtransport 23238032Speter RFC1869 SMTP Service Extensions (ESMTP spec) 23338032Speter RFC1870 SMTP Service Extension for Message Size Declaration 23438032Speter RFC1891 SMTP Service Extension for Delivery Status Notifications 23538032Speter RFC1892 Multipart/Report Content Type for the Reporting of 23638032Speter Mail System Administrative Messages 23738032Speter RFC1893 Enhanced Mail System Status Codes 23838032Speter RFC1894 An Extensible Message Format for Delivery Status 23938032Speter Notifications 24038032Speter RFC1985 SMTP Service Extension for Remote Message Queue Starting 24164562Sgshapiro RFC2033 Local Mail Transfer Protocol (LMTP) 24264562Sgshapiro RFC2034 SMTP Service Extension for Returning Enhanced Error Codes 24390792Sgshapiro RFC2045 Multipurpose Internet Mail Extensions (MIME) Part One: 24490792Sgshapiro Format of Internet Message Bodies 24564562Sgshapiro RFC2476 Message Submission 24664562Sgshapiro RFC2487 SMTP Service Extension for Secure SMTP over TLS 24764562Sgshapiro RFC2554 SMTP Service Extension for Authentication 24890792Sgshapiro RFC2821 Simple Mail Transfer Protocol 24990792Sgshapiro RFC2822 Internet Message Format 25090792Sgshapiro RFC2852 Deliver By SMTP Service Extension 25190792Sgshapiro RFC2920 SMTP Service Extension for Command Pipelining 25238032Speter 25338032SpeterOther standards that may be of interest (but which are less directly 25438032Speterrelevant to sendmail) are: 25538032Speter 25638032Speter RFC987 Mapping between RFC822 and X.400 25738032Speter RFC1049 Content-Type header field (extension to RFC822) 25838032Speter 25938032SpeterWarning to AIX users: this version of sendmail does not implement 26038032SpeterMB, MR, or MG DNS resource records, as defined (as experiments) in 26138032SpeterRFC1035. 26238032Speter 26338032Speter 26464562Sgshapiro+---------+ 26564562Sgshapiro| WARNING | 26664562Sgshapiro+---------+ 26764562Sgshapiro 26864562SgshapiroSince sendmail 8.11 and later includes hooks to cryptography, the 26964562Sgshapirofollowing information from OpenSSL applies to sendmail as well. 27064562Sgshapiro 27164562SgshapiroPLEASE REMEMBER THAT EXPORT/IMPORT AND/OR USE OF STRONG CRYPTOGRAPHY 27264562SgshapiroSOFTWARE, PROVIDING CRYPTOGRAPHY HOOKS OR EVEN JUST COMMUNICATING 27364562SgshapiroTECHNICAL DETAILS ABOUT CRYPTOGRAPHY SOFTWARE IS ILLEGAL IN SOME 27464562SgshapiroPARTS OF THE WORLD. SO, WHEN YOU IMPORT THIS PACKAGE TO YOUR 27564562SgshapiroCOUNTRY, RE-DISTRIBUTE IT FROM THERE OR EVEN JUST EMAIL TECHNICAL 27664562SgshapiroSUGGESTIONS OR EVEN SOURCE PATCHES TO THE AUTHOR OR OTHER PEOPLE 27764562SgshapiroYOU ARE STRONGLY ADVISED TO PAY CLOSE ATTENTION TO ANY EXPORT/IMPORT 27890792SgshapiroAND/OR USE LAWS WHICH APPLY TO YOU. THE AUTHORS ARE NOT LIABLE FOR 27990792SgshapiroANY VIOLATIONS YOU MAKE HERE. SO BE CAREFUL, IT IS YOUR RESPONSIBILITY. 28064562Sgshapiro 28164562SgshapiroIf you use OpenSSL then make sure you read their README file which 28264562Sgshapirocontains information about patents etc. 28364562Sgshapiro 28464562Sgshapiro 28538032Speter+-------------------+ 28638032Speter| DATABASE ROUTINES | 28738032Speter+-------------------+ 28838032Speter 28938032SpeterIF YOU WANT TO RUN THE NEW BERKELEY DB SOFTWARE: **** DO NOT **** 29038032Speteruse the version that was on the Net2 tape -- it has a number of 29138032Speternefarious bugs that were bad enough when I got them; you shouldn't have 29238032Speterto go through the same thing. Instead, get a new version via the web at 29338032Speterhttp://www.sleepycat.com/. This software is highly recommended; it gets 29438032Speterrid of several stupid limits, it's much faster, and the interface is 29538032Speternicer to animals and plants. If the Berkeley DB include files 29638032Speterare installed in a location other than those which your compiler searches, 29738032Speteryou will need to provide that directory when building: 29838032Speter 29938032Speter Build -I/path/to/include/directory 30038032Speter 30138032SpeterIf you are using Berkeley DB versions 1.85 or 1.86, you are *strongly* 30264562Sgshapirourged to upgrade to DB version 2 or later, available from 30364562Sgshapirohttp://www.sleepycat.com/. Berkeley DB versions 1.85 and 1.86 are known to 30464562Sgshapirobe broken in various nasty ways (see http://www.sleepycat.com/db.185.html), 30564562Sgshapiroand can cause sendmail to dump core. In addition, the newest versions of 30664562Sgshapirogcc and the Solaris compilers perform optimizations in those versions that 30764562Sgshapiromay cause fairly random core dumps. 30838032Speter 30938032SpeterIf you have no choice but to use Berkeley DB 1.85 or 1.86, and you are 31038032Speterusing both Berkeley DB and files in the UNIX ndbm format, remove ndbm.h 31138032Speterand ndbm.o from the DB library after building it. You should also apply 31238032Speterall of the patches for DB 1.85 and 1.86 found at the Sleepycat web site 31338032Speter(see http://www.sleepycat.com/db.185.html), as they fix some of the known 31438032Speterproblems. 31538032Speter 31638032SpeterIf you are using a version of Berkeley DB 2 previous to 2.3.15, and you 31738032Speterare using both Berkeley DB and files in the UNIX ndbm format, remove dbm.o 31838032Speterfrom the DB library after building it. No other changes are necessary. 31938032Speter 32038032SpeterIf you are using Berkeley DB version 2.3.15 or greater, no changes are 32138032Speternecessary. 32238032Speter 32338032SpeterThe underlying database file formats changed between Berkeley DB versions 32464562Sgshapiro1.85 and 1.86, again between DB 1.86 and version 2.0, and finally between 32564562SgshapiroDB 2.X and 3.X. If you are upgrading from one of those versions, you must 32664562Sgshapirorecreate your database file(s). Do this by rebuilding all maps with 32764562Sgshapiromakemap and rebuilding the alias file with newaliases. 32838032Speter 32938032Speter 33038032Speter+--------------------+ 33138032Speter| HOST NAME SERVICES | 33238032Speter+--------------------+ 33338032Speter 33438032SpeterIf you are using NIS or /etc/hosts, it is critical that you 33538032Speterlist the long (fully qualified) name somewhere (preferably first) in 33638032Speterthe /etc/hosts file used to build the NIS database. For example, the 33738032Speterline should read 33838032Speter 33938032Speter 128.32.149.68 mastodon.CS.Berkeley.EDU mastodon 34038032Speter 34138032Speter**** NOT **** 34238032Speter 34338032Speter 128.32.149.68 mastodon 34438032Speter 34538032SpeterIf you do not include the long name, sendmail will complain loudly 34638032Speterabout ``unable to qualify my own domain name (mastodon) -- using 34738032Spetershort name'' and conclude that your canonical name is the short 34838032Speterversion and use that in messages. The name "mastodon" doesn't mean 34938032Spetermuch outside of Berkeley, and so this creates incorrect and unreplyable 35038032Spetermessages. 35138032Speter 35238032Speter 35338032Speter+-------------+ 35438032Speter| USE WITH MH | 35538032Speter+-------------+ 35638032Speter 35738032SpeterThis version of sendmail notices and reports certain kinds of SMTP 35838032Speterprotocol violations that were ignored by older versions. If you 35938032Speterare running MH you may wish to install the patch in contrib/mh.patch 36038032Speterthat will prevent these warning reports. This patch also works 36138032Speterwith the old version of sendmail, so it's safe to go ahead and 36238032Speterinstall it. 36338032Speter 36438032Speter 36538032Speter+----------------+ 36638032Speter| USE WITH IDENT | 36738032Speter+----------------+ 36838032Speter 36938032SpeterSendmail 8 supports the IDENT protocol, as defined by RFC 1413. 37064562SgshapiroNote that the RFC states a client should wait at least 30 seconds 37164562Sgshapirofor a response. As of 8.10.0, the default Timeout.ident is 5 seconds 37264562Sgshapiroas many sites have adopted the practice of dropping IDENT queries. 37364562SgshapiroThis has lead to delays processing mail. 37438032Speter 37564562SgshapiroNo ident server is included with this distribution. It is available 37664562Sgshapirofrom: 37738032Speter 37864562Sgshapiro ftp://ftp.lysator.liu.se/pub/ident/servers/ 37964562Sgshapiro http://sf.www.lysator.liu.se/~pen/pidentd/ 38038032Speter 38143730Speter+-------------------------+ 38243730Speter| INTEROPERATION PROBLEMS | 38343730Speter+-------------------------+ 38443730Speter 38543730SpeterMicrosoft Exchange Server 5.0 38643730Speter We have had a report that ``about 7% of messages from Sendmail 38743730Speter to Exchange were not being delivered with status messages of 38843730Speter "connection reset" and "I/O error".'' Upgrading Exchange from 38943730Speter Version 5.0 to Version 5.5 Service Pack 2 solved this problem. 39043730Speter 39164562SgshapiroCommuniGate Pro 39264562Sgshapiro CommuniGate Pro 3.2.4 does not accept the AUTH= -parameter on 39364562Sgshapiro the MAIL FROM command if the client is not authenticated. Use 39443730Speter 39564562Sgshapiro define(`confAUTH_OPTIONS', `A') 39664562Sgshapiro 39764562Sgshapiro in .mc file if you have compiled sendmail with Cyrus SASL 39864562Sgshapiro and you communicate with CommuniGate Pro servers. 39964562Sgshapiro 40038032Speter+---------------------+ 40138032Speter| DIRECTORY STRUCTURE | 40238032Speter+---------------------+ 40338032Speter 40438032SpeterThe structure of this directory tree is: 40538032Speter 40638032Spetercf Source for sendmail configuration files. These are 40738032Speter different than what you've seen before. They are a 40838032Speter fairly dramatic rewrite, requiring the new sendmail 40938032Speter (since they use new features). 41038032Spetercontrib Some contributed tools to help with sendmail. THESE 41138032Speter ARE NOT SUPPORTED by sendmail -- contact the original 41238032Speter authors if you have problems. (This directory is not 41338032Speter on the 4.4BSD tape.) 41464562Sgshapirodevtools Build environment. See devtools/README. 41538032Speterdoc Documentation. If you are getting source, read 41638032Speter op.me -- it's long, but worth it. 41790792Sgshapiroeditmap A program to edit and query maps that have been created 41890792Sgshapiro with makemap, e.g., adding and deleting entries. 41964562Sgshapiroinclude Include files used by multiple programs in the distribution. 42064562Sgshapirolibsmdb sendmail database library with support for Berkeley DB 1.X, 42164562Sgshapiro Berkeley DB 2.X, Berkeley DB 3.X, and NDBM. 42264562Sgshapirolibsmutil sendmail utility library with functions used by different 42364562Sgshapiro programs. 42438032Spetermail.local The source for the local delivery agent used for 4.4BSD. 42538032Speter THIS IS NOT PART OF SENDMAIL! and may not compile 42638032Speter everywhere, since it depends on some 4.4-isms. Warning: 42738032Speter it does mailbox locking differently than other systems. 42864562Sgshapiromailstats Statistics printing program. 42938032Spetermakemap A program that creates the keyed maps used by the $( ... $) 43038032Speter construct in sendmail. It is primitive but effective. 43138032Speter It takes a very simple input format, so you will probably 43238032Speter expect to preprocess must human-convenient formats 43338032Speter using sed scripts before this program will like them. 43438032Speter But it should be functionally complete. 43538032Speterpraliases A program to print the DBM or NEWDB version of the 43638032Speter aliases file. 43738032Speterrmail Source for rmail(8). This is used as a delivery 43838032Speter agent for for UUCP, and could presumably be used by 43938032Speter other non-socket oriented mailers. Older versions of 44038032Speter rmail are probably deficient. RMAIL IS NOT PART OF 44138032Speter SENDMAIL!!! The 4.4BSD source is included for you to 44264562Sgshapiro look at or try to port to your system. There is no 44364562Sgshapiro guarantee it will even compile on your operating system. 44438032Spetersmrsh The "sendmail restricted shell", which can be used as 44538032Speter a replacement for /bin/sh in the prog mailer to provide 44638032Speter increased security control. NOT PART OF SENDMAIL! 44764562Sgshapirosendmail Source for the sendmail program itself. 44838032Spetertest Some test scripts (currently only for compilation aids). 44964562Sgshapirovacation Source for the vacation program. NOT PART OF SENDMAIL! 45064562Sgshapiro 45198121Sgshapiro$Revision: 8.90 $, Last updated $Date: 2002/05/25 02:55:59 $ 452