diff options
Diffstat (limited to 'doc/changes')
-rw-r--r-- | doc/changes/Makefile | 13 | ||||
-rw-r--r-- | doc/changes/changes.me | 975 | ||||
-rw-r--r-- | doc/changes/changes.ps | 1129 |
3 files changed, 0 insertions, 2117 deletions
diff --git a/doc/changes/Makefile b/doc/changes/Makefile deleted file mode 100644 index 76eaa39..0000000 --- a/doc/changes/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# @(#)Makefile 8.1 (Berkeley) 4/13/1994 - -DIR= smm/09.sendmail -SRCS= changes.me -MACROS= -me - -all: changes.ps - -changes.ps: ${SRCS} - rm -f ${.TARGET} - ${PIC} ${SRCS} | ${ROFF} > ${.TARGET} - -.include <bsd.doc.mk> diff --git a/doc/changes/changes.me b/doc/changes/changes.me deleted file mode 100644 index b963396..0000000 --- a/doc/changes/changes.me +++ /dev/null @@ -1,975 +0,0 @@ -.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. -.\" Copyright (c) 1994 Eric P. Allman. All rights reserved. -.\" Copyright (c) 1988, 1994 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" By using this file, you agree to the terms and conditions set -.\" forth in the LICENSE file which can be found at the top level of -.\" the sendmail distribution. -.\" -.\" -.\" @(#)changes.me 8.7 (Berkeley) 5/19/1998 -.\" -.\" ditroff -me -Pxx changes.me -.eh '%''Changes in Sendmail Version 8' -.oh 'Changes in Sendmail Version 8''%' -.nr si 3n -.if n .ls 2 -.+c -.(l C -.sz 14 -Changes in Sendmail Version 8* -.sz -.sp -Eric Allman -.sp 0.5 -.i -University of California, Berkeley -Mammoth Project -.)l -.(f -*An earlier version of this paper was printed in the -Proceedings of the 1994 AUUG Queensland Summer Technical Conference, -Gateway Hotel, Brisbane, March 1994. -.)f -.sp -.(l F -.ce -ABSTRACT -.sp \n(psu -Version 8 of -.i sendmail -includes a number of major changes from previous versions. -This paper gives a very short history of -.i sendmail , -a summary of the major differences between version 5 -(the last publically available version) -and version 8, -and some discussion of future directions. -.)l -.sp 2 -.pp -In 1987, the author stopped major work on -.i sendmail -due to other time committments, -only to return to active work in 1991. -This paper explores why work resumed -and what changes have been made. -.pp -Section 1 gives a short history of -.i sendmail -through version 5 and the motivation behind working on version 8. -Section 2 has -a rather detailed description of what has changed -between version 5 and version 8. -The paper finishes off with some thoughts -about what still needs to be done. -.sh 1 "HISTORY" -.pp -As discussed elsewhere, -[Allman83a, Allman83b, Allman&Amos85] -sendmail has existed in various forms since 1980. -It was released under the name -.i delivermail -in 4BSD and 4.1BSD, and as -.i sendmail -in 4.2BSD. -.\"4.0BSD delivermail 1.10 -.\"4.1BSD delivermail 1.10 -.\"4.2BSD sendmail 4.12 -.\"4.3BSD sendmail 5.52 -It quickly became the dominant mail system for networked UNIX systems. -.pp -Prior the release of 4.3BSD in November 1986, -the author had left the University for private industry, -but continued to do some work on -.i sendmail -with activity slowly trailing off -until effectively stopping after February 1987. -There was minimal support done by many people for several years, -until July of 1991 when the original author, -who had returned the University, -started active work on it again. -.pp -There were several reasons for renewed work on -.i sendmail . -There was a desire at Berkeley to convert to a subdomained structure -so that individuals were identified by their subdomain -rather than by their individual workstation; -although possible in the old code, there were some problems, -and the author was the obvious person to address them. -The Computer Systems Research Group (CSRG), -the group that produced the Berkeley Software Distributions, -was working on 4.4BSD, -and wanted an update to the mail system. -Bryan Costales was working on a book on -.i sendmail -that was being reviewed by the author, -which encouraged him to make some revisions. -And the author wanted to try to unify some of the disparate versions of -.i sendmail -that had been permitted to proliferate. -.pp -During the 1987\-91 fallow period, -many vendors and outside volunteers -had produced variants of -.i sendmail . -Perhaps the best known is the IDA version -[IDA87]. -Originally intended to be a new set of configuration files, -IDA expanded into a fairly large set of patches for the code. -Originally produced in Sweden, -IDA development passed to the University of Illinois, -and was widely used by the fairly large set of people -who prefer to get and compile their own source code -rather than use vendor-supplied binaries. -.pp -In about the same time frame, -attempts were made to clean up and extend the Simple Mail Transport Protocol -(SMTP) -[RFC821]. -This involved clarifications of some ambiguities in the protocol, -and correction of some problem areas -[RFC1123], -as well as extensions for additional functionality -(dubbed Extended Simple Mail Transport Protocol, or ESMTP) -[RFC1425, RFC1426, RFC1427] -and a richer set of semantics in the body of messages -(the Multipurpose Internet Mail Extensions, a.k.a. MIME) -[RFC1521, RFC1344]. -Neither the IDA group nor most vendors -were modifying -.i sendmail -to conform to these new standards. -It seemed clear that these were ``good things'' -that should be encouraged. -However, since no one was working on a publically available version of -.i sendmail -with these updates, -they were unlikely to be widely deployed any time in the near future. -.pp -There are, of course, other mail transport agents available, -such as -.i MMDF -.\"[ref], -.i zmailer -.\"[ref], -.i smail -.\"[ref], -and -.i PP -.\"[ref]. -However, none of these seemed to be gaining the prominence of -.i sendmail ; -it appeared that most companies would not convert to another -mail transport agent any time in the forseeable future. -However, they might be persuaded to convert to a newer version of -.i sendmail . -.pp -All of these convinced the author -to work on a updated version of -.i sendmail -for public distribution. -.pp -The new version of -.i sendmail -is referred to as version eight (V8). -Versions six and seven were skipped -because of an agreement -that all files in 4.4BSD would be numbered as -.q 8.1 . -Rather than have an external version number -that differed from the file version numbers, -.i sendmail -just jumped directly to V8. -.sh 1 "CHANGES IN VERSION EIGHT" -.pp -The following is a summary of the changes between the last commonly -available version of sendmail from Berkeley (5.67) and the latest -version (8.6.6). -.pp -Many of these are ideas that had been tried in IDA, -but many of them were generalized in V8. -.sh 2 "Performance Enhancements" -.pp -Instead of closing SMTP connections immediately, open connections are -cached for possible future use. There is a limit to the number of -simultaneous open connections and the idle time of any individual -connection. -.pp -This is of best help during queue processing (since there is the -potential of many different messages going to one site), although -it can also help when processing MX records which aren't handled -by MX Piggybacking. -.pp -If two hosts with different names in a single message happen to -have the same set of MX hosts, they can be sent in the same -transaction. Version 8 notices this and tries to batch the messages. -.pp -For example, if two sites ``foo.com'' and ``bar.com'' are both -served by UUNET, they will have the same set of MX hosts and will -be sent in one transaction. UUNET will then split the message -and send it to the two individual hosts. -.sh 2 "RFC 1123 Changes" -.pp -A number of changes have been made to make sendmail ``conditionally -compliant'' (that is, it satisfies all of the MUST clauses and most -but not all of the SHOULD clauses in RFC 1123). -.pp -The major areas of change are (numbers are RFC 1123 section numbers): -.nr ii 0.75i -.ip \(sc5.2.7 -Response to RCPT command is fast. Previously, sendmail -expanded all aliases as far as it could \*- this could -take a very long time, particularly if there were -name server delays. Version 8 only checks for the -existence of an alias and does the expansion later. -It does still do a DNS lookup if there is an explicit host name -in the RCPT command, -but this time is bounded. -.ip \(sc5.2.8 -Numeric IP addresses are logged in Received: lines. -This helps tracing spoofed messages. -.ip \(sc5.2.17 -Self domain literal is properly handled. Previously, -if someone sent to user@[1.2.3.4], where 1.2.3.4 is -your IP address, the mail would probably be rejected -with a ``configuration error''. -Version 8 can handle these addresses. -.ip \(sc5.3.2 -Better control over individual timeouts. RFC 821 specified -no timeouts. Older versions of sendmail had a single -timeout, typically set to two hours. Version 8 allows -the configuration file to set timeouts for various -SMTP commands individually. -.ip \(sc5.3.3 -Error messages are sent as From:<>. This was urged by -RFC 821 and reiterated by RFC 1123, but older versions -of sendmail never really did it properly. Version 8 -does. However, some systems cannot handle this -perfectly legal address; if necessary, you can create -a special mailer that uses the `g' flag to disable this. -.ip \(sc5.3.3 -Error messages are never sent to <>. Previously, -sendmail was happy to send responses-to-responses which -sometimes resulted in responses-to-responses-to-responses -which resulted in .... you get the idea. -.ip \(sc5.3.3 -Route-addrs (the ugly ``<@hosta,@hostb:user@hostc>'' -syntax) are pruned. RFC 821 urged the use of this -bletcherous syntax. RFC 1123 has seen the light and -officially deprecates them, further urging that you -eliminate all but ``user@hostc'' should you receive -one of these things. Version 8 is slightly more generous -than the standards suggest; instead of stripping off all -the route addressees, it only strips hosts off up to -the one before the last one known to DNS, thus allowing -you to have pseudo-hosts such as foo.BITNET. The `R' -option will turn this off. -.lp -The areas in which sendmail is not ``unconditionally compliant'' are: -.ip \(sc5.2.6 -Sendmail does do header munging. -.ip \(sc5.2.10 -Sendmail doesn't always use the exact SMTP message -text from RFC 821. This is a rather silly requirement. -.ip \(sc5.3.1.1 -Sendmail doesn't guarantee only one connect for each -host on queue runs. Connection caching gives you most -of this, but it does not provide a guarantee. -.ip \(sc5.3.1.1 -Sendmail doesn't always provide an adequate limit -on concurrency. That is, there can be several -independent sendmails running at once. My feeling -is that doing an absolute limit would be a mistake -(it might result in lost mail). However, if you use -the XLA contributed software, most of this will be -guaranteed (but I don't guarantee the guarantee). -.sh 2 "Extended SMTP Support -.pp -Version 8 includes both sending and receiving support for Extended -SMTP support as defined by RFC 1425 (basic) and RFC 1427 (SIZE); -and limited support for RFC 1426 (BODY). -The body support is minimal because the -.q 8BITMIME -body type is not currently advertised. -Although such a body type will be accepted, -it will not be correctly converted to 7 bits -if speaking to a non-8-bit-MIME aware SMTP server. -.pp -.i Sendmail -tries to speak ESMTP if you have the `a' flag set -in the flags for the mailer descriptor, -or if the other end advertises the fact that it speaks ESMTP. -This is a non-standard advertisement: -.i sendmail -announces -.q "ESMTP spoken here" -during the initial connection message, -and client sendmails search for this message. -This creates some problems for some PC-based mailers, -which do not understand two-line greeting messages -as required by RFC 821. -.sh 2 "Eight-Bit Clean -.pp -Previous versions of sendmail used the 0200 bit for quoting. This -version avoids that use. -However, you can set option `7' to get seven bit stripping -for compatibility with RFC 821, -which is a 7-bit protocol. -This option says ``strip to 7 bits on input''. -.pp -Individual mailers can still produce seven bit out put using the -`7' mailer flag. -This flag says ``strip to 7 bits on output''. -.sh 2 "User Database" -.pp -The User Database (UDB) is an as-yet experimental attempt to provide -unified large-site name support. -We are installing it at Berkeley; -future versions may show significant modifications. -Briefly, UDB contains a database that is intended to contain -all the per-user information for your workgroup, -such as people's full names, their .plan information, -their outgoing mail name, and their mail drop. -.pp -The user database allows you to map both incoming and outgoing -addresses, much like IDA. However, the interface is still -better with IDA; -in particular, the alias file with incoming/outgoing marks -provides better locality of information. -.sh 2 "Improved BIND Support" -.pp -The BIND support, particularly for MX records, had a number of -annoying ``features'' which have been removed in this release. In -particular, these more tightly bind (pun intended) the name server -to sendmail, so that the name server resolution rules are incorporated -directly into sendmail. -.pp -The major change has been that the $[ ... $] operator didn't fully -qualify names that were in DNS as A or MX records. Version 8 does -this qualification. -.pp -This has proven to be an annoyance in Sun shops, -who often still run without BIND support. -However, it is really critical that this be supported, -since MX records are mandatory. -In SunOS you can choose either MX support or NIS support, -but not both. -This is fixed in Solaris, -and some -.i sendmail -support to allow this in SunOS should be forthcoming in a future release. -.sh 2 "Keyed Files" -.pp -Generalized keyed files is an idea taken directly from IDA sendmail -(albeit with a completely different implementation). -They can be useful on large sites. -.pp -Version 8 includes the following built-in map classes: -.ip dbm -Support for the ndbm(3) library. -.ip hash -Support for the ``Hash'' type from the new Berkeley db(3) library. -this library provides substantially better database support -than ndbm(3), -including in-memory caching, -arbitrarily long keys and values, -and better disk utilization. -.ip btree -Support for the ``B-Tree'' type from the new Berkeley db(3) library. -B-Trees provide better clustering than Hashed files -if you are fetching lots of records that have similar keys, -such as searching a dictionary for words beginning with ``detr''. -.ip nis -Support for NIS (a.k.a. YP) maps. -NIS+ is not supported in this version. -.ip host -Support for DNS lookups. -.ip dequote -A ``pseudo-map'' (that is, once that does not have any external data) -that allows a configuration file to break apart a quoted string -in the address. -This is necessary primarily for DECnet addresses, -which often have quoted addresses that need to be unwrapped on gateways. -.sh 2 "Multi-Word Classes & Macros in Classes" -.pp -Classes can now be multiple words. For example, -.(b -CShofmann.CS.Berkeley.EDU -.)b -allows you to match the entire string ``hofmann.CS.Berkeley.EDU'' -using the single construct ``$=S''. -.pp -Class definitions are now allowed to include macros \*- for example: -.(b -Cw$k -.)b -is legal. -.sh 2 "IDENT Protocol Support" -.pp -The IDENT protocol as defined in RFC 1413 [RFC1413] is supported. -However, many systems have a TCP/IP bug that renders this useless, -and the feature must be turned off. -Roughly, if one of these system receives a -.q "No route to host" -message (ICMP message ICMP_UNREACH_HOST) on -.i any -connection, all connections to that host are closed. -Some firewalls return this error if you try to connect -to the IDENT port, -so you can't receive email from these hosts on these systems. -It's possible that if the firewall used a more specific message -(such as ICMP_UNREACH_PROTOCOL, ICMP_UNREACH_PORT or ICMP_UNREACH_NET_PROHIB) -it would work, but this hasn't been verified. -.pp -IDENT protocol support cannot be used on -4.3BSD, -Apollo DomainOS, -Apple A/UX, -ConvexOS, -Data General DG/UX, -HP-UX, -Sequent Dynix, -or -Ultrix 4.x, x \(<= 3. -It seems to work on -4.4BSD, -IBM AIX 3.x, -OSF/1, -SGI IRIX, -Solaris, -SunOS, -and Ultrix 4.4. -.sh 2 "Separate Envelope/Header Processing -.pp -Since the From: line is passed in separately from the envelope -sender, these have both been made visible; the $g macro is set to -the envelope sender during processing of mailer argument vectors -and the header sender during processing of headers. -.pp -It is also possible to specify separate per-mailer envelope and -header processing. The SenderRWSet and RecipientRWset arguments -for mailers can be specified as ``envelope/header'' to give different -rewritings for envelope versus header addresses. -.sh 2 "Owner-List Propagates to Envelope -.pp -When an alias has an associated owner-list name, that alias is used -to change the envelope sender address. This will cause downstream -errors to be returned to that owner. -.pp -Some people find this confusing -because the envelope sender is what appears in the first -``From_'' line in UNIX messages -(that is, the line beginning ``From<space>'' -instead of ``From:''; -the latter is the header from, which -.i does -indicate the sender of the message). -In previous versions, -.i sendmail -has tried to avoid changing the envelope sender -for back compatibility with UNIX convention; -at this point that back compatibility is creating too many problems, -and it is necessary to move forward into the 1980s. -.sh 2 "Command Line Flags" -.pp -The -.b \-B -flag has been added to pass in body type information. -.pp -The -.b \-p -flag has been added to pass in protocol information -that was previously passed in by defining the -.b $r -and -.b $s -macros. -.pp -The -.b \-X -flag has been added to allow logging of all protocol in and -out of sendmail for debugging. -You can set -.q "\-X filename" -and a complete transcript will be logged in that file. -This gets big fast: the option is only for debugging. -.pp -The -.b \-q -flag can limit limit a queue run to specific recipients, -senders, or queue ids using \-qRsubstring, \-qSsubstring, or -\-qIsubstring respectively. -.sh 2 "New Configuration Line Types -.pp -The `T' (Trusted users) configuration line has been deleted. It -will still be accepted but will be ignored. -.pp -The `K' line has been added to declare database maps. -.pp -The `V' line has been added to declare the configuration version -level. -.pp -The `M' (mailer) line takes a D= field to specify execution -directory. -.sh 2 "New and Extended Options" -.pp -Several new options have been added, many to support new features, -others to allow tuning that was previously available only by -recompiling. Briefly: -.nr ii 0.5i -.ip A -The alias file specification can now be a list of alias files. -Also, the configuration can specify a class of file. -For example, to search the NIS aliases, use -.q OAnis:mail.aliases . -.ip b -Insist on a minimum number of disk blocks. -.ip C -Delivery checkpoint interval. Checkpoint the queue (to avoid -duplicate deliveries) every C addresses. -.ip E -Default error message. This message (or the contents of the -indicated file) are prepended to error messages. -.ip G -Enable GECOS matching. If you can't find a local user name -and this option is enabled, do a sequential scan of the passwd -file to match against full names. Previously a compile option. -.ip h -Maximum hop count. Previously this was compiled in. -.ip I -This option has been extended to allow setting of resolver parameters. -.ip j -Send errors in MIME-encapsulated format. -.ip J -Forward file path. Where to search for .forward files \*- defaults -to $HOME/.forward. -.ip k -Connection cache size. The total number of connections that will -be kept open at any time. -.ip K -Connection cache lifetime. The amount of time any connection -will be permitted to sit idle. -.ip l -Enable Errors-To: header. These headers violate RFC 1123; -this option is included to provide back compatibility with -old versions of sendmail. -.ip O -Incoming daemon options (e.g., use alternate SMTP port). -.ip p -Privacy options. These can be used to make your SMTP server -less friendly. -.ip r -This option has been extended to allow finer grained control -over timeouts. -For example, you can set the timeout for SMTP commands individually. -.ip R -Don't prune route-addrs. Normally, if version 8 sees an address -like "<@hostA,@hostB:user@hostC>, sendmail will try to strip off -as much as it can (up to user@hostC) as suggested by RFC 1123. -This option disables that behaviour. -.ip T -The -.q "Return To Sender" -timeout has been extended -to allow specification of a warning message interval, -typically something on the order of four hours. -If a message cannot be delivered in that interval, -a warning message is sent back to the sender -but the message continues to be tried. -.ip U -User database spec. This is still experimental. -.ip V -Fallback ``MX'' host. This can be thought of as an MX host -that applies to all addresses that has a very high preference -value (that is, use it only if everything else fails). -.ip w -If set, assume that if you are the best MX host for a host, -you should send directly to that host. This is intended -for compatibility with UIUC sendmail, and may have some -use on firewalls. -.ip 7 -Do not run eight bit clean. Technically, you have to assert -this option to be RFC 821 compatible. -.sh 2 "New Mailer Definitions" -.ip L= -Set the allowable line length. In V5, the L mailer flag implied -a line length limit of 990 characters; this is now settable to -an arbitrary value. -.ip F=a -Try to use ESMTP. It will fall back to SMTP if the initial -EHLO packet is rejected. -.ip F=b -Ensure a blank line at the end of messages. Useful on the -*file* mailer. -.ip F=c -Strip all comments from addresses; this should only be used as -a last resort when dealing with cranky mailers. -.ip F=g -Never use the null sender as the envelope sender, even when -running SMTP. This violates RFC 1123. -.ip F=7 -Strip all output to this mailer to 7 bits. -.ip F=L -Used to set the line limit to 990 bytes for SMTP compatibility. -It now does that only if the L= keyletter is not specified. -This flag is obsolete and should not be used. -.sh 2 "New or Changed Pre-Defined Macros" -.ip $k -UUCP node name from uname(2). -.ip $m -Domain part of our full hostname. -.ip $_ -RFC 1413-provided sender address. -.ip $w -Previously was sometimes the full domain name, sometimes -just the first word. Now guaranteed to be the first word -of the domain name (i.e., the host name). -.ip $j -Previously had to be defined \*- it is now predefined to be -the full domain name, if that can be determined. That is, -it is equivalent to $w.$m. -.sh 2 "New and Changed Classes" -.ip $=k -Initialized to contain $k. -.ip $=w -Now includes -.q [1.2.3.4] -(where 1.2.3.4 is your IP address) -to allow the configuration file to recognize your own IP address. -.sh 2 "New Rewriting Tokens" -.pp -The -.b $& -construct has been adopted from IDA to defer macro evaluation. -Normally, macros in rulesets are bound when the rule is first parsed -during startup. -Some macros change during processing and are uninteresting during startup. -However, that macro can be referenced using -.q $&x -to defer the evaulation of -$x -until the rule is processed. -.pp -The tokens -.b $( -and -.b $) -have been added to allow specification of map rewriting. -.pp -Version 8 allows -.b $@ -on the Left Hand Side of an `R' line to match -zero tokens. -This is intended to be used to match the null input. -.sh 2 "Bigger Defaults -.pp -Version 8 allows up to 100 rulesets instead of 30. It is recommended -that rulesets 0\-9 be reserved for sendmail's dedicated use in future -releases. -.pp -The total number of MX records that can be used has been raised to -20. -.pp -The number of queued messages that can be handled at one time has -been raised from 600 to 1000. -.sh 2 "Different Default Tuning Parameters -.pp -Version 8 has changed the default parameters for tuning queue costs -to make the number of recipients more important than the size of -the message (for small messages). This is reasonable if you are -connected with reasonably fast links. -.sh 2 "Auto-Quoting in Addresses -.pp -Previously, the ``Full Name <email address>'' syntax would generate -incorrect protocol output if ``Full Name'' had special characters -such as dot. This version puts quotes around such names. -.sh 2 "Symbolic Names On Error Mailer -.pp -Several names have been built in to the $@ portion of the $#error -mailer. For example: -.(b -$#error $@NOHOST $: Host unknown -.)b -Prints the indicated message -and sets the exit status of -.i sendmail -to -.sm EX_NOHOST . -.sh 2 "New Built-In Mailers" -.pp -Two new mailers, *file* and *include*, are included to define options -when mailing to a file or a :include: file respectively. Previously -these were overloaded on the local mailer. -.sh 2 "SMTP VRFY Doesn't Expand -.pp -Previous versions of sendmail treated VRFY and EXPN the same. In -this version, VRFY doesn't expand aliases or follow .forward files. -.pp -As an optimization, if you run with your default delivery mode -being queue-only, the RCPT command will also not chase aliases and -\&.forward files. -It will chase them when it processes the queue. -This speeds up RCPT processing. -.sh 2 "[IPC] Mailers Allow Multiple Hosts -.pp -When an address resolves to a mailer that has ``[IPC]'' as its -``Path'', the $@ part (host name) can be a colon-separated list of -hosts instead of a single hostname. This asks sendmail to search -the list for the first entry that is available exactly as though -it were an MX record. The intent is to route internal traffic -through internal networks without publishing an MX record to the -net. MX expansion is still done on the individual items. -.sh 2 "Aliases Extended" -.pp -The implementation has been merged with maps. Among other things, -this supports multiple alias files and NIS-based aliases. For -example: -.(b -OA/etc/aliases,nis:mail.aliases -.)b -will search first the local database -.q /etc/aliases -followed by the NIS map - -.sh 2 "Portability and Security Enhancements -.pp -A number of internal changes have been made to enhance portability. -.pp -Several fixes have been made to increase the paranoia factor. -.pp -In particular, the permissions required for .forward and :include: -files have been tightened up considerably. V5 would pretty much -read any file it could get to as root, which exposed some security -holes. V8 insists that all directories leading up to the .forward -or :include: file be searchable ("x" permission) by the controlling -user" (defined below), that the file itself be readable by the -controlling user, and that .forward files be owned by the user -who is being forwarded to or root. -.pp -The "controlling user" is the user on whose behalf the mail is -being delivered. For example, if you mail to "user1" then the -controlling user for ~user1/.forward and any mailers invoked -by that .forward file, including :include: files. -.pp -Previously, anyone who had a home directory could create a .forward -could forward to a program. Now, sendmail checks to make sure -that they have an "approved shell", that is, a shell listed in -the /etc/shells file. -.sh 2 "Miscellaneous Fixes and Enhancements" -.pp -A number of small bugs having to do with things like backslash-escaped -quotes inside of comments have been fixed. -.pp -The fixed size limit on header lines -(such as -.q To: -and -.q Cc: ) -has been eliminated; -those buffers are dynamically allocated now. -.pp -Sendmail writes a /etc/sendmail.pid file with the current process id -and the current invocation flags. -.pp -Two people using the same program (e.g., submit) are considered -"different" so that duplicate elimination doesn't delete one of -them. For example, two people forwarding their email to -|submit will be treated as two recipients. -.pp -The mailstats program prints mailer names and gets the location of -the sendmail.st file from /etc/sendmail.cf. -.pp -Many minor bugs have been fixed, such as handling of backslashes -inside of quotes. -.pp -A hook has been added to allow rewriting of local addresses after -aliasing. -.sh 1 "FUTURE WORK" -.pp -The previous section describes -.i sendmail -as of version 8.6.6. -There is still much to be done. -Some high points are described below. -This list is by no means exhaustive. -.sh 2 "Full MIME Support" -.pp -Currently -.i sendmail -only supports seven bit MIME messages. -Although it can pass eight bit MIME messages, -it cannot advertise that fact because the standards say -that the mail agent must be able to do 8- to 7-bit conversion -to have full 8-bit support. -This requires far more extensive modification of the message body -than is currently supported. -.pp -The best way to do this would be to support the general concept -of an external -``message filter'' -that could do arbitrary modifications of the message. -This would allow MIME conversion as well as such things as -automatic encryption of messages sent over external links. -This is probably an extremely non-trivial change. -.sh 2 "Service Switch Abstraction" -.pp -Most modern systems include some concept of a -.q "service switch" -\*- for example, to look up host names you can try -DNS, NIS, NIS+, text tables, NetInfo, -or other services in some arbitrary order. -This is currently very clumsy in -.i sendmail , -with only limited control of the services provided. -.sh 2 "More Control of Local Addresses" -.pp -Currently some addresses are declared as -.q local -and are handled specially \*- -for example, they may have .forward files, -may be translated into program calls or file deliveries, -and so forth. -These should be broken out into separate flags -to allow the local system administrator -to have more fine-grained control over operations. -.sh 2 "More Run-Time Configuration Options" -.pp -There are many options that are configured at compile time, -such as the method of file locking -and the use of the IDENT protocol -[RFC1413]. -These should be transfered to run time -by adding new options. -.pp -Similarly, some options are currently overloaded, -that is, a single option controls more than one thing. -These should probably be broken out into separate options. -.pp -This implies that options will change from single characters -to words. -.sh 2 "More Configuration Control Over Errors" -.pp -Currently, -the configuration file can generate an error message during parsing. -However, -it cannot tweak other operations, -such as issuing a warning message to the system postmaster. -Similarly, -some errors should not be triggered if they are in aliases -during an alias file rebuild, -but should be triggered if that alias is actually used. -.sh 2 "Long Term Host State" -.pp -Currently, -.i sendmail -only remembers host status during a single queue run. -This should be converted to long term status -stored on disk -so it can be shared between instantiations of -.i sendmail . -Entries will have to be timestamped -so they can time out. -This will allow -.i sendmail -to implement exponential backoff on queue runs -on a per-host basis. -.sh 2 "Connection Control" -.pp -Modern networks have different types of connectivity -than the past. -In particular, the rising prominence of dialup IP -has created certain challenges for automated servers. -It is not uncommon to try to make a connection to a host -and have it fail, even though if you tried again it would succeed. -The connection management could be a bit cleverer -to try to adapt to such situations. -.sh 2 "Other Caching" -.pp -When you do an MX record lookup, -the name server automatically returns the IP addresses -of the associated MX servers. -This information is currently ignored, -and another query is done to get this information. -It should be cached to avoid excess name server traffic. -.sh 1 "REFERENCES" -.ip [Allman83a] -.q "Sendmail \*- An Internetwork Mail Router." -E. Allman. -In -.ul -Unix Programmers's Manual, -4.2 Berkeley Software Distribution, -volume 2C. -August 1983. -.ip [Allman83b] -.q "Mail Systems and Addressing in 4.2BSD." -E. Allman -In -.ul -UNICOM Conference Proceedings. -San Diego, California. -January 1983. -.ip [Allman&Amos85] -``Sendmail Revisited.'' -E. Allman and M. Amos. -In -.ul -Usenix Summer 1985 Conference Proceedings. -Portland, Oregon. -June 1985. -.ip [IDA87] -.ul 3 -Electronic Mail Addressing in Theory and Practice -with the IDA Sendmail Enhancement Kit -(or The Postmaster's Last Will and Testament). -Lennart Lo\*:vstrand. -Department of Computer and Information Science, -University of Linko\*:ping, -Sweden, -Report no. LiTH-IDA-Ex-8715. -May 1987. -.ip [RFC821] -.ul -Simple Mail Transport Protocol. -J. Postel. -August 1982. -.ip [RFC1123] -.ul -Requirements for Internet Hosts \*- Application and Support. -Internet Engineering Task Force, -R. Braden, Editor. -October 1989. -.ip [RFC1344] -.ul -Implications of MIME for Internet Mail Gateways. -N. Borenstein. -June 1992. -.ip [RFC1413] -.ul -Identification Protocol. -M. St. Johns. -February 1993. -.ip [RFC1425] -.ul -SMTP Service Extensions. -J. Klensin, N. Freed, M. Rose, E. Stefferud, and D. Crocker. -February 1993. -.ip [RFC1426] -.ul -SMTP Service Extension for 8bit-MIMEtransport. -J. Klensin, N. Freed, M. Rose, E. Stefferud, and D. Crocker. -February 1993. -.ip [RFC1427] -.ul -SMTP Service Extension for Message Size Declaration. -J. Klensin, N. Freed, and K. Moore. -February 1993. -.ip [RFC1521] -.ul 3 -MIME (Multipurpose Internet Mail Extensions) Part One: -Mechanisms for Specifying and Describing -the Format of Internet Message Bodies. -N. Borenstein and N. Freed. -September 1993. diff --git a/doc/changes/changes.ps b/doc/changes/changes.ps deleted file mode 100644 index 9f12530..0000000 --- a/doc/changes/changes.ps +++ /dev/null @@ -1,1129 +0,0 @@ -%!PS-Adobe-3.0 -%%Creator: groff version 1.10 -%%CreationDate: Tue Dec 29 09:59:23 1998 -%%DocumentNeededResources: font Times-Roman -%%+ font Times-Italic -%%+ font Times-Bold -%%+ font Symbol -%%DocumentSuppliedResources: procset grops 1.10 0 -%%Pages: 11 -%%PageOrder: Ascend -%%Orientation: Portrait -%%EndComments -%%BeginProlog -%%BeginResource: procset grops 1.10 0 -/setpacking where{ -pop -currentpacking -true setpacking -}if -/grops 120 dict dup begin -/SC 32 def -/A/show load def -/B{0 SC 3 -1 roll widthshow}bind def -/C{0 exch ashow}bind def -/D{0 exch 0 SC 5 2 roll awidthshow}bind def -/E{0 rmoveto show}bind def -/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def -/G{0 rmoveto 0 exch ashow}bind def -/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def -/I{0 exch rmoveto show}bind def -/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def -/K{0 exch rmoveto 0 exch ashow}bind def -/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def -/M{rmoveto show}bind def -/N{rmoveto 0 SC 3 -1 roll widthshow}bind def -/O{rmoveto 0 exch ashow}bind def -/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def -/Q{moveto show}bind def -/R{moveto 0 SC 3 -1 roll widthshow}bind def -/S{moveto 0 exch ashow}bind def -/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def -/SF{ -findfont exch -[exch dup 0 exch 0 exch neg 0 0]makefont -dup setfont -[exch/setfont cvx]cvx bind def -}bind def -/MF{ -findfont -[5 2 roll -0 3 1 roll -neg 0 0]makefont -dup setfont -[exch/setfont cvx]cvx bind def -}bind def -/level0 0 def -/RES 0 def -/PL 0 def -/LS 0 def -/MANUAL{ -statusdict begin/manualfeed true store end -}bind def -/PLG{ -gsave newpath clippath pathbbox grestore -exch pop add exch pop -}bind def -/BP{ -/level0 save def -1 setlinecap -1 setlinejoin -72 RES div dup scale -LS{ -90 rotate -}{ -0 PL translate -}ifelse -1 -1 scale -}bind def -/EP{ -level0 restore -showpage -}bind def -/DA{ -newpath arcn stroke -}bind def -/SN{ -transform -.25 sub exch .25 sub exch -round .25 add exch round .25 add exch -itransform -}bind def -/DL{ -SN -moveto -SN -lineto stroke -}bind def -/DC{ -newpath 0 360 arc closepath -}bind def -/TM matrix def -/DE{ -TM currentmatrix pop -translate scale newpath 0 0 .5 0 360 arc closepath -TM setmatrix -}bind def -/RC/rcurveto load def -/RL/rlineto load def -/ST/stroke load def -/MT/moveto load def -/CL/closepath load def -/FL{ -currentgray exch setgray fill setgray -}bind def -/BL/fill load def -/LW/setlinewidth load def -/RE{ -findfont -dup maxlength 1 index/FontName known not{1 add}if dict begin -{ -1 index/FID ne{def}{pop pop}ifelse -}forall -/Encoding exch def -dup/FontName exch def -currentdict end definefont pop -}bind def -/DEFS 0 def -/EBEGIN{ -moveto -DEFS begin -}bind def -/EEND/end load def -/CNT 0 def -/level1 0 def -/PBEGIN{ -/level1 save def -translate -div 3 1 roll div exch scale -neg exch neg exch translate -0 setgray -0 setlinecap -1 setlinewidth -0 setlinejoin -10 setmiterlimit -[]0 setdash -/setstrokeadjust where{ -pop -false setstrokeadjust -}if -/setoverprint where{ -pop -false setoverprint -}if -newpath -/CNT countdictstack def -userdict begin -/showpage{}def -}bind def -/PEND{ -clear -countdictstack CNT sub{end}repeat -level1 restore -}bind def -end def -/setpacking where{ -pop -setpacking -}if -%%EndResource -%%IncludeResource: font Times-Roman -%%IncludeResource: font Times-Italic -%%IncludeResource: font Times-Bold -%%IncludeResource: font Symbol -grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 -def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron -/scaron/zcaron/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent -/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen -/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon -/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O -/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex -/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y -/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft -/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl -/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut -/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash -/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen -/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft -/logicalnot/minus/registered/macron/degree/plusminus/twosuperior -/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior -/ordmasculine/guilsinglright/onequarter/onehalf/threequarters -/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE -/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn -/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla -/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis -/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash -/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def -/Times-Bold@0 ENC0/Times-Bold RE/Times-Italic@0 ENC0/Times-Italic RE -/Times-Roman@0 ENC0/Times-Roman RE -%%EndProlog -%%Page: 1 1 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 14/Times-Roman@0 SF(Changes in Sendmail V)196.615 141 Q(ersion 8*) --1.554 E/F1 10/Times-Roman@0 SF(Eric Allman)263.42 165 Q/F2 10 -/Times-Italic@0 SF(Univer)220.2 183 Q(sity of California, Berk)-.1 E -(ele)-.1 E(y)-.3 E(Mammoth Pr)251.98 195 Q(oject)-.45 E F1(ABSTRA) -262.085 227.4 Q(CT)-.4 E -1.11(Ve)112 243.6 S 1.709(rsion 8 of)1.11 F F2 -(sendmail)4.209 E F1 1.709(includes a number of major changes from pre) -4.209 F 1.71(vious v)-.25 F(ersions.)-.15 E .701(This paper gi)112 255.6 -R -.15(ve)-.25 G 3.201(sav).15 G .701(ery short history of)-3.351 F F2 -(sendmail)3.201 E F1 3.201(,as)C .7(ummary of the major dif)-3.201 F -(ferences)-.25 E .953(between v)112 267.6 R .954 -(ersion 5 \(the last publically a)-.15 F -.25(va)-.2 G .954(ilable v).25 -F .954(ersion\) and v)-.15 F .954(ersion 8, and some dis-)-.15 F -(cussion of future directions.)112 279.6 Q .48 -(In 1987, the author stopped major w)97 324 R .48(ork on)-.1 F F2 -(sendmail)2.98 E F1 .48(due to other time committments, only to return) -2.98 F(to acti)72 336 Q .3 -.15(ve w)-.25 H(ork in 1991.).05 E -(This paper e)5 E(xplores wh)-.15 E 2.5(yw)-.05 G -(ork resumed and what changes ha)-2.6 E .3 -.15(ve b)-.2 H(een made.).15 -E .58(Section 1 gi)97 352.2 R -.15(ve)-.25 G 3.08(sas).15 G .58 -(hort history of)-3.08 F F2(sendmail)3.08 E F1 .58(through v)3.08 F .58 -(ersion 5 and the moti)-.15 F -.25(va)-.25 G .58(tion behind w).25 F .58 -(orking on)-.1 F -.15(ve)72 364.2 S .126(rsion 8.).15 F .126(Section 2 has a rather detailed description of what has changed between v) -5.126 F .125(ersion 5 and v)-.15 F .125(ersion 8.)-.15 F -(The paper \214nishes of)72 376.2 Q 2.5(fw)-.25 G -(ith some thoughts about what still needs to be done.)-2.5 E/F3 10 -/Times-Bold@0 SF 2.5(1. HIST)72 400.2 R(OR)-.18 E(Y)-.35 E F1 .151 -(As discussed else)112 416.4 R .151 -(where, [Allman83a, Allman83b, Allman&Amos85] sendmail has e)-.25 F .151 -(xisted in v)-.15 F(ar)-.25 E(-)-.2 E .405(ious forms since 1980.)87 -428.4 R .405(It w)5.405 F .405(as released under the name)-.1 F F2 -(delivermail)2.905 E F1 .404(in 4BSD and 4.1BSD, and as)2.905 F F2 -(send-)2.904 E(mail)87 440.4 Q F1(in 4.2BSD.)2.5 E -(It quickly became the dominant mail system for netw)5 E(ork)-.1 E -(ed UNIX systems.)-.1 E 1.569(Prior the release of 4.3BSD in No)112 -456.6 R -.15(ve)-.15 G 1.569(mber 1986, the author had left the Uni).15 -F -.15(ve)-.25 G 1.57(rsity for pri).15 F -.25(va)-.25 G(te).25 E -(industry)87 468.6 Q 3.347(,b)-.65 G .847(ut continued to do some w) --3.547 F .847(ork on)-.1 F F2(sendmail)3.347 E F1 .847(with acti)3.347 F -.846(vity slo)-.25 F .846(wly trailing of)-.25 F 3.346(fu)-.25 G .846 -(ntil ef)-3.346 F(fecti)-.25 E -.15(ve)-.25 G(ly).15 E .255 -(stopping after February 1987.)87 480.6 R .255(There w)5.255 F .255 -(as minimal support done by man)-.1 F 2.756(yp)-.15 G .256(eople for se) --2.756 F -.15(ve)-.25 G .256(ral years, until).15 F -(July of 1991 when the original author)87 492.6 Q 2.5(,w)-.4 G -(ho had returned the Uni)-2.5 E -.15(ve)-.25 G(rsity).15 E 2.5(,s)-.65 G -(tarted acti)-2.5 E .3 -.15(ve w)-.25 H(ork on it ag).05 E(ain.)-.05 E -1.271(There were se)112 508.8 R -.15(ve)-.25 G 1.271 -(ral reasons for rene).15 F 1.271(wed w)-.25 F 1.271(ork on)-.1 F F2 -(sendmail)3.771 E F1 6.271(.T)C 1.271(here w)-6.271 F 1.27 -(as a desire at Berk)-.1 F(ele)-.1 E 3.77(yt)-.15 G(o)-3.77 E(con)87 -520.8 Q -.15(ve)-.4 G .097(rt to a subdomained structure so that indi) -.15 F .098(viduals were identi\214ed by their subdomain rather than by) --.25 F 1.758(their indi)87 532.8 R 1.758(vidual w)-.25 F 1.758(orkstation; although possible in the old code, there were some problems, and the) --.1 F .66(author w)87 544.8 R .66(as the ob)-.1 F .66 -(vious person to address them.)-.15 F .66 -(The Computer Systems Research Group \(CSRG\), the)5.66 F 1.89 -(group that produced the Berk)87 556.8 R(ele)-.1 E 4.39(yS)-.15 G(oftw) --4.39 E 1.89(are Distrib)-.1 F 1.89(utions, w)-.2 F 1.89(as w)-.1 F 1.89 -(orking on 4.4BSD, and w)-.1 F 1.89(anted an)-.1 F .053 -(update to the mail system.)87 568.8 R .053(Bryan Costales w)5.053 F -.053(as w)-.1 F .053(orking on a book on)-.1 F F2(sendmail)2.553 E F1 -.053(that w)2.553 F .053(as being re)-.1 F(vie)-.25 E(wed)-.25 E .923 -(by the author)87 580.8 R 3.423(,w)-.4 G .923 -(hich encouraged him to mak)-3.423 F 3.422(es)-.1 G .922(ome re)-3.422 F -3.422(visions. And)-.25 F .922(the author w)3.422 F .922 -(anted to try to unify)-.1 F(some of the disparate v)87 592.8 Q -(ersions of)-.15 E F2(sendmail)2.5 E F1 -(that had been permitted to proliferate.)2.5 E .023 -(During the 1987\25591 f)112 609 R(allo)-.1 E 2.523(wp)-.25 G .023 -(eriod, man)-2.523 F 2.523(yv)-.15 G .023(endors and outside v)-2.673 F -.023(olunteers had produced v)-.2 F .024(ariants of)-.25 F F2(sendmail) -87 621 Q F1 5.518(.P)C .517(erhaps the best kno)-5.518 F .517 -(wn is the ID)-.25 F 3.017(Av)-.4 G .517(ersion [ID)-3.167 F 3.017 -(A87]. Originally)-.4 F .517(intended to be a ne)3.017 F 3.017(ws)-.25 G -.517(et of)-3.017 F .268(con\214guration \214les, ID)87 633 R 2.768(Ae) --.4 G .269(xpanded into a f)-2.918 F .269(airly lar)-.1 F .269 -(ge set of patches for the code.)-.18 F .269(Originally produced in) -5.269 F .471(Sweden, ID)87 645 R 2.971(Ad)-.4 G -2.15 -.25(ev e)-2.971 H -.471(lopment passed to the Uni).25 F -.15(ve)-.25 G .471 -(rsity of Illinois, and w).15 F .47(as widely used by the f)-.1 F .47 -(airly lar)-.1 F(ge)-.18 E .077 -(set of people who prefer to get and compile their o)87 657 R .077 -(wn source code rather than use v)-.25 F(endor)-.15 E .078 -(-supplied bina-)-.2 F(ries.)87 669 Q .32 LW 76 678.6 72 678.6 DL 80 -678.6 76 678.6 DL 84 678.6 80 678.6 DL 88 678.6 84 678.6 DL 92 678.6 88 -678.6 DL 96 678.6 92 678.6 DL 100 678.6 96 678.6 DL 104 678.6 100 678.6 -DL 108 678.6 104 678.6 DL 112 678.6 108 678.6 DL 116 678.6 112 678.6 DL -120 678.6 116 678.6 DL 124 678.6 120 678.6 DL 128 678.6 124 678.6 DL 132 -678.6 128 678.6 DL 136 678.6 132 678.6 DL 140 678.6 136 678.6 DL 144 -678.6 140 678.6 DL 148 678.6 144 678.6 DL 152 678.6 148 678.6 DL 156 -678.6 152 678.6 DL 160 678.6 156 678.6 DL 164 678.6 160 678.6 DL 168 -678.6 164 678.6 DL 172 678.6 168 678.6 DL 176 678.6 172 678.6 DL 180 -678.6 176 678.6 DL 184 678.6 180 678.6 DL 188 678.6 184 678.6 DL 192 -678.6 188 678.6 DL 196 678.6 192 678.6 DL 200 678.6 196 678.6 DL 204 -678.6 200 678.6 DL 208 678.6 204 678.6 DL 212 678.6 208 678.6 DL 216 -678.6 212 678.6 DL/F4 8/Times-Roman@0 SF .045(*An earlier v)93.6 690.6 R -.045(ersion of this paper w)-.12 F .044 -(as printed in the Proceedings of the 1994 A)-.08 F .044 -(UUG Queensland Summer T)-.44 F .044(echnical Conference,)-.56 F(Gate)72 -700.2 Q -.08(wa)-.2 G 2(yH).08 G(otel, Brisbane, March 1994.)-2 E F3 -(Changes in Sendmail V)72 756 Q(ersion 8)-1 E(1)294.65 E EP -%%Page: 2 2 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Bold@0 SF 294.65(2C)72 60 S(hanges in Sendmail V)-294.65 E -(ersion 8)-1 E/F1 10/Times-Roman@0 SF .151 -(In about the same time frame, attempts were made to clean up and e)112 -96 R .151(xtend the Simple Mail T)-.15 F(rans-)-.35 E .468 -(port Protocol \(SMTP\) [RFC821].)87 108 R .468(This in)5.468 F -.2(vo) --.4 G(lv).2 E .469 -(ed clari\214cations of some ambiguities in the protocol, and)-.15 F -.085(correction of some problem areas [RFC1123], as well as e)87 120 R -.084(xtensions for additional functionality \(dubbed)-.15 F 1.052 -(Extended Simple Mail T)87 132 R 1.053 -(ransport Protocol, or ESMTP\) [RFC1425, RFC1426, RFC1427] and a richer) --.35 F 1.376(set of semantics in the body of messages \(the Multipurpose Internet Mail Extensions, a.k.a. MIME\)) -87 144 R .497([RFC1521, RFC1344].)87 156 R .497(Neither the ID)5.497 F -2.998(Ag)-.4 G .498(roup nor most v)-2.998 F .498(endors were modifying) --.15 F/F2 10/Times-Italic@0 SF(sendmail)2.998 E F1 .498(to conform)2.998 -F 1.7(to these ne)87 168 R 4.2(ws)-.25 G 4.2(tandards. It)-4.2 F 1.699 -(seemed clear that these were `)4.2 F 1.699(`good things')-.74 F 4.199 -('t)-.74 G 1.699(hat should be encouraged.)-4.199 F(Ho)87 180 Q(we)-.25 -E -.15(ve)-.25 G 1.635 -.4(r, s).15 H .835(ince no one w).4 F .835(as w) --.1 F .835(orking on a publically a)-.1 F -.25(va)-.2 G .835(ilable v) -.25 F .836(ersion of)-.15 F F2(sendmail)3.336 E F1 .836 -(with these updates,)3.336 F(the)87 192 Q 2.5(yw)-.15 G(ere unlik)-2.5 E -(ely to be widely deplo)-.1 E(yed an)-.1 E 2.5(yt)-.15 G -(ime in the near future.)-2.5 E .466 -(There are, of course, other mail transport agents a)112 208.2 R -.25 -(va)-.2 G .465(ilable, such as).25 F F2 .465(MMDF zmailer smail)2.965 F -F1(and)2.965 E F2(PP)2.965 E F1(Ho)87 220.2 Q(we)-.25 E -.15(ve)-.25 G -.842 -.4(r, n).15 H .042(one of these seemed to be g).4 F .043 -(aining the prominence of)-.05 F F2(sendmail)2.543 E F1 2.543(;i)C 2.543 -(ta)-2.543 G .043(ppeared that most compa-)-2.543 F .238(nies w)87 232.2 -R .238(ould not con)-.1 F -.15(ve)-.4 G .238 -(rt to another mail transport agent an).15 F 2.737(yt)-.15 G .237 -(ime in the forseeable future.)-2.737 F(Ho)5.237 E(we)-.25 E -.15(ve) --.25 G 1.037 -.4(r, t).15 H(he).4 E(y)-.15 E(might be persuaded to con) -87 244.2 Q -.15(ve)-.4 G(rt to a ne).15 E(wer v)-.25 E(ersion of)-.15 E -F2(sendmail)2.5 E F1(.)A .841(All of these con)112 260.4 R .841 -(vinced the author to w)-.4 F .841(ork on a updated v)-.1 F .841 -(ersion of)-.15 F F2(sendmail)3.342 E F1 .842(for public distrib)3.342 F -(u-)-.2 E(tion.)87 272.4 Q 1.024(The ne)112 288.6 R 3.524(wv)-.25 G -1.023(ersion of)-3.674 F F2(sendmail)3.523 E F1 1.023 -(is referred to as v)3.523 F 1.023(ersion eight \(V8\).)-.15 F -1.11(Ve) -6.023 G 1.023(rsions six and se)1.11 F -.15(ve)-.25 G 3.523(nw).15 G -(ere)-3.523 E 1.281 -(skipped because of an agreement that all \214les in 4.4BSD w)87 300.6 R -1.281(ould be numbered as \2318.1\232.)-.1 F 1.282(Rather than)6.282 F -(ha)87 312.6 Q 2.05 -.15(ve a)-.2 H 4.25(ne).15 G 1.75(xternal v)-4.4 F -1.75(ersion number that dif)-.15 F 1.75(fered from the \214le v)-.25 F -1.75(ersion numbers,)-.15 F F2(sendmail)4.25 E F1 1.75(just jumped)4.25 -F(directly to V8.)87 324.6 Q F0 2.5(2. CHANGES)72 348.6 R -(IN VERSION EIGHT)2.5 E F1 .138(The follo)112 364.8 R .139 -(wing is a summary of the changes between the last commonly a)-.25 F --.25(va)-.2 G .139(ilable v).25 F .139(ersion of send-)-.15 F -(mail from Berk)87 376.8 Q(ele)-.1 E 2.5(y\()-.15 G -(5.67\) and the latest v)-2.5 E(ersion \(8.6.6\).)-.15 E(Man)112 393 Q -2.5(yo)-.15 G 2.5(ft)-2.5 G(hese are ideas that had been tried in ID) --2.5 E(A, b)-.4 E(ut man)-.2 E 2.5(yo)-.15 G 2.5(ft)-2.5 G -(hem were generalized in V8.)-2.5 E F0 2.5(2.1. P)87 417 R(erf)-.2 E -(ormance Enhancements)-.25 E F1 .549 -(Instead of closing SMTP connections immediately)127 433.2 R 3.049(,o) --.65 G .549(pen connections are cached for possible)-3.049 F .029 -(future use.)102 445.2 R .029(There is a limit to the number of simultaneous open connections and the idle time of an) -5.029 F(y)-.15 E(indi)102 457.2 Q(vidual connection.)-.25 E 1.219(This is of best help during queue processing \(since there is the potential of man) -127 473.4 R 3.719(yd)-.15 G(if)-3.719 E(ferent)-.25 E 1.113(messages going to one site\), although it can also help when processing MX records which aren') -102 485.4 R(t)-.18 E(handled by MX Piggybacking.)102 497.4 Q 1.258 -(If tw)127 513.6 R 3.757(oh)-.1 G 1.257(osts with dif)-3.757 F 1.257 -(ferent names in a single message happen to ha)-.25 F 1.557 -.15(ve t) --.2 H 1.257(he same set of MX).15 F .94(hosts, the)102 525.6 R 3.44(yc) --.15 G .94(an be sent in the same transaction.)-3.44 F -1.11(Ve)5.94 G -.94(rsion 8 notices this and tries to batch the mes-)1.11 F(sages.)102 -537.6 Q -.15(Fo)127 553.8 S 3.638(re).15 G 1.138(xample, if tw)-3.788 F -3.637(os)-.1 G 1.137(ites `)-3.637 F(`foo.com')-.74 E 3.637('a)-.74 G -1.137(nd `)-3.637 F(`bar)-.74 E(.com')-.55 E 3.637('a)-.74 G 1.137 -(re both serv)-3.637 F 1.137(ed by UUNET)-.15 F 3.637(,t)-.74 G(he) --3.637 E 3.637(yw)-.15 G(ill)-3.637 E(ha)102 565.8 Q .557 -.15(ve t)-.2 -H .257(he same set of MX hosts and will be sent in one transaction.).15 -F .258(UUNET will then split the mes-)5.258 F -(sage and send it to the tw)102 577.8 Q 2.5(oi)-.1 G(ndi)-2.5 E -(vidual hosts.)-.25 E F0 2.5(2.2. RFC)87 601.8 R(1123 Changes)2.5 E F1 -2.607(An)127 618 S .107(umber of changes ha)-2.607 F .407 -.15(ve b)-.2 -H .106(een made to mak).15 F 2.606(es)-.1 G .106(endmail `)-2.606 F .106 -(`conditionally compliant')-.74 F 2.606('\()-.74 G .106(that is, it) --2.606 F(satis\214es all of the MUST clauses and most b)102 630 Q -(ut not all of the SHOULD clauses in RFC 1123\).)-.2 E(The major areas of change are \(numbers are RFC 1123 section numbers\):) -127 646.2 Q 26.5(\2475.2.7 Response)102 662.4 R .565 -(to RCPT command is f)3.065 F 3.065(ast. Pre)-.1 F(viously)-.25 E 3.065 -(,s)-.65 G .565(endmail e)-3.065 F .565(xpanded all aliases as f)-.15 F -(ar)-.1 E .686(as it could \212 this could tak)156 674.4 R 3.186(eav)-.1 -G .685(ery long time, particularly if there were name serv)-3.336 F(er) --.15 E 3.891(delays. V)156 686.4 R 1.391(ersion 8 only checks for the e) --1.11 F 1.392(xistence of an alias and does the e)-.15 F(xpansion)-.15 E -(later)156 698.4 Q 5.176(.I)-.55 G 2.676(td)-5.176 G .176 -(oes still do a DNS lookup if there is an e)-2.676 F .175 -(xplicit host name in the RCPT com-)-.15 F(mand, b)156 710.4 Q -(ut this time is bounded.)-.2 E EP -%%Page: 3 3 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Bold@0 SF(Changes in Sendmail V)72 60 Q(ersion 8)-1 E(3) -294.65 E/F1 10/Times-Roman@0 SF 26.5(\2475.2.8 Numeric)102 96 R .612 -(IP addresses are logged in Recei)3.112 F -.15(ve)-.25 G .613(d: lines.) -.15 F .613(This helps tracing spoofed mes-)5.613 F(sages.)156 108 Q 21.5 -(\2475.2.17 Self)102 124.2 R .127(domain literal is properly handled.) -2.627 F(Pre)5.126 E(viously)-.25 E 2.626(,i)-.65 G 2.626(fs)-2.626 G -.126(omeone sent to user@[1.2.3.4],)-2.626 F .12 -(where 1.2.3.4 is your IP address, the mail w)156 136.2 R .12 -(ould probably be rejected with a `)-.1 F(`con\214gu-)-.74 E -(ration error')156 148.2 Q 2.5('. V)-.74 F -(ersion 8 can handle these addresses.)-1.11 E 26.5(\2475.3.2 Better)102 -164.4 R 1.189(control o)3.69 F -.15(ve)-.15 G 3.689(ri).15 G(ndi)-3.689 -E 1.189(vidual timeouts.)-.25 F 1.189(RFC 821 speci\214ed no timeouts.) -6.189 F 1.189(Older v)6.189 F(er)-.15 E(-)-.2 E .002 -(sions of sendmail had a single timeout, typically set to tw)156 176.4 R -2.502(oh)-.1 G 2.502(ours. V)-2.502 F .002(ersion 8 allo)-1.11 F .002 -(ws the)-.25 F(con\214guration \214le to set timeouts for v)156 188.4 Q -(arious SMTP commands indi)-.25 E(vidually)-.25 E(.)-.65 E 26.5 -(\2475.3.3 Error)102 204.6 R 1.06(messages are sent as From:<>.)3.56 F -1.059(This w)6.059 F 1.059(as ur)-.1 F 1.059 -(ged by RFC 821 and reiterated by)-.18 F .237(RFC 1123, b)156 216.6 R -.237(ut older v)-.2 F .237(ersions of sendmail ne)-.15 F -.15(ve)-.25 G -2.737(rr).15 G .237(eally did it properly)-2.737 F 5.237(.V)-.65 G .238 -(ersion 8 does.)-6.347 F(Ho)156 228.6 Q(we)-.25 E -.15(ve)-.25 G 1.934 --.4(r, s).15 H 1.134(ome systems cannot handle this perfectly le).4 F --.05(ga)-.15 G 3.633(la).05 G 1.133(ddress; if necessary)-3.633 F 3.633 -(,y)-.65 G(ou)-3.633 E -(can create a special mailer that uses the `g' \215ag to disable this.) -156 240.6 Q 26.5(\2475.3.3 Error)102 256.8 R 3.212(messages are ne)5.712 -F -.15(ve)-.25 G 5.712(rs).15 G 3.212(ent to <>.)-5.712 F(Pre)8.213 E -(viously)-.25 E 5.713(,s)-.65 G 3.213(endmail w)-5.713 F 3.213(as happ) --.1 F 5.713(yt)-.1 G 5.713(os)-5.713 G(end)-5.713 E 6(responses-to-responses which sometimes resulted in responses-to-responses-to-) -156 268.8 R(responses which resulted in ....)156 280.8 Q -(you get the idea.)5 E 26.5(\2475.3.3 Route-addrs)102 297 R .111 -(\(the ugly `)2.611 F(`<@hosta,@hostb:user@hostc>')-.74 E 2.611('s)-.74 -G .111(yntax\) are pruned.)-2.611 F .112(RFC 821)5.112 F(ur)156 309 Q -1.001(ged the use of this bletcherous syntax.)-.18 F 1 -(RFC 1123 has seen the light and of)6.001 F(\214cially)-.25 E 1.124 -(deprecates them, further ur)156 321 R 1.125 -(ging that you eliminate all b)-.18 F 1.125(ut `)-.2 F(`user@hostc')-.74 -E 3.625('s)-.74 G 1.125(hould you)-3.625 F(recei)156 333 Q 1.698 -.15 -(ve o)-.25 H 1.398(ne of these things.).15 F -1.11(Ve)6.398 G 1.398 -(rsion 8 is slightly more generous than the standards)1.11 F .753 -(suggest; instead of stripping of)156 345 R 3.253(fa)-.25 G .753 -(ll the route addressees, it only strips hosts of)-3.253 F 3.254(fu)-.25 -G 3.254(pt)-3.254 G(o)-3.254 E 1.29(the one before the last one kno)156 -357 R 1.289(wn to DNS, thus allo)-.25 F 1.289(wing you to ha)-.25 F -1.589 -.15(ve p)-.2 H(seudo-hosts).15 E(such as foo.BITNET)156 369 Q 5 -(.T)-.74 G(he `R' option will turn this of)-5 E(f.)-.25 E -(The areas in which sendmail is not `)102 385.2 Q -(`unconditionally compliant')-.74 E 2.5('a)-.74 G(re:)-2.5 E 26.5 -(\2475.2.6 Sendmail)102 401.4 R(does do header munging.)2.5 E 21.5 -(\2475.2.10 Sendmail)102 417.6 R(doesn')3.2 E 3.2(ta)-.18 G -.1(lwa)-3.2 -G .7(ys use the e).1 F .701(xact SMTP message te)-.15 F .701 -(xt from RFC 821.)-.15 F .701(This is a)5.701 F -(rather silly requirement.)156 429.6 Q 19(\2475.3.1.1 Sendmail)102 445.8 -R(doesn')3.512 E 3.512(tg)-.18 G 1.012 -(uarantee only one connect for each host on queue runs.)-3.512 F -(Connec-)6.011 E(tion caching gi)156 457.8 Q -.15(ve)-.25 G 2.5(sy).15 G -(ou most of this, b)-2.5 E(ut it does not pro)-.2 E(vide a guarantee.) --.15 E 19(\2475.3.1.1 Sendmail)102 474 R(doesn')2.843 E 2.843(ta)-.18 G --.1(lwa)-2.843 G .343(ys pro).1 F .343 -(vide an adequate limit on concurrenc)-.15 F 4.144 -.65(y. T)-.15 H .344 -(hat is, there can).65 F .757(be se)156 486 R -.15(ve)-.25 G .757 -(ral independent sendmails running at once.).15 F .757 -(My feeling is that doing an abso-)5.757 F 1.047(lute limit w)156 498 R -1.047(ould be a mistak)-.1 F 3.547(e\()-.1 G 1.048 -(it might result in lost mail\).)-3.547 F(Ho)6.048 E(we)-.25 E -.15(ve) --.25 G 1.848 -.4(r, i).15 H 3.548(fy).4 G 1.048(ou use the)-3.548 F .801 -(XLA contrib)156 510 R .801(uted softw)-.2 F .801 -(are, most of this will be guaranteed \(b)-.1 F .801(ut I don')-.2 F 3.3 -(tg)-.18 G .8(uarantee the)-3.3 F(guarantee\).)156 522 Q F0 2.5 -(2.3. Extended)87 546 R(SMTP Support)2.5 E F1 -1.11(Ve)127 562.2 S .154 -(rsion 8 includes both sending and recei)1.11 F .155 -(ving support for Extended SMTP support as de\214ned)-.25 F .229(by RFC 1425 \(basic\) and RFC 1427 \(SIZE\); and limited support for RFC 1426 \(BOD) -102 574.2 R 2.729(Y\). The)-.55 F(body)2.729 E .275(support is minimal because the \2318BITMIME\232 body type is not currently adv) -102 586.2 R 2.776(ertised. Although)-.15 F(such)2.776 E 3.076(ab)102 -598.2 S .576(ody type will be accepted, it will not be correctly con) --3.076 F -.15(ve)-.4 G .576(rted to 7 bits if speaking to a non-8-bit-) -.15 F(MIME a)102 610.2 Q -.1(wa)-.15 G(re SMTP serv).1 E(er)-.15 E(.) --.55 E/F2 10/Times-Italic@0 SF(Sendmail)127 626.4 Q F1 .287 -(tries to speak ESMTP if you ha)2.787 F .588 -.15(ve t)-.2 H .288 -(he `a' \215ag set in the \215ags for the mailer descrip-).15 F(tor)102 -638.4 Q 3.322(,o)-.4 G 3.322(ri)-3.322 G 3.322(ft)-3.322 G .822 -(he other end adv)-3.322 F .822(ertises the f)-.15 F .822 -(act that it speaks ESMTP)-.1 F 5.822(.T)-1.11 G .821 -(his is a non-standard adv)-5.822 F(ertise-)-.15 E(ment:)102 650.4 Q F2 -(sendmail)2.98 E F1 .48(announces \231ESMTP spok)2.98 F .48 -(en here\232 during the initial connection message, and client)-.1 F -.587(sendmails search for this message.)102 662.4 R .586 -(This creates some problems for some PC-based mailers, which)5.586 F -(do not understand tw)102 674.4 Q -(o-line greeting messages as required by RFC 821.)-.1 E EP -%%Page: 4 4 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Bold@0 SF 294.65(4C)72 60 S(hanges in Sendmail V)-294.65 E -(ersion 8)-1 E 2.5(2.4. Eight-Bit)87 96 R(Clean)2.5 E/F1 10 -/Times-Roman@0 SF(Pre)127 112.2 Q 1.263(vious v)-.25 F 1.263 -(ersions of sendmail used the 0200 bit for quoting.)-.15 F 1.264(This v) -6.264 F 1.264(ersion a)-.15 F -.2(vo)-.2 G 1.264(ids that use.).2 F(Ho) -102 124.2 Q(we)-.25 E -.15(ve)-.25 G 1.119 -.4(r, y).15 H .318 -(ou can set option `7' to get se).4 F -.15(ve)-.25 G 2.818(nb).15 G .318 -(it stripping for compatibility with RFC 821, which is)-2.818 F 2.5(a7) -102 136.2 S(-bit protocol.)-2.5 E(This option says `)5 E -(`strip to 7 bits on input')-.74 E('.)-.74 E(Indi)127 152.4 Q .375 -(vidual mailers can still produce se)-.25 F -.15(ve)-.25 G 2.875(nb).15 -G .376(it out put using the `7' mailer \215ag.)-2.875 F .376 -(This \215ag says)5.376 F -.74(``)102 164.4 S -(strip to 7 bits on output').74 E('.)-.74 E F0 2.5(2.5. User)87 188.4 R -(Database)2.5 E F1 1.926(The User Database \(UDB\) is an as-yet e)127 -204.6 R 1.926(xperimental attempt to pro)-.15 F 1.925 -(vide uni\214ed lar)-.15 F(ge-site)-.18 E .396(name support.)102 216.6 R -1.996 -.8(We a)5.396 H .396(re installing it at Berk).8 F(ele)-.1 E .396 -(y; future v)-.15 F .396(ersions may sho)-.15 F 2.897(ws)-.25 G .397 -(igni\214cant modi\214cations.)-2.897 F(Brie\215y)102 228.6 Q 3.583(,U) --.65 G 1.083 -(DB contains a database that is intended to contain all the per)-3.583 F -1.082(-user information for your)-.2 F -.1(wo)102 240.6 S .172 -(rkgroup, such as people').1 F 2.673(sf)-.55 G .173(ull names, their .plan information, their outgoing mail name, and their) --2.673 F(mail drop.)102 252.6 Q .438(The user database allo)127 268.8 R -.438(ws you to map both incoming and outgoing addresses, much lik)-.25 F -2.937(eI)-.1 G -.4(DA)-2.937 G(.).4 E(Ho)102 280.8 Q(we)-.25 E -.15(ve) --.25 G 1.799 -.4(r, t).15 H .999(he interf).4 F .999 -(ace is still better with ID)-.1 F .999(A; in particular)-.4 F 3.499(,t) --.4 G 1(he alias \214le with incoming/outgoing)-3.499 F(marks pro)102 -292.8 Q(vides better locality of information.)-.15 E F0 2.5(2.6. Impr)87 -316.8 R -.1(ove)-.18 G 2.5(dB).1 G(IND Support)-2.5 E F1 .262 -(The BIND support, particularly for MX records, had a number of anno)127 -333 R .261(ying `)-.1 F(`features')-.74 E 2.761('w)-.74 G(hich)-2.761 E -(ha)102 345 Q 1.212 -.15(ve b)-.2 H .912(een remo).15 F -.15(ve)-.15 G -3.412(di).15 G 3.412(nt)-3.412 G .912(his release.)-3.412 F .912 -(In particular)5.912 F 3.412(,t)-.4 G .912 -(hese more tightly bind \(pun intended\) the name)-3.412 F(serv)102 357 -Q(er to sendmail, so that the name serv)-.15 E -(er resolution rules are incorporated directly into sendmail.)-.15 E -.688(The major change has been that the $[ ... $] operator didn')127 -373.2 R 3.188(tf)-.18 G .688(ully qualify names that were in)-3.188 F -(DNS as A or MX records.)102 385.2 Q -1.11(Ve)5 G -(rsion 8 does this quali\214cation.)1.11 E .429(This has pro)127 401.4 R --.15(ve)-.15 G 2.929(nt).15 G 2.929(ob)-2.929 G 2.929(ea)-2.929 G 2.929 -(na)-2.929 G(nno)-2.929 E .43 -(yance in Sun shops, who often still run without BIND support.)-.1 F(Ho) -102 413.4 Q(we)-.25 E -.15(ve)-.25 G 1.001 -.4(r, i).15 H 2.701(ti).4 G -2.701(sr)-2.701 G .201 -(eally critical that this be supported, since MX records are mandatory) --2.701 F 5.2(.I)-.65 G 2.7(nS)-5.2 G .2(unOS you)-2.7 F .101 -(can choose either MX support or NIS support, b)102 425.4 R .101 -(ut not both.)-.2 F .101(This is \214x)5.101 F .101 -(ed in Solaris, and some)-.15 F/F2 10/Times-Italic@0 SF(send-)2.602 E -(mail)102 437.4 Q F1(support to allo)2.5 E 2.5(wt)-.25 G -(his in SunOS should be forthcoming in a future release.)-2.5 E F0 2.5 -(2.7. K)87 461.4 R(ey)-.25 E(ed Files)-.1 E F1 .242(Generalized k)127 -477.6 R -.15(ey)-.1 G .242(ed \214les is an idea tak).15 F .241 -(en directly from ID)-.1 F 2.741(As)-.4 G .241 -(endmail \(albeit with a completely)-2.741 F(dif)102 489.6 Q -(ferent implementation\).)-.25 E(The)5 E 2.5(yc)-.15 G -(an be useful on lar)-2.5 E(ge sites.)-.18 E -1.11(Ve)127 505.8 S -(rsion 8 includes the follo)1.11 E(wing b)-.25 E(uilt-in map classes:) --.2 E 33.72(dbm Support)102 522 R(for the ndbm\(3\) library)2.5 E(.)-.65 -E 33.17(hash Support)102 538.2 R 1.229(for the `)3.729 F(`Hash')-.74 E -3.729('t)-.74 G 1.229(ype from the ne)-3.729 F 3.729(wB)-.25 G(erk) --3.729 E(ele)-.1 E 3.729(yd)-.15 G 1.229(b\(3\) library)-3.729 F 6.23 -(.t)-.65 G 1.23(his library pro-)-6.23 F 4.094(vides substantially better database support than ndbm\(3\), including in-memory) -156 550.2 R(caching, arbitrarily long k)156 562.2 Q -.15(ey)-.1 G 2.5 -(sa).15 G(nd v)-2.5 E(alues, and better disk utilization.)-.25 E 31.51 -(btree Support)102 578.4 R .547(for the `)3.047 F(`B-T)-.74 E(ree')-.35 -E 3.047('t)-.74 G .547(ype from the ne)-3.047 F 3.048(wB)-.25 G(erk) --3.048 E(ele)-.1 E 3.048(yd)-.15 G .548(b\(3\) library)-3.048 F 5.548 -(.B)-.65 G(-T)-5.548 E .548(rees pro)-.35 F(vide)-.15 E .521(better clustering than Hashed \214les if you are fetching lots of records that ha) -156 590.4 R .821 -.15(ve s)-.2 H(imilar).15 E -.1(ke)156 602.4 S -(ys, such as searching a dictionary for w)-.05 E(ords be)-.1 E -(ginning with `)-.15 E(`detr')-.74 E('.)-.74 E 39.83(nis Support)102 -618.6 R(for NIS \(a.k.a. YP\) maps.)2.5 E -(NIS+ is not supported in this v)5 E(ersion.)-.15 E 34.83(host Support) -102 634.8 R(for DNS lookups.)2.5 E 19.84(dequote A)102 651 R -.74(``) -2.642 G(pseudo-map').74 E 2.642('\()-.74 G .142 -(that is, once that does not ha)-2.642 F .442 -.15(ve a)-.2 H .442 -.15 -(ny ex).15 H .142(ternal data\) that allo).15 F .142(ws a con-)-.25 F -.099(\214guration \214le to break apart a quoted string in the address.) -156 663 R .098(This is necessary primarily)5.098 F .726 -(for DECnet addresses, which often ha)156 675 R 1.026 -.15(ve q)-.2 H -.726(uoted addresses that need to be unwrapped).15 F(on g)156 687 Q(ate) --.05 E -.1(wa)-.25 G(ys.).1 E EP -%%Page: 5 5 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Bold@0 SF(Changes in Sendmail V)72 60 Q(ersion 8)-1 E(5) -294.65 E 2.5(2.8. Multi-W)87 96 R(ord Classes & Macr)-.75 E -(os in Classes)-.18 E/F1 10/Times-Roman@0 SF(Classes can no)127 112.2 Q -2.5(wb)-.25 G 2.5(em)-2.5 G(ultiple w)-2.5 E 2.5(ords. F)-.1 F(or e)-.15 -E(xample,)-.15 E(CShofmann.CS.Berk)142 128.4 Q(ele)-.1 E -.65(y.)-.15 G -(EDU).65 E(allo)102 144.6 Q 2.395(ws you to match the entire string `) --.25 F(`hofmann.CS.Berk)-.74 E(ele)-.1 E -.65(y.)-.15 G(EDU').65 E 4.894 -('u)-.74 G 2.394(sing the single construct)-4.894 F -.74(``)102 156.6 S -($=S').74 E('.)-.74 E(Class de\214nitions are no)127 172.8 Q 2.5(wa)-.25 -G(llo)-2.5 E(wed to include macros \212 for e)-.25 E(xample:)-.15 E -(Cw$k)142 189 Q(is le)102 205.2 Q -.05(ga)-.15 G(l.).05 E F0 2.5 -(2.9. IDENT)87 229.2 R(Pr)2.5 E(otocol Support)-.18 E F1 .633 -(The IDENT protocol as de\214ned in RFC 1413 [RFC1413] is supported.)127 -245.4 R(Ho)5.633 E(we)-.25 E -.15(ve)-.25 G 1.433 -.4(r, m).15 H(an).4 E -3.134(ys)-.15 G(ys-)-3.134 E .909(tems ha)102 257.4 R 1.209 -.15(ve a T) --.2 H .909(CP/IP b).15 F .908 -(ug that renders this useless, and the feature must be turned of)-.2 F -3.408(f. Roughly)-.25 F 3.408(,i)-.65 G(f)-3.408 E 8.538 -(one of these system recei)102 269.4 R -.15(ve)-.25 G 11.038(sa\231).15 -G 8.539(No route to host\232 message \(ICMP message)-11.038 F -(ICMP_UNREA)102 281.4 Q .829(CH_HOST\) on)-.4 F/F2 10/Times-Italic@0 SF -(any)3.329 E F1 .828 -(connection, all connections to that host are closed.)3.329 F .828 -(Some \214re-)5.828 F -.1(wa)102 293.4 S .087(lls return this error if you try to connect to the IDENT port, so you can') -.1 F 2.587(tr)-.18 G(ecei)-2.587 E .387 -.15(ve e)-.25 H .087 -(mail from these).15 F 1.712(hosts on these systems.)102 305.4 R(It') -6.712 E 4.212(sp)-.55 G 1.712(ossible that if the \214re)-4.212 F -.1 -(wa)-.25 G 1.712(ll used a more speci\214c message \(such as).1 F -(ICMP_UNREA)102 317.4 Q(CH_PR)-.4 E -1.88 -.4(OT O)-.4 H 4.316 -(COL, ICMP_UNREA).4 F(CH_POR)-.4 E 6.817(To)-.6 G 6.817(rI)-6.817 G -(CMP_UNREA)-6.817 E(CH_NET_PR)-.4 E(O-)-.4 E(HIB\) it w)102 329.4 Q -(ould w)-.1 E(ork, b)-.1 E(ut this hasn')-.2 E 2.5(tb)-.18 G(een v)-2.5 -E(eri\214ed.)-.15 E .678(IDENT protocol support cannot be used on 4.3BSD, Apollo DomainOS, Apple A/UX, Con-) -127 345.6 R -.15(vex)102 357.6 S .949 -(OS, Data General DG/UX, HP-UX, Sequent Dynix, or Ultrix 4.x, x).15 F/F3 -10/Symbol SF<a3>3.449 E F1 3.449(3. It)3.449 F .949(seems to w)3.449 F -.949(ork on)-.1 F -(4.4BSD, IBM AIX 3.x, OSF/1, SGI IRIX, Solaris, SunOS, and Ultrix 4.4.) -102 369.6 Q F0 2.5(2.10. Separate)87 393.6 R(En)2.5 E -.1(ve)-.4 G -(lope/Header Pr).1 E(ocessing)-.18 E F1 .854 -(Since the From: line is passed in separately from the en)127 409.8 R --.15(ve)-.4 G .854(lope sender).15 F 3.354(,t)-.4 G .854(hese ha)-3.354 -F 1.154 -.15(ve b)-.2 H .854(oth been).15 F .427 -(made visible; the $g macro is set to the en)102 421.8 R -.15(ve)-.4 G -.428(lope sender during processing of mailer ar).15 F .428(gument v)-.18 -F(ec-)-.15 E(tors and the header sender during processing of headers.) -102 433.8 Q .085(It is also possible to specify separate per)127 450 R -.085(-mailer en)-.2 F -.15(ve)-.4 G .084(lope and header processing.).15 -F .084(The Sender)5.084 F(-)-.2 E -.55(RW)102 462 S 1.085 -(Set and RecipientR).55 F 1.085(Wset ar)-.55 F 1.085 -(guments for mailers can be speci\214ed as `)-.18 F(`en)-.74 E -.15(ve) --.4 G(lope/header').15 E 3.585('t)-.74 G 3.585(og)-3.585 G -2.15 -.25 -(iv e)-3.585 H(dif)102 474 Q(ferent re)-.25 E(writings for en)-.25 E --.15(ve)-.4 G(lope v).15 E(ersus header addresses.)-.15 E F0 2.5 -(2.11. Owner)87 498 R(-List Pr)-.37 E(opagates to En)-.18 E -.1(ve)-.4 G -(lope).1 E F1 1.168(When an alias has an associated o)127 514.2 R(wner) --.25 E 1.168(-list name, that alias is used to change the en)-.2 F -.15 -(ve)-.4 G(lope).15 E(sender address.)102 526.2 Q(This will cause do)5 E -(wnstream errors to be returned to that o)-.25 E(wner)-.25 E(.)-.55 E -1.813(Some people \214nd this confusing because the en)127 542.4 R -.15 -(ve)-.4 G 1.813(lope sender is what appears in the \214rst).15 F -.74 -(``)102 554.4 S(From_').74 E 3.127('l)-.74 G .627 -(ine in UNIX messages \(that is, the line be)-3.127 F .627(ginning `) --.15 F(`From<space>')-.74 E 3.127('i)-.74 G .627(nstead of `)-3.127 F -(`From:')-.74 E(';)-.74 E .502(the latter is the header from, which)102 -566.4 R F2(does)3.002 E F1 .503(indicate the sender of the message\).) -3.002 F .503(In pre)5.503 F .503(vious v)-.25 F(ersions,)-.15 E F2 -(sendmail)102 578.4 Q F1 .057(has tried to a)2.557 F -.2(vo)-.2 G .057 -(id changing the en).2 F -.15(ve)-.4 G .056 -(lope sender for back compatibility with UNIX con).15 F -.15(ve)-.4 G -(n-).15 E .177 -(tion; at this point that back compatibility is creating too man)102 -590.4 R 2.678(yp)-.15 G .178(roblems, and it is necessary to mo)-2.678 F --.15(ve)-.15 G(forw)102 602.4 Q(ard into the 1980s.)-.1 E F0 2.5 -(2.12. Command)87 626.4 R(Line Flags)2.5 E F1(The)127 642.6 Q F0<ad42> -2.5 E F1(\215ag has been added to pass in body type information.)2.5 E -(The)127 658.8 Q F0<ad70>3.057 E F1 .557 -(\215ag has been added to pass in protocol information that w)3.057 F -.557(as pre)-.1 F .556(viously passed in by)-.25 F(de\214ning the)102 -670.8 Q F0($r)2.5 E F1(and)2.5 E F0($s)2.5 E F1(macros.)2.5 E(The)127 -687 Q F0<ad58>2.6 E F1 .1(\215ag has been added to allo)2.6 F 2.6(wl) --.25 G .1(ogging of all protocol in and out of sendmail for deb)-2.6 F -(ug-)-.2 E 2.732(ging. Y)102 699 R .232(ou can set \231\255X \214lename\232 and a complete transcript will be logged in that \214le.) --1.1 F .231(This gets big)5.231 F -.1(fa)102 711 S -(st: the option is only for deb).1 E(ugging.)-.2 E EP -%%Page: 6 6 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Bold@0 SF 294.65(6C)72 60 S(hanges in Sendmail V)-294.65 E -(ersion 8)-1 E/F1 10/Times-Roman@0 SF(The)127 96 Q F0<ad71>4.006 E F1 -1.507(\215ag can limit limit a queue run to speci\214c recipients, senders, or queue ids using) -4.006 F(\255qRsubstring, \255qSsubstring, or \255qIsubstring respecti) -102 108 Q -.15(ve)-.25 G(ly).15 E(.)-.65 E F0 2.5(2.13. New)87 132 R -(Con\214guration Line T)2.5 E(ypes)-.74 E F1 .674(The `T' \(T)127 148.2 -R .674(rusted users\) con\214guration line has been deleted.)-.35 F .674 -(It will still be accepted b)5.674 F .674(ut will)-.2 F(be ignored.)102 -160.2 Q(The `K' line has been added to declare database maps.)127 176.4 -Q(The `V' line has been added to declare the con\214guration v)127 192.6 -Q(ersion le)-.15 E -.15(ve)-.25 G(l.).15 E(The `M' \(mailer\) line tak) -127 208.8 Q(es a D= \214eld to specify e)-.1 E -.15(xe)-.15 G -(cution directory).15 E(.)-.65 E F0 2.5(2.14. New)87 232.8 R -(and Extended Options)2.5 E F1(Se)127 249 Q -.15(ve)-.25 G .9(ral ne).15 -F 3.4(wo)-.25 G .9(ptions ha)-3.4 F 1.2 -.15(ve b)-.2 H .9 -(een added, man).15 F 3.4(yt)-.15 G 3.4(os)-3.4 G .9(upport ne)-3.4 F -3.4(wf)-.25 G .9(eatures, others to allo)-3.4 F 3.4(wt)-.25 G(uning)-3.4 -E(that w)102 261 Q(as pre)-.1 E(viously a)-.25 E -.25(va)-.2 G -(ilable only by recompiling.).25 E(Brie\215y:)5 E 28.78(AT)102 277.2 S -.099(he alias \214le speci\214cation can no)-28.78 F 2.599(wb)-.25 G -2.599(eal)-2.599 G .099(ist of alias \214les.)-2.599 F .098 -(Also, the con\214guration can spec-)5.099 F(ify a class of \214le.)138 -289.2 Q -.15(Fo)5 G 2.5(re).15 G -(xample, to search the NIS aliases, use \231O)-2.65 E -(Anis:mail.aliases\232.)-.35 E 31(bI)102 305.4 S -(nsist on a minimum number of disk blocks.)-31 E 29.33(CD)102 321.6 S -(eli)-29.33 E -.15(ve)-.25 G .24(ry checkpoint interv).15 F 2.74 -(al. Checkpoint)-.25 F .24(the queue \(to a)2.74 F -.2(vo)-.2 G .24 -(id duplicate deli).2 F -.15(ve)-.25 G .24(ries\) e).15 F -.15(ve)-.25 G -.24(ry C).15 F(addresses.)138 333.6 Q 29.89(ED)102 349.8 S(ef)-29.89 E -.712(ault error message.)-.1 F .711 -(This message \(or the contents of the indicated \214le\) are prepended) -5.712 F(to error messages.)138 361.8 Q 28.78(GE)102 378 S .785 -(nable GECOS matching.)-28.78 F .785(If you can')5.785 F 3.285<748c>-.18 -G .786(nd a local user name and this option is enabled,)-3.285 F .59 -(do a sequential scan of the passwd \214le to match ag)138 390 R .589 -(ainst full names.)-.05 F(Pre)5.589 E .589(viously a compile)-.25 F -(option.)138 402 Q 31(hM)102 418.2 S(aximum hop count.)-31 E(Pre)5 E -(viously this w)-.25 E(as compiled in.)-.1 E 32.67(IT)102 434.4 S -(his option has been e)-32.67 E(xtended to allo)-.15 E 2.5(ws)-.25 G -(etting of resolv)-2.5 E(er parameters.)-.15 E 33.22(jS)102 450.6 S -(end errors in MIME-encapsulated format.)-33.22 E 32.11(JF)102 466.8 S -(orw)-32.26 E(ard \214le path.)-.1 E(Where to search for .forw)5 E -(ard \214les \212 def)-.1 E(aults to $HOME/.forw)-.1 E(ard.)-.1 E 31(kC) -102 483 S .05(onnection cache size.)-31 F .05 -(The total number of connections that will be k)5.05 F .05 -(ept open at an)-.1 F 2.55(yt)-.15 G(ime.)-2.55 E 28.78(KC)102 499.2 S -1.395(onnection cache lifetime.)-28.78 F 1.395(The amount of time an) -6.395 F 3.895(yc)-.15 G 1.394(onnection will be permitted to sit)-3.895 -F(idle.)138 511.2 Q 33.22(lE)102 527.4 S .333(nable Errors-T)-33.22 F -.333(o: header)-.8 F 5.334(.T)-.55 G .334 -(hese headers violate RFC 1123; this option is included to pro-)-5.334 F -(vide back compatibility with old v)138 539.4 Q(ersions of sendmail.) --.15 E 28.78(OI)102 555.6 S -(ncoming daemon options \(e.g., use alternate SMTP port\).)-28.78 E 31 -(pP)102 571.8 S(ri)-31 E -.25(va)-.25 G .3 -.15(cy o).25 H 2.5 -(ptions. These).15 F(can be used to mak)2.5 E 2.5(ey)-.1 G -(our SMTP serv)-2.5 E(er less friendly)-.15 E(.)-.65 E 32.67(rT)102 588 -S .67(his option has been e)-32.67 F .67(xtended to allo)-.15 F 3.17 -<778c>-.25 G .67(ner grained control o)-3.17 F -.15(ve)-.15 G 3.17(rt) -.15 G 3.17(imeouts. F)-3.17 F .67(or e)-.15 F(xample,)-.15 E -(you can set the timeout for SMTP commands indi)138 600 Q(vidually)-.25 -E(.)-.65 E 29.33(RD)102 616.2 S(on')-29.33 E 11.797(tp)-.18 G 9.297 -(rune route-addrs.)-11.797 F(Normally)14.297 E 11.797(,i)-.65 G 11.797 -(fv)-11.797 G 9.297(ersion 8 sees an address lik)-11.947 F(e)-.1 E 1.256 -("<@hostA,@hostB:user@hostC>, sendmail will try to strip of)138 628.2 R -3.755(fa)-.25 G 3.755(sm)-3.755 G 1.255(uch as it can \(up to)-3.755 F -(user@hostC\) as suggested by RFC 1123.)138 640.2 Q -(This option disables that beha)5 E(viour)-.2 E(.)-.55 E 29.89(TT)102 -656.4 S 1.485(he \231Return T)-29.89 F 3.985(oS)-.8 G 1.485 -(ender\232 timeout has been e)-3.985 F 1.485(xtended to allo)-.15 F -3.986(ws)-.25 G 1.486(peci\214cation of a w)-3.986 F(arning)-.1 E .789 -(message interv)138 668.4 R .789 -(al, typically something on the order of four hours.)-.25 F .788 -(If a message cannot be)5.788 F(deli)138 680.4 Q -.15(ve)-.25 G 1.245 -(red in that interv).15 F 1.245(al, a w)-.25 F 1.245 -(arning message is sent back to the sender b)-.1 F 1.246(ut the message) --.2 F(continues to be tried.)138 692.4 Q 28.78(UU)102 708.6 S -(ser database spec.)-28.78 E(This is still e)5 E(xperimental.)-.15 E EP -%%Page: 7 7 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Bold@0 SF(Changes in Sendmail V)72 60 Q(ersion 8)-1 E(7) -294.65 E/F1 10/Times-Roman@0 SF 28.78(VF)102 96 S .758(allback `)-28.93 -F(`MX')-.74 E 3.258('h)-.74 G 3.258(ost. This)-3.258 F .757 -(can be thought of as an MX host that applies to all addresses)3.258 F -(that has a v)138 108 Q(ery high preference v)-.15 E -(alue \(that is, use it only if e)-.25 E -.15(ve)-.25 G(rything else f) -.15 E(ails\).)-.1 E 28.78(wI)102 124.2 S 3.066(fs)-28.78 G .566(et, assume that if you are the best MX host for a host, you should send directly to that) --3.066 F 3.213(host. This)138 136.2 R .713 -(is intended for compatibility with UIUC sendmail, and may ha)3.213 F -1.013 -.15(ve s)-.2 H .712(ome use on).15 F(\214re)138 148.2 Q -.1(wa) --.25 G(lls.).1 E 31(7D)102 164.4 S 2.758(on)-31 G .258 -(ot run eight bit clean.)-2.758 F -.7(Te)5.258 G(chnically).7 E 2.758 -(,y)-.65 G .258(ou ha)-2.758 F .558 -.15(ve t)-.2 H 2.758(oa).15 G .259 -(ssert this option to be RFC 821 com-)-2.758 F(patible.)138 176.4 Q F0 -2.5(2.15. New)87 200.4 R(Mailer De\214nitions)2.5 E F1 21.75(L= Set)102 -216.6 R .93(the allo)3.43 F -.1(wa)-.25 G .93(ble line length.).1 F .93 -(In V5, the L mailer \215ag implied a line length limit of 990)5.93 F -(characters; this is no)138 228.6 Q 2.5(ws)-.25 G -(ettable to an arbitrary v)-2.5 E(alue.)-.25 E 17.86(F=a T)102 244.8 R -(ry to use ESMTP)-.35 E 5(.I)-1.11 G 2.5(tw)-5 G(ill f)-2.5 E -(all back to SMTP if the initial EHLO pack)-.1 E(et is rejected.)-.1 E -17.3(F=b Ensure)102 261 R 2.5(ab)2.5 G -(lank line at the end of messages.)-2.5 E(Useful on the *\214le* mailer) -5 E(.)-.55 E 17.86(F=c Strip)102 277.2 R .68(all comments from addresses; this should only be used as a last resort when dealing) -3.18 F(with crank)138 289.2 Q 2.5(ym)-.15 G(ailers.)-2.5 E 17.3(F=g Ne) -102 305.4 R -.15(ve)-.25 G 2.88(ru).15 G .38 -(se the null sender as the en)-2.88 F -.15(ve)-.4 G .379(lope sender).15 -F 2.879(,e)-.4 G -.15(ve)-3.129 G 2.879(nw).15 G .379(hen running SMTP) --2.879 F 5.379(.T)-1.11 G .379(his violates)-5.379 F(RFC 1123.)138 317.4 -Q 17.3(F=7 Strip)102 333.6 R(all output to this mailer to 7 bits.)2.5 E -16.19(F=L Used)102 349.8 R .198 -(to set the line limit to 990 bytes for SMTP compatibility)2.697 F 5.198 -(.I)-.65 G 2.698(tn)-5.198 G .698 -.25(ow d)-2.698 H .198 -(oes that only if the).25 F(L= k)138 361.8 Q -.15(ey)-.1 G -(letter is not speci\214ed.).15 E -(This \215ag is obsolete and should not be used.)5 E F0 2.5(2.16. New)87 -385.8 R(or Changed Pr)2.5 E(e-De\214ned Macr)-.18 E(os)-.18 E F1 23.5 -($k UUCP)102 402 R(node name from uname\(2\).)2.5 E 20.72($m Domain)102 -418.2 R(part of our full hostname.)2.5 E 23.5($_ RFC)102 434.4 R -(1413-pro)2.5 E(vided sender address.)-.15 E 21.28($w Pre)102 450.6 R -.148(viously w)-.25 F .148 -(as sometimes the full domain name, sometimes just the \214rst w)-.1 F -2.647(ord. No)-.1 F 2.647(wg)-.25 G(uar)-2.647 E(-)-.2 E -(anteed to be the \214rst w)138 462.6 Q -(ord of the domain name \(i.e., the host name\).)-.1 E 25.72($j Pre)102 -478.8 R .193(viously had to be de\214ned \212 it is no)-.25 F 2.693(wp) --.25 G .194(rede\214ned to be the full domain name, if that can)-2.693 F -(be determined.)138 490.8 Q(That is, it is equi)5 E -.25(va)-.25 G -(lent to $w).25 E(.$m.)-.65 E F0 2.5(2.17. New)87 514.8 R -(and Changed Classes)2.5 E F1 17.86($=k Initialized)102 531 R -(to contain $k.)2.5 E 15.64($=w No)102 547.2 R 3.069(wi)-.25 G .569 -(ncludes \231[1.2.3.4]\232 \(where 1.2.3.4 is your IP address\) to allo) --3.069 F 3.068(wt)-.25 G .568(he con\214guration \214le)-3.068 F -(to recognize your o)138 559.2 Q(wn IP address.)-.25 E F0 2.5(2.18. New) -87 583.2 R(Rewriting T)2.5 E(ok)-.92 E(ens)-.1 E F1(The)127 599.4 Q F0 -($&)3.25 E F1 .75(construct has been adopted from ID)3.25 F 3.25(At)-.4 -G 3.25(od)-3.25 G .75(efer macro e)-3.25 F -.25(va)-.25 G 3.25 -(luation. Normally).25 F 3.25(,m)-.65 G(acros)-3.25 E .476 -(in rulesets are bound when the rule is \214rst parsed during startup.) -102 611.4 R .476(Some macros change during pro-)5.476 F .046 -(cessing and are uninteresting during startup.)102 623.4 R(Ho)5.046 E -(we)-.25 E -.15(ve)-.25 G .846 -.4(r, t).15 H .047 -(hat macro can be referenced using \231$&x\232 to).4 F(defer the e)102 -635.4 Q -.25(va)-.25 G(ulation of $x until the rule is processed.).25 E -(The tok)127 651.6 Q(ens)-.1 E F0($\()2.5 E F1(and)2.5 E F0($\))2.5 E F1 -(ha)2.5 E .3 -.15(ve b)-.2 H(een added to allo).15 E 2.5(ws)-.25 G -(peci\214cation of map re)-2.5 E(writing.)-.25 E -1.11(Ve)127 667.8 S -1.499(rsion 8 allo)1.11 F(ws)-.25 E F0($@)3.999 E F1 1.499 -(on the Left Hand Side of an `R' line to match zero tok)3.999 F 3.998 -(ens. This)-.1 F(is)3.998 E -(intended to be used to match the null input.)102 679.8 Q EP -%%Page: 8 8 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Bold@0 SF 294.65(8C)72 60 S(hanges in Sendmail V)-294.65 E -(ersion 8)-1 E 2.5(2.19. Bigger)87 96 R(Defaults)2.5 E/F1 10 -/Times-Roman@0 SF -1.11(Ve)127 112.2 S 1.283(rsion 8 allo)1.11 F 1.284 -(ws up to 100 rulesets instead of 30.)-.25 F 1.284 -(It is recommended that rulesets 0\2559 be)6.284 F(reserv)102 124.2 Q -(ed for sendmail')-.15 E 2.5(sd)-.55 G(edicated use in future releases.) --2.5 E -(The total number of MX records that can be used has been raised to 20.) -127 140.4 Q .335(The number of queued messages that can be handled at one time has been raised from 600 to) -127 156.6 R(1000.)102 168.6 Q F0 2.5(2.20. Differ)87 192.6 R -(ent Default T)-.18 E(uning P)-.92 E(arameters)-.1 E F1 -1.11(Ve)127 -208.8 S .8(rsion 8 has changed the def)1.11 F .8 -(ault parameters for tuning queue costs to mak)-.1 F 3.3(et)-.1 G .8 -(he number of)-3.3 F .712(recipients more important than the size of the message \(for small messages\).) -102 220.8 R .712(This is reasonable if)5.712 F -(you are connected with reasonably f)102 232.8 Q(ast links.)-.1 E F0 2.5 -(2.21. A)87 256.8 R(uto-Quoting in Addr)-.5 E(esses)-.18 E F1(Pre)127 -273 Q(viously)-.25 E 3.2(,t)-.65 G .701(he `)-3.2 F .701 -(`Full Name <email address>')-.74 F 3.201('s)-.74 G .701(yntax w)-3.201 -F .701(ould generate incorrect protocol out-)-.1 F .006(put if `)102 285 -R .006(`Full Name')-.74 F 2.506('h)-.74 G .006 -(ad special characters such as dot.)-2.506 F .005(This v)5.006 F .005 -(ersion puts quotes around such names.)-.15 F F0 2.5(2.22. Symbolic)87 -309 R(Names On Err)2.5 E(or Mailer)-.18 E F1(Se)127 325.2 Q -.15(ve)-.25 -G(ral names ha).15 E .3 -.15(ve b)-.2 H(een b).15 E -(uilt in to the $@ portion of the $#error mailer)-.2 E 5(.F)-.55 G(or e) --5.15 E(xample:)-.15 E($#error $@NOHOST $: Host unkno)142 341.4 Q(wn) --.25 E(Prints the indicated message and sets the e)102 357.6 Q -(xit status of)-.15 E/F2 10/Times-Italic@0 SF(sendmail)2.5 E F1(to)2.5 E -/F3 9/Times-Roman@0 SF(EX_NOHOST)2.5 E F1(.)A F0 2.5(2.23. New)87 381.6 -R(Built-In Mailers)2.5 E F1 -1 -.8(Tw o)127 397.8 T(ne)3.901 E 3.101(wm) --.25 G .601(ailers, *\214le* and *include*, are included to de\214ne options when mailing to a \214le) --3.101 F(or a :include: \214le respecti)102 409.8 Q -.15(ve)-.25 G(ly) -.15 E 5(.P)-.65 G(re)-5 E(viously these were o)-.25 E -.15(ve)-.15 G -(rloaded on the local mailer).15 E(.)-.55 E F0 2.5(2.24. SMTP)87 433.8 R -(VRFY Doesn't Expand)2.5 E F1(Pre)127 450 Q 1.438(vious v)-.25 F 1.438 -(ersions of sendmail treated VRFY and EXPN the same.)-.15 F 1.437 -(In this v)6.437 F 1.437(ersion, VRFY)-.15 F(doesn')102 462 Q 2.5(te) --.18 G(xpand aliases or follo)-2.65 E 2.5(w.)-.25 G(forw)-2.5 E -(ard \214les.)-.1 E .663(As an optimization, if you run with your def) -127 478.2 R .664(ault deli)-.1 F -.15(ve)-.25 G .664 -(ry mode being queue-only).15 F 3.164(,t)-.65 G .664(he RCPT)-3.164 F -1.09(command will also not chase aliases and .forw)102 490.2 R 1.09 -(ard \214les.)-.1 F 1.09(It will chase them when it processes the)6.09 F -2.5(queue. This)102 502.2 R(speeds up RCPT processing.)2.5 E F0 2.5 -(2.25. [IPC])87 526.2 R(Mailers Allo)2.5 E 2.5(wM)-.1 G(ultiple Hosts) --2.5 E F1 .099(When an address resolv)127 542.4 R .099 -(es to a mailer that has `)-.15 F(`[IPC]')-.74 E 2.599('a)-.74 G 2.6(si) --2.599 G .1(ts `)-2.6 F(`P)-.74 E(ath')-.15 E .1 -(', the $@ part \(host name\))-.74 F .138 -(can be a colon-separated list of hosts instead of a single hostname.) -102 554.4 R .137(This asks sendmail to search the)5.137 F .16 -(list for the \214rst entry that is a)102 566.4 R -.25(va)-.2 G .16 -(ilable e).25 F .161(xactly as though it were an MX record.)-.15 F .161 -(The intent is to route)5.161 F .738(internal traf)102 578.4 R .738 -(\214c through internal netw)-.25 F .738 -(orks without publishing an MX record to the net.)-.1 F .737(MX e)5.737 -F(xpan-)-.15 E(sion is still done on the indi)102 590.4 Q(vidual items.) --.25 E F0 2.5(2.26. Aliases)87 614.4 R(Extended)2.5 E F1 .298 -(The implementation has been mer)127 630.6 R .298(ged with maps.)-.18 F -.299(Among other things, this supports multiple)5.298 F -(alias \214les and NIS-based aliases.)102 642.6 Q -.15(Fo)5 G 2.5(re).15 -G(xample:)-2.65 E -.35(OA)142 658.8 S(/etc/aliases,nis:mail.aliases).35 -E(will search \214rst the local database \231/etc/aliases\232 follo)102 -675 Q(wed by the NIS map)-.25 E EP -%%Page: 9 9 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Bold@0 SF(Changes in Sendmail V)72 60 Q(ersion 8)-1 E(9) -294.65 E 2.5(2.27. P)87 96 R(ortability and Security Enhancements)-.2 E -/F1 10/Times-Roman@0 SF 2.5(An)127 112.2 S(umber of internal changes ha) --2.5 E .3 -.15(ve b)-.2 H(een made to enhance portability).15 E(.)-.65 E -(Se)127 128.4 Q -.15(ve)-.25 G(ral \214x).15 E(es ha)-.15 E .3 -.15 -(ve b)-.2 H(een made to increase the paranoia f).15 E(actor)-.1 E(.)-.55 -E .46(In particular)127 144.6 R 2.96(,t)-.4 G .46 -(he permissions required for .forw)-2.96 F .46 -(ard and :include: \214les ha)-.1 F .76 -.15(ve b)-.2 H .46 -(een tightened up).15 F(considerably)102 156.6 Q 5.182(.V)-.65 G 2.683 -(5w)-5.182 G .183(ould pretty much read an)-2.783 F 2.683<798c>-.15 G -.183(le it could get to as root, which e)-2.683 F .183 -(xposed some secu-)-.15 F 1.02(rity holes.)102 168.6 R 1.02 -(V8 insists that all directories leading up to the .forw)6.02 F 1.02 -(ard or :include: \214le be searchable)-.1 F .334 -(\("x" permission\) by the controlling user" \(de\214ned belo)102 180.6 -R .335(w\), that the \214le itself be readable by the con-)-.25 F -(trolling user)102 192.6 Q 2.5(,a)-.4 G(nd that .forw)-2.5 E -(ard \214les be o)-.1 E(wned by the user who is being forw)-.25 E -(arded to or root.)-.1 E .565(The "controlling user" is the user on whose behalf the mail is being deli) -127 208.8 R -.15(ve)-.25 G 3.065(red. F).15 F .565(or e)-.15 F(xample,) --.15 E .459 -(if you mail to "user1" then the controlling user for ~user1/.forw)102 -220.8 R .46(ard and an)-.1 F 2.96(ym)-.15 G .46(ailers in)-2.96 F -.2 -(vo)-.4 G -.1(ke).2 G 2.96(db).1 G 2.96(yt)-2.96 G(hat)-2.96 E(.forw)102 -232.8 Q(ard \214le, including :include: \214les.)-.1 E(Pre)127 249 Q -(viously)-.25 E 2.816(,a)-.65 G -.15(ny)-2.816 G .316 -(one who had a home directory could create a .forw).15 F .316 -(ard could forw)-.1 F .316(ard to a pro-)-.1 F 2.965(gram. No)102 261 R -1.765 -.65(w, s)-.25 H .466(endmail checks to mak).65 F 2.966(es)-.1 G -.466(ure that the)-2.966 F 2.966(yh)-.15 G -2.25 -.2(av e)-2.966 H .466 -(an "appro)3.166 F -.15(ve)-.15 G 2.966(ds).15 G .466 -(hell", that is, a shell listed)-2.966 F(in the /etc/shells \214le.)102 -273 Q F0 2.5(2.28. Miscellaneous)87 297 R(Fixes and Enhancements)2.5 E -F1 4.03(An)127 313.2 S 1.53(umber of small b)-4.03 F 1.53(ugs ha)-.2 F -1.53(ving to do with things lik)-.2 F 4.03(eb)-.1 G 1.53 -(ackslash-escaped quotes inside of)-4.03 F(comments ha)102 325.2 Q .3 --.15(ve b)-.2 H(een \214x).15 E(ed.)-.15 E 1.552(The \214x)127 341.4 R -1.552(ed size limit on header lines \(such as \231T)-.15 F 1.553 -(o:\232 and \231Cc:\232\) has been eliminated; those)-.8 F -.2(bu)102 -353.4 S -.25(ff).2 G(ers are dynamically allocated no).25 E -.65(w.)-.25 -G .289(Sendmail writes a /etc/sendmail.pid \214le with the current process id and the current in) -127 369.6 R -.2(vo)-.4 G(cation).2 E(\215ags.)102 381.6 Q -1 -.8(Tw o) -127 397.8 T .218 -(people using the same program \(e.g., submit\) are considered "dif) -3.518 F .219(ferent" so that duplicate)-.25 F .508(elimination doesn') -102 409.8 R 3.008(td)-.18 G .508(elete one of them.)-3.008 F -.15(Fo) -5.508 G 3.008(re).15 G .508(xample, tw)-3.158 F 3.008(op)-.1 G .508 -(eople forw)-3.008 F .508(arding their email to |submit)-.1 F -(will be treated as tw)102 421.8 Q 2.5(or)-.1 G(ecipients.)-2.5 E .721(The mailstats program prints mailer names and gets the location of the sendmail.st \214le from) -127 438 R(/etc/sendmail.cf.)102 450 Q(Man)127 466.2 Q 2.5(ym)-.15 G -(inor b)-2.5 E(ugs ha)-.2 E .3 -.15(ve b)-.2 H(een \214x).15 E -(ed, such as handling of backslashes inside of quotes.)-.15 E 2.5(Ah)127 -482.4 S(ook has been added to allo)-2.5 E 2.5(wr)-.25 G -.25(ew)-2.5 G -(riting of local addresses after aliasing.).25 E F0 2.5(3. FUTURE)72 -506.4 R -.1(WO)2.5 G(RK).1 E F1 1.719(The pre)112 522.6 R 1.719 -(vious section describes)-.25 F/F2 10/Times-Italic@0 SF(sendmail)4.219 E -F1 1.719(as of v)4.219 F 1.719(ersion 8.6.6.)-.15 F 1.718 -(There is still much to be done.)6.719 F -(Some high points are described belo)87 534.6 Q 3.8 -.65(w. T)-.25 H -(his list is by no means e).65 E(xhausti)-.15 E -.15(ve)-.25 G(.).15 E -F0 2.5(3.1. Full)87 558.6 R(MIME Support)2.5 E F1(Currently)127 574.8 Q -F2(sendmail)3.305 E F1 .805(only supports se)3.305 F -.15(ve)-.25 G -3.305(nb).15 G .805(it MIME messages.)-3.305 F .806 -(Although it can pass eight bit)5.805 F .371 -(MIME messages, it cannot adv)102 586.8 R .371(ertise that f)-.15 F .37 -(act because the standards say that the mail agent must be)-.1 F .26 -(able to do 8- to 7-bit con)102 598.8 R -.15(ve)-.4 G .26(rsion to ha) -.15 F .561 -.15(ve f)-.2 H .261(ull 8-bit support.).15 F .261 -(This requires f)5.261 F .261(ar more e)-.1 F(xtensi)-.15 E .561 -.15 -(ve m)-.25 H(odi\214-).15 E -(cation of the message body than is currently supported.)102 610.8 Q -.464(The best w)127 627 R .464(ay to do this w)-.1 F .463 -(ould be to support the general concept of an e)-.1 F .463(xternal `) --.15 F .463(`message \214l-)-.74 F(ter')102 639 Q 3.319('t)-.74 G .819 -(hat could do arbitrary modi\214cations of the message.)-3.319 F .819 -(This w)5.819 F .82(ould allo)-.1 F 3.32(wM)-.25 G .82(IME con)-3.32 F --.15(ve)-.4 G .82(rsion as).15 F .63 -(well as such things as automatic encryption of messages sent o)102 651 -R -.15(ve)-.15 G 3.129(re).15 G .629(xternal links.)-3.279 F .629 -(This is probably)5.629 F(an e)102 663 Q(xtremely non-tri)-.15 E -(vial change.)-.25 E F0 2.5(3.2. Ser)87 687 R(vice Switch Abstraction) --.1 E F1 .369(Most modern systems include some concept of a \231service switch\232 \212 for e) -127 703.2 R .37(xample, to look up)-.15 F .984 -(host names you can try DNS, NIS, NIS+, te)102 715.2 R .984 -(xt tables, NetInfo, or other services in some arbitrary)-.15 F EP -%%Page: 10 10 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Bold@0 SF 287.15(10 Changes)72 60 R(in Sendmail V)2.5 E -(ersion 8)-1 E/F1 10/Times-Roman@0 SF(order)102 96 Q 5.174(.T)-.55 G -.174(his is currently v)-5.174 F .174(ery clumsy in)-.15 F/F2 10 -/Times-Italic@0 SF(sendmail)2.674 E F1 2.674(,w)C .174 -(ith only limited control of the services pro)-2.674 F(vided.)-.15 E F0 -2.5(3.3. Mor)87 120 R 2.5(eC)-.18 G(ontr)-2.5 E(ol of Local Addr)-.18 E -(esses)-.18 E F1 .943(Currently some addresses are declared as \231local\232 and are handled specially \212 for e) -127 136.2 R(xample,)-.15 E(the)102 148.2 Q 3.455(ym)-.15 G .955(ay ha) --3.455 F 1.255 -.15(ve .)-.2 H(forw).15 E .956 -(ard \214les, may be translated into program calls or \214le deli)-.1 F --.15(ve)-.25 G .956(ries, and so forth.).15 F .311(These should be brok) -102 160.2 R .311(en out into separate \215ags to allo)-.1 F 2.811(wt) --.25 G .31(he local system administrator to ha)-2.811 F .61 -.15(ve m) --.2 H(ore).15 E(\214ne-grained control o)102 172.2 Q -.15(ve)-.15 G 2.5 -(ro).15 G(perations.)-2.5 E F0 2.5(3.4. Mor)87 196.2 R 2.5(eR)-.18 G -(un-T)-2.5 E(ime Con\214guration Options)-.18 E F1 .016(There are man) -127 212.4 R 2.516(yo)-.15 G .016(ptions that are con\214gured at compile time, such as the method of \214le locking) --2.516 F .719(and the use of the IDENT protocol [RFC1413].)102 224.4 R -.719(These should be transfered to run time by adding)5.719 F(ne)102 -236.4 Q 2.5(wo)-.25 G(ptions.)-2.5 E(Similarly)127 252.6 Q 3.413(,s)-.65 -G .913(ome options are currently o)-3.413 F -.15(ve)-.15 G .913 -(rloaded, that is, a single option controls more than).15 F(one thing.) -102 264.6 Q(These should probably be brok)5 E -(en out into separate options.)-.1 E -(This implies that options will change from single characters to w)127 -280.8 Q(ords.)-.1 E F0 2.5(3.5. Mor)87 304.8 R 2.5(eC)-.18 G -(on\214guration Contr)-2.5 E(ol Ov)-.18 E(er Err)-.1 E(ors)-.18 E F1 -(Currently)127 321 Q 3.649(,t)-.65 G 1.148(he con\214guration \214le can generate an error message during parsing.) --3.649 F(Ho)6.148 E(we)-.25 E -.15(ve)-.25 G 1.948 -.4(r, i).15 H(t).4 E -.569(cannot tweak other operations, such as issuing a w)102 333 R .57 -(arning message to the system postmaster)-.1 F 5.57(.S)-.55 G(imi-)-5.57 -E(larly)102 345 Q 2.558(,s)-.65 G .057 -(ome errors should not be triggered if the)-2.558 F 2.557(ya)-.15 G .057 -(re in aliases during an alias \214le reb)-2.557 F .057(uild, b)-.2 F -.057(ut should)-.2 F(be triggered if that alias is actually used.)102 -357 Q F0 2.5(3.6. Long)87 381 R -.92(Te)2.5 G(rm Host State).92 E F1 -(Currently)127 397.2 Q(,)-.65 E F2(sendmail)3.731 E F1 1.231 -(only remembers host status during a single queue run.)3.731 F 1.232 -(This should be)6.232 F(con)102 409.2 Q -.15(ve)-.4 G .492(rted to long term status stored on disk so it can be shared between instantiations of) -.15 F F2(sendmail)2.991 E F1(.)A .866(Entries will ha)102 421.2 R 1.167 --.15(ve t)-.2 H 3.367(ob).15 G 3.367(et)-3.367 G .867(imestamped so the) --3.367 F 3.367(yc)-.15 G .867(an time out.)-3.367 F .867(This will allo) -5.867 F(w)-.25 E F2(sendmail)3.367 E F1 .867(to implement)3.367 F -.15 -(ex)102 433.2 S(ponential back).15 E(of)-.1 E 2.5(fo)-.25 G 2.5(nq)-2.5 -G(ueue runs on a per)-2.5 E(-host basis.)-.2 E F0 2.5(3.7. Connection)87 -457.2 R(Contr)2.5 E(ol)-.18 E F1 .819(Modern netw)127 473.4 R .819 -(orks ha)-.1 F 1.119 -.15(ve d)-.2 H(if).15 E .819 -(ferent types of connecti)-.25 F .818(vity than the past.)-.25 F .818 -(In particular)5.818 F 3.318(,t)-.4 G .818(he rising)-3.318 F .636(prominence of dialup IP has created certain challenges for automated serv) -102 485.4 R 3.136(ers. It)-.15 F .636(is not uncommon)3.136 F .732 -(to try to mak)102 497.4 R 3.232(eac)-.1 G .732 -(onnection to a host and ha)-3.232 F 1.032 -.15(ve i)-.2 H 3.232(tf).15 -G .732(ail, e)-3.332 F -.15(ve)-.25 G 3.232(nt).15 G .732 -(hough if you tried ag)-3.232 F .732(ain it w)-.05 F .731(ould suc-)-.1 -F 2.5(ceed. The)102 509.4 R(connection management could be a bit cle)2.5 -E -.15(ve)-.25 G(rer to try to adapt to such situations.).15 E F0 2.5 -(3.8. Other)87 533.4 R(Caching)2.5 E F1 .074 -(When you do an MX record lookup, the name serv)127 549.6 R .075 -(er automatically returns the IP addresses of)-.15 F .518 -(the associated MX serv)102 561.6 R 3.018(ers. This)-.15 F .518 -(information is currently ignored, and another query is done to get) -3.018 F(this information.)102 573.6 Q(It should be cached to a)5 E -.2 -(vo)-.2 G(id e).2 E(xcess name serv)-.15 E(er traf)-.15 E(\214c.)-.25 E -F0 2.5(4. REFERENCES)72 597.6 R F1([Allman83a])87 613.8 Q .137 -(\231Sendmail \212 An Internetw)123 625.8 R .137(ork Mail Router)-.1 F -4.037 -.7(.\232 E)-.55 H 2.638(.A).7 G 2.638(llman. In)-2.638 F F2 .138 -(Unix Pr)2.638 F -.1(og)-.45 G -.15(ra).1 G(mmer).15 E(s')-.1 E 2.638 -(sM)-.4 G(anual,)-2.638 E F1(4.2)2.638 E(Berk)123 637.8 Q(ele)-.1 E 2.5 -(yS)-.15 G(oftw)-2.5 E(are Distrib)-.1 E(ution, v)-.2 E(olume 2C.)-.2 E -(August 1983.)5 E([Allman83b])87 654 Q .384 -(\231Mail Systems and Addressing in 4.2BSD.)123 666 R 5.384<9a45>-.7 G -2.884(.A)-5.384 G .383(llman In)-2.884 F F2 .383(UNICOM Confer)2.883 F -.383(ence Pr)-.37 F(oceedings.)-.45 E F1(San Die)123 678 Q -(go, California.)-.15 E(January 1983.)5 E([Allman&Amos85])87 694.2 Q --.74(``)123 706.2 S 1.145(Sendmail Re).74 F(visited.)-.25 E 5.125 -.74 -('' E)-.7 H 3.645(.A).74 G 1.145(llman and M. Amos.)-3.645 F(In)6.145 E -F2 1.145(Usenix Summer 1985 Confer)3.645 F 1.145(ence Pr)-.37 F(o-)-.45 -E(ceedings.)123 718.2 Q F1(Portland, Ore)5 E 2.5(gon. June)-.15 F(1985.) -2.5 E EP -%%Page: 11 11 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Bold@0 SF(Changes in Sendmail V)72 60 Q(ersion 8)-1 E(11) -289.65 E/F1 10/Times-Roman@0 SF([ID)87 96 Q(A87])-.4 E/F2 10 -/Times-Italic@0 SF(Electr)1.97 E .983(onic Mail Addr)-.45 F .983 -(essing in Theory and Pr)-.37 F .982(actice with the ID)-.15 F 3.482(AS) --.35 G .982(endmail Enhancement Kit)-3.482 F .563(\(or The P)123 108 R -(ostmaster')-.8 E 3.063(sL)-.4 G .563(ast W)-3.063 F .564(ill and T)-.55 -F(estament\).)-.92 E F1 .564(Lennart Lo)5.564 F -.5(..)-5 -6 O 3.064 -(vstrand. Department)1 6 N .564(of Computer)3.064 F 1.267 -(and Information Science, Uni)123 120 R -.15(ve)-.25 G 1.267 -(rsity of Link).15 F(o)-.1 E -.5(..)-5 -6 O 1.266 -(ping, Sweden, Report no. LiTH-ID)1 6 N(A-Ex-8715.)-.4 E(May 1987.)123 -132 Q([RFC821])87 148.2 Q F2(Simple Mail T)123 160.2 Q -.15(ra)-.55 G -(nsport Pr).15 E(otocol.)-.45 E F1(J. Postel.)5 E(August 1982.)5 E -([RFC1123])87 176.4 Q F2(Requir)123 188.4 Q .163 -(ements for Internet Hosts \212 Application and Support.)-.37 F F1 .164 -(Internet Engineering T)5.164 F .164(ask F)-.8 F(orce,)-.15 E -(R. Braden, Editor)123 200.4 Q 5(.O)-.55 G(ctober 1989.)-5 E([RFC1344]) -87 216.6 Q F2(Implications of MIME for Internet Mail Gate)123 228.6 Q -(ways.)-.15 E F1(N. Borenstein.)5 E(June 1992.)5 E([RFC1413])87 244.8 Q -F2(Identi\214cation Pr)123 256.8 Q(otocol.)-.45 E F1(M. St. Johns.)5 E -(February 1993.)5 E([RFC1425])87 273 Q F2 2.352 -(SMTP Service Extensions.)123 285 R F1 2.352 -(J. Klensin, N. Freed, M. Rose, E. Stef)7.352 F 2.351 -(ferud, and D. Crock)-.25 F(er)-.1 E(.)-.55 E(February 1993.)123 297 Q -([RFC1426])87 313.2 Q F2 .12(SMTP Service Extension for 8bit-MIMEtr)123 -325.2 R(ansport.)-.15 E F1 .12(J. Klensin, N. Freed, M. Rose, E. Stef) -5.12 F(ferud,)-.25 E(and D. Crock)123 337.2 Q(er)-.1 E 5(.F)-.55 G -(ebruary 1993.)-5 E([RFC1427])87 353.4 Q F2 .813 -(SMTP Service Extension for Messa)123 365.4 R 1.013 -.1(ge S)-.1 H .813 -(ize Declar).1 F(ation.)-.15 E F1 .813 -(J. Klensin, N. Freed, and K. Moore.)5.813 F(February 1993.)123 377.4 Q -([RFC1521])87 393.6 Q F2 2.033 -(MIME \(Multipurpose Internet Mail Extensions\) P)123 405.6 R 2.033 -(art One: Mec)-.8 F 2.033(hanisms for Specifying and)-.15 F .933 -(Describing the F)123 417.6 R .933(ormat of Internet Messa)-1.05 F 1.133 --.1(ge B)-.1 H(odies.).1 E F1 .932(N. Borenstein and N. Freed.)5.932 F -(September)5.932 E(1993.)123 429.6 Q EP -%%Trailer -end -%%EOF |