1.34 - allow eximstats to parse syslog lines as well as mainlog lines
[users/jgh/exim.git] / doc / doc-misc / WishList
index bee4f328afe439c4c2de027e91781bc65033063d..1704cdbb32283957387a0d50de49c340a8f26c46 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-misc/WishList,v 1.1 2004/10/08 10:38:47 ph10 Exp $
+$Cambridge: exim/doc/doc-misc/WishList,v 1.15 2004/12/17 14:52:43 ph10 Exp $
 
 EXIM 4 WISH LIST
 ----------------
 
 EXIM 4 WISH LIST
 ----------------
@@ -630,7 +630,7 @@ This could perhaps be done by extending the local_scan() idea and providing a
 (15) 01-Jan-02  M  More hooks like local_scan()
 
 One request has been for a similar hook at logging time. For other SMTP
 (15) 01-Jan-02  M  More hooks like local_scan()
 
 One request has been for a similar hook at logging time. For other SMTP
-interactions, maybe a hook into the ACL? See also 79 and 218.
+interactions, maybe a hook into the ACL? See also 79 and 218 and 301.
 ------------------------------------------------------------------------------
 
 (17) 11-Jan-02  M  The construction of config.h needs refactoring
 ------------------------------------------------------------------------------
 
 (17) 11-Jan-02  M  The construction of config.h needs refactoring
@@ -880,6 +880,11 @@ cleanly.
 
 22-Apr-04: Implemented for domains, addresses, and local parts. Hosts are
 too messy!
 
 22-Apr-04: Implemented for domains, addresses, and local parts. Hosts are
 too messy!
+
+The only sensible approach seems to be to allow IP address arguments only.
+Anything else should be diagnosed as an error. However, if a name appears in
+the list, a PTR lookup should be done. This may require a lot of refactoring
+in the code.
 ------------------------------------------------------------------------------
 
 (74)  22-Jul-02 M  Extend -bV to do more semantic checking
 ------------------------------------------------------------------------------
 
 (74)  22-Jul-02 M  Extend -bV to do more semantic checking
@@ -1319,6 +1324,10 @@ done.)
 ------------------------------------------------------------------------------
 
 (202) 10-Oct-03 S  -bvsomething to do a callout after the verify
 ------------------------------------------------------------------------------
 
 (202) 10-Oct-03 S  -bvsomething to do a callout after the verify
+
+For example: -bvc and -bvsc. The problem now (Nov 04) is that there are quite a
+few possible callout options that can be specified in an ACL, and they would
+have to be replicated here.
 ------------------------------------------------------------------------------
 
 (203) 14-Oct-03 S  verify=something to easily check for header presence
 ------------------------------------------------------------------------------
 
 (203) 14-Oct-03 S  verify=something to easily check for header presence
@@ -1372,7 +1381,9 @@ Unfortunately, this isn't quite as trivial as it seems.
 (215) 14-Nov-03 S  A way of turning off message-submission fix-ups
 
 Globally, and perhaps also via an ACL control so that it can be done on a
 (215) 14-Nov-03 S  A way of turning off message-submission fix-ups
 
 Globally, and perhaps also via an ACL control so that it can be done on a
-per-message basis.
+per-message basis. Is this still needed? Since this item was added to this
+list, default fixups for non-local messages have been removed, and control =
+submission has been added.
 ------------------------------------------------------------------------------
 
 (215) 26-Nov-03 M/L Conversion of IDNA domain names for logging
 ------------------------------------------------------------------------------
 
 (215) 26-Nov-03 M/L Conversion of IDNA domain names for logging
@@ -1413,14 +1424,10 @@ be able to set variables in routers like in acl's." This is effectively a
 radical suggestion for a complete re-design, and is therefore BIG.
 ------------------------------------------------------------------------------
 
 radical suggestion for a complete re-design, and is therefore BIG.
 ------------------------------------------------------------------------------
 
-(222) 19-Dec-03 S  Iterative option for dnsdb
-
-A way of getting a dnsdb lookup to chop off components until something is
-found: e.g. ${lookup dndsb-i{ns=a.b.c.d}} would look for nameservers for
-a.b.c.d, then b.c.d, etc.
-------------------------------------------------------------------------------
-
 (223) 22-Dec-03 S  Support SOA lookup in dnsdb lookups
 (223) 22-Dec-03 S  Support SOA lookup in dnsdb lookups
+
+This could be like zns, and climb up the tree till it hits a zone. Would the
+name of the zone be required?
 ------------------------------------------------------------------------------
 
 (225) 22-Dec-03 M  Add acl= to routers
 ------------------------------------------------------------------------------
 
 (225) 22-Dec-03 M  Add acl= to routers
@@ -1601,14 +1608,6 @@ A modifier that sets a delay between lines for multiline responses.
 Given that pids are reused non-cyclically these days, is this actually useful?
 ------------------------------------------------------------------------------
 
 Given that pids are reused non-cyclically these days, is this actually useful?
 ------------------------------------------------------------------------------
 
-(269) 26-May-04 U Run both a system and a user filter in test mode
-
-    exim -bF systemfilter -bf userfilter -f sender@dom < message
-
-This would allow testing the way the userfilter handles the system
-variables set by the systemfilter.
-------------------------------------------------------------------------------
-
 (270) 01-Jun-04 M Add headers at top and middle
 
 Various initiatives like SPF and DomainKeys require header lines to be added
 (270) 01-Jun-04 M Add headers at top and middle
 
 Various initiatives like SPF and DomainKeys require header lines to be added
@@ -1661,7 +1660,8 @@ Similar to the bounce and delivery warn message files.
 (280) 23-Jun-04 M A way of adding a header line after callout defer_ok
 
 This would record that, e.g., a sender domain verified, but the callout
 (280) 23-Jun-04 M A way of adding a header line after callout defer_ok
 
 This would record that, e.g., a sender domain verified, but the callout
-could not be done.
+could not be done. There are ways of fudging this, using ACL variables and
+"warn" statements.
 ------------------------------------------------------------------------------
 
 (285) 16-Jul-04 M Separate and independent log_selector for rejectlog
 ------------------------------------------------------------------------------
 
 (285) 16-Jul-04 M Separate and independent log_selector for rejectlog
@@ -1717,11 +1717,126 @@ AUTH during the callout checking, on all types of connection. I suppose that
 means making TLS available as well. This probably means a rewrite of the code
 that actually does the callout. Should we use the relevant transport in a new
 "callout" mode instead of keeping things separate? See also 253.
 means making TLS available as well. This probably means a rewrite of the code
 that actually does the callout. Should we use the relevant transport in a new
 "callout" mode instead of keeping things separate? See also 253.
+
+And here's another submitted idea: "My actual suggestion is that if this model
+is followed, the parent process doesn't have to stop the callout process if it
+is taking too long to respond: it can return 450 to the incoming connection
+within the 5 minute SMTP command timeout and leave the callout process to
+continue, in the hope that it will eventually get a result and store it in the
+callout cache in time for the sender's next attempt."
 ------------------------------------------------------------------------------
 
 (296) 09-Sep-04 S Make deliver_time work for == lines as well as =>
 
 What about ** lines?
 ------------------------------------------------------------------------------
 ------------------------------------------------------------------------------
 
 (296) 09-Sep-04 S Make deliver_time work for == lines as well as =>
 
 What about ** lines?
 ------------------------------------------------------------------------------
---- HWM 297 ------------------------------------------------------------------
+
+(298) 25-Oct-04 S Debugging the daemon process only
+
+When there are daemon problems (e.g. it dies) it would be helpful to be able to
+turn on debugging that did not get passed on to any subprocesses.
+------------------------------------------------------------------------------
+
+(299) 25-Oct-04 S Options to make Sieve "keep" pass to next router
+
+Currently, "keep" saves in the mailbox. Probably need two options, for implicit
+and explicit keep commands.
+------------------------------------------------------------------------------
+
+(300) 25-Oct-04 S Option to lock out Sieve or Exim filter
+
+Currently, if allow_filter is set, either kind of filter is permitted.
+------------------------------------------------------------------------------
+
+(301) 27-Oct-04 M Use an "ACL" to filter logging
+
+This idea was for ACL syntax to be able to "accept" or "deny" individual log
+lines. This would make it possible to have, for example, per-host logging for
+certain things. See also 15 above.
+------------------------------------------------------------------------------
+
+(302) 28-Oct-04 M Expand pass_router and redirect_router
+
+Doing this would mean postponing the validity checks till the router was
+actually used instead of doing them at start up. It does not seem to be a
+facility that will be widely used.
+------------------------------------------------------------------------------
+
+(303) 28-Oct-04 M Support SQL relay
+
+This would make it easier for packagers to support "generic SQL" without having
+to choose which one. It can be slotted in using a MySQL interface without
+modifying Exim, but native support would be nice.
+------------------------------------------------------------------------------
+
+(304) 02-Nov-04 M A way of seeing the whole message in Perl or ${run
+
+At present, the headers are available in $message_headers, but only part of
+the body is visible. The only way to pass the whole body would be as a file
+descriptor because it can be very large. See also (42).
+------------------------------------------------------------------------------
+
+(305) 02-Nov-04 M A Perl transport
+
+The suggestion here is that an embedded Perl function takes responsibility for
+doing the delivery. I am not at all keen on this. One way of doing it would be
+to implement (244), which provides an "on success" string expansion. Then
+anyone who wants this could run that on a transport that does nothing.
+------------------------------------------------------------------------------
+
+(306) 09-Nov-04 M Make the search type partial-lsearch*@ be useful
+
+At present, it treats the whole key as a domain for the partial search, then
+does the *@ thing. A more sensible plan would be something like:
+
+  user@company.com
+  *@company.com
+  user@*.company.com
+  *@*.company.com
+  *
+
+That is, try the local part and * at each of the partial domain values.
+------------------------------------------------------------------------------
+
+(307) 24-Nov-04 S Check the syntax of Message-ID: header lines
+
+This could be added to "verify=header_syntax" or, if the incompatibility is
+felt to be too great, an additional condition, or a sub-option, could be added.
+------------------------------------------------------------------------------
+
+(308) 24-Nov-04 S Add $body_longlinecount and $header_longlinecount
+
+These variables would hold the number of physical lines in the body and header
+that were longer than 998 bytes. This would be fiddly to implement because of
+the way Exim currently reads the input. It isn't just a trivial patch.
+------------------------------------------------------------------------------
+
+(309) 01-Dec-04 S/M Queue runners should get locks before forking
+
+If a queue-runner opened the -D file and took out the lock before forking, it
+would waste fewer resources if the message was already being delivered. But how
+often would this actually matter in practice?
+------------------------------------------------------------------------------
+
+(310) 06-Dec-04 S After "personal" save what matched
+
+The idea is to save the email address that actually was found in the message
+in a variable so it can be used (e.g. as the From: address in an autoreply).
+------------------------------------------------------------------------------
+
+(311) 07-Dec-04 ? More flexible SMTP response codes
+
+The requestor wanted to be able to specify, for example, 551 in an ACL deny
+instead of 550, and also vary the defer code. The first digit, however, should
+remain fixed. In addition to main codes, enhanced status codes (RFC 2034) were
+requested. (As far as I can tell, they have never been highly popular.)
+------------------------------------------------------------------------------
+
+(312) 10-Dec-04 ? Shadow remote transports
+
+Unless a lot of work is done, this would be restricted to another remote
+transport. A similar effect could therefore be achieved with "shadow_hosts"
+which are like fallback_hosts but which operate on success.
+------------------------------------------------------------------------------
+--- HWM 312 ------------------------------------------------------------------
 ---------------------------- End of WishList ---------------------------------
 ---------------------------- End of WishList ---------------------------------