xref: /csrg-svn/usr.sbin/sendmail/src/TODO (revision 65188)
1*65188Seric(Version 8.11 of 12/20/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
20*65188SericX ****	Create a "service switch" abstraction that will interface with
21*65188Seric	Sun NSS, Ultrix /etc/svc.conf, etc.  This will allow you to
22*65188Seric	turn off DNS entirely, a la ``OIoff''.  [8.7]
2364652Seric
2464718SericX ****	Should have new mailer flags to override LocalMailer stuff:
2564652Seric	- M_ALIASABLE (A) -- can use as the LHS of an alias.
2664652Seric	- M_HASPWENT (w) -- should have a /etc/passwd entry.  If not found
2764652Seric	  there, implies user unknown.  Also implies .forward and UDB
2864652Seric	  searching, search for |, /, and :include:, etc.).
2964652Seric	- Actually, UDB searching and |, /, and :include: mapping should
3064652Seric	  probably be on another flag.  (Cannot be 'l' for back compat
3164652Seric	  reasons.)
3264652Seric	- Need for $@host part of triple and Return-Receipt-To: processing
3364652Seric	  should also be split apart.
3464705Seric	[8.8]
3564652Seric
3665119SericX ****	Mailer flag to override MX lookups.
3765119Seric
3864755SericE ****	Fix parseaddr to return a dummy mailer with QBADADDR set for
3964755Seric	all cases except null input; change calls to be more sceptical
4064755Seric	about the return value, checking this bit instead of just
4164755Seric	checking for == NULL.  (Eric Wassenaar)  [8.7]
4264755Seric
4364799SericX ****	Run time configurable locking -- e.g., compile in HASFLOCK and
4464799Seric	HASLOCKF, and then choose at runtime between these.
4564799Seric
4665119SericE ****	Move delivery forking from sendenvelope to sendall so that
4765119Seric	the connection cache works between split envelopes, and to
4865119Seric	avoid a flurry of processes should you be sending to lots of
4965119Seric	sub-lists.
5065119Seric
5165119SericX ****	Add uucp-bang mailer that strips off any domain name from
5265119Seric	the envelope recipient address first; this is for use in
5365119Seric	mailer table entries.
5465119Seric
55*65188SericX ****	"quote" map (inverse of dequote).  Lets you turn node::user
56*65188Seric	into "node::user"@DECNET.gateway
57*65188Seric
58*65188SericX ***	Mailer flag that does a "ping" equivalent -- if it fails, wait
59*65188Seric	30 seconds and try again (for dialup PPP connections).  Could
60*65188Seric	just try the connection and then immediately retry on some
61*65188Seric	kinds of failures.
62*65188Seric
6365119SericX ***	Create a macro that has message size.
6465119Seric	Peter Wemm <peter@DIALix.oz.au>
6565119Seric
6664718SericE ***	Dynamically allocate MAXNAME buffers for headers.
6764718Seric
6865119SericE ***	Dynamically allocate "line" buffer in readaliases().
6965119Seric
7064705SericX ***	Add ability to disable Return-Receipt-To: on a privacy flag. [8.8]
7164652Seric
7264718SericX ***	Add -P to set precedence (e.g., -Pbulk). [8.8]  (BCX)
7364652Seric
7464718SericX ***	Runtime option to enable/disable IDENT protocol.
7564718Seric
7664718SericE ***	Don't send ErrMsgFile to postmaster bounces.  (Josh Smith,
7764718Seric	josh@osiris.ac.hmc.edu).
7864718Seric
7964718SericX ***	Add "user" map to look up a user name via getpwnam -- so that
8064718Seric	non-local names can be forwarded to another site.  [8.8]
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
9065119SericB ***	Fix syslog buffer overflow problems.
9165119Seric
9265165SericX ***	DECNET_RELAY support in configs.
9365165Seric
94*65188SericE **	Change "/usr/tmp/dead.letter" to be based on _PATH_VARTMP.
95*65188Seric
9665119SericB **	Commas in NAME envariable cause problems (Peter Wan
9765119Seric	<peter@cc.gatech.edu>).  Merge with suggestions to use
9865119Seric	MIME-format for 8-bit characters?
9965119Seric
10065119SericE **	Save address information that comes back as the "additional
10165119Seric	records" part of an MX lookup, to avoid additional name server
10265119Seric	attempts.  If there is an MX record without an additional A
10365119Seric	record, delete it (this avoids a problem with misconfigured
10465119Seric	DNS situations).
10565119Seric
10665119SericX **	Allow a way to extend the $Z macro with local configuration
10765119Seric	information.
10865119Seric
10964755SericX **	Allow $x in -bt mode to expand macro "x".  (BCX)  [8.8]
11064755Seric
11164755SericX **	Allow /address in -bt mode to expand address through ruleset 0,
11264755Seric	aliases, etc. and display results.  [8.8]
11364755Seric
11464755SericX **	"R mailer address" in -bt mode does remotename on address.
11564755Seric
11664755SericE **	Adjust "infinite loop in rule" code to handle entire ruleset
11764755Seric	(Code from Michael Corrigan).
11864755Seric
11964718SericE **	Allow :include: from command line (not SMTP) to assist in
12064718Seric	"personal list" management -- i.e., creating lists that
12164718Seric	cannot be EXPNed.
12264718Seric
12364718SericX **	Database (keyed lookup) auto-rebuild.
12464718Seric
12564705SericX **	Find a good test suite and include in the distribution.
12664652Seric
12764718SericS **	You can use symbolic links to point into protected directories.
12864718Seric	(AEJ)
12964652Seric
13064705SericX **	Extend OI to allow separate settings for canonification, MX, and A
13164718Seric	lookups.  [8.8?]
13264652Seric
13364718SericX **	Add $!x class to match any number of words not in class x. (KRE)
13464683Seric
13564705SericX **	LOCAL_RULE_5 (Spencer Sun, spencer@phoenix.Princeton.EDU)
13664703Seric
13764705SericX **	Add "bestmx" map -- returns "best MX host" for this address.
13864705Seric	Allows you to do automatic detection of when you are the best
13964705Seric	MX for a given address.  [8.7?]
14064703Seric
14164718SericX **	Extend makemap to "gather" values -- i.e., merge entries that
14264718Seric	have the same keys. [8.8]  (BCX)
14364703Seric
14464718SericE **	Allow error messages on individual addresses in the qf file.
14564718Seric	(BCX)
14664718Seric
14764718SericX **	Multi-character option names.  [9.1]
14864718Seric
14964718SericX **	User database extensions for mailing lists:
15064718Seric	list:precedence -- Precedence: value for new message
15164718Seric	list:envelopefrom -- envelope "from" value for new message
15264718Seric	others?  [8.8]
15364718Seric
15464755SericB **	Restore `T' line to eliminate X-Authentication-Warning: at
15564755Seric	inappropriate times.  (Christophe Wolfhugel)
15664755Seric	- T could become a shorthand for Ct -- i.e., create a new
15764755Seric	  predefined class.
15864755Seric	- Eliminate "<user> set sender to <address>" message entirely?
15964755Seric	  (this is the workaround)
16064755Seric
16165119SericB **	Return-Path: header should have <> added if not already there.
16265119Seric
16365119SericX **	Add heuristic to determine if other end is a sendmail; use
16465119Seric	that to decide whether or not to honor F=I mailer flag.
16565119Seric	[der Mouse <mouse@collatz.mcrcim.mcgill.edu>]
16665119Seric
16765119SericX **	Automatically drop into MIME mode if you have a full name
16865119Seric	with 8-bit characters.  See envelope.c 8.19.1.1 and util.c
16965119Seric	8.17.1.1.  From Anders Ellefsrud <anders@ifi.uio.no>.
17065119Seric
17165119SericX **	-b? flag to read a header and show you what it will look like
17265119Seric	after all rewriting for an indicated address.
17365119Seric
174*65188SericE **	Log $u in logsender() (for=<someaddress>).
175*65188Seric
17665119SericX *	Allow $> anywhere in RHS.  John Boeske <jboeske@ualberta.ca>.
17765119Seric
17864755SericX *	-V flag to print state of all (?) compilation flags.
17964755Seric
18064718SericX *	Handle Expires: header field (if still in queue).
18164718Seric
18264705SericX *	WIN/3B support (non-atomic rename, no h_addr_list, others?)
18364705Seric	(Bruce Lilly <blilly!bruce@uu.psi.com>)
18464703Seric
18564705SericX *	Sun YBTS daemon uses -ba.  [Martin Kiff <MGK@newton.npl.co.uk>]
18664705Seric
18764705SericB *	EXPN adds @domain to all mailers, including prog.  Is this right?
18864705Seric	[Bob Henry]
18964705Seric
19064705SericB *	EXPN adds @localhost instead of @$M.  [Pel Emanuelsson]
19164705Seric
19264705SericE *	Change body put code to time out around individual puts.  This will
19364705Seric	make the timeout algorithm more responsive and more resilient.
19464705Seric	Unfortunately, it's also a pain in the butt.
19564705Seric
19664705SericX *	Some way to relay unfound local users to another site.
19764705Seric
19864705SericX *	Disable all default RW sets except mailer-specific?
199