1*67420Seric(Version 8.23 of 06/17/94) 233732Sbostic 364705SericKey: 464705Seric X -- extension (user visible change) 564705Seric B -- bug fix 664705Seric S -- security fix 764705Seric E -- enhancement to existing algorithm 857668Seric 965958Seric 1064705SericX **** 8 -> 7 bit MIME conversion. 1157943Seric 1264705SericE **** Change NoReturn to be an envelope flag. [8.7] 1358964Seric 1464705SericX **** Add M_NOLOOPBACKCHK (k) mailer flag to turn off check of name in 1564705Seric HELO command. [8.8] 1660606Seric 1764705SericX **** Merge Sun changes. [8.7] 1859609Seric 1965119SericX **** Macro giving size of the message in bytes. 2065119Seric 2165188SericX **** Create a "service switch" abstraction that will interface with 2265188Seric Sun NSS, Ultrix /etc/svc.conf, etc. This will allow you to 2365188Seric turn off DNS entirely, a la ``OIoff''. [8.7] 2464652Seric 2564718SericX **** Should have new mailer flags to override LocalMailer stuff: 2664652Seric - M_ALIASABLE (A) -- can use as the LHS of an alias. 2764652Seric - M_HASPWENT (w) -- should have a /etc/passwd entry. If not found 2864652Seric there, implies user unknown. Also implies .forward and UDB 2964652Seric searching, search for |, /, and :include:, etc.). 3064652Seric - Actually, UDB searching and |, /, and :include: mapping should 3164652Seric probably be on another flag. (Cannot be 'l' for back compat 3264652Seric reasons.) 3364652Seric - Need for $@host part of triple and Return-Receipt-To: processing 3464652Seric should also be split apart. 35*67420Seric - M_RUNASRCPT (?) -- always setuid to the recipient before calling 36*67420Seric the mailer. 3764705Seric [8.8] 3864652Seric 3966328SericX **** Mailer flag to enable/disable surrounding route-addrs with 4066328Seric angle brackets in setsender(). UUCP cleanup scripts treat 4166328Seric these as file redirection. 4266328Seric 4365119SericX **** Mailer flag to override MX lookups. 4465119Seric 4564755SericE **** Fix parseaddr to return a dummy mailer with QBADADDR set for 4664755Seric all cases except null input; change calls to be more sceptical 4764755Seric about the return value, checking this bit instead of just 4864755Seric checking for == NULL. (Eric Wassenaar) [8.7] 4964755Seric 5064799SericX **** Run time configurable locking -- e.g., compile in HASFLOCK and 5164799Seric HASLOCKF, and then choose at runtime between these. 5264799Seric 5365353SericB **** Aliases with .REDIRECT fail during newaliases if the "n" flag 5465353Seric is given. Problem is, sometimes you want them to, sometimes 5565353Seric you don't. Perhaps two flavors of "error" mailer? 5665353Seric 5765353SericB **** Calls to gethostbyname with a trailing dot fail if you are 5865353Seric not running DNS. 5965353Seric 6065119SericE **** Move delivery forking from sendenvelope to sendall so that 6165119Seric the connection cache works between split envelopes, and to 6265119Seric avoid a flurry of processes should you be sending to lots of 6365119Seric sub-lists. 6465119Seric 6565119SericX **** Add uucp-bang mailer that strips off any domain name from 6665119Seric the envelope recipient address first; this is for use in 6765119Seric mailer table entries. 6865119Seric 6965188SericX **** "quote" map (inverse of dequote). Lets you turn node::user 7065188Seric into "node::user"@DECNET.gateway 7165188Seric 7265219SericX **** Named rulesets. 7365219Seric 7466013Seric? **** Should $( [1.2.3.4] $) convert the address to a name? 7566013Seric 7666337SericE **** Change collect() handling to use high level timeouts instead 7766337Seric of per-line timeouts -- the current mechanism is swamping 7866337Seric the machine with system calls. (Look at KJS code.) 7966013Seric 80*67420SericX **** Add smrsh to release. 81*67420Seric 82*67420SericE **** Have returned warning messages (and errors?) include a 83*67420Seric ``Precedence: automatic'' header to make them easier to filter. 84*67420Seric 85*67420SericE *** Arrange to run queue jobs as the owner of that queue file. This 86*67420Seric probably requires forcing a fork in order to be able to completely 87*67420Seric restore the uid/gid portably without leaking out root privileges. 88*67420Seric 8966337SericE *** Long term host status -- store host status on disk for sharing 9066337Seric between runs. 9166337Seric 9265869SericX *** Extend I option to allow setting of retry and timeout values. 9365869Seric drl@vuse.vanderbilt.edu (David R. Linn). 9465869Seric 9565753SericX *** Total connection cache lifespan timeout -- a way to give a 9665753Seric timeout on connections regardless of whether they are active 9765753Seric or not. For single threaded servers such as Microsoft SMTP 9865753Seric gateway. Douglas Anderson <dlander@afterlife.ncsc.mil>. 9965753Seric 10065188SericX *** Mailer flag that does a "ping" equivalent -- if it fails, wait 10165188Seric 30 seconds and try again (for dialup PPP connections). Could 10265188Seric just try the connection and then immediately retry on some 10365188Seric kinds of failures. 10465188Seric 10565119SericX *** Create a macro that has message size. 10665119Seric Peter Wemm <peter@DIALix.oz.au> 10765119Seric 10864718SericE *** Dynamically allocate MAXNAME buffers for headers. 10964718Seric 11065119SericE *** Dynamically allocate "line" buffer in readaliases(). 11165119Seric 11264705SericX *** Add ability to disable Return-Receipt-To: on a privacy flag. [8.8] 11364652Seric 11464718SericX *** Add -P to set precedence (e.g., -Pbulk). [8.8] (BCX) 11564652Seric 11664718SericX *** Runtime option to enable/disable IDENT protocol. 11764718Seric 11864718SericE *** Don't send ErrMsgFile to postmaster bounces. (Josh Smith, 11964718Seric josh@osiris.ac.hmc.edu). 12064718Seric 12164718SericX *** Add "user" map to look up a user name via getpwnam -- so that 12264718Seric non-local names can be forwarded to another site. [8.8] 12364718Seric 12464799SericE *** Have daemons that start up check the alias database for 12564799Seric correctness and auto-rebuild if necessary. This is to handle 12664799Seric the case of a system crash during an alias database rebuild. 12764799Seric 12864799SericE *** Eliminate E qf line and e_errorqueue; use e_errorsto a la 12964799Seric e_receiptto. This simplifies and gives symmetry. (Eric 13064799Seric Wassenaar) 13164799Seric 13265165SericX *** DECNET_RELAY support in configs. 13365165Seric 13465753SericX *** -wN command line flag to set the width of mailq output. 13565753Seric (Allan Johannesen) 13665753Seric 13766328SericE *** Move mailertable lookup after UUCP-specific class checks? 13866328Seric (Kimmo Suominen <kim@tac.nyc.ny.us>) 13966328Seric 14066328SericE *** Users in more than one list with different owners get duplicate 14166328Seric deliveries -- maybe just assign them arbitrarily to one 14266328Seric envelope or the other? 14366328Seric 14466328SericX ** Make MAXBADCOMMANDS run time configurable. 14566328Seric 14666328SericE ** Allow mailertable entries of the form ``error:message''. 14766328Seric 14866328SericX ** Have .forward files re-queue if the home directory isn't 14966328Seric accessible? On some option... 15066328Seric (Q.G.Campbell@newcastle.ac.uk) 15166328Seric 15266328SericX ** Have local delivery queue if NIS is down? On some option... 15366328Seric (Q.G.Campbell@newcastle.ac.uk) 15466328Seric 15566328SericE ** Have nullclient configuration resolve local names to the local 15666328Seric mailer and then redirect them in ruleset 5; this allows you to 15766328Seric redirect root differently depending on the client. It's not 15866328Seric clear this is really a good idea though. 15966328Seric 16066013SericE ** Move CurHostAddr into mci struct, and make CurMCI variable 16166013Seric point to this, so that logging will give the correct address 16266013Seric instead of (0) for cached connections. Motonori Nakamura. 16366013Seric 16465907SericX ** Allow use of a generalized network service for aliasing? 16565907Seric How would the protocol be defined? 16665907Seric James Gritton <gritton@byu.edu>. 16765907Seric 16865555SericE ** Make "local configuration error" a temporary failure? 16965555Seric (add EX_CONFIG to the markfailure list) 17065555Seric 17165353SericX ** (sigh) BSMTP. 17265353Seric 17365226SericX ** "E" configuration line that sets environment variables. 17465226Seric 17565219SericE ** Change listen() high-load backoff to accept and issue a 4xx 17665219Seric message so that it responds more quickly. 17765219Seric 17865188SericE ** Change "/usr/tmp/dead.letter" to be based on _PATH_VARTMP. 17965188Seric 18065119SericB ** Commas in NAME envariable cause problems (Peter Wan 18165119Seric <peter@cc.gatech.edu>). Merge with suggestions to use 18265119Seric MIME-format for 8-bit characters? 18365119Seric 18465119SericE ** Save address information that comes back as the "additional 18565119Seric records" part of an MX lookup, to avoid additional name server 18665119Seric attempts. If there is an MX record without an additional A 18765119Seric record, delete it (this avoids a problem with misconfigured 18865119Seric DNS situations). 18965119Seric 19065119SericX ** Allow a way to extend the $Z macro with local configuration 19165119Seric information. 19265119Seric 19364755SericX ** Allow $x in -bt mode to expand macro "x". (BCX) [8.8] 19464755Seric 19564755SericX ** Allow /address in -bt mode to expand address through ruleset 0, 19664755Seric aliases, etc. and display results. [8.8] 19764755Seric 19864755SericX ** "R mailer address" in -bt mode does remotename on address. 19964755Seric 20064755SericE ** Adjust "infinite loop in rule" code to handle entire ruleset 20164755Seric (Code from Michael Corrigan). 20264755Seric 20364718SericE ** Allow :include: from command line (not SMTP) to assist in 20464718Seric "personal list" management -- i.e., creating lists that 20564718Seric cannot be EXPNed. 20664718Seric 20764718SericX ** Database (keyed lookup) auto-rebuild. 20864718Seric 20964705SericX ** Find a good test suite and include in the distribution. 21064652Seric 21164718SericS ** You can use symbolic links to point into protected directories. 21264718Seric (AEJ) 21364652Seric 21464705SericX ** Extend OI to allow separate settings for canonification, MX, and A 21564718Seric lookups. [8.8?] 21664652Seric 21764718SericX ** Add $!x class to match any number of words not in class x. (KRE) 21864683Seric 21964705SericX ** LOCAL_RULE_5 (Spencer Sun, spencer@phoenix.Princeton.EDU) 22064703Seric 22164705SericX ** Add "bestmx" map -- returns "best MX host" for this address. 22264705Seric Allows you to do automatic detection of when you are the best 22364705Seric MX for a given address. [8.7?] 22464703Seric 22565353SericX ** Some way to diddle resolver flags on a per-lookup basis, such 22665353Seric as a flag to the map declaration. (Rick McCarty) 22765353Seric - Is this really a good idea? DNSRCH can be turned off by 22865353Seric putting a dot at the end. AAONLY? 22965353Seric 23064718SericX ** Extend makemap to "gather" values -- i.e., merge entries that 23164718Seric have the same keys. [8.8] (BCX) 23264703Seric 23364718SericE ** Allow error messages on individual addresses in the qf file. 23464718Seric (BCX) 23564718Seric 23664718SericX ** Multi-character option names. [9.1] 23764718Seric 23864718SericX ** User database extensions for mailing lists: 23964718Seric list:precedence -- Precedence: value for new message 24064718Seric list:envelopefrom -- envelope "from" value for new message 24164718Seric others? [8.8] 24264718Seric 24365353SericX ** Command line switch to set precedence (for mailing list 24465353Seric generation). (BCX) 24565353Seric 24664755SericB ** Restore `T' line to eliminate X-Authentication-Warning: at 24764755Seric inappropriate times. (Christophe Wolfhugel) 24864755Seric - T could become a shorthand for Ct -- i.e., create a new 24964755Seric predefined class. 25064755Seric - Eliminate "<user> set sender to <address>" message entirely? 25164755Seric (this is the workaround) 25264755Seric 25365119SericB ** Return-Path: header should have <> added if not already there. 25465119Seric 25565119SericX ** Add heuristic to determine if other end is a sendmail; use 25665119Seric that to decide whether or not to honor F=I mailer flag. 25765119Seric [der Mouse <mouse@collatz.mcrcim.mcgill.edu>] 25865119Seric 25965119SericX ** Automatically drop into MIME mode if you have a full name 26065119Seric with 8-bit characters. See envelope.c 8.19.1.1 and util.c 26165119Seric 8.17.1.1. From Anders Ellefsrud <anders@ifi.uio.no>. 26265119Seric 26365119SericX ** -b? flag to read a header and show you what it will look like 26465119Seric after all rewriting for an indicated address. 26565119Seric 26665188SericE ** Log $u in logsender() (for=<someaddress>). 26765188Seric 26865753SericB ** Include SOCKADDR in MCI struct for logging (currently gives 26965753Seric a sockaddr of zero when printing from the cache). 27065753Seric 27166328SericX ** Allow option to set the characters that are autoquoted in 27266328Seric addresses? 27366328Seric 27465907SericX * Map that does MB/MR lookups. Rick McCarty <mccarty@io.com>. 27565907Seric 27665119SericX * Allow $> anywhere in RHS. John Boeske <jboeske@ualberta.ca>. 27765119Seric 27864755SericX * -V flag to print state of all (?) compilation flags. 27964755Seric 28064718SericX * Handle Expires: header field (if still in queue). 28164718Seric 28264705SericX * WIN/3B support (non-atomic rename, no h_addr_list, others?) 28364705Seric (Bruce Lilly <blilly!bruce@uu.psi.com>) 28464703Seric 28564705SericX * Sun YBTS daemon uses -ba. [Martin Kiff <MGK@newton.npl.co.uk>] 28664705Seric 28764705SericB * EXPN adds @domain to all mailers, including prog. Is this right? 28864705Seric [Bob Henry] 28964705Seric 29064705SericB * EXPN adds @localhost instead of @$M. [Pel Emanuelsson] 29164705Seric 29264705SericE * Change body put code to time out around individual puts. This will 29364705Seric make the timeout algorithm more responsive and more resilient. 29464705Seric Unfortunately, it's also a pain in the butt. 29564705Seric 29664705SericX * Some way to relay unfound local users to another site. 29764705Seric 29864705SericX * Disable all default RW sets except mailer-specific? 299