xref: /freebsd/contrib/sendmail/README (revision d39bd2c1388b520fcba9abed1932acacead60fba)
1c2aa98e2SPeter Wemm
2c2aa98e2SPeter Wemm			SENDMAIL RELEASE 8
3c2aa98e2SPeter Wemm
45dd76dd0SGregory Neil ShapiroThis directory has the latest sendmail(TM) software from Proofpoint, Inc.
5c2aa98e2SPeter Wemm
64e4196cbSGregory Neil ShapiroReport any bugs to sendmail-bugs-YYYY@support.sendmail.org
7*d39bd2c1SGregory Neil Shapirowhere YYYY is the current year, e.g., 2023.
8c2aa98e2SPeter Wemm
9*d39bd2c1SGregory Neil ShapiroThere is a web site at https://www.sendmail.org/ -- see that site for
10c2aa98e2SPeter Wemmthe latest updates.
11c2aa98e2SPeter Wemm
12*d39bd2c1SGregory Neil Shapiro
1306f25ae9SGregory Neil Shapiro+--------------+
1406f25ae9SGregory Neil Shapiro| INTRODUCTION |
1506f25ae9SGregory Neil Shapiro+--------------+
1606f25ae9SGregory Neil Shapiro
174e4196cbSGregory Neil Shapiro0. The vast majority of queries about sendmail are answered in the
184e4196cbSGregory Neil Shapiro   README files noted below.
1906f25ae9SGregory Neil Shapiro
2006f25ae9SGregory Neil Shapiro1. Read this README file, especially this introduction, and the DIRECTORY
2106f25ae9SGregory Neil Shapiro   PERMISSIONS sections.
2206f25ae9SGregory Neil Shapiro
2313058a91SGregory Neil Shapiro2. Read the INSTALL file in this directory.
2413058a91SGregory Neil Shapiro
2513058a91SGregory Neil Shapiro3. Read sendmail/README, especially:
2606f25ae9SGregory Neil Shapiro   a. the introduction
2706f25ae9SGregory Neil Shapiro   b. the BUILDING SENDMAIL section
2806f25ae9SGregory Neil Shapiro   c. the relevant part(s) of the OPERATING SYSTEM AND COMPILE QUIRKS section
2906f25ae9SGregory Neil Shapiro
3006f25ae9SGregory Neil Shapiro   You may also find these useful:
3106f25ae9SGregory Neil Shapiro
3240266059SGregory Neil Shapiro   d. sendmail/SECURITY
3340266059SGregory Neil Shapiro   e. devtools/README
3440266059SGregory Neil Shapiro   f. devtools/Site/README
3540266059SGregory Neil Shapiro   g. libmilter/README
3640266059SGregory Neil Shapiro   h. mail.local/README
3740266059SGregory Neil Shapiro   i. smrsh/README
3806f25ae9SGregory Neil Shapiro
3913058a91SGregory Neil Shapiro4. Read cf/README.
40c2aa98e2SPeter Wemm
415dd76dd0SGregory Neil ShapiroSendmail is a trademark of Proofpoint, Inc.
429bd497b8SGregory Neil ShapiroUS Patent Numbers 6865671, 6986037.
43c2aa98e2SPeter Wemm
44*d39bd2c1SGregory Neil Shapiro
45c2aa98e2SPeter Wemm+-----------------------+
46c2aa98e2SPeter Wemm| DIRECTORY PERMISSIONS |
47c2aa98e2SPeter Wemm+-----------------------+
48c2aa98e2SPeter Wemm
49c2aa98e2SPeter WemmSendmail often gets blamed for many problems that are actually the
50c2aa98e2SPeter Wemmresult of other problems, such as overly permissive modes on directories.
51c2aa98e2SPeter WemmFor this reason, sendmail checks the modes on system directories and
5206f25ae9SGregory Neil Shapirofiles to determine if they can be trusted.  For sendmail to run without
5306f25ae9SGregory Neil Shapirocomplaining, you MUST execute the following command:
54c2aa98e2SPeter Wemm
55c2aa98e2SPeter Wemm	chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
56c2aa98e2SPeter Wemm	chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
57c2aa98e2SPeter Wemm
58c2aa98e2SPeter WemmYou will probably have to tweak this for your environment (for example,
59c2aa98e2SPeter Wemmsome systems put the spool directory into /usr/spool instead of
6006f25ae9SGregory Neil Shapiro/var/spool).  If you set the RunAsUser option in your sendmail.cf, the
6106f25ae9SGregory Neil Shapiro/var/spool/mqueue directory will have to be owned by the RunAsUser user.
6206f25ae9SGregory Neil ShapiroAs a general rule, after you have compiled sendmail, run the command
63c2aa98e2SPeter Wemm
64c2aa98e2SPeter Wemm	sendmail -v -bi
65c2aa98e2SPeter Wemm
66c2aa98e2SPeter Wemmto initialize the alias database.  If it gives messages such as
67c2aa98e2SPeter Wemm
68c2aa98e2SPeter Wemm	WARNING: writable directory /etc
6906f25ae9SGregory Neil Shapiro	WARNING: writable directory /var/spool/mqueue
70c2aa98e2SPeter Wemm
71c2aa98e2SPeter Wemmthen the directories listed have inappropriate write permissions and
72c2aa98e2SPeter Wemmshould be secured to avoid various possible security attacks.
73c2aa98e2SPeter Wemm
74c2aa98e2SPeter WemmBeginning with sendmail 8.9, these checks have become more strict to
75c2aa98e2SPeter Wemmprevent users from being able to access files they would normally not
76c2aa98e2SPeter Wemmbe able to read.  In particular, .forward and :include: files in unsafe
77c2aa98e2SPeter Wemmdirectory paths (directory paths which are group or world writable) will
78c2aa98e2SPeter Wemmno longer be allowed.  This would mean that if user joe's home directory
79c2aa98e2SPeter Wemmwas writable by group staff, sendmail would not use his .forward file.
80c2aa98e2SPeter WemmThis behavior can be altered, at the expense of system security, by
81c2aa98e2SPeter Wemmsetting the DontBlameSendmail option.  For example, to allow .forward
82c2aa98e2SPeter Wemmfiles in group writable directories:
83c2aa98e2SPeter Wemm
84c2aa98e2SPeter Wemm	O DontBlameSendmail=forwardfileingroupwritabledirpath
85c2aa98e2SPeter Wemm
86c2aa98e2SPeter WemmOr to allow them in both group and world writable directories:
87c2aa98e2SPeter Wemm
88c2aa98e2SPeter Wemm	O DontBlameSendmail=forwardfileinunsafedirpath
89c2aa98e2SPeter Wemm
90c2aa98e2SPeter WemmItems from these unsafe .forward and :include: files will be marked
91c2aa98e2SPeter Wemmas unsafe addresses -- the items can not be deliveries to files or
92c2aa98e2SPeter Wemmprograms.  This behavior can also be altered via DontBlameSendmail:
93c2aa98e2SPeter Wemm
94c2aa98e2SPeter Wemm	O DontBlameSendmail=forwardfileinunsafedirpath,
95c2aa98e2SPeter Wemm		forwardfileinunsafedirpathsafe
96c2aa98e2SPeter Wemm
97c2aa98e2SPeter WemmThe first flag allows the .forward file to be read, the second allows
98c2aa98e2SPeter Wemmthe items in the file to be marked as safe for file and program
99c2aa98e2SPeter Wemmdelivery.
100c2aa98e2SPeter Wemm
101c2aa98e2SPeter WemmOther files affected by this strengthened security include class
10240266059SGregory Neil Shapirofiles (i.e., Fw /etc/mail/local-host-names), persistent host status files,
10306f25ae9SGregory Neil Shapiroand the files specified by the ErrorHeader and HelpFile options.  Similar
104c2aa98e2SPeter WemmDontBlameSendmail flags are available for the class, ErrorHeader, and
105c2aa98e2SPeter WemmHelpFile files.
106c2aa98e2SPeter Wemm
107c2aa98e2SPeter WemmIf you have an unsafe configuration of .forward and :include:
108c2aa98e2SPeter Wemmfiles, you can make it safe by finding all such files, and doing
109c2aa98e2SPeter Wemma "chmod go-w $FILE" on each.  Also, do a "chmod go-w $DIR" for
110c2aa98e2SPeter Wemmeach directory in the file's path.
111c2aa98e2SPeter Wemm
112c2aa98e2SPeter Wemm
11394c01205SGregory Neil Shapiro+--------------------------+
11494c01205SGregory Neil Shapiro| FILE AND MAP PERMISSIONS |
11594c01205SGregory Neil Shapiro+--------------------------+
11694c01205SGregory Neil Shapiro
11794c01205SGregory Neil ShapiroAny application which uses either flock() or fcntl() style locking or
11894c01205SGregory Neil Shapiroother APIs that use one of these locking methods (such as open() with
11994c01205SGregory Neil ShapiroO_EXLOCK and O_SHLOCK) on files readable by other local untrusted users
12094c01205SGregory Neil Shapiromay be susceptible to local denial of service attacks.
12194c01205SGregory Neil Shapiro
12294c01205SGregory Neil ShapiroFile locking is used throughout sendmail for a variety of files
12394c01205SGregory Neil Shapiroincluding aliases, maps, statistics, and the pid file.  Any user who
12494c01205SGregory Neil Shapirocan open one of these files can prevent sendmail or it's associated
12594c01205SGregory Neil Shapiroutilities, e.g., makemap or newaliases, from operating properly.  This
12694c01205SGregory Neil Shapirocan also affect sendmail's ability to update status files such as
12794c01205SGregory Neil Shapirostatistics files.  For system which use flock() for file locking, a
12894c01205SGregory Neil Shapirouser's ability to obtain an exclusive lock prevents other sendmail
12994c01205SGregory Neil Shapiroprocesses from reading certain files such as alias or map databases.
13094c01205SGregory Neil Shapiro
13194c01205SGregory Neil ShapiroA workaround for this problem is to protect all sendmail files such
13294c01205SGregory Neil Shapirothat they can't be opened by untrusted users.  As long as users can
13394c01205SGregory Neil Shapironot open a file, they can not lock it.  Since queue files should
13494c01205SGregory Neil Shapiroalready have restricted permissions, the only files that need
13594c01205SGregory Neil Shapiroadjustment are alias, map, statistics, and pid files.  These files
13694c01205SGregory Neil Shapiroshould be owned by root or the trusted user specified in the
13794c01205SGregory Neil ShapiroTrustedUser option.  Changing the permissions to be only readable and
13894c01205SGregory Neil Shapirowritable by that user is sufficient to avoid the denial of service.
13994c01205SGregory Neil ShapiroFor example, depending on the paths you use, these commands would be
14094c01205SGregory Neil Shapiroused:
14194c01205SGregory Neil Shapiro
14294c01205SGregory Neil Shapiro	chmod 0640 /etc/mail/aliases /etc/mail/aliases.{db,pag,dir}
14394c01205SGregory Neil Shapiro	chmod 0640 /etc/mail/*.{db,pag,dir}
14494c01205SGregory Neil Shapiro	chmod 0640 /etc/mail/statistics /var/log/sendmail.st
14594c01205SGregory Neil Shapiro	chmod 0600 /var/run/sendmail.pid /etc/mail/sendmail.pid
14694c01205SGregory Neil Shapiro
14794c01205SGregory Neil ShapiroIf the permissions 0640 are used, be sure that only trusted users belong
14894c01205SGregory Neil Shapiroto the group assigned to those files.  Otherwise, files should not even
14994c01205SGregory Neil Shapirobe group readable.  As of sendmail 8.12.4, the permissions shown above
15094c01205SGregory Neil Shapiroare the default permissions for newly created files.
15194c01205SGregory Neil Shapiro
15294c01205SGregory Neil ShapiroNote that the denial of service on the plain text aliases file
15394c01205SGregory Neil Shapiro(/etc/mail/aliases) only prevents newaliases from rebuilding the
15494c01205SGregory Neil Shapiroaliases file.  The same is true for the database files on systems which
15594c01205SGregory Neil Shapirouse fcntl() style locking.  Since it does not interfere with normal
15694c01205SGregory Neil Shapirooperations, sites may chose to leave these files readable.  Also, it is
15794c01205SGregory Neil Shapironot necessary to protect the text files associated with map databases
15894c01205SGregory Neil Shapiroas makemap does not lock those files.
15994c01205SGregory Neil Shapiro
16094c01205SGregory Neil Shapiro
161c2aa98e2SPeter Wemm+-----------------------+
162c2aa98e2SPeter Wemm| RELATED DOCUMENTATION |
163c2aa98e2SPeter Wemm+-----------------------+
164c2aa98e2SPeter Wemm
165c2aa98e2SPeter WemmThere are other files you should read.  Rooted in this directory are:
166c2aa98e2SPeter Wemm
167c2aa98e2SPeter Wemm  FAQ
16813058a91SGregory Neil Shapiro	The FAQ (frequently answered questions) is no longer maintained
16913058a91SGregory Neil Shapiro	with the sendmail release.  It is available at
17013058a91SGregory Neil Shapiro	http://www.sendmail.org/faq/ .  The file FAQ is a reminder of
17113058a91SGregory Neil Shapiro	this and a pointer to the web page.
17206f25ae9SGregory Neil Shapiro  INSTALL
17306f25ae9SGregory Neil Shapiro	Installation instructions for building and installing sendmail.
174c2aa98e2SPeter Wemm  KNOWNBUGS
17506f25ae9SGregory Neil Shapiro	Known bugs in the current release.
176c2aa98e2SPeter Wemm  RELEASE_NOTES
177c2aa98e2SPeter Wemm	A detailed description of the changes in each version.  This
178c2aa98e2SPeter Wemm	is quite long, but informative.
17906f25ae9SGregory Neil Shapiro  sendmail/README
180c2aa98e2SPeter Wemm	Details on compiling and installing sendmail.
181c2aa98e2SPeter Wemm  cf/README
182c2aa98e2SPeter Wemm	Details on configuring sendmail.
183c2aa98e2SPeter Wemm  doc/op/op.me
18413bd1963SGregory Neil Shapiro	The sendmail Installation & Operations Guide.  In addition
18513bd1963SGregory Neil Shapiro	to the shipped PostScript version, plain text and PDF versions
18613bd1963SGregory Neil Shapiro	can be generating using (assuming the required conversion software
18713bd1963SGregory Neil Shapiro	is installed on your system, see doc/op/Makefile):
18813bd1963SGregory Neil Shapiro
18913bd1963SGregory Neil Shapiro	cd doc/op && make op.txt op.pdf
19013bd1963SGregory Neil Shapiro
19113bd1963SGregory Neil Shapiro	Be warned: on some systems calling make in doc/op/ will cause
19213bd1963SGregory Neil Shapiro	errors due to nroff/groff problems.  Known problems are:
19313bd1963SGregory Neil Shapiro	- running this off on systems with an old version of -me, you
19413bd1963SGregory Neil Shapiro	need to add the following macro to the macros:
195c2aa98e2SPeter Wemm
196c2aa98e2SPeter Wemm		.de sm
197c2aa98e2SPeter Wemm		\s-1\\$1\\s0\\$2
198c2aa98e2SPeter Wemm		..
199c2aa98e2SPeter Wemm
200c2aa98e2SPeter Wemm	This sets a word in a smaller pointsize.
201c2aa98e2SPeter Wemm
202c2aa98e2SPeter Wemm
203c2aa98e2SPeter Wemm+--------------+
204c2aa98e2SPeter Wemm| RELATED RFCS |
205c2aa98e2SPeter Wemm+--------------+
206c2aa98e2SPeter Wemm
207c2aa98e2SPeter WemmThere are several related RFCs that you may wish to read -- they are
208da7d7b9cSGregory Neil Shapiroavailable from several sites, see
209c2aa98e2SPeter Wemm
210da7d7b9cSGregory Neil Shapiro	http://www.rfc-editor.org/
211c2aa98e2SPeter Wemm	http://www.ietf.org/
212c2aa98e2SPeter Wemm
213c2aa98e2SPeter WemmImportant RFCs for electronic mail are:
214c2aa98e2SPeter Wemm
215c2aa98e2SPeter Wemm	RFC821	SMTP protocol
216c2aa98e2SPeter Wemm	RFC822	Mail header format
217c2aa98e2SPeter Wemm	RFC974	MX routing
218c2aa98e2SPeter Wemm	RFC976	UUCP mail format
219c2aa98e2SPeter Wemm	RFC1123	Host requirements (modifies 821, 822, and 974)
220c2aa98e2SPeter Wemm	RFC1344	Implications of MIME for Internet Mail Gateways
22140266059SGregory Neil Shapiro	RFC1413	Identification server
222c2aa98e2SPeter Wemm	RFC1428	Transition of Internet Mail from Just-Send-8 to
223c2aa98e2SPeter Wemm		8-bit SMTP/MIME
22440266059SGregory Neil Shapiro	RFC1652	SMTP Service Extension for 8bit-MIMEtransport
22540266059SGregory Neil Shapiro	RFC1869	SMTP Service Extensions (ESMTP spec)
22640266059SGregory Neil Shapiro	RFC1870	SMTP Service Extension for Message Size Declaration
227c2aa98e2SPeter Wemm	RFC1891	SMTP Service Extension for Delivery Status Notifications
228c2aa98e2SPeter Wemm	RFC1892	Multipart/Report Content Type for the Reporting of
229c2aa98e2SPeter Wemm		Mail System Administrative Messages
230c2aa98e2SPeter Wemm	RFC1893	Enhanced Mail System Status Codes
231c2aa98e2SPeter Wemm	RFC1894	An Extensible Message Format for Delivery Status
232c2aa98e2SPeter Wemm		Notifications
233c2aa98e2SPeter Wemm	RFC1985	SMTP Service Extension for Remote Message Queue Starting
23406f25ae9SGregory Neil Shapiro	RFC2033 Local Mail Transfer Protocol (LMTP)
23506f25ae9SGregory Neil Shapiro	RFC2034 SMTP Service Extension for Returning Enhanced Error Codes
23640266059SGregory Neil Shapiro	RFC2045	Multipurpose Internet Mail Extensions (MIME) Part One:
23740266059SGregory Neil Shapiro		Format of Internet Message Bodies
23806f25ae9SGregory Neil Shapiro	RFC2476 Message Submission
23906f25ae9SGregory Neil Shapiro	RFC2487 SMTP Service Extension for Secure SMTP over TLS
24006f25ae9SGregory Neil Shapiro	RFC2554 SMTP Service Extension for Authentication
24140266059SGregory Neil Shapiro	RFC2821 Simple Mail Transfer Protocol
24240266059SGregory Neil Shapiro	RFC2822 Internet Message Format
24340266059SGregory Neil Shapiro	RFC2852 Deliver By SMTP Service Extension
24440266059SGregory Neil Shapiro	RFC2920 SMTP Service Extension for Command Pipelining
245*d39bd2c1SGregory Neil Shapiro	RFC5321 Simple Mail Transfer Protocol
246*d39bd2c1SGregory Neil Shapiro	RFC5322 Internet Message Format
247*d39bd2c1SGregory Neil Shapiro	RFC6530 Overview and Framework for Internationalized Email
248*d39bd2c1SGregory Neil Shapiro	RFC6531 SMTP Extension for Internationalized Email
249*d39bd2c1SGregory Neil Shapiro	RFC6532 Internationalized Email Headers
250*d39bd2c1SGregory Neil Shapiro	RFC6533 Internationalized Delivery Status and Disposition Notifications
251*d39bd2c1SGregory Neil Shapiro	RFC8461 SMTP MTA Strict Transport Security (MTA-STS)
252c2aa98e2SPeter Wemm
253c2aa98e2SPeter WemmOther standards that may be of interest (but which are less directly
254c2aa98e2SPeter Wemmrelevant to sendmail) are:
255c2aa98e2SPeter Wemm
256c2aa98e2SPeter Wemm	RFC987	Mapping between RFC822 and X.400
257c2aa98e2SPeter Wemm	RFC1049	Content-Type header field (extension to RFC822)
258c2aa98e2SPeter Wemm
259c2aa98e2SPeter WemmWarning to AIX users: this version of sendmail does not implement
260c2aa98e2SPeter WemmMB, MR, or MG DNS resource records, as defined (as experiments) in
261c2aa98e2SPeter WemmRFC1035.
262c2aa98e2SPeter Wemm
263c2aa98e2SPeter Wemm
26406f25ae9SGregory Neil Shapiro+---------+
26506f25ae9SGregory Neil Shapiro| WARNING |
26606f25ae9SGregory Neil Shapiro+---------+
26706f25ae9SGregory Neil Shapiro
26806f25ae9SGregory Neil ShapiroSince sendmail 8.11 and later includes hooks to cryptography, the
26906f25ae9SGregory Neil Shapirofollowing information from OpenSSL applies to sendmail as well.
27006f25ae9SGregory Neil Shapiro
27106f25ae9SGregory Neil ShapiroPLEASE REMEMBER THAT EXPORT/IMPORT AND/OR USE OF STRONG CRYPTOGRAPHY
27206f25ae9SGregory Neil ShapiroSOFTWARE, PROVIDING CRYPTOGRAPHY HOOKS OR EVEN JUST COMMUNICATING
27306f25ae9SGregory Neil ShapiroTECHNICAL DETAILS ABOUT CRYPTOGRAPHY SOFTWARE IS ILLEGAL IN SOME
27406f25ae9SGregory Neil ShapiroPARTS OF THE WORLD.  SO, WHEN YOU IMPORT THIS PACKAGE TO YOUR
27506f25ae9SGregory Neil ShapiroCOUNTRY, RE-DISTRIBUTE IT FROM THERE OR EVEN JUST EMAIL TECHNICAL
27606f25ae9SGregory Neil ShapiroSUGGESTIONS OR EVEN SOURCE PATCHES TO THE AUTHOR OR OTHER PEOPLE
27706f25ae9SGregory Neil ShapiroYOU ARE STRONGLY ADVISED TO PAY CLOSE ATTENTION TO ANY EXPORT/IMPORT
27806f25ae9SGregory Neil ShapiroAND/OR USE LAWS WHICH APPLY TO YOU.  THE AUTHORS ARE NOT LIABLE FOR
27906f25ae9SGregory Neil ShapiroANY VIOLATIONS YOU MAKE HERE.  SO BE CAREFUL, IT IS YOUR RESPONSIBILITY.
28006f25ae9SGregory Neil Shapiro
28106f25ae9SGregory Neil ShapiroIf you use OpenSSL then make sure you read their README file which
28206f25ae9SGregory Neil Shapirocontains information about patents etc.
28306f25ae9SGregory Neil Shapiro
28406f25ae9SGregory Neil Shapiro
285c2aa98e2SPeter Wemm+-------------------+
286c2aa98e2SPeter Wemm| DATABASE ROUTINES |
287c2aa98e2SPeter Wemm+-------------------+
288c2aa98e2SPeter Wemm
289c2aa98e2SPeter WemmIF YOU WANT TO RUN THE NEW BERKELEY DB SOFTWARE:  ****  DO NOT  ****
290c2aa98e2SPeter Wemmuse the version that was on the Net2 tape -- it has a number of
291c2aa98e2SPeter Wemmnefarious bugs that were bad enough when I got them; you shouldn't have
292c2aa98e2SPeter Wemmto go through the same thing.  Instead, get a new version via the web at
293c2aa98e2SPeter Wemmhttp://www.sleepycat.com/.  This software is highly recommended; it gets
294c2aa98e2SPeter Wemmrid of several stupid limits, it's much faster, and the interface is
295c2aa98e2SPeter Wemmnicer to animals and plants.  If the Berkeley DB include files
296c2aa98e2SPeter Wemmare installed in a location other than those which your compiler searches,
297c2aa98e2SPeter Wemmyou will need to provide that directory when building:
298c2aa98e2SPeter Wemm
299e3793f76SGregory Neil Shapiro	./Build -I/path/to/include/directory
300c2aa98e2SPeter Wemm
301c2aa98e2SPeter WemmIf you are using Berkeley DB versions 1.85 or 1.86, you are *strongly*
30206f25ae9SGregory Neil Shapirourged to upgrade to DB version 2 or later, available from
30306f25ae9SGregory Neil Shapirohttp://www.sleepycat.com/.  Berkeley DB versions 1.85 and 1.86 are known to
30406f25ae9SGregory Neil Shapirobe broken in various nasty ways (see http://www.sleepycat.com/db.185.html),
30506f25ae9SGregory Neil Shapiroand can cause sendmail to dump core.  In addition, the newest versions of
30606f25ae9SGregory Neil Shapirogcc and the Solaris compilers perform optimizations in those versions that
30706f25ae9SGregory Neil Shapiromay cause fairly random core dumps.
308c2aa98e2SPeter Wemm
309c2aa98e2SPeter WemmIf you have no choice but to use Berkeley DB 1.85 or 1.86, and you are
310c2aa98e2SPeter Wemmusing both Berkeley DB and files in the UNIX ndbm format, remove ndbm.h
311c2aa98e2SPeter Wemmand ndbm.o from the DB library after building it.  You should also apply
312c2aa98e2SPeter Wemmall of the patches for DB 1.85 and 1.86 found at the Sleepycat web site
313c2aa98e2SPeter Wemm(see http://www.sleepycat.com/db.185.html), as they fix some of the known
314c2aa98e2SPeter Wemmproblems.
315c2aa98e2SPeter Wemm
316c2aa98e2SPeter WemmIf you are using a version of Berkeley DB 2 previous to 2.3.15, and you
317c2aa98e2SPeter Wemmare using both Berkeley DB and files in the UNIX ndbm format, remove dbm.o
318c2aa98e2SPeter Wemmfrom the DB library after building it.  No other changes are necessary.
319c2aa98e2SPeter Wemm
320c2aa98e2SPeter WemmIf you are using Berkeley DB version 2.3.15 or greater, no changes are
321c2aa98e2SPeter Wemmnecessary.
322c2aa98e2SPeter Wemm
323c2aa98e2SPeter WemmThe underlying database file formats changed between Berkeley DB versions
32406f25ae9SGregory Neil Shapiro1.85 and 1.86, again between DB 1.86 and version 2.0, and finally between
32506f25ae9SGregory Neil ShapiroDB 2.X and 3.X.  If you are upgrading from one of those versions, you must
32606f25ae9SGregory Neil Shapirorecreate your database file(s).  Do this by rebuilding all maps with
32706f25ae9SGregory Neil Shapiromakemap and rebuilding the alias file with newaliases.
328c2aa98e2SPeter Wemm
329*d39bd2c1SGregory Neil ShapiroFile locking using fcntl() does not interoperate with Berkeley DB
330*d39bd2c1SGregory Neil Shapiro5.x (and probably later).  Use CDB, flock() (-DHASFLOCK), or an
331*d39bd2c1SGregory Neil Shapiroearlier Berkeley DB version.
332*d39bd2c1SGregory Neil Shapiro
333c2aa98e2SPeter Wemm
334c2aa98e2SPeter Wemm+--------------------+
335c2aa98e2SPeter Wemm| HOST NAME SERVICES |
336c2aa98e2SPeter Wemm+--------------------+
337c2aa98e2SPeter Wemm
338c2aa98e2SPeter WemmIf you are using NIS or /etc/hosts, it is critical that you
339c2aa98e2SPeter Wemmlist the long (fully qualified) name somewhere (preferably first) in
340c2aa98e2SPeter Wemmthe /etc/hosts file used to build the NIS database.  For example, the
341c2aa98e2SPeter Wemmline should read
342c2aa98e2SPeter Wemm
343c2aa98e2SPeter Wemm	128.32.149.68   mastodon.CS.Berkeley.EDU mastodon
344c2aa98e2SPeter Wemm
345c2aa98e2SPeter Wemm**** NOT ****
346c2aa98e2SPeter Wemm
347c2aa98e2SPeter Wemm	128.32.149.68   mastodon
348c2aa98e2SPeter Wemm
349c2aa98e2SPeter WemmIf you do not include the long name, sendmail will complain loudly
350c2aa98e2SPeter Wemmabout ``unable to qualify my own domain name (mastodon) -- using
351c2aa98e2SPeter Wemmshort name'' and conclude that your canonical name is the short
352c2aa98e2SPeter Wemmversion and use that in messages.  The name "mastodon" doesn't mean
353c2aa98e2SPeter Wemmmuch outside of Berkeley, and so this creates incorrect and unreplyable
354c2aa98e2SPeter Wemmmessages.
355c2aa98e2SPeter Wemm
356c2aa98e2SPeter Wemm
357c2aa98e2SPeter Wemm+-------------+
358c2aa98e2SPeter Wemm| USE WITH MH |
359c2aa98e2SPeter Wemm+-------------+
360c2aa98e2SPeter Wemm
361c2aa98e2SPeter WemmThis version of sendmail notices and reports certain kinds of SMTP
362c2aa98e2SPeter Wemmprotocol violations that were ignored by older versions.  If you
363c2aa98e2SPeter Wemmare running MH you may wish to install the patch in contrib/mh.patch
364c2aa98e2SPeter Wemmthat will prevent these warning reports.  This patch also works
365c2aa98e2SPeter Wemmwith the old version of sendmail, so it's safe to go ahead and
366c2aa98e2SPeter Wemminstall it.
367c2aa98e2SPeter Wemm
368c2aa98e2SPeter Wemm
369c2aa98e2SPeter Wemm+----------------+
370c2aa98e2SPeter Wemm| USE WITH IDENT |
371c2aa98e2SPeter Wemm+----------------+
372c2aa98e2SPeter Wemm
373c2aa98e2SPeter WemmSendmail 8 supports the IDENT protocol, as defined by RFC 1413.
37406f25ae9SGregory Neil ShapiroNote that the RFC states a client should wait at least 30 seconds
37506f25ae9SGregory Neil Shapirofor a response.  As of 8.10.0, the default Timeout.ident is 5 seconds
37606f25ae9SGregory Neil Shapiroas many sites have adopted the practice of dropping IDENT queries.
37706f25ae9SGregory Neil ShapiroThis has lead to delays processing mail.
378c2aa98e2SPeter Wemm
379c2aa98e2SPeter Wemm
3802e43090eSPeter Wemm+-------------------------+
3812e43090eSPeter Wemm| INTEROPERATION PROBLEMS |
3822e43090eSPeter Wemm+-------------------------+
3832e43090eSPeter Wemm
3842e43090eSPeter WemmMicrosoft Exchange Server 5.0
3852e43090eSPeter Wemm	We have had a report that ``about 7% of messages from Sendmail
3862e43090eSPeter Wemm	to Exchange were not being delivered with status messages of
3872e43090eSPeter Wemm	"connection reset" and "I/O error".''  Upgrading Exchange from
3882e43090eSPeter Wemm	Version 5.0 to Version 5.5 Service Pack 2 solved this problem.
3892e43090eSPeter Wemm
39006f25ae9SGregory Neil ShapiroCommuniGate Pro
39106f25ae9SGregory Neil Shapiro	CommuniGate Pro 3.2.4 does not accept the AUTH= -parameter on
39206f25ae9SGregory Neil Shapiro	the MAIL FROM command if the client is not authenticated.  Use
39306f25ae9SGregory Neil Shapiro
39406f25ae9SGregory Neil Shapiro		define(`confAUTH_OPTIONS', `A')
39506f25ae9SGregory Neil Shapiro
39606f25ae9SGregory Neil Shapiro	in .mc file if you have compiled sendmail with Cyrus SASL
39706f25ae9SGregory Neil Shapiro	and you communicate with CommuniGate Pro servers.
3982e43090eSPeter Wemm
399*d39bd2c1SGregory Neil Shapiro
400c2aa98e2SPeter Wemm+---------------------+
401c2aa98e2SPeter Wemm| DIRECTORY STRUCTURE |
402c2aa98e2SPeter Wemm+---------------------+
403c2aa98e2SPeter Wemm
404c2aa98e2SPeter WemmThe structure of this directory tree is:
405c2aa98e2SPeter Wemm
406c2aa98e2SPeter Wemmcf		Source for sendmail configuration files.  These are
407c2aa98e2SPeter Wemm		different than what you've seen before.  They are a
408c2aa98e2SPeter Wemm		fairly dramatic rewrite, requiring the new sendmail
409c2aa98e2SPeter Wemm		(since they use new features).
410c2aa98e2SPeter Wemmcontrib		Some contributed tools to help with sendmail.  THESE
411c2aa98e2SPeter Wemm		ARE NOT SUPPORTED by sendmail -- contact the original
412c2aa98e2SPeter Wemm		authors if you have problems.  (This directory is not
413c2aa98e2SPeter Wemm		on the 4.4BSD tape.)
41406f25ae9SGregory Neil Shapirodevtools	Build environment.  See devtools/README.
415c2aa98e2SPeter Wemmdoc		Documentation.  If you are getting source, read
416c2aa98e2SPeter Wemm		op.me -- it's long, but worth it.
41740266059SGregory Neil Shapiroeditmap		A program to edit and query maps that have been created
41840266059SGregory Neil Shapiro		with makemap, e.g., adding and deleting entries.
41906f25ae9SGregory Neil Shapiroinclude		Include files used by multiple programs in the distribution.
42006f25ae9SGregory Neil Shapirolibsmdb		sendmail database library with support for Berkeley DB 1.X,
42106f25ae9SGregory Neil Shapiro		Berkeley DB 2.X, Berkeley DB 3.X, and NDBM.
42206f25ae9SGregory Neil Shapirolibsmutil	sendmail utility library with functions used by different
42306f25ae9SGregory Neil Shapiro		programs.
424c2aa98e2SPeter Wemmmail.local	The source for the local delivery agent used for 4.4BSD.
425c2aa98e2SPeter Wemm		THIS IS NOT PART OF SENDMAIL! and may not compile
426c2aa98e2SPeter Wemm		everywhere, since it depends on some 4.4-isms.  Warning:
427c2aa98e2SPeter Wemm		it does mailbox locking differently than other systems.
42806f25ae9SGregory Neil Shapiromailstats	Statistics printing program.
429c2aa98e2SPeter Wemmmakemap		A program that creates the keyed maps used by the $( ... $)
430c2aa98e2SPeter Wemm		construct in sendmail.  It is primitive but effective.
431c2aa98e2SPeter Wemm		It takes a very simple input format, so you will probably
432c2aa98e2SPeter Wemm		expect to preprocess must human-convenient formats
433c2aa98e2SPeter Wemm		using sed scripts before this program will like them.
434c2aa98e2SPeter Wemm		But it should be functionally complete.
4355b0945b5SGregory Neil Shapiropraliases	A program to print the map version of the aliases file.
436c2aa98e2SPeter Wemmrmail		Source for rmail(8).  This is used as a delivery
437c2aa98e2SPeter Wemm		agent for for UUCP, and could presumably be used by
438c2aa98e2SPeter Wemm		other non-socket oriented mailers.  Older versions of
439c2aa98e2SPeter Wemm		rmail are probably deficient.  RMAIL IS NOT PART OF
440c2aa98e2SPeter Wemm		SENDMAIL!!!  The 4.4BSD source is included for you to
44106f25ae9SGregory Neil Shapiro		look at or try to port to your system.  There is no
44206f25ae9SGregory Neil Shapiro		guarantee it will even compile on your operating system.
443c2aa98e2SPeter Wemmsmrsh		The "sendmail restricted shell", which can be used as
444c2aa98e2SPeter Wemm		a replacement for /bin/sh in the prog mailer to provide
445c2aa98e2SPeter Wemm		increased security control.  NOT PART OF SENDMAIL!
44606f25ae9SGregory Neil Shapirosendmail	Source for the sendmail program itself.
447c2aa98e2SPeter Wemmtest		Some test scripts (currently only for compilation aids).
44806f25ae9SGregory Neil Shapirovacation	Source for the vacation program.  NOT PART OF SENDMAIL!
44906f25ae9SGregory Neil Shapiro
450