xref: /csrg-svn/usr.sbin/sendmail/src/TODO (revision 65119)
1*65119Seric(Version 8.9 of 12/13/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
18*65119SericX ****	Macro giving size of the message in bytes.
19*65119Seric
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
35*65119SericX ****	Mailer flag to override MX lookups.
36*65119Seric
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
45*65119SericE ****	Move delivery forking from sendenvelope to sendall so that
46*65119Seric	the connection cache works between split envelopes, and to
47*65119Seric	avoid a flurry of processes should you be sending to lots of
48*65119Seric	sub-lists.
49*65119Seric
50*65119SericX ****	Add uucp-bang mailer that strips off any domain name from
51*65119Seric	the envelope recipient address first; this is for use in
52*65119Seric	mailer table entries.
53*65119Seric
54*65119SericX ***	Create a macro that has message size.
55*65119Seric	Peter Wemm <peter@DIALix.oz.au>
56*65119Seric
5764718SericE ***	Dynamically allocate MAXNAME buffers for headers.
5864718Seric
59*65119SericE ***	Dynamically allocate "line" buffer in readaliases().
60*65119Seric
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
81*65119SericB ***	Fix syslog buffer overflow problems.
82*65119Seric
83*65119SericB **	Commas in NAME envariable cause problems (Peter Wan
84*65119Seric	<peter@cc.gatech.edu>).  Merge with suggestions to use
85*65119Seric	MIME-format for 8-bit characters?
86*65119Seric
87*65119SericE **	Save address information that comes back as the "additional
88*65119Seric	records" part of an MX lookup, to avoid additional name server
89*65119Seric	attempts.  If there is an MX record without an additional A
90*65119Seric	record, delete it (this avoids a problem with misconfigured
91*65119Seric	DNS situations).
92*65119Seric
93*65119SericX **	Allow a way to extend the $Z macro with local configuration
94*65119Seric	information.
95*65119Seric
9664755SericX **	Allow $x in -bt mode to expand macro "x".  (BCX)  [8.8]
9764755Seric
9864755SericX **	Allow /address in -bt mode to expand address through ruleset 0,
9964755Seric	aliases, etc. and display results.  [8.8]
10064755Seric
10164755SericX **	"R mailer address" in -bt mode does remotename on address.
10264755Seric
10364755SericE **	Adjust "infinite loop in rule" code to handle entire ruleset
10464755Seric	(Code from Michael Corrigan).
10564755Seric
10664718SericE **	Allow :include: from command line (not SMTP) to assist in
10764718Seric	"personal list" management -- i.e., creating lists that
10864718Seric	cannot be EXPNed.
10964718Seric
11064718SericX **	Database (keyed lookup) auto-rebuild.
11164718Seric
11264705SericX **	Find a good test suite and include in the distribution.
11364652Seric
11464718SericS **	You can use symbolic links to point into protected directories.
11564718Seric	(AEJ)
11664652Seric
11764705SericX **	Extend OI to allow separate settings for canonification, MX, and A
11864718Seric	lookups.  [8.8?]
11964652Seric
12064718SericX **	Add $!x class to match any number of words not in class x. (KRE)
12164683Seric
12264705SericX **	LOCAL_RULE_5 (Spencer Sun, spencer@phoenix.Princeton.EDU)
12364703Seric
12464705SericX **	Add "bestmx" map -- returns "best MX host" for this address.
12564705Seric	Allows you to do automatic detection of when you are the best
12664705Seric	MX for a given address.  [8.7?]
12764703Seric
12864718SericX **	Extend makemap to "gather" values -- i.e., merge entries that
12964718Seric	have the same keys. [8.8]  (BCX)
13064703Seric
13164718SericE **	Allow error messages on individual addresses in the qf file.
13264718Seric	(BCX)
13364718Seric
13464718SericX **	Multi-character option names.  [9.1]
13564718Seric
13664718SericX **	User database extensions for mailing lists:
13764718Seric	list:precedence -- Precedence: value for new message
13864718Seric	list:envelopefrom -- envelope "from" value for new message
13964718Seric	others?  [8.8]
14064718Seric
14164755SericB **	Restore `T' line to eliminate X-Authentication-Warning: at
14264755Seric	inappropriate times.  (Christophe Wolfhugel)
14364755Seric	- T could become a shorthand for Ct -- i.e., create a new
14464755Seric	  predefined class.
14564755Seric	- Eliminate "<user> set sender to <address>" message entirely?
14664755Seric	  (this is the workaround)
14764755Seric
148*65119SericB **	Return-Path: header should have <> added if not already there.
149*65119Seric
150*65119SericX **	Add heuristic to determine if other end is a sendmail; use
151*65119Seric	that to decide whether or not to honor F=I mailer flag.
152*65119Seric	[der Mouse <mouse@collatz.mcrcim.mcgill.edu>]
153*65119Seric
154*65119SericX **	Automatically drop into MIME mode if you have a full name
155*65119Seric	with 8-bit characters.  See envelope.c 8.19.1.1 and util.c
156*65119Seric	8.17.1.1.  From Anders Ellefsrud <anders@ifi.uio.no>.
157*65119Seric
158*65119SericX **	-b? flag to read a header and show you what it will look like
159*65119Seric	after all rewriting for an indicated address.
160*65119Seric
161*65119SericX *	Allow $> anywhere in RHS.  John Boeske <jboeske@ualberta.ca>.
162*65119Seric
16364755SericX *	-V flag to print state of all (?) compilation flags.
16464755Seric
16564718SericX *	Handle Expires: header field (if still in queue).
16664718Seric
16764705SericX *	WIN/3B support (non-atomic rename, no h_addr_list, others?)
16864705Seric	(Bruce Lilly <blilly!bruce@uu.psi.com>)
16964703Seric
17064705SericX *	Sun YBTS daemon uses -ba.  [Martin Kiff <MGK@newton.npl.co.uk>]
17164705Seric
17264705SericB *	EXPN adds @domain to all mailers, including prog.  Is this right?
17364705Seric	[Bob Henry]
17464705Seric
17564705SericB *	EXPN adds @localhost instead of @$M.  [Pel Emanuelsson]
17664705Seric
17764705SericE *	Change body put code to time out around individual puts.  This will
17864705Seric	make the timeout algorithm more responsive and more resilient.
17964705Seric	Unfortunately, it's also a pain in the butt.
18064705Seric
18164705SericX *	Some way to relay unfound local users to another site.
18264705Seric
18364705SericX *	Disable all default RW sets except mailer-specific?
184