5c07abeebc81b8caf89f49d4585468b2d369a72a
[unix-history] / usr / src / usr.sbin / sendmail / src / TODO
(Version 8.14 of %G%)
Key:
X -- extension (user visible change)
B -- bug fix
S -- security fix
E -- enhancement to existing algorithm
X **** 8 -> 7 bit MIME conversion.
E **** Change NoReturn to be an envelope flag. [8.7]
X **** Add M_NOLOOPBACKCHK (k) mailer flag to turn off check of name in
HELO command. [8.8]
X **** Merge Sun changes. [8.7]
X **** Macro giving size of the message in bytes.
X **** Create a "service switch" abstraction that will interface with
Sun NSS, Ultrix /etc/svc.conf, etc. This will allow you to
turn off DNS entirely, a la ``OIoff''. [8.7]
X **** Should have new mailer flags to override LocalMailer stuff:
- M_ALIASABLE (A) -- can use as the LHS of an alias.
- M_HASPWENT (w) -- should have a /etc/passwd entry. If not found
there, implies user unknown. Also implies .forward and UDB
searching, search for |, /, and :include:, etc.).
- Actually, UDB searching and |, /, and :include: mapping should
probably be on another flag. (Cannot be 'l' for back compat
reasons.)
- Need for $@host part of triple and Return-Receipt-To: processing
should also be split apart.
[8.8]
X **** Mailer flag to override MX lookups.
E **** Fix parseaddr to return a dummy mailer with QBADADDR set for
all cases except null input; change calls to be more sceptical
about the return value, checking this bit instead of just
checking for == NULL. (Eric Wassenaar) [8.7]
X **** Run time configurable locking -- e.g., compile in HASFLOCK and
HASLOCKF, and then choose at runtime between these.
B **** Aliases with .REDIRECT fail during newaliases if the "n" flag
is given. Problem is, sometimes you want them to, sometimes
you don't. Perhaps two flavors of "error" mailer?
B **** Calls to gethostbyname with a trailing dot fail if you are
not running DNS.
E **** Move delivery forking from sendenvelope to sendall so that
the connection cache works between split envelopes, and to
avoid a flurry of processes should you be sending to lots of
sub-lists.
X **** Add uucp-bang mailer that strips off any domain name from
the envelope recipient address first; this is for use in
mailer table entries.
X **** "quote" map (inverse of dequote). Lets you turn node::user
into "node::user"@DECNET.gateway
X **** Named rulesets.
X *** Mailer flag that does a "ping" equivalent -- if it fails, wait
30 seconds and try again (for dialup PPP connections). Could
just try the connection and then immediately retry on some
kinds of failures.
X *** Create a macro that has message size.
Peter Wemm <peter@DIALix.oz.au>
E *** Dynamically allocate MAXNAME buffers for headers.
E *** Dynamically allocate "line" buffer in readaliases().
X *** Add ability to disable Return-Receipt-To: on a privacy flag. [8.8]
X *** Add -P to set precedence (e.g., -Pbulk). [8.8] (BCX)
X *** Runtime option to enable/disable IDENT protocol.
E *** Don't send ErrMsgFile to postmaster bounces. (Josh Smith,
josh@osiris.ac.hmc.edu).
X *** Add "user" map to look up a user name via getpwnam -- so that
non-local names can be forwarded to another site. [8.8]
E *** Have daemons that start up check the alias database for
correctness and auto-rebuild if necessary. This is to handle
the case of a system crash during an alias database rebuild.
E *** Eliminate E qf line and e_errorqueue; use e_errorsto a la
e_receiptto. This simplifies and gives symmetry. (Eric
Wassenaar)
B *** Fix syslog buffer overflow problems.
X *** DECNET_RELAY support in configs.
X ** (sigh) BSMTP.
X ** "E" configuration line that sets environment variables.
E ** Change listen() high-load backoff to accept and issue a 4xx
message so that it responds more quickly.
E ** Change "/usr/tmp/dead.letter" to be based on _PATH_VARTMP.
B ** Commas in NAME envariable cause problems (Peter Wan
<peter@cc.gatech.edu>). Merge with suggestions to use
MIME-format for 8-bit characters?
E ** Save address information that comes back as the "additional
records" part of an MX lookup, to avoid additional name server
attempts. If there is an MX record without an additional A
record, delete it (this avoids a problem with misconfigured
DNS situations).
X ** Allow a way to extend the $Z macro with local configuration
information.
X ** Allow $x in -bt mode to expand macro "x". (BCX) [8.8]
X ** Allow /address in -bt mode to expand address through ruleset 0,
aliases, etc. and display results. [8.8]
X ** "R mailer address" in -bt mode does remotename on address.
E ** Adjust "infinite loop in rule" code to handle entire ruleset
(Code from Michael Corrigan).
E ** Allow :include: from command line (not SMTP) to assist in
"personal list" management -- i.e., creating lists that
cannot be EXPNed.
X ** Database (keyed lookup) auto-rebuild.
X ** Find a good test suite and include in the distribution.
S ** You can use symbolic links to point into protected directories.
(AEJ)
X ** Extend OI to allow separate settings for canonification, MX, and A
lookups. [8.8?]
X ** Add $!x class to match any number of words not in class x. (KRE)
X ** LOCAL_RULE_5 (Spencer Sun, spencer@phoenix.Princeton.EDU)
X ** Add "bestmx" map -- returns "best MX host" for this address.
Allows you to do automatic detection of when you are the best
MX for a given address. [8.7?]
X ** Some way to diddle resolver flags on a per-lookup basis, such
as a flag to the map declaration. (Rick McCarty)
- Is this really a good idea? DNSRCH can be turned off by
putting a dot at the end. AAONLY?
X ** Extend makemap to "gather" values -- i.e., merge entries that
have the same keys. [8.8] (BCX)
E ** Allow error messages on individual addresses in the qf file.
(BCX)
X ** Multi-character option names. [9.1]
X ** User database extensions for mailing lists:
list:precedence -- Precedence: value for new message
list:envelopefrom -- envelope "from" value for new message
others? [8.8]
X ** Command line switch to set precedence (for mailing list
generation). (BCX)
B ** Restore `T' line to eliminate X-Authentication-Warning: at
inappropriate times. (Christophe Wolfhugel)
- T could become a shorthand for Ct -- i.e., create a new
predefined class.
- Eliminate "<user> set sender to <address>" message entirely?
(this is the workaround)
B ** Return-Path: header should have <> added if not already there.
X ** Add heuristic to determine if other end is a sendmail; use
that to decide whether or not to honor F=I mailer flag.
[der Mouse <mouse@collatz.mcrcim.mcgill.edu>]
X ** Automatically drop into MIME mode if you have a full name
with 8-bit characters. See envelope.c 8.19.1.1 and util.c
8.17.1.1. From Anders Ellefsrud <anders@ifi.uio.no>.
X ** -b? flag to read a header and show you what it will look like
after all rewriting for an indicated address.
E ** Log $u in logsender() (for=<someaddress>).
X * Allow $> anywhere in RHS. John Boeske <jboeske@ualberta.ca>.
X * -V flag to print state of all (?) compilation flags.
X * Handle Expires: header field (if still in queue).
X * WIN/3B support (non-atomic rename, no h_addr_list, others?)
(Bruce Lilly <blilly!bruce@uu.psi.com>)
X * Sun YBTS daemon uses -ba. [Martin Kiff <MGK@newton.npl.co.uk>]
B * EXPN adds @domain to all mailers, including prog. Is this right?
[Bob Henry]
B * EXPN adds @localhost instead of @$M. [Pel Emanuelsson]
E * Change body put code to time out around individual puts. This will
make the timeout algorithm more responsive and more resilient.
Unfortunately, it's also a pain in the butt.
X * Some way to relay unfound local users to another site.
X * Disable all default RW sets except mailer-specific?