Auto_thaw no longer applies to bounce messages.
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 14 Jun 2005 13:48:40 +0000 (13:48 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 14 Jun 2005 13:48:40 +0000 (13:48 +0000)
doc/doc-txt/ChangeLog
doc/doc-txt/NewStuff
src/src/deliver.c

index 998cf94..bbdcb98 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.154 2005/06/14 10:32:01 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.155 2005/06/14 13:48:40 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -114,6 +114,8 @@ TF/05 Fixed a ${extract error message typo reported by Jeremy Harris
 PH/12 Applied Alex Kiernan's patch for the API change for the error callback
       function for BDB 4.3.
 
+PH/13 Changed auto_thaw such that it does not apply to bounce messages.
+
 
 Exim version 4.51
 -----------------
index d0997d1..f74d317 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.48 2005/05/31 10:58:18 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.49 2005/06/14 13:48:40 ph10 Exp $
 
 New Features in Exim
 --------------------
@@ -252,6 +252,9 @@ PH/02 There's a new verify callout option, "fullpostmaster", which first acts
       fails, it tries just <postmaster>, without a domain, in accordance with
       the specification in RFC 2821.
 
+PH/03 The action of the auto_thaw option has been changed. It no longer applies
+      to frozen bounce messages.
+
 
 Version 4.51
 ------------
index cc10c65..c183c86 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/deliver.c,v 1.16 2005/06/07 15:20:56 ph10 Exp $ */
+/* $Cambridge: exim/src/src/deliver.c,v 1.17 2005/06/14 13:48:40 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -4601,17 +4601,22 @@ if (deliver_freeze)
     log_write(0, LOG_MAIN, "Unfrozen by errmsg timer");
     }
 
-  /* If there's no auto thaw, or we haven't reached the auto thaw time yet, and
-  this delivery is not forced by an admin user, do not attempt delivery of this
-  message. Note that forced is set for continuing messages down the same
-  channel, in order to skip load checking and ignore hold domains, but we
-  don't want unfreezing in that case. */
+  /* If this is a bounce message, or there's no auto thaw, or we haven't
+  reached the auto thaw time yet, and this delivery is not forced by an admin
+  user, do not attempt delivery of this message. Note that forced is set for
+  continuing messages down the same channel, in order to skip load checking and
+  ignore hold domains, but we don't want unfreezing in that case. */
 
   else
     {
-    if ((auto_thaw <= 0 || now <= deliver_frozen_at + auto_thaw) &&
-      (!forced || !deliver_force_thaw || !admin_user ||
-        continue_hostname != NULL))
+    if ((sender_address[0] == 0 ||
+         auto_thaw <= 0 ||
+         now <= deliver_frozen_at + auto_thaw
+        )
+        &&
+        (!forced || !deliver_force_thaw || !admin_user ||
+          continue_hostname != NULL
+        ))
       {
       close(deliver_datafile);
       deliver_datafile = -1;