Added some musings to the WishList.
[users/jgh/exim.git] / doc / doc-misc / WishList
index 220892e9900fc9819b1f058e9d1a90fbefbd1c61..572a8d5c11881a9145b96eeab91f4f4ac1f5bd29 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-misc/WishList,v 1.46 2005/08/08 13:52:19 ph10 Exp $
+$Cambridge: exim/doc/doc-misc/WishList,v 1.63 2006/03/02 15:13:59 ph10 Exp $
 
 EXIM 4 WISH LIST
 ----------------
@@ -373,10 +373,6 @@ This is for looking up things like subject contents. Probably need an option to
 exim_dbmbuild to make them into DBM files.
 ------------------------------------------------------------------------------
 
-(174)  19-Sep-2000 S  A way of using a different port for fallback hosts.
-Dean Brooks
-------------------------------------------------------------------------------
-
 (181)  10-Nov-2000 S  Compile-time options for ignoring Sendmail options
 
 So that new ones could be accommodated easily.
@@ -507,8 +503,6 @@ these entries.
 . Options and/or a utility to enable non-privileged users to view the queue
 (e.g. -bpp), manipulate their own messages, etc.
 
-. Specify a port along with a host in a route_list.
-
 . A generalized "From" escaping scheme that also escapes >From so that the
 whole thing can be reversed.
 
@@ -1226,12 +1220,6 @@ Maybe there should always be a variable with the error message for all the
 different kinds of verify failure.
 ------------------------------------------------------------------------------
 
-(196) 30-Sep-03 S  A way of detecting whether it was HELO or EHLO in the ACL
-
-$received_protocol isn't reset until after the command is accepted (which
-seems right), and $smtp_data shows only the arguments. Maybe $smtp_command?
-------------------------------------------------------------------------------
-
 (197) 30-Sep-03 S  MACROS_DROP_PRIVS and ALT_CONFIG_DROP_PRIVS
 
 Now that alternative configurations can be restricted to certain directories,
@@ -1331,14 +1319,6 @@ See also 333.
 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
-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
 
 IDNA (RFCs 3490-3492) converts domains names containing non-ASCII characters
@@ -1934,14 +1914,6 @@ This is probably a longish-term thing at the moment. Quotas over 2G are now
 supported, but not individual messages; no doubt one day this will be wanted.
 ------------------------------------------------------------------------------
 
-(335) 14-Jun-05 T Re-arrange default configuration
-
-A small niggle which might be worth fixing is the ordering of the ACL in the
-default configuration file. The relay_from_hosts and authenticated clauses
-would be better off before the dnslists examples. However, this should be left
-until a x.x0 release, because of the documentation implications.
-------------------------------------------------------------------------------
-
 (336) 16-Jun-05 M Show recipient(s) after header check failure
 
 The mainlog line for "There is no valid sender in any header line" shows the
@@ -1973,5 +1945,89 @@ feature. It would be nice if this was automatic.
 This wish is for an option to log the name of the file that is written in
 maildir format (e.g. time.pid.host).
 ------------------------------------------------------------------------------
---- HWM 339 ------------------------------------------------------------------
+
+(340) 30-Aug-05 M Match more than one item
+
+match_address, for instance, matches one address to a list. The wish is to be
+able to supply two lists; for each address in the first list, search the
+second. Maybe something like ${match_any{...}{...}} is needed.
+------------------------------------------------------------------------------
+
+(341) 15-Sep-05 S Add /return_path_retain to submission mode
+
+This would re-instate the behaviour prior to change 4.52/PH/04.
+------------------------------------------------------------------------------
+
+(342) 26-Sep-05 T Log and maybe defer odd values for condition pre-condition
+
+Odd values for "condition" in an ACL cause it to defer. In a router, they are
+treated as "true". At least they should be logged in a router, and perhaps they
+should also defer, for compatibility with ACLs.
+------------------------------------------------------------------------------
+
+(343) 03-Oct-05 M A query-style lookup for scanning flat files
+
+The natural syntax for this would be to use a regex, like this:
+${lookup regex{/some/file regex}{found-string}{not-found-string}}
+However, it would be natural to want to use $1 etc in the found-string; this
+would be hard because of the lookup caching (if repeated, the lookup won't
+actually be done and therefore the numerical variables won't be set), and in
+any case, even without caching (and it could, I suppose, be disabled for this
+lookup) those variables are not in the right storage pool even if they were
+preserved after the lookup.
+
+An alternative approach might be to implement something like this:
+
+  ${scanfile{/some/file}{sub-expression}}
+
+where the sub-expression is expanded for every line in the file, with each line
+in turn being put into $value. This is like a conditional ${readfile, and in
+fact ${readfile could be written using ${scanfile. It would be nice to find a
+way of stopping the scan once something has happened. The only thing I can
+think of is to invent a variable that changes when scanning a line generates
+some non-null text, and then always to stop on a forced failure. That would
+allow expressions like this:
+
+  ${scanfile{/some/file}
+    {
+    ${if eq{$generated}{}{${if match{regex}{$value}{something}}} fail}
+    }}
+
+It's all rather clumsy. Once a line has matched and generated some text, the
+next iteration would stop the scan. Another thought: maybe use $scanline
+instead of $value (to save confusion) and have $scantext containing everything
+that's been generated so far. That sounds pretty flexible.
+------------------------------------------------------------------------------
+
+(344) 10-Oct-05 M Make debug_print work in authenticators
+------------------------------------------------------------------------------
+
+(345) 14-Oct-05 M Standardize rejection messages
+
+"The parsing for rejection lines is a bit of a mess, and fairly
+unmaintainable. Do you think it would be possible to standardise
+rejection/refusal log messages? How about something like:
+
+(<ID>|16 Spaces) *< (Connection|MAIL|RCPT|HELO|EHLO|DATA) rejected (from
+<Address>)?: <Reason> (\(<Detail>\))?"
+------------------------------------------------------------------------------
+
+(346) 20-Oct-05 S Set $domain and $local_part in retry matching
+
+Currently, these variables are unset. Make it like rewrite matching.
+------------------------------------------------------------------------------
+
+(347) 15-Nov-05 M Arrange to expand data from wildlsearch
+
+This would allow keys that are regular expressions to set up numerical
+variables that are included in the data. This has to be done inside the lookup
+code, because of caching. Probably means we have to invent ewildlsearch and
+enwildlsearch.
+------------------------------------------------------------------------------
+
+(350) 28-Feb-06 S Additional errors for retry rules
+
+(i) Unexpected connection close; (ii) mail_4xx.
+------------------------------------------------------------------------------
+--- HWM 350 ------------------------------------------------------------------
 ---------------------------- End of WishList ---------------------------------