xref: /freebsd/contrib/sendmail/README (revision 13bd19636bde9fea5821698cb77c32edee6a9ac9)
1c2aa98e2SPeter Wemm
2c2aa98e2SPeter Wemm			SENDMAIL RELEASE 8
3c2aa98e2SPeter Wemm
4c2aa98e2SPeter WemmThis directory has the latest sendmail(TM) software from Sendmail, Inc.
5c2aa98e2SPeter Wemm
6c2aa98e2SPeter WemmReport any bugs to sendmail-bugs@sendmail.ORG
7c2aa98e2SPeter Wemm
806f25ae9SGregory Neil ShapiroThere is a web site at http://WWW.Sendmail.ORG/ -- see that site for
9c2aa98e2SPeter Wemmthe latest updates.
10c2aa98e2SPeter Wemm
1106f25ae9SGregory Neil Shapiro+--------------+
1206f25ae9SGregory Neil Shapiro| INTRODUCTION |
1306f25ae9SGregory Neil Shapiro+--------------+
1406f25ae9SGregory Neil Shapiro
1506f25ae9SGregory Neil Shapiro0. The vast majority of queries to <sendmail-questions@sendmail.org>
1606f25ae9SGregory Neil Shapiro   are answered in the README files noted below.
1706f25ae9SGregory Neil Shapiro
1806f25ae9SGregory Neil Shapiro1. Read this README file, especially this introduction, and the DIRECTORY
1906f25ae9SGregory Neil Shapiro   PERMISSIONS sections.
2006f25ae9SGregory Neil Shapiro
2113058a91SGregory Neil Shapiro2. Read the INSTALL file in this directory.
2213058a91SGregory Neil Shapiro
2313058a91SGregory Neil Shapiro3. Read sendmail/README, especially:
2406f25ae9SGregory Neil Shapiro   a. the introduction
2506f25ae9SGregory Neil Shapiro   b. the BUILDING SENDMAIL section
2606f25ae9SGregory Neil Shapiro   c. the relevant part(s) of the OPERATING SYSTEM AND COMPILE QUIRKS section
2706f25ae9SGregory Neil Shapiro
2806f25ae9SGregory Neil Shapiro   You may also find these useful:
2906f25ae9SGregory Neil Shapiro
3040266059SGregory Neil Shapiro   d. sendmail/SECURITY
3140266059SGregory Neil Shapiro   e. devtools/README
3240266059SGregory Neil Shapiro   f. devtools/Site/README
3340266059SGregory Neil Shapiro   g. libmilter/README
3440266059SGregory Neil Shapiro   h. mail.local/README
3540266059SGregory Neil Shapiro   i. smrsh/README
3606f25ae9SGregory Neil Shapiro
3713058a91SGregory Neil Shapiro4. Read cf/README.
38c2aa98e2SPeter Wemm
39c2aa98e2SPeter WemmSendmail is a trademark of Sendmail, Inc.
40c2aa98e2SPeter Wemm
41c2aa98e2SPeter Wemm+-----------------------+
42c2aa98e2SPeter Wemm| DIRECTORY PERMISSIONS |
43c2aa98e2SPeter Wemm+-----------------------+
44c2aa98e2SPeter Wemm
45c2aa98e2SPeter WemmSendmail often gets blamed for many problems that are actually the
46c2aa98e2SPeter Wemmresult of other problems, such as overly permissive modes on directories.
47c2aa98e2SPeter WemmFor this reason, sendmail checks the modes on system directories and
4806f25ae9SGregory Neil Shapirofiles to determine if they can be trusted.  For sendmail to run without
4906f25ae9SGregory Neil Shapirocomplaining, you MUST execute the following command:
50c2aa98e2SPeter Wemm
51c2aa98e2SPeter Wemm	chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
52c2aa98e2SPeter Wemm	chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
53c2aa98e2SPeter Wemm
54c2aa98e2SPeter WemmYou will probably have to tweak this for your environment (for example,
55c2aa98e2SPeter Wemmsome systems put the spool directory into /usr/spool instead of
5606f25ae9SGregory Neil Shapiro/var/spool).  If you set the RunAsUser option in your sendmail.cf, the
5706f25ae9SGregory Neil Shapiro/var/spool/mqueue directory will have to be owned by the RunAsUser user.
5806f25ae9SGregory Neil ShapiroAs a general rule, after you have compiled sendmail, run the command
59c2aa98e2SPeter Wemm
60c2aa98e2SPeter Wemm	sendmail -v -bi
61c2aa98e2SPeter Wemm
62c2aa98e2SPeter Wemmto initialize the alias database.  If it gives messages such as
63c2aa98e2SPeter Wemm
64c2aa98e2SPeter Wemm	WARNING: writable directory /etc
6506f25ae9SGregory Neil Shapiro	WARNING: writable directory /var/spool/mqueue
66c2aa98e2SPeter Wemm
67c2aa98e2SPeter Wemmthen the directories listed have inappropriate write permissions and
68c2aa98e2SPeter Wemmshould be secured to avoid various possible security attacks.
69c2aa98e2SPeter Wemm
70c2aa98e2SPeter WemmBeginning with sendmail 8.9, these checks have become more strict to
71c2aa98e2SPeter Wemmprevent users from being able to access files they would normally not
72c2aa98e2SPeter Wemmbe able to read.  In particular, .forward and :include: files in unsafe
73c2aa98e2SPeter Wemmdirectory paths (directory paths which are group or world writable) will
74c2aa98e2SPeter Wemmno longer be allowed.  This would mean that if user joe's home directory
75c2aa98e2SPeter Wemmwas writable by group staff, sendmail would not use his .forward file.
76c2aa98e2SPeter WemmThis behavior can be altered, at the expense of system security, by
77c2aa98e2SPeter Wemmsetting the DontBlameSendmail option.  For example, to allow .forward
78c2aa98e2SPeter Wemmfiles in group writable directories:
79c2aa98e2SPeter Wemm
80c2aa98e2SPeter Wemm	O DontBlameSendmail=forwardfileingroupwritabledirpath
81c2aa98e2SPeter Wemm
82c2aa98e2SPeter WemmOr to allow them in both group and world writable directories:
83c2aa98e2SPeter Wemm
84c2aa98e2SPeter Wemm	O DontBlameSendmail=forwardfileinunsafedirpath
85c2aa98e2SPeter Wemm
86c2aa98e2SPeter WemmItems from these unsafe .forward and :include: files will be marked
87c2aa98e2SPeter Wemmas unsafe addresses -- the items can not be deliveries to files or
88c2aa98e2SPeter Wemmprograms.  This behavior can also be altered via DontBlameSendmail:
89c2aa98e2SPeter Wemm
90c2aa98e2SPeter Wemm	O DontBlameSendmail=forwardfileinunsafedirpath,
91c2aa98e2SPeter Wemm		forwardfileinunsafedirpathsafe
92c2aa98e2SPeter Wemm
93c2aa98e2SPeter WemmThe first flag allows the .forward file to be read, the second allows
94c2aa98e2SPeter Wemmthe items in the file to be marked as safe for file and program
95c2aa98e2SPeter Wemmdelivery.
96c2aa98e2SPeter Wemm
97c2aa98e2SPeter WemmOther files affected by this strengthened security include class
9840266059SGregory Neil Shapirofiles (i.e., Fw /etc/mail/local-host-names), persistent host status files,
9906f25ae9SGregory Neil Shapiroand the files specified by the ErrorHeader and HelpFile options.  Similar
100c2aa98e2SPeter WemmDontBlameSendmail flags are available for the class, ErrorHeader, and
101c2aa98e2SPeter WemmHelpFile files.
102c2aa98e2SPeter Wemm
103c2aa98e2SPeter WemmIf you have an unsafe configuration of .forward and :include:
104c2aa98e2SPeter Wemmfiles, you can make it safe by finding all such files, and doing
105c2aa98e2SPeter Wemma "chmod go-w $FILE" on each.  Also, do a "chmod go-w $DIR" for
106c2aa98e2SPeter Wemmeach directory in the file's path.
107c2aa98e2SPeter Wemm
108c2aa98e2SPeter Wemm
10994c01205SGregory Neil Shapiro+--------------------------+
11094c01205SGregory Neil Shapiro| FILE AND MAP PERMISSIONS |
11194c01205SGregory Neil Shapiro+--------------------------+
11294c01205SGregory Neil Shapiro
11394c01205SGregory Neil ShapiroAny application which uses either flock() or fcntl() style locking or
11494c01205SGregory Neil Shapiroother APIs that use one of these locking methods (such as open() with
11594c01205SGregory Neil ShapiroO_EXLOCK and O_SHLOCK) on files readable by other local untrusted users
11694c01205SGregory Neil Shapiromay be susceptible to local denial of service attacks.
11794c01205SGregory Neil Shapiro
11894c01205SGregory Neil ShapiroFile locking is used throughout sendmail for a variety of files
11994c01205SGregory Neil Shapiroincluding aliases, maps, statistics, and the pid file.  Any user who
12094c01205SGregory Neil Shapirocan open one of these files can prevent sendmail or it's associated
12194c01205SGregory Neil Shapiroutilities, e.g., makemap or newaliases, from operating properly.  This
12294c01205SGregory Neil Shapirocan also affect sendmail's ability to update status files such as
12394c01205SGregory Neil Shapirostatistics files.  For system which use flock() for file locking, a
12494c01205SGregory Neil Shapirouser's ability to obtain an exclusive lock prevents other sendmail
12594c01205SGregory Neil Shapiroprocesses from reading certain files such as alias or map databases.
12694c01205SGregory Neil Shapiro
12794c01205SGregory Neil ShapiroA workaround for this problem is to protect all sendmail files such
12894c01205SGregory Neil Shapirothat they can't be opened by untrusted users.  As long as users can
12994c01205SGregory Neil Shapironot open a file, they can not lock it.  Since queue files should
13094c01205SGregory Neil Shapiroalready have restricted permissions, the only files that need
13194c01205SGregory Neil Shapiroadjustment are alias, map, statistics, and pid files.  These files
13294c01205SGregory Neil Shapiroshould be owned by root or the trusted user specified in the
13394c01205SGregory Neil ShapiroTrustedUser option.  Changing the permissions to be only readable and
13494c01205SGregory Neil Shapirowritable by that user is sufficient to avoid the denial of service.
13594c01205SGregory Neil ShapiroFor example, depending on the paths you use, these commands would be
13694c01205SGregory Neil Shapiroused:
13794c01205SGregory Neil Shapiro
13894c01205SGregory Neil Shapiro	chmod 0640 /etc/mail/aliases /etc/mail/aliases.{db,pag,dir}
13994c01205SGregory Neil Shapiro	chmod 0640 /etc/mail/*.{db,pag,dir}
14094c01205SGregory Neil Shapiro	chmod 0640 /etc/mail/statistics /var/log/sendmail.st
14194c01205SGregory Neil Shapiro	chmod 0600 /var/run/sendmail.pid /etc/mail/sendmail.pid
14294c01205SGregory Neil Shapiro
14394c01205SGregory Neil ShapiroIf the permissions 0640 are used, be sure that only trusted users belong
14494c01205SGregory Neil Shapiroto the group assigned to those files.  Otherwise, files should not even
14594c01205SGregory Neil Shapirobe group readable.  As of sendmail 8.12.4, the permissions shown above
14694c01205SGregory Neil Shapiroare the default permissions for newly created files.
14794c01205SGregory Neil Shapiro
14894c01205SGregory Neil ShapiroNote that the denial of service on the plain text aliases file
14994c01205SGregory Neil Shapiro(/etc/mail/aliases) only prevents newaliases from rebuilding the
15094c01205SGregory Neil Shapiroaliases file.  The same is true for the database files on systems which
15194c01205SGregory Neil Shapirouse fcntl() style locking.  Since it does not interfere with normal
15294c01205SGregory Neil Shapirooperations, sites may chose to leave these files readable.  Also, it is
15394c01205SGregory Neil Shapironot necessary to protect the text files associated with map databases
15494c01205SGregory Neil Shapiroas makemap does not lock those files.
15594c01205SGregory Neil Shapiro
15694c01205SGregory Neil Shapiro
157c2aa98e2SPeter Wemm+-----------------------+
158c2aa98e2SPeter Wemm| RELATED DOCUMENTATION |
159c2aa98e2SPeter Wemm+-----------------------+
160c2aa98e2SPeter Wemm
161c2aa98e2SPeter WemmThere are other files you should read.  Rooted in this directory are:
162c2aa98e2SPeter Wemm
163c2aa98e2SPeter Wemm  FAQ
16413058a91SGregory Neil Shapiro	The FAQ (frequently answered questions) is no longer maintained
16513058a91SGregory Neil Shapiro	with the sendmail release.  It is available at
16613058a91SGregory Neil Shapiro	http://www.sendmail.org/faq/ .  The file FAQ is a reminder of
16713058a91SGregory Neil Shapiro	this and a pointer to the web page.
16806f25ae9SGregory Neil Shapiro  INSTALL
16906f25ae9SGregory Neil Shapiro	Installation instructions for building and installing sendmail.
170c2aa98e2SPeter Wemm  KNOWNBUGS
17106f25ae9SGregory Neil Shapiro	Known bugs in the current release.
172c2aa98e2SPeter Wemm  RELEASE_NOTES
173c2aa98e2SPeter Wemm	A detailed description of the changes in each version.  This
174c2aa98e2SPeter Wemm	is quite long, but informative.
17506f25ae9SGregory Neil Shapiro  sendmail/README
176c2aa98e2SPeter Wemm	Details on compiling and installing sendmail.
177c2aa98e2SPeter Wemm  cf/README
178c2aa98e2SPeter Wemm	Details on configuring sendmail.
179c2aa98e2SPeter Wemm  doc/op/op.me
18013bd1963SGregory Neil Shapiro	The sendmail Installation & Operations Guide.  In addition
18113bd1963SGregory Neil Shapiro	to the shipped PostScript version, plain text and PDF versions
18213bd1963SGregory Neil Shapiro	can be generating using (assuming the required conversion software
18313bd1963SGregory Neil Shapiro	is installed on your system, see doc/op/Makefile):
18413bd1963SGregory Neil Shapiro
18513bd1963SGregory Neil Shapiro	cd doc/op && make op.txt op.pdf
18613bd1963SGregory Neil Shapiro
18713bd1963SGregory Neil Shapiro	Be warned: on some systems calling make in doc/op/ will cause
18813bd1963SGregory Neil Shapiro	errors due to nroff/groff problems.  Known problems are:
18913bd1963SGregory Neil Shapiro	- running this off on systems with an old version of -me, you
19013bd1963SGregory Neil Shapiro	need to add the following macro to the macros:
191c2aa98e2SPeter Wemm
192c2aa98e2SPeter Wemm		.de sm
193c2aa98e2SPeter Wemm		\s-1\\$1\\s0\\$2
194c2aa98e2SPeter Wemm		..
195c2aa98e2SPeter Wemm
196c2aa98e2SPeter Wemm	This sets a word in a smaller pointsize.
197c2aa98e2SPeter Wemm
19813bd1963SGregory Neil Shapiro	- with new groff versions (1.18 seems affected)
19913bd1963SGregory Neil Shapiro
20013bd1963SGregory Neil Shapiro	GROFF_NO_SGR=1
20113bd1963SGregory Neil Shapiro
20213bd1963SGregory Neil Shapiro	needs to be set, e.g., in doc/op/Makefile:
20313bd1963SGregory Neil Shapiro
20413bd1963SGregory Neil Shapiro	ROFF_CMD=	GROFF_NO_SGR=1 groff
20513bd1963SGregory Neil Shapiro
206c2aa98e2SPeter Wemm
207c2aa98e2SPeter Wemm+--------------+
208c2aa98e2SPeter Wemm| RELATED RFCS |
209c2aa98e2SPeter Wemm+--------------+
210c2aa98e2SPeter Wemm
211c2aa98e2SPeter WemmThere are several related RFCs that you may wish to read -- they are
21206f25ae9SGregory Neil Shapiroavailable via anonymous FTP to several sites.  For a list of the
21306f25ae9SGregory Neil Shapiroprimary repositories see:
214c2aa98e2SPeter Wemm
215c2aa98e2SPeter Wemm	http://www.isi.edu/in-notes/rfc-retrieval.txt
216c2aa98e2SPeter Wemm
217c2aa98e2SPeter WemmThey are also online at:
218c2aa98e2SPeter Wemm
219c2aa98e2SPeter Wemm	http://www.ietf.org/
220c2aa98e2SPeter Wemm
221c2aa98e2SPeter WemmThey can also be retrieved via electronic mail by sending
222c2aa98e2SPeter Wemmemail to one of:
223c2aa98e2SPeter Wemm
224c2aa98e2SPeter Wemm	mail-server@nisc.sri.com
225c2aa98e2SPeter Wemm		Put "send rfcNNN" in message body
226c2aa98e2SPeter Wemm	nis-info@nis.nsf.net
227c2aa98e2SPeter Wemm		Put "send RFCnnn.TXT-1" in message body
228c2aa98e2SPeter Wemm	sendrfc@jvnc.net
229c2aa98e2SPeter Wemm		Put "RFCnnn" as Subject: line
230c2aa98e2SPeter Wemm
231c2aa98e2SPeter WemmFor further instructions see:
232c2aa98e2SPeter Wemm
233c2aa98e2SPeter Wemm	http://www.isi.edu/in-notes/rfc-editor/rfc-info
234c2aa98e2SPeter Wemm
235c2aa98e2SPeter WemmImportant RFCs for electronic mail are:
236c2aa98e2SPeter Wemm
237c2aa98e2SPeter Wemm	RFC821	SMTP protocol
238c2aa98e2SPeter Wemm	RFC822	Mail header format
239c2aa98e2SPeter Wemm	RFC974	MX routing
240c2aa98e2SPeter Wemm	RFC976	UUCP mail format
241c2aa98e2SPeter Wemm	RFC1123	Host requirements (modifies 821, 822, and 974)
242c2aa98e2SPeter Wemm	RFC1344	Implications of MIME for Internet Mail Gateways
24340266059SGregory Neil Shapiro	RFC1413	Identification server
244c2aa98e2SPeter Wemm	RFC1428	Transition of Internet Mail from Just-Send-8 to
245c2aa98e2SPeter Wemm		8-bit SMTP/MIME
24640266059SGregory Neil Shapiro	RFC1652	SMTP Service Extension for 8bit-MIMEtransport
24740266059SGregory Neil Shapiro	RFC1869	SMTP Service Extensions (ESMTP spec)
24840266059SGregory Neil Shapiro	RFC1870	SMTP Service Extension for Message Size Declaration
249c2aa98e2SPeter Wemm	RFC1891	SMTP Service Extension for Delivery Status Notifications
250c2aa98e2SPeter Wemm	RFC1892	Multipart/Report Content Type for the Reporting of
251c2aa98e2SPeter Wemm		Mail System Administrative Messages
252c2aa98e2SPeter Wemm	RFC1893	Enhanced Mail System Status Codes
253c2aa98e2SPeter Wemm	RFC1894	An Extensible Message Format for Delivery Status
254c2aa98e2SPeter Wemm		Notifications
255c2aa98e2SPeter Wemm	RFC1985	SMTP Service Extension for Remote Message Queue Starting
25606f25ae9SGregory Neil Shapiro	RFC2033 Local Mail Transfer Protocol (LMTP)
25706f25ae9SGregory Neil Shapiro	RFC2034 SMTP Service Extension for Returning Enhanced Error Codes
25840266059SGregory Neil Shapiro	RFC2045	Multipurpose Internet Mail Extensions (MIME) Part One:
25940266059SGregory Neil Shapiro		Format of Internet Message Bodies
26006f25ae9SGregory Neil Shapiro	RFC2476 Message Submission
26106f25ae9SGregory Neil Shapiro	RFC2487 SMTP Service Extension for Secure SMTP over TLS
26206f25ae9SGregory Neil Shapiro	RFC2554 SMTP Service Extension for Authentication
26340266059SGregory Neil Shapiro	RFC2821 Simple Mail Transfer Protocol
26440266059SGregory Neil Shapiro	RFC2822 Internet Message Format
26540266059SGregory Neil Shapiro	RFC2852 Deliver By SMTP Service Extension
26640266059SGregory Neil Shapiro	RFC2920 SMTP Service Extension for Command Pipelining
267c2aa98e2SPeter Wemm
268c2aa98e2SPeter WemmOther standards that may be of interest (but which are less directly
269c2aa98e2SPeter Wemmrelevant to sendmail) are:
270c2aa98e2SPeter Wemm
271c2aa98e2SPeter Wemm	RFC987	Mapping between RFC822 and X.400
272c2aa98e2SPeter Wemm	RFC1049	Content-Type header field (extension to RFC822)
273c2aa98e2SPeter Wemm
274c2aa98e2SPeter WemmWarning to AIX users: this version of sendmail does not implement
275c2aa98e2SPeter WemmMB, MR, or MG DNS resource records, as defined (as experiments) in
276c2aa98e2SPeter WemmRFC1035.
277c2aa98e2SPeter Wemm
278c2aa98e2SPeter Wemm
27906f25ae9SGregory Neil Shapiro+---------+
28006f25ae9SGregory Neil Shapiro| WARNING |
28106f25ae9SGregory Neil Shapiro+---------+
28206f25ae9SGregory Neil Shapiro
28306f25ae9SGregory Neil ShapiroSince sendmail 8.11 and later includes hooks to cryptography, the
28406f25ae9SGregory Neil Shapirofollowing information from OpenSSL applies to sendmail as well.
28506f25ae9SGregory Neil Shapiro
28606f25ae9SGregory Neil ShapiroPLEASE REMEMBER THAT EXPORT/IMPORT AND/OR USE OF STRONG CRYPTOGRAPHY
28706f25ae9SGregory Neil ShapiroSOFTWARE, PROVIDING CRYPTOGRAPHY HOOKS OR EVEN JUST COMMUNICATING
28806f25ae9SGregory Neil ShapiroTECHNICAL DETAILS ABOUT CRYPTOGRAPHY SOFTWARE IS ILLEGAL IN SOME
28906f25ae9SGregory Neil ShapiroPARTS OF THE WORLD.  SO, WHEN YOU IMPORT THIS PACKAGE TO YOUR
29006f25ae9SGregory Neil ShapiroCOUNTRY, RE-DISTRIBUTE IT FROM THERE OR EVEN JUST EMAIL TECHNICAL
29106f25ae9SGregory Neil ShapiroSUGGESTIONS OR EVEN SOURCE PATCHES TO THE AUTHOR OR OTHER PEOPLE
29206f25ae9SGregory Neil ShapiroYOU ARE STRONGLY ADVISED TO PAY CLOSE ATTENTION TO ANY EXPORT/IMPORT
29306f25ae9SGregory Neil ShapiroAND/OR USE LAWS WHICH APPLY TO YOU.  THE AUTHORS ARE NOT LIABLE FOR
29406f25ae9SGregory Neil ShapiroANY VIOLATIONS YOU MAKE HERE.  SO BE CAREFUL, IT IS YOUR RESPONSIBILITY.
29506f25ae9SGregory Neil Shapiro
29606f25ae9SGregory Neil ShapiroIf you use OpenSSL then make sure you read their README file which
29706f25ae9SGregory Neil Shapirocontains information about patents etc.
29806f25ae9SGregory Neil Shapiro
29906f25ae9SGregory Neil Shapiro
300c2aa98e2SPeter Wemm+-------------------+
301c2aa98e2SPeter Wemm| DATABASE ROUTINES |
302c2aa98e2SPeter Wemm+-------------------+
303c2aa98e2SPeter Wemm
304c2aa98e2SPeter WemmIF YOU WANT TO RUN THE NEW BERKELEY DB SOFTWARE:  ****  DO NOT  ****
305c2aa98e2SPeter Wemmuse the version that was on the Net2 tape -- it has a number of
306c2aa98e2SPeter Wemmnefarious bugs that were bad enough when I got them; you shouldn't have
307c2aa98e2SPeter Wemmto go through the same thing.  Instead, get a new version via the web at
308c2aa98e2SPeter Wemmhttp://www.sleepycat.com/.  This software is highly recommended; it gets
309c2aa98e2SPeter Wemmrid of several stupid limits, it's much faster, and the interface is
310c2aa98e2SPeter Wemmnicer to animals and plants.  If the Berkeley DB include files
311c2aa98e2SPeter Wemmare installed in a location other than those which your compiler searches,
312c2aa98e2SPeter Wemmyou will need to provide that directory when building:
313c2aa98e2SPeter Wemm
314c2aa98e2SPeter Wemm	Build -I/path/to/include/directory
315c2aa98e2SPeter Wemm
316c2aa98e2SPeter WemmIf you are using Berkeley DB versions 1.85 or 1.86, you are *strongly*
31706f25ae9SGregory Neil Shapirourged to upgrade to DB version 2 or later, available from
31806f25ae9SGregory Neil Shapirohttp://www.sleepycat.com/.  Berkeley DB versions 1.85 and 1.86 are known to
31906f25ae9SGregory Neil Shapirobe broken in various nasty ways (see http://www.sleepycat.com/db.185.html),
32006f25ae9SGregory Neil Shapiroand can cause sendmail to dump core.  In addition, the newest versions of
32106f25ae9SGregory Neil Shapirogcc and the Solaris compilers perform optimizations in those versions that
32206f25ae9SGregory Neil Shapiromay cause fairly random core dumps.
323c2aa98e2SPeter Wemm
324c2aa98e2SPeter WemmIf you have no choice but to use Berkeley DB 1.85 or 1.86, and you are
325c2aa98e2SPeter Wemmusing both Berkeley DB and files in the UNIX ndbm format, remove ndbm.h
326c2aa98e2SPeter Wemmand ndbm.o from the DB library after building it.  You should also apply
327c2aa98e2SPeter Wemmall of the patches for DB 1.85 and 1.86 found at the Sleepycat web site
328c2aa98e2SPeter Wemm(see http://www.sleepycat.com/db.185.html), as they fix some of the known
329c2aa98e2SPeter Wemmproblems.
330c2aa98e2SPeter Wemm
331c2aa98e2SPeter WemmIf you are using a version of Berkeley DB 2 previous to 2.3.15, and you
332c2aa98e2SPeter Wemmare using both Berkeley DB and files in the UNIX ndbm format, remove dbm.o
333c2aa98e2SPeter Wemmfrom the DB library after building it.  No other changes are necessary.
334c2aa98e2SPeter Wemm
335c2aa98e2SPeter WemmIf you are using Berkeley DB version 2.3.15 or greater, no changes are
336c2aa98e2SPeter Wemmnecessary.
337c2aa98e2SPeter Wemm
338c2aa98e2SPeter WemmThe underlying database file formats changed between Berkeley DB versions
33906f25ae9SGregory Neil Shapiro1.85 and 1.86, again between DB 1.86 and version 2.0, and finally between
34006f25ae9SGregory Neil ShapiroDB 2.X and 3.X.  If you are upgrading from one of those versions, you must
34106f25ae9SGregory Neil Shapirorecreate your database file(s).  Do this by rebuilding all maps with
34206f25ae9SGregory Neil Shapiromakemap and rebuilding the alias file with newaliases.
343c2aa98e2SPeter Wemm
344c2aa98e2SPeter Wemm
345c2aa98e2SPeter Wemm+--------------------+
346c2aa98e2SPeter Wemm| HOST NAME SERVICES |
347c2aa98e2SPeter Wemm+--------------------+
348c2aa98e2SPeter Wemm
349c2aa98e2SPeter WemmIf you are using NIS or /etc/hosts, it is critical that you
350c2aa98e2SPeter Wemmlist the long (fully qualified) name somewhere (preferably first) in
351c2aa98e2SPeter Wemmthe /etc/hosts file used to build the NIS database.  For example, the
352c2aa98e2SPeter Wemmline should read
353c2aa98e2SPeter Wemm
354c2aa98e2SPeter Wemm	128.32.149.68   mastodon.CS.Berkeley.EDU mastodon
355c2aa98e2SPeter Wemm
356c2aa98e2SPeter Wemm**** NOT ****
357c2aa98e2SPeter Wemm
358c2aa98e2SPeter Wemm	128.32.149.68   mastodon
359c2aa98e2SPeter Wemm
360c2aa98e2SPeter WemmIf you do not include the long name, sendmail will complain loudly
361c2aa98e2SPeter Wemmabout ``unable to qualify my own domain name (mastodon) -- using
362c2aa98e2SPeter Wemmshort name'' and conclude that your canonical name is the short
363c2aa98e2SPeter Wemmversion and use that in messages.  The name "mastodon" doesn't mean
364c2aa98e2SPeter Wemmmuch outside of Berkeley, and so this creates incorrect and unreplyable
365c2aa98e2SPeter Wemmmessages.
366c2aa98e2SPeter Wemm
367c2aa98e2SPeter Wemm
368c2aa98e2SPeter Wemm+-------------+
369c2aa98e2SPeter Wemm| USE WITH MH |
370c2aa98e2SPeter Wemm+-------------+
371c2aa98e2SPeter Wemm
372c2aa98e2SPeter WemmThis version of sendmail notices and reports certain kinds of SMTP
373c2aa98e2SPeter Wemmprotocol violations that were ignored by older versions.  If you
374c2aa98e2SPeter Wemmare running MH you may wish to install the patch in contrib/mh.patch
375c2aa98e2SPeter Wemmthat will prevent these warning reports.  This patch also works
376c2aa98e2SPeter Wemmwith the old version of sendmail, so it's safe to go ahead and
377c2aa98e2SPeter Wemminstall it.
378c2aa98e2SPeter Wemm
379c2aa98e2SPeter Wemm
380c2aa98e2SPeter Wemm+----------------+
381c2aa98e2SPeter Wemm| USE WITH IDENT |
382c2aa98e2SPeter Wemm+----------------+
383c2aa98e2SPeter Wemm
384c2aa98e2SPeter WemmSendmail 8 supports the IDENT protocol, as defined by RFC 1413.
38506f25ae9SGregory Neil ShapiroNote that the RFC states a client should wait at least 30 seconds
38606f25ae9SGregory Neil Shapirofor a response.  As of 8.10.0, the default Timeout.ident is 5 seconds
38706f25ae9SGregory Neil Shapiroas many sites have adopted the practice of dropping IDENT queries.
38806f25ae9SGregory Neil ShapiroThis has lead to delays processing mail.
389c2aa98e2SPeter Wemm
39006f25ae9SGregory Neil ShapiroNo ident server is included with this distribution.  It is available
39106f25ae9SGregory Neil Shapirofrom:
392c2aa98e2SPeter Wemm
39306f25ae9SGregory Neil Shapiro  ftp://ftp.lysator.liu.se/pub/ident/servers/
39406f25ae9SGregory Neil Shapiro  http://sf.www.lysator.liu.se/~pen/pidentd/
395c2aa98e2SPeter Wemm
3962e43090eSPeter Wemm+-------------------------+
3972e43090eSPeter Wemm| INTEROPERATION PROBLEMS |
3982e43090eSPeter Wemm+-------------------------+
3992e43090eSPeter Wemm
4002e43090eSPeter WemmMicrosoft Exchange Server 5.0
4012e43090eSPeter Wemm	We have had a report that ``about 7% of messages from Sendmail
4022e43090eSPeter Wemm	to Exchange were not being delivered with status messages of
4032e43090eSPeter Wemm	"connection reset" and "I/O error".''  Upgrading Exchange from
4042e43090eSPeter Wemm	Version 5.0 to Version 5.5 Service Pack 2 solved this problem.
4052e43090eSPeter Wemm
40606f25ae9SGregory Neil ShapiroCommuniGate Pro
40706f25ae9SGregory Neil Shapiro	CommuniGate Pro 3.2.4 does not accept the AUTH= -parameter on
40806f25ae9SGregory Neil Shapiro	the MAIL FROM command if the client is not authenticated.  Use
40906f25ae9SGregory Neil Shapiro
41006f25ae9SGregory Neil Shapiro		define(`confAUTH_OPTIONS', `A')
41106f25ae9SGregory Neil Shapiro
41206f25ae9SGregory Neil Shapiro	in .mc file if you have compiled sendmail with Cyrus SASL
41306f25ae9SGregory Neil Shapiro	and you communicate with CommuniGate Pro servers.
4142e43090eSPeter Wemm
415c2aa98e2SPeter Wemm+---------------------+
416c2aa98e2SPeter Wemm| DIRECTORY STRUCTURE |
417c2aa98e2SPeter Wemm+---------------------+
418c2aa98e2SPeter Wemm
419c2aa98e2SPeter WemmThe structure of this directory tree is:
420c2aa98e2SPeter Wemm
421c2aa98e2SPeter Wemmcf		Source for sendmail configuration files.  These are
422c2aa98e2SPeter Wemm		different than what you've seen before.  They are a
423c2aa98e2SPeter Wemm		fairly dramatic rewrite, requiring the new sendmail
424c2aa98e2SPeter Wemm		(since they use new features).
425c2aa98e2SPeter Wemmcontrib		Some contributed tools to help with sendmail.  THESE
426c2aa98e2SPeter Wemm		ARE NOT SUPPORTED by sendmail -- contact the original
427c2aa98e2SPeter Wemm		authors if you have problems.  (This directory is not
428c2aa98e2SPeter Wemm		on the 4.4BSD tape.)
42906f25ae9SGregory Neil Shapirodevtools	Build environment.  See devtools/README.
430c2aa98e2SPeter Wemmdoc		Documentation.  If you are getting source, read
431c2aa98e2SPeter Wemm		op.me -- it's long, but worth it.
43240266059SGregory Neil Shapiroeditmap		A program to edit and query maps that have been created
43340266059SGregory Neil Shapiro		with makemap, e.g., adding and deleting entries.
43406f25ae9SGregory Neil Shapiroinclude		Include files used by multiple programs in the distribution.
43506f25ae9SGregory Neil Shapirolibsmdb		sendmail database library with support for Berkeley DB 1.X,
43606f25ae9SGregory Neil Shapiro		Berkeley DB 2.X, Berkeley DB 3.X, and NDBM.
43706f25ae9SGregory Neil Shapirolibsmutil	sendmail utility library with functions used by different
43806f25ae9SGregory Neil Shapiro		programs.
439c2aa98e2SPeter Wemmmail.local	The source for the local delivery agent used for 4.4BSD.
440c2aa98e2SPeter Wemm		THIS IS NOT PART OF SENDMAIL! and may not compile
441c2aa98e2SPeter Wemm		everywhere, since it depends on some 4.4-isms.  Warning:
442c2aa98e2SPeter Wemm		it does mailbox locking differently than other systems.
44306f25ae9SGregory Neil Shapiromailstats	Statistics printing program.
444c2aa98e2SPeter Wemmmakemap		A program that creates the keyed maps used by the $( ... $)
445c2aa98e2SPeter Wemm		construct in sendmail.  It is primitive but effective.
446c2aa98e2SPeter Wemm		It takes a very simple input format, so you will probably
447c2aa98e2SPeter Wemm		expect to preprocess must human-convenient formats
448c2aa98e2SPeter Wemm		using sed scripts before this program will like them.
449c2aa98e2SPeter Wemm		But it should be functionally complete.
450c2aa98e2SPeter Wemmpraliases	A program to print the DBM or NEWDB version of the
451c2aa98e2SPeter Wemm		aliases file.
452c2aa98e2SPeter Wemmrmail		Source for rmail(8).  This is used as a delivery
453c2aa98e2SPeter Wemm		agent for for UUCP, and could presumably be used by
454c2aa98e2SPeter Wemm		other non-socket oriented mailers.  Older versions of
455c2aa98e2SPeter Wemm		rmail are probably deficient.  RMAIL IS NOT PART OF
456c2aa98e2SPeter Wemm		SENDMAIL!!!  The 4.4BSD source is included for you to
45706f25ae9SGregory Neil Shapiro		look at or try to port to your system.  There is no
45806f25ae9SGregory Neil Shapiro		guarantee it will even compile on your operating system.
459c2aa98e2SPeter Wemmsmrsh		The "sendmail restricted shell", which can be used as
460c2aa98e2SPeter Wemm		a replacement for /bin/sh in the prog mailer to provide
461c2aa98e2SPeter Wemm		increased security control.  NOT PART OF SENDMAIL!
46206f25ae9SGregory Neil Shapirosendmail	Source for the sendmail program itself.
463c2aa98e2SPeter Wemmtest		Some test scripts (currently only for compilation aids).
46406f25ae9SGregory Neil Shapirovacation	Source for the vacation program.  NOT PART OF SENDMAIL!
46506f25ae9SGregory Neil Shapiro
46613bd1963SGregory Neil Shapiro$Revision: 8.90.2.1 $, Last updated $Date: 2002/11/09 23:32:28 $
467