Apply Ian Freislich's patch to fix a spamd timeout problem.
[exim.git] / doc / doc-txt / ChangeLog
index cb661b9431d7fdf3ae79d6c042535904bd7d3675..0470f493b3f6a0da2b0ed0d0596fc7ec98be8505 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.122 2005/04/07 10:54:54 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.124 2005/04/27 10:00:18 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -212,6 +212,31 @@ PH/35 ACL_WHERE_MIME is now declared unconditionally, to avoid too much code
 
 PH/36 The change PH/12 above was broken. Fixed it.
 
+PH/37 Exim used to check for duplicate addresses in the middle of routing, on
+      the grounds that routing the same address twice would always produce the
+      same answer. This might have been true once, but it is certainly no
+      longer true now. Routing a child address may depend on the previous
+      routing that produced that child. Some complicated redirection strategies
+      went wrong when messages had multiple recipients, and made Exim's
+      behaviour dependent on the order in which the addresses were given.
+
+      I have moved the duplicate checking until after the routing is complete.
+      Exim scans the addresses that are assigned to local and remote
+      transports, and removes any duplicates. This means that more work will be
+      done, as duplicates will always all be routed, but duplicates are
+      presumably rare, so I don't expect this is of any significance.
+
+      For deliveries to pipes, files, and autoreplies, the duplicate checking
+      still happens during the routing process, since they are not going to be
+      routed further.
+
+PH/38 Installed a patch from Ian Freislich, with the agreement of Tom Kistner.
+      It corrects a timeout issue with spamd. This is Ian's comment: "The
+      background is that sometimes spamd either never reads data from a
+      connection it has accepted, or it never writes response data. The exiscan
+      spam.[ch] uses a 3600 second timeout on spamd socket reads, further, it
+      blindly assumes that writes won't block so it may never time out."
+
 
 A note about Exim versions 4.44 and 4.50
 ----------------------------------------