xref: /original-bsd/usr.sbin/sendmail/src/TODO (revision f51da917)
1(Version 8.13 of 12/30/93)
2
3Key:
4  X -- extension (user visible change)
5  B -- bug fix
6  S -- security fix
7  E -- enhancement to existing algorithm
8
9X ****	8 -> 7 bit MIME conversion.
10
11E ****	Change NoReturn to be an envelope flag. [8.7]
12
13X ****	Add M_NOLOOPBACKCHK (k) mailer flag to turn off check of name in
14	HELO command. [8.8]
15
16X ****	Merge Sun changes.  [8.7]
17
18X ****	Macro giving size of the message in bytes.
19
20X ****	Create a "service switch" abstraction that will interface with
21	Sun NSS, Ultrix /etc/svc.conf, etc.  This will allow you to
22	turn off DNS entirely, a la ``OIoff''.  [8.7]
23
24X ****	Should have new mailer flags to override LocalMailer stuff:
25	- M_ALIASABLE (A) -- can use as the LHS of an alias.
26	- M_HASPWENT (w) -- should have a /etc/passwd entry.  If not found
27	  there, implies user unknown.  Also implies .forward and UDB
28	  searching, search for |, /, and :include:, etc.).
29	- Actually, UDB searching and |, /, and :include: mapping should
30	  probably be on another flag.  (Cannot be 'l' for back compat
31	  reasons.)
32	- Need for $@host part of triple and Return-Receipt-To: processing
33	  should also be split apart.
34	[8.8]
35
36X ****	Mailer flag to override MX lookups.
37
38E ****	Fix parseaddr to return a dummy mailer with QBADADDR set for
39	all cases except null input; change calls to be more sceptical
40	about the return value, checking this bit instead of just
41	checking for == NULL.  (Eric Wassenaar)  [8.7]
42
43X ****	Run time configurable locking -- e.g., compile in HASFLOCK and
44	HASLOCKF, and then choose at runtime between these.
45
46E ****	Move delivery forking from sendenvelope to sendall so that
47	the connection cache works between split envelopes, and to
48	avoid a flurry of processes should you be sending to lots of
49	sub-lists.
50
51X ****	Add uucp-bang mailer that strips off any domain name from
52	the envelope recipient address first; this is for use in
53	mailer table entries.
54
55X ****	"quote" map (inverse of dequote).  Lets you turn node::user
56	into "node::user"@DECNET.gateway
57
58X ****	Named rulesets.
59
60X ***	Mailer flag that does a "ping" equivalent -- if it fails, wait
61	30 seconds and try again (for dialup PPP connections).  Could
62	just try the connection and then immediately retry on some
63	kinds of failures.
64
65X ***	Create a macro that has message size.
66	Peter Wemm <peter@DIALix.oz.au>
67
68E ***	Dynamically allocate MAXNAME buffers for headers.
69
70E ***	Dynamically allocate "line" buffer in readaliases().
71
72X ***	Add ability to disable Return-Receipt-To: on a privacy flag. [8.8]
73
74X ***	Add -P to set precedence (e.g., -Pbulk). [8.8]  (BCX)
75
76X ***	Runtime option to enable/disable IDENT protocol.
77
78E ***	Don't send ErrMsgFile to postmaster bounces.  (Josh Smith,
79	josh@osiris.ac.hmc.edu).
80
81X ***	Add "user" map to look up a user name via getpwnam -- so that
82	non-local names can be forwarded to another site.  [8.8]
83
84E ***	Have daemons that start up check the alias database for
85	correctness and auto-rebuild if necessary.  This is to handle
86	the case of a system crash during an alias database rebuild.
87
88E ***	Eliminate E qf line and e_errorqueue; use e_errorsto a la
89	e_receiptto.  This simplifies and gives symmetry.  (Eric
90	Wassenaar)
91
92B ***	Fix syslog buffer overflow problems.
93
94X ***	DECNET_RELAY support in configs.
95
96X **	"E" configuration line that sets environment variables.
97
98E **	Change listen() high-load backoff to accept and issue a 4xx
99	message so that it responds more quickly.
100
101E **	Change "/usr/tmp/dead.letter" to be based on _PATH_VARTMP.
102
103B **	Commas in NAME envariable cause problems (Peter Wan
104	<peter@cc.gatech.edu>).  Merge with suggestions to use
105	MIME-format for 8-bit characters?
106
107E **	Save address information that comes back as the "additional
108	records" part of an MX lookup, to avoid additional name server
109	attempts.  If there is an MX record without an additional A
110	record, delete it (this avoids a problem with misconfigured
111	DNS situations).
112
113X **	Allow a way to extend the $Z macro with local configuration
114	information.
115
116X **	Allow $x in -bt mode to expand macro "x".  (BCX)  [8.8]
117
118X **	Allow /address in -bt mode to expand address through ruleset 0,
119	aliases, etc. and display results.  [8.8]
120
121X **	"R mailer address" in -bt mode does remotename on address.
122
123E **	Adjust "infinite loop in rule" code to handle entire ruleset
124	(Code from Michael Corrigan).
125
126E **	Allow :include: from command line (not SMTP) to assist in
127	"personal list" management -- i.e., creating lists that
128	cannot be EXPNed.
129
130X **	Database (keyed lookup) auto-rebuild.
131
132X **	Find a good test suite and include in the distribution.
133
134S **	You can use symbolic links to point into protected directories.
135	(AEJ)
136
137X **	Extend OI to allow separate settings for canonification, MX, and A
138	lookups.  [8.8?]
139
140X **	Add $!x class to match any number of words not in class x. (KRE)
141
142X **	LOCAL_RULE_5 (Spencer Sun, spencer@phoenix.Princeton.EDU)
143
144X **	Add "bestmx" map -- returns "best MX host" for this address.
145	Allows you to do automatic detection of when you are the best
146	MX for a given address.  [8.7?]
147
148X **	Extend makemap to "gather" values -- i.e., merge entries that
149	have the same keys. [8.8]  (BCX)
150
151E **	Allow error messages on individual addresses in the qf file.
152	(BCX)
153
154X **	Multi-character option names.  [9.1]
155
156X **	User database extensions for mailing lists:
157	list:precedence -- Precedence: value for new message
158	list:envelopefrom -- envelope "from" value for new message
159	others?  [8.8]
160
161B **	Restore `T' line to eliminate X-Authentication-Warning: at
162	inappropriate times.  (Christophe Wolfhugel)
163	- T could become a shorthand for Ct -- i.e., create a new
164	  predefined class.
165	- Eliminate "<user> set sender to <address>" message entirely?
166	  (this is the workaround)
167
168B **	Return-Path: header should have <> added if not already there.
169
170X **	Add heuristic to determine if other end is a sendmail; use
171	that to decide whether or not to honor F=I mailer flag.
172	[der Mouse <mouse@collatz.mcrcim.mcgill.edu>]
173
174X **	Automatically drop into MIME mode if you have a full name
175	with 8-bit characters.  See envelope.c 8.19.1.1 and util.c
176	8.17.1.1.  From Anders Ellefsrud <anders@ifi.uio.no>.
177
178X **	-b? flag to read a header and show you what it will look like
179	after all rewriting for an indicated address.
180
181E **	Log $u in logsender() (for=<someaddress>).
182
183X *	Allow $> anywhere in RHS.  John Boeske <jboeske@ualberta.ca>.
184
185X *	-V flag to print state of all (?) compilation flags.
186
187X *	Handle Expires: header field (if still in queue).
188
189X *	WIN/3B support (non-atomic rename, no h_addr_list, others?)
190	(Bruce Lilly <blilly!bruce@uu.psi.com>)
191
192X *	Sun YBTS daemon uses -ba.  [Martin Kiff <MGK@newton.npl.co.uk>]
193
194B *	EXPN adds @domain to all mailers, including prog.  Is this right?
195	[Bob Henry]
196
197B *	EXPN adds @localhost instead of @$M.  [Pel Emanuelsson]
198
199E *	Change body put code to time out around individual puts.  This will
200	make the timeout algorithm more responsive and more resilient.
201	Unfortunately, it's also a pain in the butt.
202
203X *	Some way to relay unfound local users to another site.
204
205X *	Disable all default RW sets except mailer-specific?
206