⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes.me

📁 早期freebsd实现
💻 ME
📖 第 1 页 / 共 3 页
字号:
.\" Copyright (c) 1994 Eric P. Allman.\" Copyright (c) 1988, 1994.\"	The Regents of the University of California.  All rights reserved..\".\" Redistribution and use in source and binary forms, with or without.\" modification, are permitted provided that the following conditions.\" are met:.\" 1. Redistributions of source code must retain the above copyright.\"    notice, this list of conditions and the following disclaimer..\" 2. Redistributions in binary form must reproduce the above copyright.\"    notice, this list of conditions and the following disclaimer in the.\"    documentation and/or other materials provided with the distribution..\" 3. All advertising materials mentioning features or use of this software.\"    must display the following acknowledgement:.\"	This product includes software developed by the University of.\"	California, Berkeley and its contributors..\" 4. Neither the name of the University nor the names of its contributors.\"    may be used to endorse or promote products derived from this software.\"    without specific prior written permission..\".\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION).\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF.\" SUCH DAMAGE..\".\"	@(#)changes.me	8.1 (Berkeley) 4/13/94.\".\"	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 14Changes in Sendmail Version 8*.sz.spEric Allman.sp 0.5.iUniversity of California, BerkeleyMammoth Project.)l.(f*An earlier version of this paper was printed in theProceedings of the 1994 AUUG Queensland Summer Technical Conference,Gateway Hotel, Brisbane, March 1994..)f.sp.(l F.ceABSTRACT.sp \n(psuVersion 8 of.i sendmailincludes 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.ppIn 1987, the author stopped major work on.i sendmaildue to other time committments,only to return to active work in 1991.This paper explores why work resumedand what changes have been made..ppSection 1 gives a short history of.i sendmailthrough version 5 and the motivation behind working on version 8.Section 2 hasa rather detailed description of what has changedbetween version 5 and version 8.The paper finishes off with some thoughtsabout what still needs to be done..sh 1 "HISTORY".ppAs discussed elsewhere,[Allman83a, Allman83b, Allman&Amos85]sendmail has existed in various forms since 1980.It was released under the name.i delivermailin 4BSD and 4.1BSD, and as.i sendmailin 4.2BSD..\"4.0BSD	delivermail 1.10.\"4.1BSD	delivermail 1.10.\"4.2BSD	sendmail 4.12.\"4.3BSD	sendmail 5.52It quickly became the dominant mail system for networked UNIX systems..ppPrior 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 sendmailwith activity slowly trailing offuntil 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..ppThere were several reasons for renewed work on.i sendmail .There was a desire at Berkeley to convert to a subdomained structureso that individuals were identified by their subdomainrather 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 sendmailthat 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 sendmailthat had been permitted to proliferate..ppDuring the 1987\-91 fallow period,many vendors and outside volunteershad 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 peoplewho prefer to get and compile their own source coderather than use vendor-supplied binaries..ppIn 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 vendorswere modifying.i sendmailto 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 sendmailwith these updates,they were unlikely to be widely deployed any time in the near future..ppThere 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 anothermail transport agent any time in the forseeable future.However, they might be persuaded to convert to a newer version of.i sendmail ..ppAll of these convinced the authorto work on a updated version of.i sendmailfor public distribution..ppThe new version of.i sendmailis referred to as version eight (V8).Versions six and seven were skippedbecause of an agreementthat all files in 4.4BSD would be numbered as.q 8.1 .Rather than have an external version numberthat differed from the file version numbers,.i sendmailjust jumped directly to V8..sh 1 "CHANGES IN VERSION EIGHT".ppThe following is a summary of the changes between the last commonlyavailable version of sendmail from Berkeley (5.67) and the latestversion (8.6.6)..ppMany of these are ideas that had been tried in IDA,but many of them were generalized in V8..sh 2 "Performance Enhancements".ppInstead of closing SMTP connections immediately, open connections arecached for possible future use.  There is a limit to the number ofsimultaneous open connections and the idle time of any individualconnection..ppThis is of best help during queue processing (since there is thepotential of many different messages going to one site), althoughit can also help when processing MX records which aren't handledby MX Piggybacking..ppIf two hosts with different names in a single message happen tohave the same set of MX hosts, they can be sent in the sametransaction.  Version 8 notices this and tries to batch the messages..ppFor example, if two sites ``foo.com'' and ``bar.com'' are bothserved by UUNET, they will have the same set of MX hosts and willbe sent in one transaction.  UUNET will then split the messageand send it to the two individual hosts..sh 2 "RFC 1123 Changes".ppA number of changes have been made to make sendmail ``conditionallycompliant'' (that is, it satisfies all of the MUST clauses and mostbut not all of the SHOULD clauses in RFC 1123)..ppThe major areas of change are (numbers are RFC 1123 section numbers):.nr ii 0.75i.ip \(sc5.2.7Response to RCPT command is fast.  Previously, sendmailexpanded all aliases as far as it could \*- this couldtake a very long time, particularly if there werename server delays.  Version 8 only checks for theexistence of an alias and does the expansion later.It does still do a DNS lookup if there is an explicit host namein the RCPT command,but this time is bounded..ip \(sc5.2.8Numeric IP addresses are logged in Received: lines.This helps tracing spoofed messages..ip \(sc5.2.17Self domain literal is properly handled.  Previously,if someone sent to user@[1.2.3.4], where 1.2.3.4 isyour IP address, the mail would probably be rejectedwith a ``configuration error''.Version 8 can handle these addresses..ip \(sc5.3.2Better control over individual timeouts.  RFC 821 specifiedno timeouts.  Older versions of sendmail had a singletimeout, typically set to two hours.  Version 8 allowsthe configuration file to set timeouts for variousSMTP commands individually..ip \(sc5.3.3Error messages are sent as From:<>.  This was urged byRFC 821 and reiterated by RFC 1123, but older versionsof sendmail never really did it properly.  Version 8does.  However, some systems cannot handle thisperfectly legal address; if necessary, you can createa special mailer that uses the `g' flag to disable this..ip \(sc5.3.3Error messages are never sent to <>.  Previously,sendmail was happy to send responses-to-responses whichsometimes resulted in responses-to-responses-to-responseswhich resulted in ....  you get the idea..ip \(sc5.3.3Route-addrs (the ugly ``<@hosta,@hostb:user@hostc>''syntax) are pruned.  RFC 821 urged the use of thisbletcherous syntax.  RFC 1123 has seen the light andofficially deprecates them, further urging that youeliminate all but ``user@hostc'' should you receiveone of these things.  Version 8 is slightly more generousthan the standards suggest; instead of stripping off allthe route addressees, it only strips hosts off up tothe one before the last one known to DNS, thus allowingyou to have pseudo-hosts such as foo.BITNET.  The `R'option will turn this off..lpThe areas in which sendmail is not ``unconditionally compliant'' are:.ip \(sc5.2.6Sendmail does do header munging..ip \(sc5.2.10Sendmail doesn't always use the exact SMTP messagetext from RFC 821.  This is a rather silly requirement..ip \(sc5.3.1.1Sendmail doesn't guarantee only one connect for eachhost on queue runs.  Connection caching gives you mostof this, but it does not provide a guarantee..ip \(sc5.3.1.1Sendmail doesn't always provide an adequate limiton concurrency.  That is, there can be severalindependent sendmails running at once.  My feelingis that doing an absolute limit would be a mistake(it might result in lost mail).  However, if you usethe XLA contributed software, most of this will beguaranteed (but I don't guarantee the guarantee)..sh 2 "Extended SMTP Support.ppVersion 8 includes both sending and receiving support for ExtendedSMTP 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 8BITMIMEbody type is not currently advertised.Although such a body type will be accepted,it will not be correctly converted to 7 bitsif speaking to a non-8-bit-MIME aware SMTP server..pp.i Sendmailtries to speak ESMTP if you have the `a' flag setin 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 sendmailannounces.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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -