xref: /csrg-svn/usr.sbin/sendmail/src/TODO (revision 65165)
1*65165Seric(Version 8.10 of 12/16/93)
233732Sbostic
364705SericKey:
464705Seric  X -- extension (user visible change)
564705Seric  B -- bug fix
664705Seric  S -- security fix
764705Seric  E -- enhancement to existing algorithm
857668Seric
964705SericX ****	8 -> 7 bit MIME conversion.
1057943Seric
1164705SericE ****	Change NoReturn to be an envelope flag. [8.7]
1258964Seric
1364705SericX ****	Add M_NOLOOPBACKCHK (k) mailer flag to turn off check of name in
1464705Seric	HELO command. [8.8]
1560606Seric
1664705SericX ****	Merge Sun changes.  [8.7]
1759609Seric
1865119SericX ****	Macro giving size of the message in bytes.
1965119Seric
2064705SericX ****	Provide a way to turn off all DNS lookup in the I option, e.g.,
2164755Seric	``OIoff''.  [8.7]
2264652Seric
2364718SericX ****	Should have new mailer flags to override LocalMailer stuff:
2464652Seric	- M_ALIASABLE (A) -- can use as the LHS of an alias.
2564652Seric	- M_HASPWENT (w) -- should have a /etc/passwd entry.  If not found
2664652Seric	  there, implies user unknown.  Also implies .forward and UDB
2764652Seric	  searching, search for |, /, and :include:, etc.).
2864652Seric	- Actually, UDB searching and |, /, and :include: mapping should
2964652Seric	  probably be on another flag.  (Cannot be 'l' for back compat
3064652Seric	  reasons.)
3164652Seric	- Need for $@host part of triple and Return-Receipt-To: processing
3264652Seric	  should also be split apart.
3364705Seric	[8.8]
3464652Seric
3565119SericX ****	Mailer flag to override MX lookups.
3665119Seric
3764755SericE ****	Fix parseaddr to return a dummy mailer with QBADADDR set for
3864755Seric	all cases except null input; change calls to be more sceptical
3964755Seric	about the return value, checking this bit instead of just
4064755Seric	checking for == NULL.  (Eric Wassenaar)  [8.7]
4164755Seric
4264799SericX ****	Run time configurable locking -- e.g., compile in HASFLOCK and
4364799Seric	HASLOCKF, and then choose at runtime between these.
4464799Seric
4565119SericE ****	Move delivery forking from sendenvelope to sendall so that
4665119Seric	the connection cache works between split envelopes, and to
4765119Seric	avoid a flurry of processes should you be sending to lots of
4865119Seric	sub-lists.
4965119Seric
5065119SericX ****	Add uucp-bang mailer that strips off any domain name from
5165119Seric	the envelope recipient address first; this is for use in
5265119Seric	mailer table entries.
5365119Seric
5465119SericX ***	Create a macro that has message size.
5565119Seric	Peter Wemm <peter@DIALix.oz.au>
5665119Seric
5764718SericE ***	Dynamically allocate MAXNAME buffers for headers.
5864718Seric
5965119SericE ***	Dynamically allocate "line" buffer in readaliases().
6065119Seric
6164705SericX ***	Add ability to disable Return-Receipt-To: on a privacy flag. [8.8]
6264652Seric
6364718SericX ***	Add -P to set precedence (e.g., -Pbulk). [8.8]  (BCX)
6464652Seric
6564718SericX ***	Runtime option to enable/disable IDENT protocol.
6664718Seric
6764718SericE ***	Don't send ErrMsgFile to postmaster bounces.  (Josh Smith,
6864718Seric	josh@osiris.ac.hmc.edu).
6964718Seric
7064718SericX ***	Add "user" map to look up a user name via getpwnam -- so that
7164718Seric	non-local names can be forwarded to another site.  [8.8]
7264718Seric
7364799SericE ***	Have daemons that start up check the alias database for
7464799Seric	correctness and auto-rebuild if necessary.  This is to handle
7564799Seric	the case of a system crash during an alias database rebuild.
7664799Seric
7764799SericE ***	Eliminate E qf line and e_errorqueue; use e_errorsto a la
7864799Seric	e_receiptto.  This simplifies and gives symmetry.  (Eric
7964799Seric	Wassenaar)
8064799Seric
8165119SericB ***	Fix syslog buffer overflow problems.
8265119Seric
83*65165SericX ***	DECNET_RELAY support in configs.
84*65165Seric
8565119SericB **	Commas in NAME envariable cause problems (Peter Wan
8665119Seric	<peter@cc.gatech.edu>).  Merge with suggestions to use
8765119Seric	MIME-format for 8-bit characters?
8865119Seric
8965119SericE **	Save address information that comes back as the "additional
9065119Seric	records" part of an MX lookup, to avoid additional name server
9165119Seric	attempts.  If there is an MX record without an additional A
9265119Seric	record, delete it (this avoids a problem with misconfigured
9365119Seric	DNS situations).
9465119Seric
9565119SericX **	Allow a way to extend the $Z macro with local configuration
9665119Seric	information.
9765119Seric
9864755SericX **	Allow $x in -bt mode to expand macro "x".  (BCX)  [8.8]
9964755Seric
10064755SericX **	Allow /address in -bt mode to expand address through ruleset 0,
10164755Seric	aliases, etc. and display results.  [8.8]
10264755Seric
10364755SericX **	"R mailer address" in -bt mode does remotename on address.
10464755Seric
10564755SericE **	Adjust "infinite loop in rule" code to handle entire ruleset
10664755Seric	(Code from Michael Corrigan).
10764755Seric
10864718SericE **	Allow :include: from command line (not SMTP) to assist in
10964718Seric	"personal list" management -- i.e., creating lists that
11064718Seric	cannot be EXPNed.
11164718Seric
11264718SericX **	Database (keyed lookup) auto-rebuild.
11364718Seric
11464705SericX **	Find a good test suite and include in the distribution.
11564652Seric
11664718SericS **	You can use symbolic links to point into protected directories.
11764718Seric	(AEJ)
11864652Seric
11964705SericX **	Extend OI to allow separate settings for canonification, MX, and A
12064718Seric	lookups.  [8.8?]
12164652Seric
12264718SericX **	Add $!x class to match any number of words not in class x. (KRE)
12364683Seric
12464705SericX **	LOCAL_RULE_5 (Spencer Sun, spencer@phoenix.Princeton.EDU)
12564703Seric
12664705SericX **	Add "bestmx" map -- returns "best MX host" for this address.
12764705Seric	Allows you to do automatic detection of when you are the best
12864705Seric	MX for a given address.  [8.7?]
12964703Seric
13064718SericX **	Extend makemap to "gather" values -- i.e., merge entries that
13164718Seric	have the same keys. [8.8]  (BCX)
13264703Seric
13364718SericE **	Allow error messages on individual addresses in the qf file.
13464718Seric	(BCX)
13564718Seric
13664718SericX **	Multi-character option names.  [9.1]
13764718Seric
13864718SericX **	User database extensions for mailing lists:
13964718Seric	list:precedence -- Precedence: value for new message
14064718Seric	list:envelopefrom -- envelope "from" value for new message
14164718Seric	others?  [8.8]
14264718Seric
14364755SericB **	Restore `T' line to eliminate X-Authentication-Warning: at
14464755Seric	inappropriate times.  (Christophe Wolfhugel)
14564755Seric	- T could become a shorthand for Ct -- i.e., create a new
14664755Seric	  predefined class.
14764755Seric	- Eliminate "<user> set sender to <address>" message entirely?
14864755Seric	  (this is the workaround)
14964755Seric
15065119SericB **	Return-Path: header should have <> added if not already there.
15165119Seric
15265119SericX **	Add heuristic to determine if other end is a sendmail; use
15365119Seric	that to decide whether or not to honor F=I mailer flag.
15465119Seric	[der Mouse <mouse@collatz.mcrcim.mcgill.edu>]
15565119Seric
15665119SericX **	Automatically drop into MIME mode if you have a full name
15765119Seric	with 8-bit characters.  See envelope.c 8.19.1.1 and util.c
15865119Seric	8.17.1.1.  From Anders Ellefsrud <anders@ifi.uio.no>.
15965119Seric
16065119SericX **	-b? flag to read a header and show you what it will look like
16165119Seric	after all rewriting for an indicated address.
16265119Seric
16365119SericX *	Allow $> anywhere in RHS.  John Boeske <jboeske@ualberta.ca>.
16465119Seric
16564755SericX *	-V flag to print state of all (?) compilation flags.
16664755Seric
16764718SericX *	Handle Expires: header field (if still in queue).
16864718Seric
16964705SericX *	WIN/3B support (non-atomic rename, no h_addr_list, others?)
17064705Seric	(Bruce Lilly <blilly!bruce@uu.psi.com>)
17164703Seric
17264705SericX *	Sun YBTS daemon uses -ba.  [Martin Kiff <MGK@newton.npl.co.uk>]
17364705Seric
17464705SericB *	EXPN adds @domain to all mailers, including prog.  Is this right?
17564705Seric	[Bob Henry]
17664705Seric
17764705SericB *	EXPN adds @localhost instead of @$M.  [Pel Emanuelsson]
17864705Seric
17964705SericE *	Change body put code to time out around individual puts.  This will
18064705Seric	make the timeout algorithm more responsive and more resilient.
18164705Seric	Unfortunately, it's also a pain in the butt.
18264705Seric
18364705SericX *	Some way to relay unfound local users to another site.
18464705Seric
18564705SericX *	Disable all default RW sets except mailer-specific?
186