1*68838Seric(Version 8.37 of 04/21/95) 233732Sbostic 3*68838Seric============================================================================== 4*68838SericFor Release 8.7: 5*68838Seric - better DSN error codes throughout code 6*68838Seric - getcanonname needs to be in service switch? 7*68838Seric - another pass through Sun changes 8*68838Seric - another pass through documentation 9*68838Seric============================================================================== 10*68838Seric 1164705SericKey: 1264705Seric X -- extension (user visible change) 1364705Seric B -- bug fix 1464705Seric S -- security fix 1564705Seric E -- enhancement to existing algorithm 1657668Seric 1765958Seric 1868089SericX **** Multiple queues. 1968089Seric 2064705SericX **** Merge Sun changes. [8.7] 2159609Seric 2264755SericE **** Fix parseaddr to return a dummy mailer with QBADADDR set for 2364755Seric all cases except null input; change calls to be more sceptical 2464755Seric about the return value, checking this bit instead of just 2564755Seric checking for == NULL. (Eric Wassenaar) [8.7] 2664755Seric 2764799SericX **** Run time configurable locking -- e.g., compile in HASFLOCK and 2864799Seric HASLOCKF, and then choose at runtime between these. 2964799Seric 3065353SericB **** Aliases with .REDIRECT fail during newaliases if the "n" flag 3165353Seric is given. Problem is, sometimes you want them to, sometimes 3265353Seric you don't. Perhaps two flavors of "error" mailer? 3365353Seric 3465353SericB **** Calls to gethostbyname with a trailing dot fail if you are 3565353Seric not running DNS. 3665353Seric 3765119SericX **** Add uucp-bang mailer that strips off any domain name from 3865119Seric the envelope recipient address first; this is for use in 3965119Seric mailer table entries. 4065119Seric 4165188SericX **** "quote" map (inverse of dequote). Lets you turn node::user 4265188Seric into "node::user"@DECNET.gateway 4365188Seric 4468527SericE **** Change userdb code to use underlying maps, at least for 4568527Seric :mailname; this lets people use NIS to supply generics 4668527Seric information. (Or should the generics code just be broken 4768527Seric out into the config file?) 4868527Seric 4966013Seric? **** Should $( [1.2.3.4] $) convert the address to a name? 5066013Seric 51*68838SericX *** Multiple queue runners. 52*68838Seric 5368089SericE *** Have recipient lines rewritten by the user database. 5468089Seric 5567420SericE *** Arrange to run queue jobs as the owner of that queue file. This 5667420Seric probably requires forcing a fork in order to be able to completely 5767420Seric restore the uid/gid portably without leaking out root privileges. 5867420Seric 5966337SericE *** Long term host status -- store host status on disk for sharing 6066337Seric between runs. 6166337Seric 6265869SericX *** Extend I option to allow setting of retry and timeout values. 6365869Seric drl@vuse.vanderbilt.edu (David R. Linn). 6465869Seric 6565753SericX *** Total connection cache lifespan timeout -- a way to give a 6665753Seric timeout on connections regardless of whether they are active 6765753Seric or not. For single threaded servers such as Microsoft SMTP 6865753Seric gateway. Douglas Anderson <dlander@afterlife.ncsc.mil>. 6965753Seric 7065119SericX *** Create a macro that has message size. 7165119Seric Peter Wemm <peter@DIALix.oz.au> 7265119Seric 7364718SericE *** Dynamically allocate MAXNAME buffers for headers. 7464718Seric 7565119SericE *** Dynamically allocate "line" buffer in readaliases(). 7665119Seric 7764718SericX *** Add -P to set precedence (e.g., -Pbulk). [8.8] (BCX) 7864652Seric 7964718SericE *** Don't send ErrMsgFile to postmaster bounces. (Josh Smith, 8064718Seric josh@osiris.ac.hmc.edu). 8164718Seric 8264799SericE *** Have daemons that start up check the alias database for 8364799Seric correctness and auto-rebuild if necessary. This is to handle 8464799Seric the case of a system crash during an alias database rebuild. 8564799Seric 8664799SericE *** Eliminate E qf line and e_errorqueue; use e_errorsto a la 8764799Seric e_receiptto. This simplifies and gives symmetry. (Eric 8864799Seric Wassenaar) 8964799Seric 9065165SericX *** DECNET_RELAY support in configs. 9165165Seric 9265753SericX *** -wN command line flag to set the width of mailq output. 9365753Seric (Allan Johannesen) 9465753Seric 9566328SericE *** Move mailertable lookup after UUCP-specific class checks? 9666328Seric (Kimmo Suominen <kim@tac.nyc.ny.us>) 9766328Seric 9866328SericE *** Users in more than one list with different owners get duplicate 9966328Seric deliveries -- maybe just assign them arbitrarily to one 10066328Seric envelope or the other? 10166328Seric 10268401SericE *** Mailer flag to turn off MX lookups. 10368401Seric 104*68838SericE ** If you get a connection from a host for which you have queued 105*68838Seric mail, deliver everything to that host. Intended for dialup SLIP 106*68838Seric style connections. 107*68838Seric 10868527SericX ** Rewriting rules based on incoming mailer. 10968527Seric 11068227SericX ** Have a ruleset (6?) that gets both sender and recipient 11168227Seric addresses to check compatibility. Can you do enough interesting 11268227Seric things with this? 11368227Seric 11466328SericX ** Make MAXBADCOMMANDS run time configurable. 11566328Seric 11666328SericE ** Allow mailertable entries of the form ``error:message''. 11766328Seric 11866328SericX ** Have .forward files re-queue if the home directory isn't 11966328Seric accessible? On some option... 12066328Seric (Q.G.Campbell@newcastle.ac.uk) 12166328Seric 12266328SericX ** Have local delivery queue if NIS is down? On some option... 12366328Seric (Q.G.Campbell@newcastle.ac.uk) 12466328Seric 12566328SericE ** Have nullclient configuration resolve local names to the local 12666328Seric mailer and then redirect them in ruleset 5; this allows you to 12766328Seric redirect root differently depending on the client. It's not 12866328Seric clear this is really a good idea though. 12966328Seric 13066013SericE ** Move CurHostAddr into mci struct, and make CurMCI variable 13166013Seric point to this, so that logging will give the correct address 13266013Seric instead of (0) for cached connections. Motonori Nakamura. 13366013Seric 13465907SericX ** Allow use of a generalized network service for aliasing? 13565907Seric How would the protocol be defined? 13665907Seric James Gritton <gritton@byu.edu>. 13765907Seric 13865555SericE ** Make "local configuration error" a temporary failure? 13965555Seric (add EX_CONFIG to the markfailure list) 14065555Seric 14165353SericX ** (sigh) BSMTP. 14265353Seric 14365226SericX ** "E" configuration line that sets environment variables. 14465226Seric 14565219SericE ** Change listen() high-load backoff to accept and issue a 4xx 14665219Seric message so that it responds more quickly. 14765219Seric 14865119SericB ** Commas in NAME envariable cause problems (Peter Wan 14965119Seric <peter@cc.gatech.edu>). Merge with suggestions to use 15065119Seric MIME-format for 8-bit characters? 15165119Seric 15265119SericE ** Save address information that comes back as the "additional 15365119Seric records" part of an MX lookup, to avoid additional name server 15465119Seric attempts. If there is an MX record without an additional A 15565119Seric record, delete it (this avoids a problem with misconfigured 15665119Seric DNS situations). 15765119Seric 15865119SericX ** Allow a way to extend the $Z macro with local configuration 15965119Seric information. 16065119Seric 16164755SericX ** Allow $x in -bt mode to expand macro "x". (BCX) [8.8] 16264755Seric 16364755SericX ** Allow /address in -bt mode to expand address through ruleset 0, 16464755Seric aliases, etc. and display results. [8.8] 16564755Seric 16664755SericX ** "R mailer address" in -bt mode does remotename on address. 16764755Seric 16864755SericE ** Adjust "infinite loop in rule" code to handle entire ruleset 16964755Seric (Code from Michael Corrigan). 17064755Seric 17164718SericE ** Allow :include: from command line (not SMTP) to assist in 17264718Seric "personal list" management -- i.e., creating lists that 17364718Seric cannot be EXPNed. 17464718Seric 17564718SericX ** Database (keyed lookup) auto-rebuild. 17664718Seric 17764705SericX ** Find a good test suite and include in the distribution. 17864652Seric 17964718SericS ** You can use symbolic links to point into protected directories. 18064718Seric (AEJ) 18164652Seric 18264705SericX ** Extend OI to allow separate settings for canonification, MX, and A 18364718Seric lookups. [8.8?] 18464652Seric 18564718SericX ** Add $!x class to match any number of words not in class x. (KRE) 18664683Seric 18764705SericX ** LOCAL_RULE_5 (Spencer Sun, spencer@phoenix.Princeton.EDU) 18864703Seric 18965353SericX ** Some way to diddle resolver flags on a per-lookup basis, such 19065353Seric as a flag to the map declaration. (Rick McCarty) 19165353Seric - Is this really a good idea? DNSRCH can be turned off by 19265353Seric putting a dot at the end. AAONLY? 19365353Seric 19464718SericX ** Extend makemap to "gather" values -- i.e., merge entries that 19564718Seric have the same keys. [8.8] (BCX) 19664703Seric 19764718SericE ** Allow error messages on individual addresses in the qf file. 19864718Seric (BCX) 19964718Seric 20064718SericX ** User database extensions for mailing lists: 20164718Seric list:precedence -- Precedence: value for new message 20264718Seric list:envelopefrom -- envelope "from" value for new message 20364718Seric others? [8.8] 20464718Seric 20565353SericX ** Command line switch to set precedence (for mailing list 20665353Seric generation). (BCX) 20765353Seric 20865119SericB ** Return-Path: header should have <> added if not already there. 20965119Seric 21065119SericX ** Add heuristic to determine if other end is a sendmail; use 21165119Seric that to decide whether or not to honor F=I mailer flag. 21265119Seric [der Mouse <mouse@collatz.mcrcim.mcgill.edu>] 21365119Seric 21465119SericX ** Automatically drop into MIME mode if you have a full name 21565119Seric with 8-bit characters. See envelope.c 8.19.1.1 and util.c 21665119Seric 8.17.1.1. From Anders Ellefsrud <anders@ifi.uio.no>. 21765119Seric 21865119SericX ** -b? flag to read a header and show you what it will look like 21965119Seric after all rewriting for an indicated address. 22065119Seric 22165188SericE ** Log $u in logsender() (for=<someaddress>). 22265188Seric 22365753SericB ** Include SOCKADDR in MCI struct for logging (currently gives 22465753Seric a sockaddr of zero when printing from the cache). 22565753Seric 22666328SericX ** Allow option to set the characters that are autoquoted in 22766328Seric addresses? 22866328Seric 229*68838SericX ** Substring map class. 230*68838Seric 23165907SericX * Map that does MB/MR lookups. Rick McCarty <mccarty@io.com>. 23265907Seric 23365119SericX * Allow $> anywhere in RHS. John Boeske <jboeske@ualberta.ca>. 23465119Seric 23564755SericX * -V flag to print state of all (?) compilation flags. 23664755Seric 23764718SericX * Handle Expires: header field (if still in queue). 23864718Seric 23964705SericX * WIN/3B support (non-atomic rename, no h_addr_list, others?) 24064705Seric (Bruce Lilly <blilly!bruce@uu.psi.com>) 24164703Seric 24264705SericX * Sun YBTS daemon uses -ba. [Martin Kiff <MGK@newton.npl.co.uk>] 24364705Seric 24464705SericB * EXPN adds @domain to all mailers, including prog. Is this right? 24564705Seric [Bob Henry] 24664705Seric 24764705SericB * EXPN adds @localhost instead of @$M. [Pel Emanuelsson] 24864705Seric 24964705SericE * Change body put code to time out around individual puts. This will 25064705Seric make the timeout algorithm more responsive and more resilient. 25164705Seric Unfortunately, it's also a pain in the butt. 25264705Seric 25364705SericX * Some way to relay unfound local users to another site. 25464705Seric 25564705SericX * Disable all default RW sets except mailer-specific? 25668240Seric 25768240Seric 25868240Seric------------------------------------------------------------------------------- 25968240Seric 26068240SericIDA Features that have been requested: 26168240Seric 26268240Seric* USERMAILER 26368240Seric 26468240Seric* LOCAL_MX_HANDLER 26568527Seric 26668527Seric* NIS_MAILHOST 26768527Seric 26868527Seric* GENERICFROM 269