📄 changes.me
字号:
construct has been adopted from IDA to defer macro evaluation.Normally, macros in rulesets are bound when the rule is first parsedduring startup.Some macros change during processing and are uninteresting during startup.However, that macro can be referenced using.q $&xto defer the evaulation of$xuntil the rule is processed..ppThe tokens.b $(and.b $)have been added to allow specification of map rewriting..ppVersion 8 allows.b $@on the Left Hand Side of an `R' line to matchzero tokens.This is intended to be used to match the null input..sh 2 "Bigger Defaults.ppVersion 8 allows up to 100 rulesets instead of 30. It is recommendedthat rulesets 0\-9 be reserved for sendmail's dedicated use in futurereleases..ppThe total number of MX records that can be used has been raised to20..ppThe number of queued messages that can be handled at one time hasbeen raised from 600 to 1000..sh 2 "Different Default Tuning Parameters.ppVersion 8 has changed the default parameters for tuning queue coststo make the number of recipients more important than the size ofthe message (for small messages). This is reasonable if you areconnected with reasonably fast links..sh 2 "Auto-Quoting in Addresses.ppPreviously, the ``Full Name <email address>'' syntax would generateincorrect protocol output if ``Full Name'' had special characterssuch as dot. This version puts quotes around such names..sh 2 "Symbolic Names On Error Mailer.ppSeveral names have been built in to the $@ portion of the $#errormailer. For example:.(b$#error $@NOHOST $: Host unknown.)bPrints the indicated messageand sets the exit status of.i sendmailto.sm EX_NOHOST ..sh 2 "New Built-In Mailers".ppTwo new mailers, *file* and *include*, are included to define optionswhen mailing to a file or a :include: file respectively. Previouslythese were overloaded on the local mailer..sh 2 "SMTP VRFY Doesn't Expand.ppPrevious versions of sendmail treated VRFY and EXPN the same. Inthis version, VRFY doesn't expand aliases or follow .forward files..ppAs an optimization, if you run with your default delivery modebeing queue-only, the RCPT command will also not chase aliases and\&.forward files.It will chase them when it processes the queue.This speeds up RCPT processing..sh 2 "[IPC] Mailers Allow Multiple Hosts.ppWhen an address resolves to a mailer that has ``[IPC]'' as its``Path'', the $@ part (host name) can be a colon-separated list ofhosts instead of a single hostname. This asks sendmail to searchthe list for the first entry that is available exactly as thoughit were an MX record. The intent is to route internal trafficthrough internal networks without publishing an MX record to thenet. MX expansion is still done on the individual items..sh 2 "Aliases Extended".ppThe implementation has been merged with maps. Among other things,this supports multiple alias files and NIS-based aliases. Forexample:.(bOA/etc/aliases,nis:mail.aliases.)bwill search first the local database.q /etc/aliasesfollowed by the NIS map.sh 2 "Portability and Security Enhancements.ppA number of internal changes have been made to enhance portability..ppSeveral fixes have been made to increase the paranoia factor..ppIn particular, the permissions required for .forward and :include:files have been tightened up considerably. V5 would pretty muchread any file it could get to as root, which exposed some securityholes. V8 insists that all directories leading up to the .forwardor :include: file be searchable ("x" permission) by the controllinguser" (defined below), that the file itself be readable by thecontrolling user, and that .forward files be owned by the userwho is being forwarded to or root..ppThe "controlling user" is the user on whose behalf the mail isbeing delivered. For example, if you mail to "user1" then thecontrolling user for ~user1/.forward and any mailers invokedby that .forward file, including :include: files..ppPreviously, anyone who had a home directory could create a .forwardcould forward to a program. Now, sendmail checks to make surethat they have an "approved shell", that is, a shell listed inthe /etc/shells file..sh 2 "Miscellaneous Fixes and Enhancements".ppA number of small bugs having to do with things like backslash-escapedquotes inside of comments have been fixed..ppThe fixed size limit on header lines(such as.q To:and.q Cc: )has been eliminated;those buffers are dynamically allocated now..ppSendmail writes a /etc/sendmail.pid file with the current process idand the current invocation flags..ppTwo people using the same program (e.g., submit) are considered"different" so that duplicate elimination doesn't delete one ofthem. For example, two people forwarding their email to|submit will be treated as two recipients..ppThe mailstats program prints mailer names and gets the location ofthe sendmail.st file from /etc/sendmail.cf..ppMany minor bugs have been fixed, such as handling of backslashesinside of quotes..ppA hook has been added to allow rewriting of local addresses afteraliasing..sh 1 "FUTURE WORK".ppThe previous section describes.i sendmailas of version 8.6.6.There is still much to be done.Some high points are described below.This list is by no means exhaustive..sh 2 "Full MIME Support".ppCurrently.i sendmailonly supports seven bit MIME messages.Although it can pass eight bit MIME messages,it cannot advertise that fact because the standards saythat the mail agent must be able to do 8- to 7-bit conversionto have full 8-bit support.This requires far more extensive modification of the message bodythan is currently supported..ppThe best way to do this would be to support the general conceptof an external``message filter''that could do arbitrary modifications of the message.This would allow MIME conversion as well as such things asautomatic encryption of messages sent over external links.This is probably an extremely non-trivial change..sh 2 "Service Switch Abstraction".ppMost modern systems include some concept of a.q "service switch"\*- for example, to look up host names you can tryDNS, NIS, NIS+, text tables, NetInfo,or other services in some arbitrary order.This is currently very clumsy in.i sendmail ,with only limited control of the services provided..sh 2 "More Control of Local Addresses".ppCurrently some addresses are declared as.q localand are handled specially \*-for example, they may have .forward files,may be translated into program calls or file deliveries,and so forth.These should be broken out into separate flagsto allow the local system administratorto have more fine-grained control over operations..sh 2 "More Run-Time Configuration Options".ppThere are many options that are configured at compile time,such as the method of file lockingand the use of the IDENT protocol[RFC1413].These should be transfered to run timeby adding new options..ppSimilarly, some options are currently overloaded,that is, a single option controls more than one thing.These should probably be broken out into separate options..ppThis implies that options will change from single charactersto words..sh 2 "More Configuration Control Over Errors".ppCurrently,the configuration file can generate an error message during parsing.However,it cannot tweak other operations,such as issuing a warning message to the system postmaster.Similarly,some errors should not be triggered if they are in aliasesduring an alias file rebuild,but should be triggered if that alias is actually used..sh 2 "Long Term Host State".ppCurrently,.i sendmailonly remembers host status during a single queue run.This should be converted to long term statusstored on diskso it can be shared between instantiations of.i sendmail .Entries will have to be timestampedso they can time out.This will allow.i sendmailto implement exponential backoff on queue runson a per-host basis..sh 2 "Connection Control".ppModern networks have different types of connectivitythan the past.In particular, the rising prominence of dialup IPhas created certain challenges for automated servers.It is not uncommon to try to make a connection to a hostand have it fail, even though if you tried again it would succeed.The connection management could be a bit clevererto try to adapt to such situations..sh 2 "Other Caching".ppWhen you do an MX record lookup,the name server automatically returns the IP addressesof the associated MX servers.This information is currently ignored,and another query is done to get this information.It should be cached to avoid excess name server traffic..sh 1 "REFERENCES".ip [Allman83a].q "Sendmail \*- An Internetwork Mail Router."E. Allman.In.ulUnix Programmers's Manual,4.2 Berkeley Software Distribution,volume 2C.August 1983..ip [Allman83b].q "Mail Systems and Addressing in 4.2BSD."E. AllmanIn.ulUNICOM Conference Proceedings.San Diego, California.January 1983..ip [Allman&Amos85]``Sendmail Revisited.''E. Allman and M. Amos.In.ulUsenix Summer 1985 Conference Proceedings.Portland, Oregon.June 1985..ip [IDA87].ul 3Electronic Mail Addressing in Theory and Practicewith the IDA Sendmail Enhancement Kit(or The Postmaster's Last Will and Testament).Lennart Lo\*:vstrand.Department of Computer and Information Science,University of Linko\*:ping,Sweden,Report no. LiTH-IDA-Ex-8715.May 1987..ip [RFC821].ulSimple Mail Transport Protocol.J. Postel.August 1982..ip [RFC1123].ulRequirements for Internet Hosts \*- Application and Support.Internet Engineering Task Force,R. Braden, Editor.October 1989..ip [RFC1344].ulImplications of MIME for Internet Mail Gateways.N. Borenstein.June 1992..ip [RFC1413].ulIdentification Protocol.M. St. Johns.February 1993..ip [RFC1425].ulSMTP Service Extensions.J. Klensin, N. Freed, M. Rose, E. Stefferud, and D. Crocker.February 1993..ip [RFC1426].ulSMTP Service Extension for 8bit-MIMEtransport.J. Klensin, N. Freed, M. Rose, E. Stefferud, and D. Crocker.February 1993..ip [RFC1427].ulSMTP Service Extension for Message Size Declaration.J. Klensin, N. Freed, and K. Moore.February 1993..ip [RFC1521].ul 3MIME (Multipurpose Internet Mail Extensions) Part One:Mechanisms for Specifying and Describingthe Format of Internet Message Bodies.N. Borenstein and N. Freed.September 1993.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -