Limit retry_interval_max to 24h to avoid overflow problems.
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Wed, 22 Feb 2006 15:08:20 +0000 (15:08 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Wed, 22 Feb 2006 15:08:20 +0000 (15:08 +0000)
doc/doc-txt/ChangeLog
doc/doc-txt/NewStuff
src/src/readconf.c
test/confs/0001
test/scripts/0000-Basic/0001
test/stdout/0001

index 6385f60..7644851 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.310 2006/02/22 14:46:44 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.311 2006/02/22 15:08:20 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -221,6 +221,10 @@ PH/42 The content-scanning code uses fopen() to create files in which to put
       mode, then resets the umask. All the relevant calls to fopen() in the
       content scanning code have been changed to use this function.
 
+PH/43 If retry_interval_max is set greater than 24 hours, it is quietly reset
+      to 24 hours. This avoids potential overflow problems when processing G
+      and H retry rules. I suspect nobody ever tinkers with this value.
+
 
 Exim version 4.60
 -----------------
index 7627fb7..14e08ee 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.88 2006/02/21 16:24:19 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.89 2006/02/22 15:08:20 ph10 Exp $
 
 New Features in Exim
 --------------------
@@ -69,6 +69,11 @@ PH/10 When compiled on FreeBSD, NetBSD, or BSD/OS, the pipe transport has a new
       uid under which the pipe is to run are obtained from the login class
       database.
 
+PH/11 If retry_interval_max is set greater than 24 hours, it is quietly reset
+      to 24 hours. This avoids potential overflow problems when processing G
+      and H retry rules, and it seems reasonable to require a retry at least
+      once a day.
+
 
 Version 4.60
 ------------
index 37df246..59e75d0 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/readconf.c,v 1.20 2006/02/16 14:54:15 ph10 Exp $ */
+/* $Cambridge: exim/src/src/readconf.c,v 1.21 2006/02/22 15:08:20 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -2819,6 +2819,10 @@ wanted. */
 
 if (timezone_string != NULL && *timezone_string == 0) timezone_string = NULL;
 
+/* The max retry interval must not be greater than 24 hours. */
+
+if (retry_interval_max > 24*60*60) retry_interval_max = 24*60*60;
+
 /* remote_max_parallel must be > 0 */
 
 if (remote_max_parallel <= 0) remote_max_parallel = 1;
index 7f7fb4a..049cd17 100644 (file)
@@ -158,7 +158,7 @@ no_recipients_max_reject
 remote_max_parallel = 1
 remote_sort_domains =
 retry_data_expire = 24h
-retry_interval_max = 1d
+retry_interval_max = 3d
 return_path_remove
 rfc1413_hosts =
 sender_unqualified_hosts = localhost:some.host.name
index 039c7a6..4b5f282 100644 (file)
@@ -20,6 +20,7 @@ exim -bP accept_8bitmime \
          never_users \
          percent_hack_domains \
          qualify_domain \
+         retry_interval_max \ 
          receive_timeout \
          sender_unqualified_hosts \
          tcp_nodelay \
index 6d605f2..77d2022 100644 (file)
@@ -13,6 +13,7 @@ max_username_length = 8
 never_users = root:root
 percent_hack_domains = 
 qualify_domain = some.dom.ain
+retry_interval_max = 1d
 receive_timeout = 0s
 sender_unqualified_hosts = localhost:some.host.name
 no_tcp_nodelay