diff options
Diffstat (limited to 'usr.sbin/sendmail/doc/usenix')
-rw-r--r-- | usr.sbin/sendmail/doc/usenix/Makefile | 12 | ||||
-rw-r--r-- | usr.sbin/sendmail/doc/usenix/usenix.me | 1076 | ||||
-rw-r--r-- | usr.sbin/sendmail/doc/usenix/usenix.ps | 1004 |
3 files changed, 2092 insertions, 0 deletions
diff --git a/usr.sbin/sendmail/doc/usenix/Makefile b/usr.sbin/sendmail/doc/usenix/Makefile new file mode 100644 index 0000000..ea0665c --- /dev/null +++ b/usr.sbin/sendmail/doc/usenix/Makefile @@ -0,0 +1,12 @@ +# @(#)Makefile 8.2 (Berkeley) 2/28/94 + +SRCS= usenix.me +MACROS= -me + +all: usenix.ps + +usenix.ps: ${SRCS} + rm -f ${.TARGET} + ${PIC} ${SRCS} | ${ROFF} > ${.TARGET} + +.include <bsd.doc.mk> diff --git a/usr.sbin/sendmail/doc/usenix/usenix.me b/usr.sbin/sendmail/doc/usenix/usenix.me new file mode 100644 index 0000000..0fbb672 --- /dev/null +++ b/usr.sbin/sendmail/doc/usenix/usenix.me @@ -0,0 +1,1076 @@ +.nr si 3n +.he 'Mail Systems and Addressing in 4.2bsd''%' +.fo 'Version 8.2'USENIX \- Jan 83'Last Mod 11/27/93' +.if n .ls 2 +.+c +.(l C +.sz 14 +Mail Systems and Addressing +in 4.2bsd +.sz +.sp +Eric Allman* +.sp 0.5 +.i +Britton-Lee, Inc. +1919 Addison Street, Suite 105. +Berkeley, California 94704. +.sp 0.5 +.r +eric@Berkeley.ARPA +ucbvax!eric +.)l +.sp +.(l F +.ce +ABSTRACT +.sp \n(psu +Routing mail through a heterogeneous internet presents many new +problems. +Among the worst of these is that of address mapping. +Historically, this has been handled on an ad hoc basis. +However, +this approach has become unmanageable as internets grow. +.sp \n(psu +Sendmail acts a unified +.q "post office" +to which all mail can be +submitted. +Address interpretation is controlled by a production +system, +which can parse both old and new format addresses. +The +new format is +.q "domain-based," +a flexible technique that can +handle many common situations. +Sendmail is not intended to perform +user interface functions. +.sp \n(psu +Sendmail will replace delivermail in the Berkeley 4.2 distribution. +Several major hosts are now or will soon be running sendmail. +This change will affect any users that route mail through a sendmail +gateway. +The changes that will be user visible are emphasized. +.)l +.sp 2 +.(f +*A considerable part of this work +was done while under the employ +of the INGRES Project +at the University of California at Berkeley. +.)f +.pp +The mail system to appear in 4.2bsd +will contain a number of changes. +Most of these changes are based on the replacement of +.i delivermail +with a new module called +.i sendmail. +.i Sendmail +implements a general internetwork mail routing facility, +featuring aliasing and forwarding, +automatic routing to network gateways, +and flexible configuration. +Of key interest to the mail system user +will be the changes in the network addressing structure. +.pp +In a simple network, +each node has an address, +and resources can be identified +with a host-resource pair; +in particular, +the mail system can refer to users +using a host-username pair. +Host names and numbers have to be administered by a central authority, +but usernames can be assigned locally to each host. +.pp +In an internet, +multiple networks with different characteristics +and managements +must communicate. +In particular, +the syntax and semantics of resource identification change. +Certain special cases can be handled trivially +by +.i "ad hoc" +techniques, +such as +providing network names that appear local to hosts +on other networks, +as with the Ethernet at Xerox PARC. +However, the general case is extremely complex. +For example, +some networks require that the route the message takes +be explicitly specified by the sender, +simplifying the database update problem +since only adjacent hosts must be entered +into the system tables, +while others use logical addressing, +where the sender specifies the location of the recipient +but not how to get there. +Some networks use a left-associative syntax +and others use a right-associative syntax, +causing ambiguity in mixed addresses. +.pp +Internet standards seek to eliminate these problems. +Initially, these proposed expanding the address pairs +to address triples, +consisting of +{network, host, username} +triples. +Network numbers must be universally agreed upon, +and hosts can be assigned locally +on each network. +The user-level presentation was changed +to address domains, +comprised of a local resource identification +and a hierarchical domain specification +with a common static root. +The domain technique +separates the issue of physical versus logical addressing. +For example, +an address of the form +.q "eric@a.cc.berkeley.arpa" +describes the logical +organization of the address space +(user +.q eric +on host +.q a +in the Computer Center +at Berkeley) +but not the physical networks used +(for example, this could go over different networks +depending on whether +.q a +were on an ethernet +or a store-and-forward network). +.pp +.i Sendmail +is intended to help bridge the gap +between the totally +.i "ad hoc" +world +of networks that know nothing of each other +and the clean, tightly-coupled world +of unique network numbers. +It can accept old arbitrary address syntaxes, +resolving ambiguities using heuristics +specified by the system administrator, +as well as domain-based addressing. +It helps guide the conversion of message formats +between disparate networks. +In short, +.i sendmail +is designed to assist a graceful transition +to consistent internetwork addressing schemes. +.sp +.pp +Section 1 defines some of the terms +frequently left fuzzy +when working in mail systems. +Section 2 discusses the design goals for +.i sendmail . +In section 3, +the new address formats +and basic features of +.i sendmail +are described. +Section 4 discusses some of the special problems +of the UUCP network. +The differences between +.i sendmail +and +.i delivermail +are presented in section 5. +.sp +.(l F +.b DISCLAIMER: +A number of examples +in this paper +use names of actual people +and organizations. +This is not intended +to imply a commitment +or even an intellectual agreement +on the part of these people or organizations. +In particular, +Bell Telephone Laboratories (BTL), +Digital Equipment Corporation (DEC), +Lawrence Berkeley Laboratories (LBL), +Britton-Lee Incorporated (BLI), +and the University of California at Berkeley +are not committed to any of these proposals at this time. +Much of this paper +represents no more than +the personal opinions of the author. +.)l +.sh 1 "DEFINITIONS" +.pp +There are four basic concepts +that must be clearly distinguished +when dealing with mail systems: +the user (or the user's agent), +the user's identification, +the user's address, +and the route. +These are distinguished primarily by their position independence. +.sh 2 "User and Identification" +.pp +The user is the being +(a person or program) +that is creating or receiving a message. +An +.i agent +is an entity operating on behalf of the user \*- +such as a secretary who handles my mail. +or a program that automatically returns a +message such as +.q "I am at the UNICOM conference." +.pp +The identification is the tag +that goes along with the particular user. +This tag is completely independent of location. +For example, +my identification is the string +.q "Eric Allman," +and this identification does not change +whether I am located at U.C. Berkeley, +at Britton-Lee, +or at a scientific institute in Austria. +.pp +Since the identification is frequently ambiguous +(e.g., there are two +.q "Robert Henry" s +at Berkeley) +it is common to add other disambiguating information +that is not strictly part of the identification +(e.g., +Robert +.q "Code Generator" +Henry +versus +Robert +.q "System Administrator" +Henry). +.sh 2 "Address" +.pp +The address specifies a location. +As I move around, +my address changes. +For example, +my address might change from +.q eric@Berkeley.ARPA +to +.q eric@bli.UUCP +or +.q allman@IIASA.Austria +depending on my current affiliation. +.pp +However, +an address is independent of the location of anyone else. +That is, +my address remains the same to everyone who might be sending me mail. +For example, +a person at MIT and a person at USC +could both send to +.q eric@Berkeley.ARPA +and have it arrive to the same mailbox. +.pp +Ideally a +.q "white pages" +service would be provided to map user identifications +into addresses +(for example, see +[Solomon81]). +Currently this is handled by passing around +scraps of paper +or by calling people on the telephone +to find out their address. +.sh 2 "Route" +.pp +While an address specifies +.i where +to find a mailbox, +a route specifies +.i how +to find the mailbox. +Specifically, +it specifies a path +from sender to receiver. +As such, the route is potentially different +for every pair of people in the electronic universe. +.pp +Normally the route is hidden from the user +by the software. +However, +some networks put the burden of determining the route +onto the sender. +Although this simplifies the software, +it also greatly impairs the usability +for most users. +The UUCP network is an example of such a network. +.sh 1 "DESIGN GOALS" +.pp +Design goals for +.i sendmail \** +.(f +\**This section makes no distinction between +.i delivermail +and +.i sendmail. +.)f +include: +.np +Compatibility with the existing mail programs, +including Bell version 6 mail, +Bell version 7 mail, +Berkeley +.i Mail +[Shoens79], +BerkNet mail +[Schmidt79], +and hopefully UUCP mail +[Nowitz78]. +ARPANET mail +[Crocker82] +was also required. +.np +Reliability, in the sense of guaranteeing +that every message is correctly delivered +or at least brought to the attention of a human +for correct disposal; +no message should ever be completely lost. +This goal was considered essential +because of the emphasis on mail in our environment. +It has turned out to be one of the hardest goals to satisfy, +especially in the face of the many anomalous message formats +produced by various ARPANET sites. +For example, +certain sites generate improperly formated addresses, +occasionally +causing error-message loops. +Some hosts use blanks in names, +causing problems with +mail programs that assume that an address +is one word. +The semantics of some fields +are interpreted slightly differently +by different sites. +In summary, +the obscure features of the ARPANET mail protocol +really +.i are +used and +are difficult to support, +but must be supported. +.np +Existing software to do actual delivery +should be used whenever possible. +This goal derives as much from political and practical considerations +as technical. +.np +Easy expansion to +fairly complex environments, +including multiple +connections to a single network type +(such as with multiple UUCP or Ethernets). +This goal requires consideration of the contents of an address +as well as its syntax +in order to determine which gateway to use. +.np +Configuration information should not be compiled into the code. +A single compiled program should be able to run as is at any site +(barring such basic changes as the CPU type or the operating system). +We have found this seemingly unimportant goal +to be critical in real life. +Besides the simple problems that occur when any program gets recompiled +in a different environment, +many sites like to +.q fiddle +with anything that they will be recompiling anyway. +.np +.i Sendmail +must be able to let various groups maintain their own mailing lists, +and let individuals specify their own forwarding, +without modifying the system alias file. +.np +Each user should be able to specify which mailer to execute +to process mail being delivered for him. +This feature allows users who are using specialized mailers +that use a different format to build their environment +without changing the system, +and facilitates specialized functions +(such as returning an +.q "I am on vacation" +message). +.np +Network traffic should be minimized +by batching addresses to a single host where possible, +without assistance from the user. +.pp +These goals motivated the architecture illustrated in figure 1. +.(z +.hl +.ie t \ +. sp 18 +.el \{\ +.(c ++---------+ +---------+ +---------+ +| sender1 | | sender2 | | sender3 | ++---------+ +---------+ +---------+ + | | | + +----------+ + +----------+ + | | | + v v v + +-------------+ + | sendmail | + +-------------+ + | | | + +----------+ + +----------+ + | | | + v v v ++---------+ +---------+ +---------+ +| mailer1 | | mailer2 | | mailer3 | ++---------+ +---------+ +---------+ +.)c +.\} + +.ce +Figure 1 \*- Sendmail System Structure. +.hl +.)z +The user interacts with a mail generating and sending program. +When the mail is created, +the generator calls +.i sendmail , +which routes the message to the correct mailer(s). +Since some of the senders may be network servers +and some of the mailers may be network clients, +.i sendmail +may be used as an internet mail gateway. +.sh 1 "USAGE" +.sh 2 "Address Formats" +.pp +Arguments may be flags or addresses. +Flags set various processing options. +Following flag arguments, +address arguments may be given. +Addresses follow the syntax in RFC822 +[Crocker82] +for ARPANET +address formats. +In brief, the format is: +.np +Anything in parentheses is thrown away +(as a comment). +.np +Anything in angle brackets (\c +.q "<\|>" ) +is preferred +over anything else. +This rule implements the ARPANET standard that addresses of the form +.(b +user name <machine-address> +.)b +will send to the electronic +.q machine-address +rather than the human +.q "user name." +.np +Double quotes +(\ "\ ) +quote phrases; +backslashes quote characters. +Backslashes are more powerful +in that they will cause otherwise equivalent phrases +to compare differently \*- for example, +.i user +and +.i +"user" +.r +are equivalent, +but +.i \euser +is different from either of them. +This might be used +to avoid normal aliasing +or duplicate suppression algorithms. +.pp +Parentheses, angle brackets, and double quotes +must be properly balanced and nested. +The rewriting rules control remaining parsing\**. +.(f +\**Disclaimer: Some special processing is done +after rewriting local names; see below. +.)f +.pp +Although old style addresses are still accepted +in most cases, +the preferred address format +is based on ARPANET-style domain-based addresses +[Su82a]. +These addresses are based on a hierarchical, logical decomposition +of the address space. +The addresses are hierarchical in a sense +similar to the U.S. postal addresses: +the messages may first be routed to the correct state, +with no initial consideration of the city +or other addressing details. +The addresses are logical +in that each step in the hierarchy +corresponds to a set of +.q "naming authorities" +rather than a physical network. +.pp +For example, +the address: +.(l +eric@HostA.BigSite.ARPA +.)l +would first look up the domain +BigSite +in the namespace administrated by +ARPA. +A query could then be sent to +BigSite +for interpretation of +HostA. +Eventually the mail would arrive at +HostA, +which would then do final delivery +to user +.q eric. +.sh 2 "Mail to Files and Programs" +.pp +Files and programs are legitimate message recipients. +Files provide archival storage of messages, +useful for project administration and history. +Programs are useful as recipients in a variety of situations, +for example, +to maintain a public repository of systems messages +(such as the Berkeley +.i msgs +program). +.pp +Any address passing through the initial parsing algorithm +as a local address +(i.e, not appearing to be a valid address for another mailer) +is scanned for two special cases. +If prefixed by a vertical bar (\c +.q \^|\^ ) +the rest of the address is processed as a shell command. +If the user name begins with a slash mark (\c +.q /\^ ) +the name is used as a file name, +instead of a login name. +.sh 2 "Aliasing, Forwarding, Inclusion" +.pp +.i Sendmail +reroutes mail three ways. +Aliasing applies system wide. +Forwarding allows each user to reroute incoming mail +destined for that account. +Inclusion directs +.i sendmail +to read a file for a list of addresses, +and is normally used +in conjunction with aliasing. +.sh 3 "Aliasing" +.pp +Aliasing maps local addresses to address lists using a system-wide file. +This file is hashed to speed access. +Only addresses that parse as local +are allowed as aliases; +this guarantees a unique key +(since there are no nicknames for the local host). +.sh 3 "Forwarding" +.pp +After aliasing, +if an recipient address specifies a local user +.i sendmail +searches for a +.q .forward +file in the recipient's home directory. +If it exists, +the message is +.i not +sent to that user, +but rather to the list of addresses in that file. +Often +this list will contain only one address, +and the feature will be used for network mail forwarding. +.pp +Forwarding also permits a user to specify a private incoming mailer. +For example, +forwarding to: +.(b +"\^|\|/usr/local/newmail myname" +.)b +will use a different incoming mailer. +.sh 3 "Inclusion" +.pp +Inclusion is specified in RFC 733 [Crocker77] syntax: +.(b +:Include: pathname +.)b +An address of this form reads the file specified by +.i pathname +and sends to all users listed in that file. +.pp +The intent is +.i not +to support direct use of this feature, +but rather to use this as a subset of aliasing. +For example, +an alias of the form: +.(b +project: :include:/usr/project/userlist +.)b +is a method of letting a project maintain a mailing list +without interaction with the system administration, +even if the alias file is protected. +.pp +It is not necessary to rebuild the index on the alias database +when a :include: list is changed. +.sh 2 "Message Collection" +.pp +Once all recipient addresses are parsed and verified, +the message is collected. +The message comes in two parts: +a message header and a message body, +separated by a blank line. +The body is an uninterpreted +sequence of text lines. +.pp +The header is formated as a series of lines +of the form +.(b + field-name: field-value +.)b +Field-value can be split across lines by starting the following +lines with a space or a tab. +Some header fields have special internal meaning, +and have appropriate special processing. +Other headers are simply passed through. +Some header fields may be added automatically, +such as time stamps. +.sh 1 "THE UUCP PROBLEM" +.pp +Of particular interest +is the UUCP network. +The explicit routing +used in the UUCP environment +causes a number of serious problems. +First, +giving out an address +is impossible +without knowing the address of your potential correspondent. +This is typically handled +by specifying the address +relative to some +.q "well-known" +host +(e.g., +ucbvax or decvax). +Second, +it is often difficult to compute +the set of addresses +to reply to +without some knowledge +of the topology of the network. +Although it may be easy for a human being +to do this +under many circumstances, +a program does not have equally sophisticated heuristics +built in. +Third, +certain addresses will become painfully and unnecessarily long, +as when a message is routed through many hosts in the USENET. +And finally, +certain +.q "mixed domain" +addresses +are impossible to parse unambiguously \*- +e.g., +.(l +decvax!ucbvax!lbl-h!user@LBL-CSAM +.)l +might have many possible resolutions, +depending on whether the message was first routed +to decvax +or to LBL-CSAM. +.pp +To solve this problem, +the UUCP syntax +would have to be changed to use addresses +rather than routes. +For example, +the address +.q decvax!ucbvax!eric +might be expressed as +.q eric@ucbvax.UUCP +(with the hop through decvax implied). +This address would itself be a domain-based address; +for example, +an address might be of the form: +.(l +mark@d.cbosg.btl.UUCP +.)l +Hosts outside of Bell Telephone Laboratories +would then only need to know +how to get to a designated BTL relay, +and the BTL topology +would only be maintained inside Bell. +.pp +There are three major problems +associated with turning UUCP addresses +into something reasonable: +defining the namespace, +creating and propagating the necessary software, +and building and maintaining the database. +.sh 2 "Defining the Namespace" +.pp +Putting all UUCP hosts into a flat namespace +(e.g., +.q \&...@host.UUCP ) +is not practical for a number of reasons. +First, +with over 1600 sites already, +and (with the increasing availability of inexpensive microcomputers +and autodialers) +several thousand more coming within a few years, +the database update problem +is simply intractable +if the namespace is flat. +Second, +there are almost certainly name conflicts today. +Third, +as the number of sites grow +the names become ever less mnemonic. +.pp +It seems inevitable +that there be some sort of naming authority +for the set of top level names +in the UUCP domain, +as unpleasant a possibility +as that may seem. +It will simply not be possible +to have one host resolving all names. +It may however be possible +to handle this +in a fashion similar to that of assigning names of newsgroups +in USENET. +However, +it will be essential to encourage everyone +to become subdomains of an existing domain +whenever possible \*- +even though this will certainly bruise some egos. +For example, +if a new host named +.q blid +were to be added to the UUCP network, +it would probably actually be addressed as +.q d.bli.UUCP +(i.e., +as host +.q d +in the pseudo-domain +.q bli +rather than as host +.q blid +in the UUCP domain). +.sh 2 "Creating and Propagating the Software" +.pp +The software required to implement a consistent namespace +is relatively trivial. +Two modules are needed, +one to handle incoming mail +and one to handle outgoing mail. +.pp +The incoming module +must be prepared to handle either old or new style addresses. +New-style addresses +can be passed through unchanged. +Old style addresses +must be turned into new style addresses +where possible. +.pp +The outgoing module +is slightly trickier. +It must do a database lookup on the recipient addresses +(passed on the command line) +to determine what hosts to send the message to. +If those hosts do not accept new-style addresses, +it must transform all addresses in the header of the message +into old style using the database lookup. +.pp +Both of these modules +are straightforward +except for the issue of modifying the header. +It seems prudent to choose one format +for the message headers. +For a number of reasons, +Berkeley has elected to use the ARPANET protocols +for message formats. +However, +this protocol is somewhat difficult to parse. +.pp +Propagation is somewhat more difficult. +There are a large number of hosts +connected to UUCP +that will want to run completely standard systems +(for very good reasons). +The strategy is not to convert the entire network \*- +only enough of it it alleviate the problem. +.sh 2 "Building and Maintaining the Database" +.pp +This is by far the most difficult problem. +A prototype for this database +already exists, +but it is maintained by hand +and does not pretend to be complete. +.pp +This problem will be reduced considerably +if people choose to group their hosts +into subdomains. +This would require a global update +only when a new top level domain +joined the network. +A message to a host in a subdomain +could simply be routed to a known domain gateway +for further processing. +For example, +the address +.q eric@a.bli.UUCP +might be routed to the +.q bli +gateway +for redistribution; +new hosts could be added +within BLI +without notifying the rest of the world. +Of course, +other hosts +.i could +be notified as an efficiency measure. +.pp +There may be more than one domain gateway. +A domain such as BTL, +for instance, +might have a dozen gateways to the outside world; +a non-BTL site +could choose the closest gateway. +The only restriction +would be that all gateways +maintain a consistent view of the domain +they represent. +.sh 2 "Logical Structure" +.pp +Logically, +domains are organized into a tree. +There need not be a host actually associated +with each level in the tree \*- +for example, +there will be no host associated with the name +.q UUCP. +Similarly, +an organization might group names together for administrative reasons; +for example, +the name +.(l +CAD.research.BigCorp.UUCP +.)l +might not actually have a host representing +.q research. +.pp +However, +it may frequently be convenient to have a host +or hosts +that +.q represent +a domain. +For example, +if a single host exists that +represents +Berkeley, +then mail from outside Berkeley +can forward mail to that host +for further resolution +without knowing Berkeley's +(rather volatile) +topology. +This is not unlike the operation +of the telephone network. +.pp +This may also be useful +inside certain large domains. +For example, +at Berkeley it may be presumed +that most hosts know about other hosts +inside the Berkeley domain. +But if they process an address +that is unknown, +they can pass it +.q upstairs +for further examination. +Thus as new hosts are added +only one host +(the domain master) +.i must +be updated immediately; +other hosts can be updated as convenient. +.pp +Ideally this name resolution process +would be performed by a name server +(e.g., [Su82b]) +to avoid unnecessary copying +of the message. +However, +in a batch network +such as UUCP +this could result in unnecessary delays. +.sh 1 "COMPARISON WITH DELIVERMAIL" +.pp +.i Sendmail +is an outgrowth of +.i delivermail . +The primary differences are: +.np +Configuration information is not compiled in. +This change simplifies many of the problems +of moving to other machines. +It also allows easy debugging of new mailers. +.np +Address parsing is more flexible. +For example, +.i delivermail +only supported one gateway to any network, +whereas +.i sendmail +can be sensitive to host names +and reroute to different gateways. +.np +Forwarding and +:include: +features eliminate the requirement that the system alias file +be writable by any user +(or that an update program be written, +or that the system administration make all changes). +.np +.i Sendmail +supports message batching across networks +when a message is being sent to multiple recipients. +.np +A mail queue is provided in +.i sendmail. +Mail that cannot be delivered immediately +but can potentially be delivered later +is stored in this queue for a later retry. +The queue also provides a buffer against system crashes; +after the message has been collected +it may be reliably redelivered +even if the system crashes during the initial delivery. +.np +.i Sendmail +uses the networking support provided by 4.2BSD +to provide a direct interface networks such as the ARPANET +and/or Ethernet +using SMTP (the Simple Mail Transfer Protocol) +over a TCP/IP connection. +.+c +.ce +REFERENCES +.nr ii 1.5i +.ip [Crocker77] +Crocker, D. H., +Vittal, J. J., +Pogran, K. T., +and +Henderson, D. A. Jr., +.ul +Standard for the Format of ARPA Network Text Messages. +RFC 733, +NIC 41952. +In [Feinler78]. +November 1977. +.ip [Crocker82] +Crocker, D. H., +.ul +Standard for the Format of Arpa Internet Text Messages. +RFC 822. +Network Information Center, +SRI International, +Menlo Park, California. +August 1982. +.ip [Feinler78] +Feinler, E., +and +Postel, J. +(eds.), +.ul +ARPANET Protocol Handbook. +NIC 7104, +Network Information Center, +SRI International, +Menlo Park, California. +1978. +.ip [Nowitz78] +Nowitz, D. A., +and +Lesk, M. E., +.ul +A Dial-Up Network of UNIX Systems. +Bell Laboratories. +In +UNIX Programmer's Manual, Seventh Edition, +Volume 2. +August, 1978. +.ip [Schmidt79] +Schmidt, E., +.ul +An Introduction to the Berkeley Network. +University of California, Berkeley California. +1979. +.ip [Shoens79] +Shoens, K., +.ul +Mail Reference Manual. +University of California, Berkeley. +In UNIX Programmer's Manual, +Seventh Edition, +Volume 2C. +December 1979. +.ip [Solomon81] +Solomon, M., +Landweber, L., +and +Neuhengen, D., +.ul +The Design of the CSNET Name Server. +CS-DN-2. +University of Wisconsin, +Madison. +October 1981. +.ip [Su82a] +Su, Zaw-Sing, +and +Postel, Jon, +.ul +The Domain Naming Convention for Internet User Applications. +RFC819. +Network Information Center, +SRI International, +Menlo Park, California. +August 1982. +.ip [Su82b] +Su, Zaw-Sing, +.ul +A Distributed System for Internet Name Service. +RFC830. +Network Information Center, +SRI International, +Menlo Park, California. +October 1982. diff --git a/usr.sbin/sendmail/doc/usenix/usenix.ps b/usr.sbin/sendmail/doc/usenix/usenix.ps new file mode 100644 index 0000000..31f2f67 --- /dev/null +++ b/usr.sbin/sendmail/doc/usenix/usenix.ps @@ -0,0 +1,1004 @@ +%!PS-Adobe-3.0 +%%Creator: groff version 1.08 +%%DocumentNeededResources: font Times-Roman +%%+ font Times-Italic +%%+ font Times-Bold +%%DocumentSuppliedResources: procset grops 1.08 0 +%%Pages: 9 +%%PageOrder: Ascend +%%Orientation: Portrait +%%EndComments +%%BeginProlog +%%BeginResource: procset grops 1.08 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 +/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 +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(Mail Systems and Addressing)204.196 141 Q(in 4.2bsd) +262.331 157.8 Q/F1 10/Times-Roman@0 SF(Eric Allman*)260.92 181.8 Q/F2 10 +/Times-Italic@0 SF(Britton-Lee)254.86 199.8 Q 2.5(,I)-.1 G(nc.)309.2 199.8 Q +(1919 Addison Str)225.13 211.8 Q(eet, Suite 105.)-.37 E(Berk)232.645 223.8 Q +(ele)-.1 E 1.1 -.55(y, C)-.3 H(alifornia 94704.).55 E F1(eric@Berk)244.175 +241.8 Q(ele)-.1 E -.65(y.)-.15 G(ARP).65 E(A)-.92 E(ucb)264.6 253.8 Q -.25(va) +-.15 G(x!eric).25 E(ABSTRA)262.085 286.2 Q(CT)-.4 E .966 +(Routing mail through a heterogeneous internet presents man)112 302.4 R 3.466 +(yn)-.15 G 1.466 -.25(ew p)373.438 302.4 T 3.466(roblems. Among).25 F .297 +(the w)112 314.4 R .297(orst of these is that of address mapping.)-.1 F +(Historically)5.297 E 2.797(,t)-.65 G .298(his has been handled on an)355.03 +314.4 R(ad hoc basis.)112 326.4 Q(Ho)5 E(we)-.25 E -.15(ve)-.25 G .8 -.4(r, t) +.15 H(his approach has become unmanageable as internets gro).4 E -.65(w.)-.25 G +.099(Sendmail acts a uni\214ed \231post of)112 342.6 R .098 +(\214ce\232 to which all mail can be submitted.)-.25 F .098(Address inter)5.098 +F(-)-.2 E .754(pretation is controlled by a production system, which can parse\ + both old and ne)112 354.6 R 3.255(wf)-.25 G(or)452.54 354.6 Q(-)-.2 E .242 +(mat addresses.)112 366.6 R .242(The ne)5.242 F 2.742(wf)-.25 G .242 +(ormat is \231domain-based,)216.578 366.6 R 2.742<9a618d>-.7 G -.15(ex)334.326 +366.6 S .241(ible technique that can handle).15 F(man)112 378.6 Q 2.606(yc)-.15 +G .106(ommon situations.)141.116 378.6 R .106 +(Sendmail is not intended to perform user interf)5.106 F .107(ace functions.) +-.1 F .399(Sendmail will replace deli)112 394.8 R -.15(ve)-.25 G .399 +(rmail in the Berk).15 F(ele)-.1 E 2.899(y4)-.15 G .399(.2 distrib)320.504 +394.8 R 2.899(ution. Se)-.2 F -.15(ve)-.25 G .399(ral major hosts).15 F .421 +(are no)112 406.8 R 2.921(wo)-.25 G 2.921(rw)152.022 406.8 S .421 +(ill soon be running sendmail.)165.493 406.8 R .421(This change will af)5.421 F +.422(fect an)-.25 F 2.922(yu)-.15 G .422(sers that route)407.056 406.8 R 1.5 +(mail through a sendmail g)112 418.8 R(ate)-.05 E -.1(wa)-.25 G 5.3 -.65(y. T) +.1 H 1.5(he changes that will be user visible are empha-).65 F(sized.)112 430.8 +Q .906(The mail system to appear in 4.2bsd will contain a number of changes.)97 +475.2 R .906(Most of these changes are)5.906 F .469 +(based on the replacement of)72 487.2 R F2(delivermail)2.969 E F1 .469 +(with a ne)2.969 F 2.969(wm)-.25 G .469(odule called)292.871 487.2 R F2 2.97 +(sendmail. Sendmail)2.97 F F1 .47(implements a gen-)2.97 F 1.834 +(eral internetw)72 499.2 R 1.834(ork mail routing f)-.1 F(acility)-.1 E 4.333 +(,f)-.65 G 1.833(eaturing aliasing and forw)239.739 499.2 R 1.833 +(arding, automatic routing to netw)-.1 F(ork)-.1 E -.05(ga)72 511.2 S(te).05 E +-.1(wa)-.25 G .205(ys, and \215e).1 F .205(xible con\214guration.)-.15 F .205 +(Of k)5.205 F .505 -.15(ey i)-.1 H .205 +(nterest to the mail system user will be the changes in the net-).15 F -.1(wo) +72 523.2 S(rk addressing structure.).1 E .624(In a simple netw)97 539.4 R .624 +(ork, each node has an address, and resources can be identi\214ed with a host-\ +resource)-.1 F .374(pair; in particular)72 551.4 R 2.874(,t)-.4 G .374 +(he mail system can refer to users using a host-username pair)149.932 551.4 R +5.374(.H)-.55 G .375(ost names and numbers)409.276 551.4 R(ha)72 563.4 Q .3 +-.15(ve t)-.2 H 2.5(ob).15 G 2.5(ea)108.31 563.4 S +(dministered by a central authority)119.69 563.4 Q 2.5(,b)-.65 G +(ut usernames can be assigned locally to each host.)263.82 563.4 Q .397 +(In an internet, multiple netw)97 579.6 R .396(orks with dif)-.1 F .396 +(ferent characteristics and managements must communicate.)-.25 F .389 +(In particular)72 591.6 R 2.889(,t)-.4 G .389 +(he syntax and semantics of resource identi\214cation change.)129.308 591.6 R +.39(Certain special cases can be han-)5.389 F 1.033(dled tri)72 603.6 R 1.033 +(vially by)-.25 F F2 1.033(ad hoc)3.533 F F1 1.032(techniques, such as pro) +3.533 F 1.032(viding netw)-.15 F 1.032 +(ork names that appear local to hosts on other)-.1 F(netw)72 615.6 Q 1.621 +(orks, as with the Ethernet at Xerox P)-.1 F 4.121(ARC. Ho)-.92 F(we)-.25 E +-.15(ve)-.25 G 2.421 -.4(r, t).15 H 1.622(he general case is e).4 F 1.622 +(xtremely comple)-.15 F 4.122(x. F)-.15 F(or)-.15 E -.15(ex)72 627.6 S .29 +(ample, some netw).15 F .29(orks require that the route the message tak)-.1 F +.29(es be e)-.1 F .29(xplicitly speci\214ed by the sender)-.15 F 2.79(,s)-.4 G +(im-)490.11 627.6 Q 1.618(plifying the database update problem since only adja\ +cent hosts must be entered into the system tables,)72 639.6 R .573(while other\ +s use logical addressing, where the sender speci\214es the location of the rec\ +ipient b)72 651.6 R .573(ut not ho)-.2 F 3.072(wt)-.25 G(o)499 651.6 Q 1.065 +(get there.)72 663.6 R 1.065(Some netw)6.065 F 1.066(orks use a left-associati) +-.1 F 1.366 -.15(ve s)-.25 H 1.066(yntax and others use a right-associati).15 F +1.366 -.15(ve s)-.25 H 1.066(yntax, causing).15 F .32 LW 76 673.2 72 673.2 DL +80 673.2 76 673.2 DL 84 673.2 80 673.2 DL 88 673.2 84 673.2 DL 92 673.2 88 +673.2 DL 96 673.2 92 673.2 DL 100 673.2 96 673.2 DL 104 673.2 100 673.2 DL 108 +673.2 104 673.2 DL 112 673.2 108 673.2 DL 116 673.2 112 673.2 DL 120 673.2 116 +673.2 DL 124 673.2 120 673.2 DL 128 673.2 124 673.2 DL 132 673.2 128 673.2 DL +136 673.2 132 673.2 DL 140 673.2 136 673.2 DL 144 673.2 140 673.2 DL 148 673.2 +144 673.2 DL 152 673.2 148 673.2 DL 156 673.2 152 673.2 DL 160 673.2 156 673.2 +DL 164 673.2 160 673.2 DL 168 673.2 164 673.2 DL 172 673.2 168 673.2 DL 176 +673.2 172 673.2 DL 180 673.2 176 673.2 DL 184 673.2 180 673.2 DL 188 673.2 184 +673.2 DL 192 673.2 188 673.2 DL 196 673.2 192 673.2 DL 200 673.2 196 673.2 DL +204 673.2 200 673.2 DL 208 673.2 204 673.2 DL 212 673.2 208 673.2 DL 216 673.2 +212 673.2 DL/F3 8/Times-Roman@0 SF .556(*A considerable part of this w)93.6 +685.2 R .556(ork w)-.08 F .556(as done while under the emplo)-.08 F 2.557(yo) +-.08 G 2.557(ft)323.107 685.2 S .557(he INGRES Project at the Uni)330.552 685.2 +R -.12(ve)-.2 G .557(rsity of California at).12 F(Berk)72 694.8 Q(ele)-.08 E +-.52(y.)-.12 G/F4 10/Times-Bold@0 SF(Mail Systems and Addr)72 756 Q +(essing in 4.2bsd)-.18 E(1)499 756 Q EP +%%Page: 2 2 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Mail Systems and Addr)72 60 Q(essing in 4.2bsd)-.18 E(2) +499 60 Q/F1 10/Times-Roman@0 SF(ambiguity in mix)72 96 Q(ed addresses.)-.15 E +.679(Internet standards seek to eliminate these problems.)97 112.2 R(Initially) +5.678 E 3.178(,t)-.65 G .678(hese proposed e)353.138 112.2 R .678 +(xpanding the address)-.15 F .331 +(pairs to address triples, consisting of {netw)72 124.2 R .331 +(ork, host, username} triples.)-.1 F(Netw)5.332 E .332(ork numbers must be uni) +-.1 F -.15(ve)-.25 G -.2(r-).15 G 1.452 +(sally agreed upon, and hosts can be assigned locally on each netw)72 136.2 R +3.952(ork. The)-.1 F(user)3.952 E(-le)-.2 E -.15(ve)-.25 G 3.952(lp).15 G 1.452 +(resentation w)440.718 136.2 R(as)-.1 E .249(changed to address domains, compr\ +ised of a local resource identi\214cation and a hierarchical domain speci\214-) +72 148.2 R 1.54(cation with a common static root.)72 160.2 R 1.539 +(The domain technique separates the issue of ph)6.539 F 1.539(ysical v)-.05 F +1.539(ersus logical)-.15 F 3.001(addressing. F)72 172.2 R .501(or e)-.15 F .502 +(xample, an address of the form \231eric@a.cc.berk)-.15 F(ele)-.1 E -.65(y.) +-.15 G .502(arpa\232 describes the logical or).65 F -.05(ga)-.18 G(niza-).05 E +.443(tion of the address space \(user \231eric\232 on host \231a\232 in the Co\ +mputer Center at Berk)72 184.2 R(ele)-.1 E .443(y\) b)-.15 F .443 +(ut not the ph)-.2 F(ysical)-.05 E(netw)72 196.2 Q .934(orks used \(for e)-.1 F +.934(xample, this could go o)-.15 F -.15(ve)-.15 G 3.434(rd).15 G(if)274.722 +196.2 Q .934(ferent netw)-.25 F .935 +(orks depending on whether \231a\232 were on an)-.1 F +(ethernet or a store-and-forw)72 208.2 Q(ard netw)-.1 E(ork\).)-.1 E/F2 10 +/Times-Italic@0 SF(Sendmail)97 224.4 Q F1 .493 +(is intended to help bridge the g)2.993 F .493(ap between the totally)-.05 F F2 +.493(ad hoc)2.993 F F1 -.1(wo)2.993 G .493(rld of netw).1 F .493(orks that kno) +-.1 F(w)-.25 E .854(nothing of each other and the clean, tightly-coupled w)72 +236.4 R .854(orld of unique netw)-.1 F .855(ork numbers.)-.1 F .855 +(It can accept old)5.855 F .633(arbitrary address syntax)72 248.4 R .632(es, r\ +esolving ambiguities using heuristics speci\214ed by the system administrator) +-.15 F 3.132(,a)-.4 G(s)500.11 248.4 Q .347(well as domain-based addressing.)72 +260.4 R .347(It helps guide the con)5.347 F -.15(ve)-.4 G .347 +(rsion of message formats between disparate net-).15 F -.1(wo)72 272.4 S 3.395 +(rks. In).1 F(short,)3.395 E F2(sendmail)3.395 E F1 .894 +(is designed to assist a graceful transition to consistent internetw)3.395 F +.894(ork addressing)-.1 F(schemes.)72 284.4 Q .689 +(Section 1 de\214nes some of the terms frequently left fuzzy when w)97 312.6 R +.69(orking in mail systems.)-.1 F .69(Section 2)5.69 F .595 +(discusses the design goals for)72 324.6 R F2(sendmail)3.095 E F1 5.595(.I)C +3.095(ns)243.33 324.6 S .595(ection 3, the ne)255.315 324.6 R 3.095(wa)-.25 G +.594(ddress formats and basic features of)332.705 324.6 R F2(send-)3.094 E +(mail)72 336.6 Q F1 .893(are described.)3.393 F .893 +(Section 4 discusses some of the special problems of the UUCP netw)5.893 F +3.394(ork. The)-.1 F(dif)3.394 E(fer)-.25 E(-)-.2 E(ences between)72 348.6 Q F2 +(sendmail)2.5 E F1(and)2.5 E F2(delivermail)2.5 E F1 +(are presented in section 5.)2.5 E F0(DISCLAIMER:)112 376.8 Q F1 3.333(An)3.333 +G .833(umber of e)199.216 376.8 R .832 +(xamples in this paper use names of actual people and)-.15 F(or)112 388.8 Q +-.05(ga)-.18 G 4.572(nizations. This).05 F 2.072 +(is not intended to imply a commitment or e)4.572 F -.15(ve)-.25 G 4.573(na).15 +G 4.573(ni)409.987 388.8 S(ntellectual)422.34 388.8 Q 1.094 +(agreement on the part of these people or or)112 400.8 R -.05(ga)-.18 G 3.594 +(nizations. In).05 F(particular)3.594 E 3.594(,B)-.4 G 1.094(ell T)408.896 +400.8 R(elephone)-.7 E .656 +(Laboratories \(BTL\), Digital Equipment Corporation \(DEC\), La)112 412.8 R +.657(wrence Berk)-.15 F(ele)-.1 E 3.157(yL)-.15 G(abo-)446.23 412.8 Q 2.136 +(ratories \(LBL\), Britton-Lee Incorporated \(BLI\), and the Uni)112 424.8 R +-.15(ve)-.25 G 2.136(rsity of California at).15 F(Berk)112 436.8 Q(ele)-.1 E +3.088(ya)-.15 G .588(re not committed to an)155.378 436.8 R 3.089(yo)-.15 G +3.089(ft)261.219 436.8 S .589(hese proposals at this time.)270.418 436.8 R .589 +(Much of this paper)5.589 F +(represents no more than the personal opinions of the author)112 448.8 Q(.)-.55 +E F0 2.5(1. DEFINITIONS)72 477 R F1 .266(There are four basic concepts that mu\ +st be clearly distinguished when dealing with mail systems:)112 493.2 R .514 +(the user \(or the user')87 505.2 R 3.014(sa)-.55 G .515(gent\), the user') +182.6 505.2 R 3.015(si)-.55 G .515(denti\214cation, the user')253.025 505.2 R +3.015(sa)-.55 G .515(ddress, and the route.)354.56 505.2 R .515(These are dis-) +5.515 F(tinguished primarily by their position independence.)87 517.2 Q F0 2.5 +(1.1. User)87 541.2 R(and Identi\214cation)2.5 E F1 .264 +(The user is the being \(a person or program\) that is creating or recei)127 +557.4 R .263(ving a message.)-.25 F(An)5.263 E F2 -.1(age)2.763 G(nt).1 E F1 +.659(is an entity operating on behalf of the user \212 such as a secretary who\ + handles my mail.)102 569.4 R .66(or a pro-)5.66 F(gram that automatically ret\ +urns a message such as \231I am at the UNICOM conference.)102 581.4 Q<9a>-.7 E +.931(The identi\214cation is the tag that goes along with the particular user) +127 597.6 R 5.931(.T)-.55 G .931(his tag is completely)418.707 597.6 R .216 +(independent of location.)102 609.6 R -.15(Fo)5.216 G 2.716(re).15 G .216 +(xample, my identi\214cation is the string \231Eric Allman,)225.324 609.6 R +2.717<9a61>-.7 G .217(nd this identi-)448.006 609.6 R 1.228 +(\214cation does not change whether I am located at U.C. Berk)102 621.6 R(ele) +-.1 E 2.527 -.65(y, a)-.15 H 3.727(tB).65 G 1.227 +(ritton-Lee, or at a scienti\214c)390.502 621.6 R(institute in Austria.)102 +633.6 Q 2.379 +(Since the identi\214cation is frequently ambiguous \(e.g., there are tw)127 +649.8 R 4.879<6f99>-.1 G 2.38(Robert Henry\232s at)426.48 649.8 R(Berk)102 +661.8 Q(ele)-.1 E .316(y\) it is common to add other disambiguating informatio\ +n that is not strictly part of the iden-)-.15 F +(ti\214cation \(e.g., Robert \231Code Generator\232 Henry v)102 673.8 Q +(ersus Robert \231System Administrator\232 Henry\).)-.15 E F0 -1(Ve)72 756 S +(rsion 8.2)1 E(USENIX \255 J)249.805 756 Q(an 83)-.15 E(Last Mod 11/27/93) +424.55 756 Q EP +%%Page: 3 3 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Mail Systems and Addr)72 60 Q(essing in 4.2bsd)-.18 E(3) +499 60 Q 2.5(1.2. Addr)87 96 R(ess)-.18 E/F1 10/Times-Roman@0 SF .785 +(The address speci\214es a location.)127 112.2 R .786(As I mo)5.786 F 1.086 +-.15(ve a)-.15 H .786(round, my address changes.).15 F -.15(Fo)5.786 G 3.286 +(re).15 G .786(xample, my)455.994 112.2 R 9.712 +(address might change from \231eric@Berk)102 124.2 R(ele)-.1 E -.65(y.)-.15 G +(ARP).65 E 9.711(A\232 to \231eric@bli.UUCP\232 or \231all-)-.92 F +(man@IIASA.Austria\232 depending on my current af)102 136.2 Q(\214liation.)-.25 +E(Ho)127 152.4 Q(we)-.25 E -.15(ve)-.25 G 2.819 -.4(r, a).15 H 4.519(na).4 G +2.019(ddress is independent of the location of an)188.018 152.4 R 2.019 +(yone else.)-.15 F 2.02(That is, my address)7.02 F .385(remains the same to e) +102 164.4 R -.15(ve)-.25 G .385(ryone who might be sending me mail.).15 F -.15 +(Fo)5.385 G 2.885(re).15 G .385(xample, a person at MIT and a)379.22 164.4 R +(person at USC could both send to \231eric@Berk)102 176.4 Q(ele)-.1 E -.65(y.) +-.15 G(ARP).65 E(A\232 and ha)-.92 E .3 -.15(ve i)-.2 H 2.5(ta).15 G(rri)388.44 +176.4 Q .3 -.15(ve t)-.25 H 2.5(ot).15 G(he same mailbox.)422.48 176.4 Q .627 +(Ideally a \231white pages\232 service w)127 192.6 R .627(ould be pro)-.1 F +.627(vided to map user identi\214cations into addresses)-.15 F .444(\(for e)102 +204.6 R .444(xample, see [Solomon81]\).)-.15 F .444 +(Currently this is handled by passing around scraps of paper or by)5.444 F +(calling people on the telephone to \214nd out their address.)102 216.6 Q F0 +2.5(1.3. Route)87 240.6 R F1 .288(While an address speci\214es)127 256.8 R/F2 +10/Times-Italic@0 SF(wher)2.788 E(e)-.37 E F1 .289 +(to \214nd a mailbox, a route speci\214es)2.789 F F2(how)2.789 E F1 .289 +(to \214nd the mailbox.)2.789 F(Speci\214cally)102 268.8 Q 2.607(,i)-.65 G +2.607(ts)156.457 268.8 S .106(peci\214es a path from sender to recei)165.734 +268.8 R -.15(ve)-.25 G 3.706 -.55(r. A).15 H 2.606(ss).55 G .106 +(uch, the route is potentially dif)343.364 268.8 R .106(ferent for)-.25 F -2.15 +-.25(ev e)102 280.8 T(ry pair of people in the electronic uni).25 E -.15(ve) +-.25 G(rse.).15 E .258(Normally the route is hidden from the user by the softw) +127 297 R 2.758(are. Ho)-.1 F(we)-.25 E -.15(ve)-.25 G 1.058 -.4(r, s).15 H +.258(ome netw).4 F .258(orks put the)-.1 F -.2(bu)102 309 S 1.972 +(rden of determining the route onto the sender).2 F 6.971(.A)-.55 G 1.971 +(lthough this simpli\214es the softw)322.544 309 R 1.971(are, it also)-.1 F +(greatly impairs the usability for most users.)102 321 Q(The UUCP netw)5 E +(ork is an e)-.1 E(xample of such a netw)-.15 E(ork.)-.1 E F0 2.5(2. DESIGN)72 +345 R(GO)2.5 E(ALS)-.4 E F1(Design goals for)112 363.2 Q F2(sendmail)2.5 E/F3 7 +/Times-Roman@0 SF(1)216.71 359.2 Q F1(include:)222.71 363.2 Q 12.5 +(\(1\) Compatibility)92 379.4 R 1.363(with the e)3.863 F 1.363 +(xisting mail programs, including Bell v)-.15 F 1.363(ersion 6 mail, Bell v) +-.15 F 1.364(ersion 7)-.15 F 3.589(mail, Berk)118.66 391.4 R(ele)-.1 E(y)-.15 E +F2(Mail)6.089 E F1 3.589 +([Shoens79], BerkNet mail [Schmidt79], and hopefully UUCP mail)6.089 F([No) +118.66 403.4 Q 2.5(witz78]. ARP)-.25 F(ANET mail [Crock)-.92 E(er82] w)-.1 E +(as also required.)-.1 E 12.5(\(2\) Reliability)92 419.6 R 4.002(,i)-.65 G +4.002(nt)169.522 419.6 S 1.502(he sense of guaranteeing that e)181.304 419.6 R +-.15(ve)-.25 G 1.502(ry message is correctly deli).15 F -.15(ve)-.25 G 1.503 +(red or at least).15 F .368 +(brought to the attention of a human for correct disposal; no message should e) +118.66 431.6 R -.15(ve)-.25 G 2.868(rb).15 G 2.868(ec)452.252 431.6 S +(ompletely)464 431.6 Q 2.54(lost. This)118.66 443.6 R .04(goal w)2.54 F .041 +(as considered essential because of the emphasis on mail in our en)-.1 F 2.541 +(vironment. It)-.4 F 1.755 +(has turned out to be one of the hardest goals to satisfy)118.66 455.6 R 4.254 +(,e)-.65 G 1.754(specially in the f)363.756 455.6 R 1.754(ace of the man)-.1 F +(y)-.15 E .977(anomalous message formats produced by v)118.66 467.6 R .977 +(arious ARP)-.25 F .977(ANET sites.)-.92 F -.15(Fo)5.977 G 3.478(re).15 G .978 +(xample, certain sites)420.114 467.6 R .069 +(generate improperly formated addresses, occasionally causing error)118.66 +479.6 R .069(-message loops.)-.2 F .068(Some hosts)5.069 F .766(use blanks in \ +names, causing problems with mail programs that assume that an address is one) +118.66 491.6 R -.1(wo)118.66 503.6 S 3.924(rd. The).1 F 1.423 +(semantics of some \214elds are interpreted slightly dif)3.923 F 1.423 +(ferently by dif)-.25 F 1.423(ferent sites.)-.25 F(In)6.423 E(summary)118.66 +515.6 Q 3.022(,t)-.65 G .523(he obscure features of the ARP)163.532 515.6 R +.523(ANET mail protocol really)-.92 F F2(ar)3.023 E(e)-.37 E F1 .523 +(used and are dif)3.023 F(\214cult)-.25 E(to support, b)118.66 527.6 Q +(ut must be supported.)-.2 E 12.5(\(3\) Existing)92 543.8 R(softw)2.939 E .439 +(are to do actual deli)-.1 F -.15(ve)-.25 G .439(ry should be used whene).15 F +-.15(ve)-.25 G 2.938(rp).15 G 2.938(ossible. This)387.658 543.8 R .438 +(goal deri)2.938 F -.15(ve)-.25 G 2.938(sa).15 G(s)500.11 543.8 Q +(much from political and practical considerations as technical.)118.66 555.8 Q +12.5(\(4\) Easy)92 572 R -.15(ex)2.898 G .398(pansion to f).15 F .398 +(airly comple)-.1 F 2.898(xe)-.15 G -.4(nv)261.06 572 S .399 +(ironments, including multiple connections to a single net-).4 F -.1(wo)118.66 +584 S .63(rk type \(such as with multiple UUCP or Ethernets\).).1 F .63 +(This goal requires consideration of the)5.63 F +(contents of an address as well as its syntax in order to determine which g) +118.66 596 Q(ate)-.05 E -.1(wa)-.25 G 2.5(yt).1 G 2.5(ou)443.48 596 S(se.) +455.98 596 Q 12.5(\(5\) Con\214guration)92 612.2 R 1.048 +(information should not be compiled into the code.)3.548 F 3.549(As)6.049 G +1.049(ingle compiled program)405.802 612.2 R .084 +(should be able to run as is at an)118.66 624.2 R 2.584(ys)-.15 G .083 +(ite \(barring such basic changes as the CPU type or the operat-)256.196 624.2 +R .342(ing system\).)118.66 636.2 R 1.942 -.8(We h)5.342 H -2.25 -.2(av e).8 H +.343(found this seemingly unimportant goal to be critical in real life.)3.042 F +(Besides)5.343 E .734(the simple problems that occur when an)118.66 648.2 R +3.234(yp)-.15 G .734(rogram gets recompiled in a dif)295.568 648.2 R .733 +(ferent en)-.25 F(vironment,)-.4 E(man)118.66 660.2 Q 2.5(ys)-.15 G(ites lik) +147.12 660.2 Q 2.5(et)-.1 G 2.5<6f99>183.69 660.2 S(\214ddle\232 with an)195.63 +660.2 Q(ything that the)-.15 E 2.5(yw)-.15 G(ill be recompiling an)327.27 660.2 +Q(yw)-.15 E(ay)-.1 E(.)-.65 E .32 LW 76 678.8 72 678.8 DL 80 678.8 76 678.8 DL +84 678.8 80 678.8 DL 88 678.8 84 678.8 DL 92 678.8 88 678.8 DL 96 678.8 92 +678.8 DL 100 678.8 96 678.8 DL 104 678.8 100 678.8 DL 108 678.8 104 678.8 DL +112 678.8 108 678.8 DL 116 678.8 112 678.8 DL 120 678.8 116 678.8 DL 124 678.8 +120 678.8 DL 128 678.8 124 678.8 DL 132 678.8 128 678.8 DL 136 678.8 132 678.8 +DL 140 678.8 136 678.8 DL 144 678.8 140 678.8 DL 148 678.8 144 678.8 DL 152 +678.8 148 678.8 DL 156 678.8 152 678.8 DL 160 678.8 156 678.8 DL 164 678.8 160 +678.8 DL 168 678.8 164 678.8 DL 172 678.8 168 678.8 DL 176 678.8 172 678.8 DL +180 678.8 176 678.8 DL 184 678.8 180 678.8 DL 188 678.8 184 678.8 DL 192 678.8 +188 678.8 DL 196 678.8 192 678.8 DL 200 678.8 196 678.8 DL 204 678.8 200 678.8 +DL 208 678.8 204 678.8 DL 212 678.8 208 678.8 DL 216 678.8 212 678.8 DL/F4 5 +/Times-Roman@0 SF(1)93.6 689.2 Q/F5 8/Times-Roman@0 SF(This section mak)3.2 I +(es no distinction between)-.08 E/F6 8/Times-Italic@0 SF(delivermail)2 E F5 +(and)2 E F6(sendmail.)2 E F0 -1(Ve)72 756 S(rsion 8.2)1 E(USENIX \255 J)249.805 +756 Q(an 83)-.15 E(Last Mod 11/27/93)424.55 756 Q EP +%%Page: 4 4 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Mail Systems and Addr)72 60 Q(essing in 4.2bsd)-.18 E(4) +499 60 Q/F1 10/Times-Roman@0 SF(\(6\))92 96 Q/F2 10/Times-Italic@0 SF(Sendmail) +118.66 96 Q F1 .184(must be able to let v)2.684 F .184 +(arious groups maintain their o)-.25 F .184(wn mailing lists, and let indi)-.25 +F(viduals)-.25 E(specify their o)118.66 108 Q(wn forw)-.25 E +(arding, without modifying the system alias \214le.)-.1 E 12.5(\(7\) Each)92 +124.2 R .313(user should be able to specify which mailer to e)2.814 F -.15(xe) +-.15 G .313(cute to process mail being deli).15 F -.15(ve)-.25 G .313(red for) +.15 F 3.098(him. This)118.66 136.2 R .598(feature allo)3.098 F .598 +(ws users who are using specialized mailers that use a dif)-.25 F .598 +(ferent format to)-.25 F -.2(bu)118.66 148.2 S .25(ild their en).2 F .25 +(vironment without changing the system, and f)-.4 F .25 +(acilitates specialized functions \(such)-.1 F(as returning an \231I am on v) +118.66 160.2 Q(acation\232 message\).)-.25 E 12.5(\(8\) Netw)92 176.4 R 1.552 +(ork traf)-.1 F 1.552(\214c should be minimized by batching addresses to a sin\ +gle host where possible,)-.25 F(without assistance from the user)118.66 188.4 Q +(.)-.55 E .375(These goals moti)112 204.6 R -.25(va)-.25 G .375 +(ted the architecture illustrated in \214gure 1.).25 F .374 +(The user interacts with a mail gen-)5.375 F .49(erating and sending program.) +87 216.6 R .491(When the mail is created, the generator calls)5.49 F F2 +(sendmail)2.991 E F1 2.991(,w)C .491(hich routes the)444.138 216.6 R .841 +(message to the correct mailer\(s\).)87 228.6 R .841 +(Since some of the senders may be netw)5.841 F .84(ork serv)-.1 F .84 +(ers and some of the)-.15 F(mailers may be netw)87 240.6 Q(ork clients,)-.1 E +F2(sendmail)2.5 E F1(may be used as an internet mail g)2.5 E(ate)-.05 E -.1(wa) +-.25 G -.65(y.).1 G F0 2.5(3. USA)72 264.6 R(GE)-.55 E 2.5(3.1. Addr)87 288.6 R +(ess F)-.18 E(ormats)-.25 E F1(Ar)127 304.8 Q .886 +(guments may be \215ags or addresses.)-.18 F .886(Flags set v)5.886 F .886 +(arious processing options.)-.25 F -.15(Fo)5.886 G(llo).15 E .886(wing \215ag) +-.25 F(ar)102 316.8 Q .611(guments, address ar)-.18 F .611(guments may be gi) +-.18 F -.15(ve)-.25 G 3.111(n. Addresses).15 F(follo)3.111 E 3.111(wt)-.25 G +.611(he syntax in RFC822 [Crock)365.558 316.8 R(er82])-.1 E(for ARP)102 328.8 Q +(ANET address formats.)-.92 E(In brief, the format is:)5 E 12.5(\(1\) An)107 +345 R(ything in parentheses is thro)-.15 E(wn a)-.25 E -.1(wa)-.15 G 2.5(y\().1 +G(as a comment\).)299.65 345 Q 12.5(\(2\) An)107 361.2 R .051 +(ything in angle brack)-.15 F .051(ets \(\231<)-.1 F .051 +(>\232\) is preferred o)1.666 F -.15(ve)-.15 G 2.551(ra).15 G -.15(ny)348.064 +361.2 S .051(thing else.).15 F .051(This rule implements the)5.051 F(ARP)133.66 +373.2 Q(ANET standard that addresses of the form)-.92 E .4 LW 77 408 72 408 DL +79 408 74 408 DL 84 408 79 408 DL 89 408 84 408 DL 94 408 89 408 DL 99 408 94 +408 DL 104 408 99 408 DL 109 408 104 408 DL 114 408 109 408 DL 119 408 114 408 +DL 124 408 119 408 DL 129 408 124 408 DL 134 408 129 408 DL 139 408 134 408 DL +144 408 139 408 DL 149 408 144 408 DL 154 408 149 408 DL 159 408 154 408 DL 164 +408 159 408 DL 169 408 164 408 DL 174 408 169 408 DL 179 408 174 408 DL 184 408 +179 408 DL 189 408 184 408 DL 194 408 189 408 DL 199 408 194 408 DL 204 408 199 +408 DL 209 408 204 408 DL 214 408 209 408 DL 219 408 214 408 DL 224 408 219 408 +DL 229 408 224 408 DL 234 408 229 408 DL 239 408 234 408 DL 244 408 239 408 DL +249 408 244 408 DL 254 408 249 408 DL 259 408 254 408 DL 264 408 259 408 DL 269 +408 264 408 DL 274 408 269 408 DL 279 408 274 408 DL 284 408 279 408 DL 289 408 +284 408 DL 294 408 289 408 DL 299 408 294 408 DL 304 408 299 408 DL 309 408 304 +408 DL 314 408 309 408 DL 319 408 314 408 DL 324 408 319 408 DL 329 408 324 408 +DL 334 408 329 408 DL 339 408 334 408 DL 344 408 339 408 DL 349 408 344 408 DL +354 408 349 408 DL 359 408 354 408 DL 364 408 359 408 DL 369 408 364 408 DL 374 +408 369 408 DL 379 408 374 408 DL 384 408 379 408 DL 389 408 384 408 DL 394 408 +389 408 DL 399 408 394 408 DL 404 408 399 408 DL 409 408 404 408 DL 414 408 409 +408 DL 419 408 414 408 DL 424 408 419 408 DL 429 408 424 408 DL 434 408 429 408 +DL 439 408 434 408 DL 444 408 439 408 DL 449 408 444 408 DL 454 408 449 408 DL +459 408 454 408 DL 464 408 459 408 DL 469 408 464 408 DL 474 408 469 408 DL 479 +408 474 408 DL 484 408 479 408 DL 489 408 484 408 DL 494 408 489 408 DL 499 408 +494 408 DL 504 408 499 408 DL(Figure 1 \212 Sendmail System Structure.)208 660 +Q 77 672 72 672 DL 79 672 74 672 DL 84 672 79 672 DL 89 672 84 672 DL 94 672 89 +672 DL 99 672 94 672 DL 104 672 99 672 DL 109 672 104 672 DL 114 672 109 672 DL +119 672 114 672 DL 124 672 119 672 DL 129 672 124 672 DL 134 672 129 672 DL 139 +672 134 672 DL 144 672 139 672 DL 149 672 144 672 DL 154 672 149 672 DL 159 672 +154 672 DL 164 672 159 672 DL 169 672 164 672 DL 174 672 169 672 DL 179 672 174 +672 DL 184 672 179 672 DL 189 672 184 672 DL 194 672 189 672 DL 199 672 194 672 +DL 204 672 199 672 DL 209 672 204 672 DL 214 672 209 672 DL 219 672 214 672 DL +224 672 219 672 DL 229 672 224 672 DL 234 672 229 672 DL 239 672 234 672 DL 244 +672 239 672 DL 249 672 244 672 DL 254 672 249 672 DL 259 672 254 672 DL 264 672 +259 672 DL 269 672 264 672 DL 274 672 269 672 DL 279 672 274 672 DL 284 672 279 +672 DL 289 672 284 672 DL 294 672 289 672 DL 299 672 294 672 DL 304 672 299 672 +DL 309 672 304 672 DL 314 672 309 672 DL 319 672 314 672 DL 324 672 319 672 DL +329 672 324 672 DL 334 672 329 672 DL 339 672 334 672 DL 344 672 339 672 DL 349 +672 344 672 DL 354 672 349 672 DL 359 672 354 672 DL 364 672 359 672 DL 369 672 +364 672 DL 374 672 369 672 DL 379 672 374 672 DL 384 672 379 672 DL 389 672 384 +672 DL 394 672 389 672 DL 399 672 394 672 DL 404 672 399 672 DL 409 672 404 672 +DL 414 672 409 672 DL 419 672 414 672 DL 424 672 419 672 DL 429 672 424 672 DL +434 672 429 672 DL 439 672 434 672 DL 444 672 439 672 DL 449 672 444 672 DL 454 +672 449 672 DL 459 672 454 672 DL 464 672 459 672 DL 469 672 464 672 DL 474 672 +469 672 DL 479 672 474 672 DL 484 672 479 672 DL 489 672 484 672 DL 494 672 489 +672 DL 499 672 494 672 DL 504 672 499 672 DL F0 -1(Ve)72 756 S(rsion 8.2)1 E +(USENIX \255 J)249.805 756 Q(an 83)-.15 E(Last Mod 11/27/93)424.55 756 Q EP +%%Page: 5 5 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Mail Systems and Addr)72 60 Q(essing in 4.2bsd)-.18 E(5) +499 60 Q/F1 10/Times-Roman@0 SF(user name <machine-address>)173.66 96 Q(will s\ +end to the electronic \231machine-address\232 rather than the human \231user n\ +ame.)133.66 112.2 Q<9a>-.7 E 12.5(\(3\) Double)107 128.4 R 2.246(quotes \() +4.746 F -2.754 2.5("\) q)2.5 H 2.246 +(uote phrases; backslashes quote characters.)224.188 128.4 R 2.246 +(Backslashes are more)7.246 F(po)133.66 140.4 Q .654(werful in that the)-.25 F +3.154(yw)-.15 G .655(ill cause otherwise equi)229.196 140.4 R -.25(va)-.25 G +.655(lent phrases to compare dif).25 F .655(ferently \212 for)-.25 F -.15(ex) +133.66 152.4 S(ample,).15 E/F2 10/Times-Italic@0 SF(user)3.873 E F1(and)3.873 E +F2("user")3.872 E F1 1.372(are equi)3.872 F -.25(va)-.25 G 1.372(lent, b).25 F +(ut)-.2 E F2(\\user)3.872 E F1 1.372(is dif)3.872 F 1.372 +(ferent from either of them.)-.25 F(This)6.372 E(might be used to a)133.66 +164.4 Q -.2(vo)-.2 G(id normal aliasing or duplicate suppression algorithms.).2 +E -.15(Pa)127 180.6 S 1.12(rentheses, angle brack).15 F 1.12 +(ets, and double quotes must be properly balanced and nested.)-.1 F(The)6.12 E +(re)102 194.6 Q(writing rules control remaining parsing)-.25 E/F3 7 +/Times-Roman@0 SF(2)266.17 190.6 Q F1(.)269.67 194.6 Q .644(Although old style\ + addresses are still accepted in most cases, the preferred address format is) +127 210.8 R .299(based on ARP)102 222.8 R(ANET)-.92 E .299 +(-style domain-based addresses [Su82a].)-.92 F .299 +(These addresses are based on a hierar)5.299 F(-)-.2 E .13 +(chical, logical decomposition of the address space.)102 234.8 R .13 +(The addresses are hierarchical in a sense similar)5.13 F 1.133(to the U.S. po\ +stal addresses: the messages may \214rst be routed to the correct state, with \ +no initial)102 246.8 R .72 +(consideration of the city or other addressing details.)102 258.8 R .72 +(The addresses are logical in that each step in)5.72 F(the hierarch)102 270.8 Q +2.5(yc)-.05 G +(orresponds to a set of \231naming authorities\232 rather than a ph)161.37 +270.8 Q(ysical netw)-.05 E(ork.)-.1 E -.15(Fo)127 287 S 2.5(re).15 G +(xample, the address:)147.53 287 Q(eric@HostA.BigSite.ARP)142 303.2 Q(A)-.92 E +-.1(wo)102 319.4 S .851 +(uld \214rst look up the domain BigSite in the namespace administrated by ARP) +.1 F 3.351(A. A)-.92 F .851(query could)3.351 F 1.476 +(then be sent to BigSite for interpretation of HostA.)102 331.4 R(Ev)6.475 E +1.475(entually the mail w)-.15 F 1.475(ould arri)-.1 F 1.775 -.15(ve a)-.25 H +3.975(tH).15 G(ostA,)482.61 331.4 Q(which w)102 343.4 Q +(ould then do \214nal deli)-.1 E -.15(ve)-.25 G(ry to user \231eric.).15 E<9a> +-.7 E F0 2.5(3.2. Mail)87 367.4 R(to Files and Pr)2.5 E(ograms)-.18 E F1 .609 +(Files and programs are le)127 383.6 R .609(gitimate message recipients.)-.15 F +.609(Files pro)5.609 F .609(vide archi)-.15 F -.25(va)-.25 G 3.109(ls).25 G .61 +(torage of mes-)445.02 383.6 R .124 +(sages, useful for project administration and history)102 395.6 R 5.124(.P)-.65 +G .124(rograms are useful as recipients in a v)318.308 395.6 R .124(ariety of) +-.25 F .69(situations, for e)102 407.6 R .691(xample, to maintain a public rep\ +ository of systems messages \(such as the Berk)-.15 F(ele)-.1 E(y)-.15 E F2 +(msgs)102 419.6 Q F1(program\).)2.5 E(An)127 435.8 Q 3.188(ya)-.15 G .688(ddre\ +ss passing through the initial parsing algorithm as a local address \(i.e, not\ + appear)151.698 435.8 R(-)-.2 E .276(ing to be a v)102 447.8 R .276 +(alid address for another mailer\) is scanned for tw)-.25 F 2.776(os)-.1 G .277 +(pecial cases.)362.128 447.8 R .277(If pre\214x)5.277 F .277(ed by a v)-.15 F +(erti-)-.15 E .18(cal bar \(\231)102 459.8 R .833<7c9a>.833 G 2.68(\)t)-.833 G +.179(he rest of the address is processed as a shell command.)156.456 459.8 R +.179(If the user name be)5.179 F .179(gins with a)-.15 F(slash mark \(\231/)102 +471.8 Q(\232\) the name is used as a \214le name, instead of a login name.).833 +E F0 2.5(3.3. Aliasing,)87 495.8 R -.25(Fo)2.5 G(rwarding, Inclusion).25 E F2 +(Sendmail)127 512 Q F1 1.074(reroutes mail three w)3.574 F 3.574(ays. Aliasing) +-.1 F 1.075(applies system wide.)3.575 F -.15(Fo)6.075 G(rw).15 E 1.075 +(arding allo)-.1 F 1.075(ws each)-.25 F .233 +(user to reroute incoming mail destined for that account.)102 524 R .233 +(Inclusion directs)5.233 F F2(sendmail)2.733 E F1 .233(to read a \214le for) +2.733 F 2.5(al)102 536 S +(ist of addresses, and is normally used in conjunction with aliasing.)111.72 +536 Q F0 2.5(3.3.1. Aliasing)102 560 R F1 .065 +(Aliasing maps local addresses to address lists using a system-wide \214le.)142 +576.2 R .065(This \214le is hashed)5.065 F 1.546(to speed access.)117 588.2 R +1.545(Only addresses that parse as local are allo)6.546 F 1.545 +(wed as aliases; this guarantees a)-.25 F(unique k)117 600.2 Q .3 -.15(ey \() +-.1 H(since there are no nicknames for the local host\).).15 E F0 2.5(3.3.2. F) +102 624.2 R(orwarding)-.25 E F1 .641 +(After aliasing, if an recipient address speci\214es a local user)142 640.4 R +F2(sendmail)3.141 E F1 .641(searches for a \231.for)3.141 F(-)-.2 E -.1(wa)117 +652.4 S .413(rd\232 \214le in the recipient').1 F 2.913(sh)-.55 G .413 +(ome directory)235.335 652.4 R 5.413(.I)-.65 G 2.913(fi)302.161 652.4 S 2.913 +(te)311.184 652.4 S .413(xists, the message is)321.167 652.4 R F2(not)2.913 E +F1 .412(sent to that user)2.913 F 2.912(,b)-.4 G(ut)496.22 652.4 Q .745 +(rather to the list of addresses in that \214le.)117 664.4 R .746 +(Often this list will contain only one address, and the)5.746 F +(feature will be used for netw)117 676.4 Q(ork mail forw)-.1 E(arding.)-.1 E +.32 LW 76 686 72 686 DL 80 686 76 686 DL 84 686 80 686 DL 88 686 84 686 DL 92 +686 88 686 DL 96 686 92 686 DL 100 686 96 686 DL 104 686 100 686 DL 108 686 104 +686 DL 112 686 108 686 DL 116 686 112 686 DL 120 686 116 686 DL 124 686 120 686 +DL 128 686 124 686 DL 132 686 128 686 DL 136 686 132 686 DL 140 686 136 686 DL +144 686 140 686 DL 148 686 144 686 DL 152 686 148 686 DL 156 686 152 686 DL 160 +686 156 686 DL 164 686 160 686 DL 168 686 164 686 DL 172 686 168 686 DL 176 686 +172 686 DL 180 686 176 686 DL 184 686 180 686 DL 188 686 184 686 DL 192 686 188 +686 DL 196 686 192 686 DL 200 686 196 686 DL 204 686 200 686 DL 208 686 204 686 +DL 212 686 208 686 DL 216 686 212 686 DL/F4 5/Times-Roman@0 SF(2)93.6 696.4 Q +/F5 8/Times-Roman@0 SF(Disclaimer: Some special processing is done after re)3.2 +I(writing local names; see belo)-.2 E -.52(w.)-.2 G F0 -1(Ve)72 756 S +(rsion 8.2)1 E(USENIX \255 J)249.805 756 Q(an 83)-.15 E(Last Mod 11/27/93) +424.55 756 Q EP +%%Page: 6 6 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Mail Systems and Addr)72 60 Q(essing in 4.2bsd)-.18 E(6) +499 60 Q/F1 10/Times-Roman@0 SF -.15(Fo)142 96 S(rw).15 E 1.152 +(arding also permits a user to specify a pri)-.1 F -.25(va)-.25 G 1.151 +(te incoming mailer).25 F 6.151(.F)-.55 G 1.151(or e)437.348 96 R 1.151 +(xample, for)-.15 F(-)-.2 E -.1(wa)117 108 S(rding to:).1 E -2.5 .833("| /)157 +124.2 T(usr/local/ne)-.833 E(wmail myname")-.25 E(will use a dif)117 140.4 Q +(ferent incoming mailer)-.25 E(.)-.55 E F0 2.5(3.3.3. Inclusion)102 164.4 R F1 +(Inclusion is speci\214ed in RFC 733 [Crock)142 180.6 Q(er77] syntax:)-.1 E +(:Include: pathname)157 196.8 Q .391 +(An address of this form reads the \214le speci\214ed by)117 213 R/F2 10 +/Times-Italic@0 SF(pathname)2.891 E F1 .391 +(and sends to all users listed in that)2.891 F(\214le.)117 225 Q .645 +(The intent is)142 241.2 R F2(not)3.145 E F1 .644 +(to support direct use of this feature, b)3.145 F .644 +(ut rather to use this as a subset of)-.2 F 2.5(aliasing. F)117 253.2 R(or e) +-.15 E(xample, an alias of the form:)-.15 E +(project: :include:/usr/project/userlist)157 269.4 Q 1.93(is a method of letti\ +ng a project maintain a mailing list without interaction with the system)117 +285.6 R(administration, e)117 297.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)203.54 +297.6 S(he alias \214le is protected.)212.15 297.6 Q 2.025 +(It is not necessary to reb)142 313.8 R 2.025(uild the inde)-.2 F 4.524(xo)-.15 +G 4.524(nt)317.828 313.8 S 2.024(he alias database when a :include: list is) +330.132 313.8 R(changed.)117 325.8 Q F0 2.5(3.4. Message)87 349.8 R(Collection) +2.5 E F1 .857(Once all recipient addresses are parsed and v)127 366 R .857 +(eri\214ed, the message is collected.)-.15 F .857(The message)5.857 F .574 +(comes in tw)102 378 R 3.074(op)-.1 G .574 +(arts: a message header and a message body)164.452 378 R 3.074(,s)-.65 G .574 +(eparated by a blank line.)349.734 378 R .573(The body is)5.574 F +(an uninterpreted sequence of te)102 390 Q(xt lines.)-.15 E +(The header is formated as a series of lines of the form)127 406.2 Q +(\214eld-name: \214eld-v)178 422.4 Q(alue)-.25 E(Field-v)102 438.6 Q 1.366 +(alue can be split across lines by starting the follo)-.25 F 1.366 +(wing lines with a space or a tab)-.25 F 6.366(.S)-.4 G(ome)486.78 438.6 Q .211 +(header \214elds ha)102 450.6 R .511 -.15(ve s)-.2 H .211 +(pecial internal meaning, and ha).15 F .511 -.15(ve a)-.2 H .211 +(ppropriate special processing.).15 F .21(Other headers)5.21 F +(are simply passed through.)102 462.6 Q +(Some header \214elds may be added automatically)5 E 2.5(,s)-.65 G +(uch as time stamps.)413.53 462.6 Q F0 2.5(4. THE)72 486.6 R(UUCP PR)2.5 E +(OBLEM)-.3 E F1 .43(Of particular interest is the UUCP netw)112 502.8 R 2.93 +(ork. The)-.1 F -.15(ex)2.93 G .43(plicit routing used in the UUCP en).15 F +(vironment)-.4 E .909(causes a number of serious problems.)87 514.8 R .909 +(First, gi)5.909 F .908(ving out an address is impossible without kno)-.25 F +.908(wing the)-.25 F .453(address of your potential correspondent.)87 526.8 R +.454(This is typically handled by specifying the address relati)5.453 F .754 +-.15(ve t)-.25 H(o).15 E 1.208(some \231well-kno)87 538.8 R 1.208 +(wn\232 host \(e.g., ucb)-.25 F -.25(va)-.15 G 3.708(xo).25 G 3.708(rd)253.47 +538.8 S(ecv)265.508 538.8 Q 3.708(ax\). Second,)-.25 F 1.207(it is often dif) +3.708 F 1.207(\214cult to compute the set of)-.25 F .157 +(addresses to reply to without some kno)87 550.8 R .157 +(wledge of the topology of the netw)-.25 F 2.657(ork. Although)-.1 F .157 +(it may be easy)2.657 F .352(for a human being to do this under man)87 562.8 R +2.851(yc)-.15 G .351(ircumstances, a program does not ha)259.713 562.8 R .651 +-.15(ve e)-.2 H .351(qually sophisticated).15 F 1.153(heuristics b)87 574.8 R +1.153(uilt in.)-.2 F 1.154(Third, certain addresses will become painfully and \ +unnecessarily long, as when a)6.153 F .406(message is routed through man)87 +586.8 R 2.906(yh)-.15 G .406(osts in the USENET)225.81 586.8 R 5.406(.A)-.74 G +.406(nd \214nally)322.804 586.8 R 2.905(,c)-.65 G .405(ertain \231mix)370.465 +586.8 R .405(ed domain\232 addresses)-.15 F +(are impossible to parse unambiguously \212 e.g.,)87 598.8 Q(decv)127 615 Q +(ax!ucb)-.25 E -.25(va)-.15 G(x!lbl-h!user@LBL-CSAM).25 E .378(might ha)87 +631.2 R .678 -.15(ve m)-.2 H(an).15 E 2.878(yp)-.15 G .379 +(ossible resolutions, depending on whether the message w)164.574 631.2 R .379 +(as \214rst routed to decv)-.1 F .379(ax or)-.25 F(to LBL-CSAM.)87 643.2 Q 2.32 +-.8(To s)112 659.4 T(olv).8 E 3.22(et)-.15 G .72 +(his problem, the UUCP syntax w)152.49 659.4 R .719(ould ha)-.1 F 1.019 -.15 +(ve t)-.2 H 3.219(ob).15 G 3.219(ec)346.956 659.4 S .719 +(hanged to use addresses rather than)359.055 659.4 R 3.718(routes. F)87 671.4 R +1.218(or e)-.15 F 1.218(xample, the address \231decv)-.15 F(ax!ucb)-.25 E -.25 +(va)-.15 G 1.218(x!eric\232 might be e).25 F 1.218(xpressed as \231eric@ucb) +-.15 F -.25(va)-.15 G(x.UUCP\232).25 E .079(\(with the hop through decv)87 +683.4 R .079(ax implied\).)-.25 F .079(This address w)5.079 F .078 +(ould itself be a domain-based address; for e)-.1 F(xam-)-.15 E +(ple, an address might be of the form:)87 695.4 Q(mark@d.cbosg.btl.UUCP)127 +711.6 Q F0 -1(Ve)72 756 S(rsion 8.2)1 E(USENIX \255 J)249.805 756 Q(an 83)-.15 +E(Last Mod 11/27/93)424.55 756 Q EP +%%Page: 7 7 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Mail Systems and Addr)72 60 Q(essing in 4.2bsd)-.18 E(7) +499 60 Q/F1 10/Times-Roman@0 SF .311(Hosts outside of Bell T)87 96 R .311 +(elephone Laboratories w)-.7 F .311(ould then only need to kno)-.1 F 2.811(wh) +-.25 G .811 -.25(ow t)402.982 96 T 2.811(og).25 G .312(et to a designated) +433.354 96 R(BTL relay)87 108 Q 2.5(,a)-.65 G(nd the BTL topology w)137.17 108 +Q(ould only be maintained inside Bell.)-.1 E .543(There are three major proble\ +ms associated with turning UUCP addresses into something reason-)112 124.2 R +.465(able: de\214ning the namespace, creating and propag)87 136.2 R .465 +(ating the necessary softw)-.05 F .466(are, and b)-.1 F .466(uilding and main-) +-.2 F(taining the database.)87 148.2 Q F0 2.5(4.1. De\214ning)87 172.2 R +(the Namespace)2.5 E F1 1.015(Putting all UUCP hosts into a \215at namespace \ +\(e.g., \231...@host.UUCP\232\) is not practical for a)127 188.4 R .222 +(number of reasons.)102 200.4 R .222(First, with o)5.222 F -.15(ve)-.15 G 2.722 +(r1).15 G .222(600 sites already)253.292 200.4 R 2.722(,a)-.65 G .222 +(nd \(with the increasing a)329.958 200.4 R -.25(va)-.2 G .222 +(ilability of ine).25 F(x-)-.15 E(pensi)102 212.4 Q 1.973 -.15(ve m)-.25 H +1.673(icrocomputers and autodialers\) se).15 F -.15(ve)-.25 G 1.672 +(ral thousand more coming within a fe).15 F 4.172(wy)-.25 G 1.672(ears, the) +469.008 212.4 R .078 +(database update problem is simply intractable if the namespace is \215at.)102 +224.4 R .078(Second, there are almost cer)5.078 F(-)-.2 E 2.446 +(tainly name con\215icts today)102 236.4 R 7.446(.T)-.65 G 2.446 +(hird, as the number of sites gro)232.794 236.4 R 4.946(wt)-.25 G 2.446 +(he names become e)386.316 236.4 R -.15(ve)-.25 G 4.946(rl).15 G(ess)491.78 +236.4 Q(mnemonic.)102 248.4 Q .534(It seems ine)127 264.6 R .535 +(vitable that there be some sort of naming authority for the set of top le)-.25 +F -.15(ve)-.25 G 3.035(ln).15 G(ames)483.45 264.6 Q .157 +(in the UUCP domain, as unpleasant a possibility as that may seem.)102 276.6 R +.157(It will simply not be possible to)5.157 F(ha)102 288.6 Q .536 -.15(ve o) +-.2 H .236(ne host resolving all names.).15 F .236(It may ho)5.236 F(we)-.25 E +-.15(ve)-.25 G 2.736(rb).15 G 2.736(ep)316.144 288.6 S .236 +(ossible to handle this in a f)328.32 288.6 R .237(ashion similar to)-.1 F +1.582(that of assigning names of ne)102 300.6 R 1.582(wsgroups in USENET)-.25 F +6.582(.H)-.74 G -.25(ow)334.758 300.6 S -2.15 -.25(ev e).25 H 2.382 -.4(r, i) +.25 H 4.082(tw).4 G 1.582(ill be essential to encourage)386.582 300.6 R -2.15 +-.25(ev e)102 312.6 T .52(ryone to become subdomains of an e).25 F .52 +(xisting domain whene)-.15 F -.15(ve)-.25 G 3.02(rp).15 G .52(ossible \212 e) +374.85 312.6 R -.15(ve)-.25 G 3.02(nt).15 G .52(hough this will)442.95 312.6 R +.077(certainly bruise some e)102 324.6 R 2.577(gos. F)-.15 F .077(or e)-.15 F +.077(xample, if a ne)-.15 F 2.577(wh)-.25 G .076 +(ost named \231blid\232 were to be added to the UUCP)310.843 324.6 R(netw)102 +336.6 Q .65(ork, it w)-.1 F .651(ould probably actually be addressed as \231d.\ +bli.UUCP\232 \(i.e., as host \231d\232 in the pseudo-)-.1 F +(domain \231bli\232 rather than as host \231blid\232 in the UUCP domain\).)102 +348.6 Q F0 2.5(4.2. Cr)87 372.6 R(eating and Pr)-.18 E(opagating the Softwar) +-.18 E(e)-.18 E F1 .078(The softw)127 388.8 R .078 +(are required to implement a consistent namespace is relati)-.1 F -.15(ve)-.25 +G .077(ly tri).15 F 2.577(vial. T)-.25 F .277 -.1(wo m)-.8 H(odules).1 E +(are needed, one to handle incoming mail and one to handle outgoing mail.)102 +400.8 Q 1.136(The incoming module must be prepared to handle either old or ne) +127 417 R 3.636(ws)-.25 G 1.136(tyle addresses.)416.448 417 R(Ne)6.136 E(w-) +-.25 E .025(style addresses can be passed through unchanged.)102 429 R .024 +(Old style addresses must be turned into ne)5.025 F 2.524(ws)-.25 G(tyle)489 +429 Q(addresses where possible.)102 441 Q 2.247 +(The outgoing module is slightly trickier)127 457.2 R 7.247(.I)-.55 G 4.747(tm) +309.932 457.2 S 2.247(ust do a database lookup on the recipient)325.239 457.2 R +.823(addresses \(passed on the command line\) to determine what hosts to send \ +the message to.)102 469.2 R .823(If those)5.823 F .023(hosts do not accept ne) +102 481.2 R .024(w-style addresses, it must transform all addresses in the hea\ +der of the message)-.25 F(into old style using the database lookup.)102 493.2 Q +1.197(Both of these modules are straightforw)127 509.4 R 1.197(ard e)-.1 F +1.197(xcept for the issue of modifying the header)-.15 F 6.197(.I)-.55 G(t) +501.22 509.4 Q .944 +(seems prudent to choose one format for the message headers.)102 521.4 R -.15 +(Fo)5.944 G 3.444(ran).15 G .944(umber of reasons, Berk)391.448 521.4 R(ele)-.1 +E(y)-.15 E .824(has elected to use the ARP)102 533.4 R .824 +(ANET protocols for message formats.)-.92 F(Ho)5.823 E(we)-.25 E -.15(ve)-.25 G +1.623 -.4(r, t).15 H .823(his protocol is some-).4 F(what dif)102 545.4 Q +(\214cult to parse.)-.25 E(Propag)127 561.6 Q 1.903(ation is some)-.05 F 1.903 +(what more dif)-.25 F 4.403(\214cult. There)-.25 F 1.903(are a lar)4.403 F +1.903(ge number of hosts connected to)-.18 F .812(UUCP that will w)102 573.6 R +.811(ant to run completely standard systems \(for v)-.1 F .811 +(ery good reasons\).)-.15 F .811(The strate)5.811 F .811(gy is)-.15 F +(not to con)102 585.6 Q -.15(ve)-.4 G(rt the entire netw).15 E +(ork \212 only enough of it it alle)-.1 E(viate the problem.)-.25 E F0 2.5 +(4.3. Building)87 609.6 R(and Maintaining the Database)2.5 E F1 .127 +(This is by f)127 625.8 R .127(ar the most dif)-.1 F .128(\214cult problem.) +-.25 F 2.628(Ap)5.128 G .128(rototype for this database already e)309.736 625.8 +R .128(xists, b)-.15 F .128(ut it is)-.2 F +(maintained by hand and does not pretend to be complete.)102 637.8 Q .701(This\ + problem will be reduced considerably if people choose to group their hosts in\ +to subdo-)127 654 R 3.219(mains. This)102 666 R -.1(wo)3.219 G .719 +(uld require a global update only when a ne).1 F 3.22(wt)-.25 G .72(op le) +356.47 666 R -.15(ve)-.25 G 3.22(ld).15 G .72(omain joined the netw)396.95 666 +R(ork.)-.1 E 2.805(Am)102 678 S .305 +(essage to a host in a subdomain could simply be routed to a kno)119.805 678 R +.304(wn domain g)-.25 F(ate)-.05 E -.1(wa)-.25 G 2.804(yf).1 G .304(or further) +465.656 678 R 3.073(processing. F)102 690 R .573(or e)-.15 F .573(xample, the \ +address \231eric@a.bli.UUCP\232 might be routed to the \231bli\232 g)-.15 F +(ate)-.05 E -.1(wa)-.25 G 3.074(yf).1 G(or)495.67 690 Q(redistrib)102 702 Q +1.376(ution; ne)-.2 F 3.876(wh)-.25 G 1.375 +(osts could be added within BLI without notifying the rest of the w)187.632 702 +R 3.875(orld. Of)-.1 F(course, other hosts)102 714 Q/F2 10/Times-Italic@0 SF +(could)2.5 E F1(be noti\214ed as an ef)2.5 E(\214cienc)-.25 E 2.5(ym)-.15 G +(easure.)321.01 714 Q F0 -1(Ve)72 756 S(rsion 8.2)1 E(USENIX \255 J)249.805 756 +Q(an 83)-.15 E(Last Mod 11/27/93)424.55 756 Q EP +%%Page: 8 8 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Mail Systems and Addr)72 60 Q(essing in 4.2bsd)-.18 E(8) +499 60 Q/F1 10/Times-Roman@0 SF .966(There may be more than one domain g)127 96 +R(ate)-.05 E -.1(wa)-.25 G 4.767 -.65(y. A).1 H .967 +(domain such as BTL, for instance, might)4.117 F(ha)102 108 Q .653 -.15(ve a d) +-.2 H .353(ozen g).15 F(ate)-.05 E -.1(wa)-.25 G .353(ys to the outside w).1 F +.352(orld; a non-BTL site could choose the closest g)-.1 F(ate)-.05 E -.1(wa) +-.25 G 4.152 -.65(y. T).1 H(he).65 E .308(only restriction w)102 120 R .308 +(ould be that all g)-.1 F(ate)-.05 E -.1(wa)-.25 G .308 +(ys maintain a consistent vie).1 F 2.808(wo)-.25 G 2.808(ft)390.998 120 S .308 +(he domain the)399.916 120 R 2.808(yr)-.15 G(epresent.)468.18 120 Q F0 2.5 +(4.4. Logical)87 144 R(Structur)2.5 E(e)-.18 E F1(Logically)127 160.2 Q 3.803 +(,d)-.65 G 1.303(omains are or)175.983 160.2 R -.05(ga)-.18 G 1.303 +(nized into a tree.).05 F 1.303(There need not be a host actually associated) +6.303 F .462(with each le)102 172.2 R -.15(ve)-.25 G 2.962(li).15 G 2.962(nt) +168.806 172.2 S .462(he tree \212 for e)179.548 172.2 R .462 +(xample, there will be no host associated with the name \231UUCP)-.15 F -.7 +<2e9a>-1.11 G(Similarly)102 184.2 Q 3.115(,a)-.65 G 3.115(no)148.635 184.2 S +-2.19 -.18(rg a)161.75 184.2 T .614 +(nization might group names together for administrati).18 F .914 -.15(ve r)-.25 +H .614(easons; for e).15 F .614(xample, the)-.15 F(name)102 196.2 Q +(CAD.research.BigCorp.UUCP)142 212.4 Q(might not actually ha)102 228.6 Q .3 +-.15(ve a h)-.2 H(ost representing \231research.).15 E<9a>-.7 E(Ho)127 244.8 Q +(we)-.25 E -.15(ve)-.25 G 1.531 -.4(r, i).15 H 3.231(tm).4 G .731 +(ay frequently be con)184.902 244.8 R -.15(ve)-.4 G .731(nient to ha).15 F +1.031 -.15(ve a h)-.2 H .732(ost or hosts that \231represent\232 a domain.).15 +F -.15(Fo)102 256.8 S 3.466(re).15 G .966(xample, if a single host e)123.496 +256.8 R .966(xists that represents Berk)-.15 F(ele)-.1 E 2.266 -.65(y, t)-.15 H +.966(hen mail from outside Berk).65 F(ele)-.1 E 3.466(yc)-.15 G(an)494.56 256.8 +Q(forw)102 268.8 Q .796 +(ard mail to that host for further resolution without kno)-.1 F .796(wing Berk) +-.25 F(ele)-.1 E(y')-.15 E 3.296(s\()-.55 G .797(rather v)417.066 268.8 R .797 +(olatile\) topol-)-.2 F(ogy)102 280.8 Q 5(.T)-.65 G(his is not unlik)129.96 +280.8 Q 2.5(et)-.1 G(he operation of the telephone netw)198.76 280.8 Q(ork.)-.1 +E .053(This may also be useful inside certain lar)127 297 R .053(ge domains.) +-.18 F -.15(Fo)5.053 G 2.553(re).15 G .053(xample, at Berk)365.352 297 R(ele) +-.1 E 2.553(yi)-.15 G 2.553(tm)450.801 297 S .053(ay be pre-)463.914 297 R .722 +(sumed that most hosts kno)102 309 R 3.222(wa)-.25 G .722 +(bout other hosts inside the Berk)225.64 309 R(ele)-.1 E 3.223(yd)-.15 G 3.223 +(omain. But)380.825 309 R .723(if the)3.223 F 3.223(yp)-.15 G .723(rocess an) +466.347 309 R .405(address that is unkno)102 321 R .405(wn, the)-.25 F 2.905 +(yc)-.15 G .405(an pass it \231upstairs\232 for further e)229.165 321 R 2.905 +(xamination. Thus)-.15 F .405(as ne)2.905 F 2.905(wh)-.25 G .405(osts are) +473.325 321 R .488(added only one host \(the domain master\))102 333 R/F2 10 +/Times-Italic@0 SF(must)2.989 E F1 .489 +(be updated immediately; other hosts can be updated)2.989 F(as con)102 345 Q +-.15(ve)-.4 G(nient.).15 E .583(Ideally this name resolution process w)127 +361.2 R .583(ould be performed by a name serv)-.1 F .582 +(er \(e.g., [Su82b]\) to)-.15 F -.2(avo)102 373.2 S .507(id unnecessary cop).2 +F .507(ying of the message.)-.1 F(Ho)5.507 E(we)-.25 E -.15(ve)-.25 G 1.307 -.4 +(r, i).15 H 3.007(nab).4 G .507(atch netw)346.623 373.2 R .508 +(ork such as UUCP this could)-.1 F(result in unnecessary delays.)102 385.2 Q F0 +2.5(5. COMP)72 409.2 R(ARISON WITH DELIVERMAIL)-.74 E F2(Sendmail)112 425.4 Q +F1(is an outgro)2.5 E(wth of)-.25 E F2(delivermail)2.5 E F1 5(.T)C +(he primary dif)286.18 425.4 Q(ferences are:)-.25 E 12.5(\(1\) Con\214guration) +92 441.6 R .573(information is not compiled in.)3.073 F .572 +(This change simpli\214es man)5.572 F 3.072(yo)-.15 G 3.072(ft)433.684 441.6 S +.572(he problems of)442.866 441.6 R(mo)118.66 453.6 Q(ving to other machines.) +-.15 E(It also allo)5 E(ws easy deb)-.25 E(ugging of ne)-.2 E 2.5(wm)-.25 G +(ailers.)388.06 453.6 Q 12.5(\(2\) Address)92 469.8 R .491 +(parsing is more \215e)2.991 F 2.991(xible. F)-.15 F .491(or e)-.15 F(xample,) +-.15 E F2(delivermail)2.992 E F1 .492(only supported one g)2.992 F(ate)-.05 E +-.1(wa)-.25 G 2.992(yt).1 G 2.992(oa)481.718 469.8 S -.15(ny)494.15 469.8 S +(netw)118.66 481.8 Q(ork, whereas)-.1 E F2(sendmail)2.5 E F1(can be sensiti)2.5 +E .3 -.15(ve t)-.25 H 2.5(oh).15 G(ost names and reroute to dif)310.9 481.8 Q +(ferent g)-.25 E(ate)-.05 E -.1(wa)-.25 G(ys.).1 E 12.5(\(3\) F)92 498 R(orw) +-.15 E 2.878(arding and :include: features eliminate the requirement that the \ +system alias \214le be)-.1 F 1.073(writable by an)118.66 510 R 3.573(yu)-.15 G +1.073 +(ser \(or that an update program be written, or that the system administration) +191.439 510 R(mak)118.66 522 Q 2.5(ea)-.1 G(ll changes\).)147.16 522 Q(\(4\))92 +538.2 Q F2(Sendmail)118.66 538.2 Q F1 .443 +(supports message batching across netw)2.944 F .443 +(orks when a message is being sent to multiple)-.1 F(recipients.)118.66 550.2 Q +12.5(\(5\) A)92 566.4 R 1.945(mail queue is pro)4.445 F 1.946(vided in)-.15 F +F2(sendmail.)4.446 E F1 1.946(Mail that cannot be deli)6.946 F -.15(ve)-.25 G +1.946(red immediately b).15 F 1.946(ut can)-.2 F .439(potentially be deli) +118.66 578.4 R -.15(ve)-.25 G .438 +(red later is stored in this queue for a later retry).15 F 5.438(.T)-.65 G .438 +(he queue also pro)404.088 578.4 R .438(vides a)-.15 F -.2(bu)118.66 590.4 S +-.25(ff).2 G .838(er ag).25 F .839(ainst system crashes; after the message has\ + been collected it may be reliably redeli)-.05 F(v-)-.25 E(ered e)118.66 602.4 +Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)162.13 602.4 S +(he system crashes during the initial deli)170.74 602.4 Q -.15(ve)-.25 G(ry).15 +E(.)-.65 E(\(6\))92 618.6 Q F2(Sendmail)118.66 618.6 Q F1 1.351(uses the netw) +3.851 F 1.351(orking support pro)-.1 F 1.351(vided by 4.2BSD to pro)-.15 F 1.35 +(vide a direct interf)-.15 F 1.35(ace net-)-.1 F -.1(wo)118.66 630.6 S .283 +(rks such as the ARP).1 F .284 +(ANET and/or Ethernet using SMTP \(the Simple Mail T)-.92 F .284 +(ransfer Protocol\))-.35 F -.15(ove)118.66 642.6 S 2.5(raT).15 G +(CP/IP connection.)151.68 642.6 Q F0 -1(Ve)72 756 S(rsion 8.2)1 E +(USENIX \255 J)249.805 756 Q(an 83)-.15 E(Last Mod 11/27/93)424.55 756 Q EP +%%Page: 9 9 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF(REFERENCES)264.105 132 Q([Crock)87 148.2 Q 56.73 +(er77] Crock)-.1 F(er)-.1 E 3.535(,D)-.4 G 3.535(.H)239.965 148.2 S 1.035(., V) +253.22 148.2 R 1.035(ittal, J. J., Pogran, K. T)-.6 F 1.035 +(., and Henderson, D. A. Jr)-.74 F(.,)-.55 E/F1 10/Times-Italic@0 SF(Stan-) +3.535 E(dar)195 160.2 Q 2.627(df)-.37 G .127(or the F)218.927 160.2 R .127 +(ormat of ARP)-1.05 F 2.627(AN)-.9 G .128(etwork T)320.112 160.2 R -.2(ex)-.92 +G 2.628(tM).2 G(essa)377.018 160.2 Q -.1(ge)-.1 G(s.).1 E F0 .128 +(RFC 733, NIC 41952.)5.128 F(In [Feinler78].)195 172.2 Q(No)5 E -.15(ve)-.15 G +(mber 1977.).15 E([Crock)87 188.4 Q 56.73(er82] Crock)-.1 F(er)-.1 E 4.272(,D) +-.4 G 4.272(.H)240.702 188.4 S(.,)254.694 188.4 Q F1(Standar)4.272 E 4.272(df) +-.37 G 1.772(or the F)307.318 188.4 R 1.772(ormat of Arpa Internet T)-1.05 F +-.2(ex)-.92 G 4.271(tM).2 G(essa)471.15 188.4 Q -.1(ge)-.1 G(s.).1 E F0 .025 +(RFC 822.)195 200.4 R(Netw)5.025 E .025(ork Information Center)-.1 F 2.526(,S) +-.4 G .026(RI International, Menlo P)363.506 200.4 R .026(ark, Cali-)-.15 F 2.5 +(fornia. August)195 212.4 R(1982.)2.5 E 60.51([Feinler78] Feinler)87 228.6 R +2.938(,E)-.4 G .438(., and Postel, J.)234.478 228.6 R(\(eds.\),)5.438 E F1(ARP) +2.938 E .438(ANET Pr)-.9 F .438(otocol Handbook.)-.45 F F0 .438(NIC 7104,)5.438 +F(Netw)195 240.6 Q 3.011(ork Information Center)-.1 F 5.511(,S)-.4 G 3.012 +(RI International, Menlo P)328.513 240.6 R 3.012(ark, California.)-.15 F(1978.) +195 252.6 Q([No)87 268.8 Q 59.65(witz78] No)-.25 F .479 +(witz, D. A., and Lesk, M. E.,)-.25 F F1 2.978(AD)2.978 G .478 +(ial-Up Network of UNIX Systems.)344.67 268.8 R F0(Bell)5.478 E 3.528 +(Laboratories. In)195 280.8 R 1.029(UNIX Programmer')3.528 F 3.529(sM)-.55 G +1.029(anual, Se)363.524 280.8 R -.15(ve)-.25 G 1.029(nth Edition, V).15 F 1.029 +(olume 2.)-1.29 F(August, 1978.)195 292.8 Q 55.5([Schmidt79] Schmidt,)87 309 R +(E.,)2.631 E F1 .131(An Intr)2.631 F .131(oduction to the Berk)-.45 F(ele)-.1 E +2.631(yN)-.3 G(etwork.)382.277 309 Q F0(Uni)5.131 E -.15(ve)-.25 G .131 +(rsity of Califor).15 F(-)-.2 E(nia, Berk)195 321 Q(ele)-.1 E 2.5(yC)-.15 G 2.5 +(alifornia. 1979.)257.24 321 R 59.95([Shoens79] Shoens,)87 337.2 R(K.,)3.227 E +F1 .728(Mail Refer)3.227 F .728(ence Manual.)-.37 F F0(Uni)5.728 E -.15(ve)-.25 +G .728(rsity of California, Berk).15 F(ele)-.1 E 4.528 -.65(y. I)-.15 H(n).65 E +3.478(UNIX Programmer')195 349.2 R 5.977(sM)-.55 G 3.477(anual, Se)297.495 +349.2 R -.15(ve)-.25 G 3.477(nth Edition, V).15 F 3.477(olume 2C.)-1.29 F +(December)8.477 E(1979.)195 361.2 Q 52.72([Solomon81] Solomon,)87 377.4 R .251 +(M., Landweber)2.75 F 2.751(,L)-.4 G .251(., and Neuhengen, D.,)308.952 377.4 R +F1 .251(The Design of the CSNET)2.751 F .397(Name Server)195 389.4 R(.)-1.11 E +F0 2.896(CS-DN-2. Uni)5.397 F -.15(ve)-.25 G .396(rsity of W).15 F .396 +(isconsin, Madison.)-.4 F .396(October 1981.)5.396 F 73.84([Su82a] Su,)87 405.6 +R(Za)2.844 E .344(w-Sing, and Postel, Jon,)-.15 F F1 .344 +(The Domain Naming Con)2.844 F .344(vention for Internet)-.4 F 2.71 +(User Applications.)195 417.6 R F0 5.21(RFC819. Netw)7.71 F 2.71 +(ork Information Center)-.1 F 5.21(,S)-.4 G 2.71(RI Interna-)457.14 417.6 R +(tional, Menlo P)195 429.6 Q(ark, California.)-.15 E(August 1982.)5 E 73.28 +([Su82b] Su,)87 445.8 R(Za)4.174 E(w-Sing,)-.15 E F1 4.174(AD)4.174 G(istrib) +275.702 445.8 Q 1.675(uted System for Internet Name Service)-.2 F(.)-.15 E F0 +(RFC830.)6.675 E(Netw)195 457.8 Q 3.012(ork Information Center)-.1 F 5.512(,S) +-.4 G 3.011(RI International, Menlo P)328.516 457.8 R 3.011(ark, California.) +-.15 F(October 1982.)195 469.8 Q/F2 10/Times-Bold@0 SF(Mail Systems and Addr)72 +756 Q(essing in 4.2bsd)-.18 E(9)499 756 Q EP +%%Trailer +end +%%EOF |