1*66337Seric(Version 8.22 of 03/12/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. 3564705Seric [8.8] 3664652Seric 3766328SericX **** Mailer flag to enable/disable surrounding route-addrs with 3866328Seric angle brackets in setsender(). UUCP cleanup scripts treat 3966328Seric these as file redirection. 4066328Seric 4165119SericX **** Mailer flag to override MX lookups. 4265119Seric 4364755SericE **** Fix parseaddr to return a dummy mailer with QBADADDR set for 4464755Seric all cases except null input; change calls to be more sceptical 4564755Seric about the return value, checking this bit instead of just 4664755Seric checking for == NULL. (Eric Wassenaar) [8.7] 4764755Seric 4864799SericX **** Run time configurable locking -- e.g., compile in HASFLOCK and 4964799Seric HASLOCKF, and then choose at runtime between these. 5064799Seric 5165353SericB **** Aliases with .REDIRECT fail during newaliases if the "n" flag 5265353Seric is given. Problem is, sometimes you want them to, sometimes 5365353Seric you don't. Perhaps two flavors of "error" mailer? 5465353Seric 5565353SericB **** Calls to gethostbyname with a trailing dot fail if you are 5665353Seric not running DNS. 5765353Seric 5865119SericE **** Move delivery forking from sendenvelope to sendall so that 5965119Seric the connection cache works between split envelopes, and to 6065119Seric avoid a flurry of processes should you be sending to lots of 6165119Seric sub-lists. 6265119Seric 6365119SericX **** Add uucp-bang mailer that strips off any domain name from 6465119Seric the envelope recipient address first; this is for use in 6565119Seric mailer table entries. 6665119Seric 6765188SericX **** "quote" map (inverse of dequote). Lets you turn node::user 6865188Seric into "node::user"@DECNET.gateway 6965188Seric 7065219SericX **** Named rulesets. 7165219Seric 7266013Seric? **** Should $( [1.2.3.4] $) convert the address to a name? 7366013Seric 74*66337SericE **** Change collect() handling to use high level timeouts instead 75*66337Seric of per-line timeouts -- the current mechanism is swamping 76*66337Seric the machine with system calls. (Look at KJS code.) 7766013Seric 78*66337SericE *** Long term host status -- store host status on disk for sharing 79*66337Seric between runs. 80*66337Seric 8165869SericX *** Extend I option to allow setting of retry and timeout values. 8265869Seric drl@vuse.vanderbilt.edu (David R. Linn). 8365869Seric 8465753SericX *** Total connection cache lifespan timeout -- a way to give a 8565753Seric timeout on connections regardless of whether they are active 8665753Seric or not. For single threaded servers such as Microsoft SMTP 8765753Seric gateway. Douglas Anderson <dlander@afterlife.ncsc.mil>. 8865753Seric 8965188SericX *** Mailer flag that does a "ping" equivalent -- if it fails, wait 9065188Seric 30 seconds and try again (for dialup PPP connections). Could 9165188Seric just try the connection and then immediately retry on some 9265188Seric kinds of failures. 9365188Seric 9465119SericX *** Create a macro that has message size. 9565119Seric Peter Wemm <peter@DIALix.oz.au> 9665119Seric 9764718SericE *** Dynamically allocate MAXNAME buffers for headers. 9864718Seric 9965119SericE *** Dynamically allocate "line" buffer in readaliases(). 10065119Seric 10164705SericX *** Add ability to disable Return-Receipt-To: on a privacy flag. [8.8] 10264652Seric 10364718SericX *** Add -P to set precedence (e.g., -Pbulk). [8.8] (BCX) 10464652Seric 10564718SericX *** Runtime option to enable/disable IDENT protocol. 10664718Seric 10764718SericE *** Don't send ErrMsgFile to postmaster bounces. (Josh Smith, 10864718Seric josh@osiris.ac.hmc.edu). 10964718Seric 11064718SericX *** Add "user" map to look up a user name via getpwnam -- so that 11164718Seric non-local names can be forwarded to another site. [8.8] 11264718Seric 11364799SericE *** Have daemons that start up check the alias database for 11464799Seric correctness and auto-rebuild if necessary. This is to handle 11564799Seric the case of a system crash during an alias database rebuild. 11664799Seric 11764799SericE *** Eliminate E qf line and e_errorqueue; use e_errorsto a la 11864799Seric e_receiptto. This simplifies and gives symmetry. (Eric 11964799Seric Wassenaar) 12064799Seric 12165165SericX *** DECNET_RELAY support in configs. 12265165Seric 12365753SericX *** -wN command line flag to set the width of mailq output. 12465753Seric (Allan Johannesen) 12565753Seric 12666328SericE *** Move mailertable lookup after UUCP-specific class checks? 12766328Seric (Kimmo Suominen <kim@tac.nyc.ny.us>) 12866328Seric 12966328SericE *** Users in more than one list with different owners get duplicate 13066328Seric deliveries -- maybe just assign them arbitrarily to one 13166328Seric envelope or the other? 13266328Seric 13366328SericX ** Make MAXBADCOMMANDS run time configurable. 13466328Seric 13566328SericE ** Allow mailertable entries of the form ``error:message''. 13666328Seric 13766328SericX ** Have .forward files re-queue if the home directory isn't 13866328Seric accessible? On some option... 13966328Seric (Q.G.Campbell@newcastle.ac.uk) 14066328Seric 14166328SericX ** Have local delivery queue if NIS is down? On some option... 14266328Seric (Q.G.Campbell@newcastle.ac.uk) 14366328Seric 14466328SericE ** Have nullclient configuration resolve local names to the local 14566328Seric mailer and then redirect them in ruleset 5; this allows you to 14666328Seric redirect root differently depending on the client. It's not 14766328Seric clear this is really a good idea though. 14866328Seric 14966013SericE ** Move CurHostAddr into mci struct, and make CurMCI variable 15066013Seric point to this, so that logging will give the correct address 15166013Seric instead of (0) for cached connections. Motonori Nakamura. 15266013Seric 15365907SericX ** Allow use of a generalized network service for aliasing? 15465907Seric How would the protocol be defined? 15565907Seric James Gritton <gritton@byu.edu>. 15665907Seric 15765555SericE ** Make "local configuration error" a temporary failure? 15865555Seric (add EX_CONFIG to the markfailure list) 15965555Seric 16065353SericX ** (sigh) BSMTP. 16165353Seric 16265226SericX ** "E" configuration line that sets environment variables. 16365226Seric 16465219SericE ** Change listen() high-load backoff to accept and issue a 4xx 16565219Seric message so that it responds more quickly. 16665219Seric 16765188SericE ** Change "/usr/tmp/dead.letter" to be based on _PATH_VARTMP. 16865188Seric 16965119SericB ** Commas in NAME envariable cause problems (Peter Wan 17065119Seric <peter@cc.gatech.edu>). Merge with suggestions to use 17165119Seric MIME-format for 8-bit characters? 17265119Seric 17365119SericE ** Save address information that comes back as the "additional 17465119Seric records" part of an MX lookup, to avoid additional name server 17565119Seric attempts. If there is an MX record without an additional A 17665119Seric record, delete it (this avoids a problem with misconfigured 17765119Seric DNS situations). 17865119Seric 17965119SericX ** Allow a way to extend the $Z macro with local configuration 18065119Seric information. 18165119Seric 18264755SericX ** Allow $x in -bt mode to expand macro "x". (BCX) [8.8] 18364755Seric 18464755SericX ** Allow /address in -bt mode to expand address through ruleset 0, 18564755Seric aliases, etc. and display results. [8.8] 18664755Seric 18764755SericX ** "R mailer address" in -bt mode does remotename on address. 18864755Seric 18964755SericE ** Adjust "infinite loop in rule" code to handle entire ruleset 19064755Seric (Code from Michael Corrigan). 19164755Seric 19264718SericE ** Allow :include: from command line (not SMTP) to assist in 19364718Seric "personal list" management -- i.e., creating lists that 19464718Seric cannot be EXPNed. 19564718Seric 19664718SericX ** Database (keyed lookup) auto-rebuild. 19764718Seric 19864705SericX ** Find a good test suite and include in the distribution. 19964652Seric 20064718SericS ** You can use symbolic links to point into protected directories. 20164718Seric (AEJ) 20264652Seric 20364705SericX ** Extend OI to allow separate settings for canonification, MX, and A 20464718Seric lookups. [8.8?] 20564652Seric 20664718SericX ** Add $!x class to match any number of words not in class x. (KRE) 20764683Seric 20864705SericX ** LOCAL_RULE_5 (Spencer Sun, spencer@phoenix.Princeton.EDU) 20964703Seric 21064705SericX ** Add "bestmx" map -- returns "best MX host" for this address. 21164705Seric Allows you to do automatic detection of when you are the best 21264705Seric MX for a given address. [8.7?] 21364703Seric 21465353SericX ** Some way to diddle resolver flags on a per-lookup basis, such 21565353Seric as a flag to the map declaration. (Rick McCarty) 21665353Seric - Is this really a good idea? DNSRCH can be turned off by 21765353Seric putting a dot at the end. AAONLY? 21865353Seric 21964718SericX ** Extend makemap to "gather" values -- i.e., merge entries that 22064718Seric have the same keys. [8.8] (BCX) 22164703Seric 22264718SericE ** Allow error messages on individual addresses in the qf file. 22364718Seric (BCX) 22464718Seric 22564718SericX ** Multi-character option names. [9.1] 22664718Seric 22764718SericX ** User database extensions for mailing lists: 22864718Seric list:precedence -- Precedence: value for new message 22964718Seric list:envelopefrom -- envelope "from" value for new message 23064718Seric others? [8.8] 23164718Seric 23265353SericX ** Command line switch to set precedence (for mailing list 23365353Seric generation). (BCX) 23465353Seric 23564755SericB ** Restore `T' line to eliminate X-Authentication-Warning: at 23664755Seric inappropriate times. (Christophe Wolfhugel) 23764755Seric - T could become a shorthand for Ct -- i.e., create a new 23864755Seric predefined class. 23964755Seric - Eliminate "<user> set sender to <address>" message entirely? 24064755Seric (this is the workaround) 24164755Seric 24265119SericB ** Return-Path: header should have <> added if not already there. 24365119Seric 24465119SericX ** Add heuristic to determine if other end is a sendmail; use 24565119Seric that to decide whether or not to honor F=I mailer flag. 24665119Seric [der Mouse <mouse@collatz.mcrcim.mcgill.edu>] 24765119Seric 24865119SericX ** Automatically drop into MIME mode if you have a full name 24965119Seric with 8-bit characters. See envelope.c 8.19.1.1 and util.c 25065119Seric 8.17.1.1. From Anders Ellefsrud <anders@ifi.uio.no>. 25165119Seric 25265119SericX ** -b? flag to read a header and show you what it will look like 25365119Seric after all rewriting for an indicated address. 25465119Seric 25565188SericE ** Log $u in logsender() (for=<someaddress>). 25665188Seric 25765753SericB ** Include SOCKADDR in MCI struct for logging (currently gives 25865753Seric a sockaddr of zero when printing from the cache). 25965753Seric 26066328SericX ** Allow option to set the characters that are autoquoted in 26166328Seric addresses? 26266328Seric 26365907SericX * Map that does MB/MR lookups. Rick McCarty <mccarty@io.com>. 26465907Seric 26565119SericX * Allow $> anywhere in RHS. John Boeske <jboeske@ualberta.ca>. 26665119Seric 26764755SericX * -V flag to print state of all (?) compilation flags. 26864755Seric 26964718SericX * Handle Expires: header field (if still in queue). 27064718Seric 27164705SericX * WIN/3B support (non-atomic rename, no h_addr_list, others?) 27264705Seric (Bruce Lilly <blilly!bruce@uu.psi.com>) 27364703Seric 27464705SericX * Sun YBTS daemon uses -ba. [Martin Kiff <MGK@newton.npl.co.uk>] 27564705Seric 27664705SericB * EXPN adds @domain to all mailers, including prog. Is this right? 27764705Seric [Bob Henry] 27864705Seric 27964705SericB * EXPN adds @localhost instead of @$M. [Pel Emanuelsson] 28064705Seric 28164705SericE * Change body put code to time out around individual puts. This will 28264705Seric make the timeout algorithm more responsive and more resilient. 28364705Seric Unfortunately, it's also a pain in the butt. 28464705Seric 28564705SericX * Some way to relay unfound local users to another site. 28664705Seric 28764705SericX * Disable all default RW sets except mailer-specific? 288