X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/e05f33e0b79c14608757a60f2f3f8588008355f7..46c23dbae2fd414f8fc09d37cb3953eef6bb7d37:/doc/doc-misc/WishList diff --git a/doc/doc-misc/WishList b/doc/doc-misc/WishList index bee4f328a..8ee208859 100644 --- a/doc/doc-misc/WishList +++ b/doc/doc-misc/WishList @@ -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.20 2005/02/21 10:22:48 ph10 Exp $ EXIM 4 WISH LIST ---------------- @@ -577,15 +577,6 @@ size. Directory scanning is expensive; is there any scope for caching? It would seem not (you don't often get two addresses to the same user). ------------------------------------------------------------------------------ -(4) 01-Jan-02 S Option to reject if no From: or Date: header line - -Exim, in common with many other MTAs, inserts a From: or Date: header line if -one is missing. (It also inserts a blank Bcc:, but that is no longer needed by -RFC 2822 - it was by 822.) The suggestion is an option to give an error -instead. This could be done by making it possible to detect these insertions in -the acl_smtp_data ACL. ------------------------------------------------------------------------------- - (6) 01-Jan-02 S Option to disable the use of -t Dave C. @@ -630,7 +621,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 -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 @@ -767,9 +758,11 @@ Client: We need a variant of 'exim -bs' which would connect to a specified host, send AUTH/ATRN, and then accept incoming messages as usual. ------------------------------------------------------------------------------ -(50) 22-May-02 T Add comment (duplicate address) to Envelope-To: +(50) 22-May-02 S? Add comment (duplicate address) to Envelope-To: -This is just to minimize the confusion some people have. +This is just to minimize the confusion some people have. However, it is not +trivially easy to decide which to label as duplicates because of complications +with redirection. I'm not convinced it will actually reduce confusion. ------------------------------------------------------------------------------ (51) 07-Jun-02 S Option to use another address in callout MAIL FROM @@ -880,6 +873,12 @@ cleanly. 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, because of the current assumption that were are (almost) always +dealing with THE sending host. ------------------------------------------------------------------------------ (74) 22-Jul-02 M Extend -bV to do more semantic checking @@ -1319,6 +1318,10 @@ done.) ------------------------------------------------------------------------------ (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 @@ -1372,7 +1375,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 -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 @@ -1413,14 +1418,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. ------------------------------------------------------------------------------ -(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 + +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 @@ -1474,7 +1475,8 @@ and last item with ease; doing this using {if ...} would be quite difficult!" (230) 30-Jan-04 M Find IP addresses of a domain's nameservers This needs some way of processing a list of things in a similar way, which -should perhaps be a more general facility. +should perhaps be a more general facility. // This can now be done using the +list facilities of dnsdb; verbose, but it can be done. // ------------------------------------------------------------------------------ (231) 30-Jan-04 ? -C has a number of problems when used for real @@ -1493,7 +1495,9 @@ course, security issues. This is not something I want to go into at present. (235) 02-Feb-04 T Make smtp_accept_count available as a variable This is for use in ACLs. Of course, it is a snapshot of the count at the -start of the receiving process. +start of the receiving process. As such, it could be confusing because if a +connection lasts a long time, the "true" value could be very different. For +this reason, I don't really like this idea. ------------------------------------------------------------------------------ (236) 02-Feb-04 S String in local_scan that's added to the binary version string @@ -1520,7 +1524,8 @@ library, because there's no crypto code in Exim itself. (240) 23-Feb-04 ? Some way to know if a ip is a mx for a given domain Some kind of iterative operation for dnsdb might be a general way of providing -this. +this. // This can now be done using the list facilities of dnsdb; verbose, but +it can be done. // ------------------------------------------------------------------------------ (242) 01-Mar-04 ? Run a filter from an expansion condition @@ -1601,14 +1606,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? ------------------------------------------------------------------------------ -(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 @@ -1661,7 +1658,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 -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 @@ -1717,11 +1715,144 @@ 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. + +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? ------------------------------------------------------------------------------ ---- HWM 297 ------------------------------------------------------------------ + +(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. +------------------------------------------------------------------------------ + +(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. +------------------------------------------------------------------------------ + +(313) 21-Jan-05 ? Multiple queues + +Exim runs poorly if its queue gets too big. Various ways round this are all +to some extent kludges. There has been a suggestion of using multiple +directories instead of just "input". (Originally it was for a whole set of +spool directories, but that introduces complications with the hint files.) +On message arrival, somehow a selection of "input" must be made. Then queue +runners must be startable for the different "queues". Don't forget that the +"msglog" directory is also involved. Perhaps add a new level of indirection: +/var/spool/exim/queue1/{input,msglog}, /var/spool/exim/queue2/.... +------------------------------------------------------------------------------ + +(314) 15-Feb-05 M Multiple headers_{add,remove} for routers + +If headers_{add,remove} could be specified multiple times, it would be easier +for those people that construct configs using .ifdef or .include, etc. +------------------------------------------------------------------------------ + +(315) 15-Feb-05 M String variables for use in filters. + +Currently, only numerical variables are supported. +------------------------------------------------------------------------------ + +(316) 21-Feb-05 M Put callout response into a variable + +When a callout fails, put the entire SMTP response into a variable. This is not +trivial because we probably should retain it in the cache as well. +------------------------------------------------------------------------------ +--- HWM 316 ------------------------------------------------------------------ ---------------------------- End of WishList ---------------------------------