1(Version 8.37 of 04/21/95) 2 3============================================================================== 4For Release 8.7: 5 - better DSN error codes throughout code 6 - getcanonname needs to be in service switch? 7 - another pass through Sun changes 8 - another pass through documentation 9============================================================================== 10 11Key: 12 X -- extension (user visible change) 13 B -- bug fix 14 S -- security fix 15 E -- enhancement to existing algorithm 16 17 18X **** Multiple queues. 19 20X **** Merge Sun changes. [8.7] 21 22E **** Fix parseaddr to return a dummy mailer with QBADADDR set for 23 all cases except null input; change calls to be more sceptical 24 about the return value, checking this bit instead of just 25 checking for == NULL. (Eric Wassenaar) [8.7] 26 27X **** Run time configurable locking -- e.g., compile in HASFLOCK and 28 HASLOCKF, and then choose at runtime between these. 29 30B **** Aliases with .REDIRECT fail during newaliases if the "n" flag 31 is given. Problem is, sometimes you want them to, sometimes 32 you don't. Perhaps two flavors of "error" mailer? 33 34B **** Calls to gethostbyname with a trailing dot fail if you are 35 not running DNS. 36 37X **** Add uucp-bang mailer that strips off any domain name from 38 the envelope recipient address first; this is for use in 39 mailer table entries. 40 41X **** "quote" map (inverse of dequote). Lets you turn node::user 42 into "node::user"@DECNET.gateway 43 44E **** Change userdb code to use underlying maps, at least for 45 :mailname; this lets people use NIS to supply generics 46 information. (Or should the generics code just be broken 47 out into the config file?) 48 49? **** Should $( [1.2.3.4] $) convert the address to a name? 50 51X *** Multiple queue runners. 52 53E *** Have recipient lines rewritten by the user database. 54 55E *** Arrange to run queue jobs as the owner of that queue file. This 56 probably requires forcing a fork in order to be able to completely 57 restore the uid/gid portably without leaking out root privileges. 58 59E *** Long term host status -- store host status on disk for sharing 60 between runs. 61 62X *** Extend I option to allow setting of retry and timeout values. 63 drl@vuse.vanderbilt.edu (David R. Linn). 64 65X *** Total connection cache lifespan timeout -- a way to give a 66 timeout on connections regardless of whether they are active 67 or not. For single threaded servers such as Microsoft SMTP 68 gateway. Douglas Anderson <dlander@afterlife.ncsc.mil>. 69 70X *** Create a macro that has message size. 71 Peter Wemm <peter@DIALix.oz.au> 72 73E *** Dynamically allocate MAXNAME buffers for headers. 74 75E *** Dynamically allocate "line" buffer in readaliases(). 76 77X *** Add -P to set precedence (e.g., -Pbulk). [8.8] (BCX) 78 79E *** Don't send ErrMsgFile to postmaster bounces. (Josh Smith, 80 josh@osiris.ac.hmc.edu). 81 82E *** Have daemons that start up check the alias database for 83 correctness and auto-rebuild if necessary. This is to handle 84 the case of a system crash during an alias database rebuild. 85 86E *** Eliminate E qf line and e_errorqueue; use e_errorsto a la 87 e_receiptto. This simplifies and gives symmetry. (Eric 88 Wassenaar) 89 90X *** DECNET_RELAY support in configs. 91 92X *** -wN command line flag to set the width of mailq output. 93 (Allan Johannesen) 94 95E *** Move mailertable lookup after UUCP-specific class checks? 96 (Kimmo Suominen <kim@tac.nyc.ny.us>) 97 98E *** Users in more than one list with different owners get duplicate 99 deliveries -- maybe just assign them arbitrarily to one 100 envelope or the other? 101 102E *** Mailer flag to turn off MX lookups. 103 104E ** If you get a connection from a host for which you have queued 105 mail, deliver everything to that host. Intended for dialup SLIP 106 style connections. 107 108X ** Rewriting rules based on incoming mailer. 109 110X ** Have a ruleset (6?) that gets both sender and recipient 111 addresses to check compatibility. Can you do enough interesting 112 things with this? 113 114X ** Make MAXBADCOMMANDS run time configurable. 115 116E ** Allow mailertable entries of the form ``error:message''. 117 118X ** Have .forward files re-queue if the home directory isn't 119 accessible? On some option... 120 (Q.G.Campbell@newcastle.ac.uk) 121 122X ** Have local delivery queue if NIS is down? On some option... 123 (Q.G.Campbell@newcastle.ac.uk) 124 125E ** Have nullclient configuration resolve local names to the local 126 mailer and then redirect them in ruleset 5; this allows you to 127 redirect root differently depending on the client. It's not 128 clear this is really a good idea though. 129 130E ** Move CurHostAddr into mci struct, and make CurMCI variable 131 point to this, so that logging will give the correct address 132 instead of (0) for cached connections. Motonori Nakamura. 133 134X ** Allow use of a generalized network service for aliasing? 135 How would the protocol be defined? 136 James Gritton <gritton@byu.edu>. 137 138E ** Make "local configuration error" a temporary failure? 139 (add EX_CONFIG to the markfailure list) 140 141X ** (sigh) BSMTP. 142 143X ** "E" configuration line that sets environment variables. 144 145E ** Change listen() high-load backoff to accept and issue a 4xx 146 message so that it responds more quickly. 147 148B ** Commas in NAME envariable cause problems (Peter Wan 149 <peter@cc.gatech.edu>). Merge with suggestions to use 150 MIME-format for 8-bit characters? 151 152E ** Save address information that comes back as the "additional 153 records" part of an MX lookup, to avoid additional name server 154 attempts. If there is an MX record without an additional A 155 record, delete it (this avoids a problem with misconfigured 156 DNS situations). 157 158X ** Allow a way to extend the $Z macro with local configuration 159 information. 160 161X ** Allow $x in -bt mode to expand macro "x". (BCX) [8.8] 162 163X ** Allow /address in -bt mode to expand address through ruleset 0, 164 aliases, etc. and display results. [8.8] 165 166X ** "R mailer address" in -bt mode does remotename on address. 167 168E ** Adjust "infinite loop in rule" code to handle entire ruleset 169 (Code from Michael Corrigan). 170 171E ** Allow :include: from command line (not SMTP) to assist in 172 "personal list" management -- i.e., creating lists that 173 cannot be EXPNed. 174 175X ** Database (keyed lookup) auto-rebuild. 176 177X ** Find a good test suite and include in the distribution. 178 179S ** You can use symbolic links to point into protected directories. 180 (AEJ) 181 182X ** Extend OI to allow separate settings for canonification, MX, and A 183 lookups. [8.8?] 184 185X ** Add $!x class to match any number of words not in class x. (KRE) 186 187X ** LOCAL_RULE_5 (Spencer Sun, spencer@phoenix.Princeton.EDU) 188 189X ** Some way to diddle resolver flags on a per-lookup basis, such 190 as a flag to the map declaration. (Rick McCarty) 191 - Is this really a good idea? DNSRCH can be turned off by 192 putting a dot at the end. AAONLY? 193 194X ** Extend makemap to "gather" values -- i.e., merge entries that 195 have the same keys. [8.8] (BCX) 196 197E ** Allow error messages on individual addresses in the qf file. 198 (BCX) 199 200X ** User database extensions for mailing lists: 201 list:precedence -- Precedence: value for new message 202 list:envelopefrom -- envelope "from" value for new message 203 others? [8.8] 204 205X ** Command line switch to set precedence (for mailing list 206 generation). (BCX) 207 208B ** Return-Path: header should have <> added if not already there. 209 210X ** Add heuristic to determine if other end is a sendmail; use 211 that to decide whether or not to honor F=I mailer flag. 212 [der Mouse <mouse@collatz.mcrcim.mcgill.edu>] 213 214X ** Automatically drop into MIME mode if you have a full name 215 with 8-bit characters. See envelope.c 8.19.1.1 and util.c 216 8.17.1.1. From Anders Ellefsrud <anders@ifi.uio.no>. 217 218X ** -b? flag to read a header and show you what it will look like 219 after all rewriting for an indicated address. 220 221E ** Log $u in logsender() (for=<someaddress>). 222 223B ** Include SOCKADDR in MCI struct for logging (currently gives 224 a sockaddr of zero when printing from the cache). 225 226X ** Allow option to set the characters that are autoquoted in 227 addresses? 228 229X ** Substring map class. 230 231X * Map that does MB/MR lookups. Rick McCarty <mccarty@io.com>. 232 233X * Allow $> anywhere in RHS. John Boeske <jboeske@ualberta.ca>. 234 235X * -V flag to print state of all (?) compilation flags. 236 237X * Handle Expires: header field (if still in queue). 238 239X * WIN/3B support (non-atomic rename, no h_addr_list, others?) 240 (Bruce Lilly <blilly!bruce@uu.psi.com>) 241 242X * Sun YBTS daemon uses -ba. [Martin Kiff <MGK@newton.npl.co.uk>] 243 244B * EXPN adds @domain to all mailers, including prog. Is this right? 245 [Bob Henry] 246 247B * EXPN adds @localhost instead of @$M. [Pel Emanuelsson] 248 249E * Change body put code to time out around individual puts. This will 250 make the timeout algorithm more responsive and more resilient. 251 Unfortunately, it's also a pain in the butt. 252 253X * Some way to relay unfound local users to another site. 254 255X * Disable all default RW sets except mailer-specific? 256 257 258------------------------------------------------------------------------------- 259 260IDA Features that have been requested: 261 262* USERMAILER 263 264* LOCAL_MX_HANDLER 265 266* NIS_MAILHOST 267 268* GENERICFROM 269