+
+(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.
+------------------------------------------------------------------------------
+
+(317) 25-Feb-05 S Delete the pid file when the daemon exits
+
+At least try to catch some of the exit routes from the daemon and either delete
+or empty the pid file.
+------------------------------------------------------------------------------
+
+(318) 02-Mar-05 S Add current connection count to daemon's exiwhat output
+------------------------------------------------------------------------------
+
+(319) 03-Mar-05 ? Allow file rather than directory for scanning call
+
+"I can call arbitrary scanning software by specifying the full path. I can pass
+a directory to be scanned in the arguments. I'd like to be able to pass a
+specific file name instead of a directory. I think this would allow me to call
+Bogofilter at smtp time. Bogofilter requires a filename, not a directory. The
+file would contain the complete email. I suppose there may be other scanning
+solutions with a similar requirement."
+------------------------------------------------------------------------------
+
+(320) 03-Mar-05 T Options to control daemon retry binding
+
+Currently the daemon tries 10 times at 30-second intervals to listen on an IP
+address. The wish is for options to control these numbers.
+------------------------------------------------------------------------------
+
+(321) 07-Mar-05 S Run an ACL on a sync error
+
+... and possibly "accept" or "deny" it.
+------------------------------------------------------------------------------
+
+(322) 15-Mar-05 M Add a /defer_ok option to verify=reverse_host_lookup
+------------------------------------------------------------------------------
+
+(323) 15-Mar-05 M Make callouts use smtp_data from the smtp transport
+
+This is yet another problem caused by duplicating the SMTP code between the
+transport and the callout verification. See item 294 above. Merging the
+transport and the callout code could prevent this kind of thing from happening.
+------------------------------------------------------------------------------
+
+(324) 04-Apr-05 ? Make -bP show ACLs
+
+This is in the Bugzilla as #10.
+------------------------------------------------------------------------------
+
+(325) 28-Apr-05 ? Support for quotas over 2G in appendfile.
+
+Things get bigger far more quickly than I ever imagine...
+------------------------------------------------------------------------------
+
+(326) 03-May-05 ? Queue-only on memory shortage
+
+This is bugzilla #17. The idea is to have something like queue_only_load that
+triggers on a shortage of main memory.
+------------------------------------------------------------------------------
+
+(327) 06-May-05 ? Break delay if connection drops
+
+Currently, "delay=5m" (e.g.) waits for 5 minutes. If we can detect that the
+connection has died in the meantime, it would make sense to break the delay.
+However, it doesn't seem possible to detect a dropped connection without trying
+to read from it.
+------------------------------------------------------------------------------
+
+(328) 10-May-05 S After "unseen" routing, pass on header additions/deletions
+
+Currently, when an "unseen" router accepts an address, header additions and
+deletions stick with that address, and the "clone" address that continues to be
+routed starts off without any additions or removals. This request is for an
+option to select other actions: retain header actions with the clone only, or
+pass them on to both addresses.
+------------------------------------------------------------------------------
+
+(329) 12-May-05 S Create message ID at MAIL FROM time
+
+Currently, the ID is created only when Exim is about to create the data (-D)
+file for an incoming message. In other words, after it knows it really is going
+to accept the message. Creating the ID earlier would mean that rejection
+messages in the log would be tagged with an ID, and this is seen as desirable
+by some people.
+------------------------------------------------------------------------------
+
+(330) 31-May-05 ? Default interface for -bh and default port for -oMi
+
+I do not think it worth putting effort in here for these reasons: If a host has
+multiple interfaces, there's no easy way to choose one to be the default for
+$interface_address when -bh is used. If the host does not have multiple
+interfaces, chances are the configuration won't be looking at
+$interface_address anyway. If you are setting -oMi, and care about the port, it
+isn't much effort to tack on a port number, though in this case, I suppose a
+default of 25 is "obvious".
+------------------------------------------------------------------------------
+
+(331) 31-May-05 M More than one retry time per host
+
+Consider this example: an attempt to start a TLS connection to a host gets a
+temporary error. This stops *all* connections, both for TLS and otherwise.
+Different retry times for different circumstances are needed to get round this.
+What are the circumstances? TLS/not-TLS is clearly one, but sometimes you don't
+know if you are going to try TLS until you have connected. So this makes sense
+only if require_tls is used. Perhaps the multiple retry times should just be
+per-transport, to avoid these difficulties. If we made all retry keys depend on
+the transport, this would happen automatically.
+------------------------------------------------------------------------------
+--- HWM 331 ------------------------------------------------------------------