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