diff options
author | Philip Hazel <ph10@hermes.cam.ac.uk> | 2006-02-22 15:08:20 +0000 |
---|---|---|
committer | Philip Hazel <ph10@hermes.cam.ac.uk> | 2006-02-22 15:08:20 +0000 |
commit | 944a9c55d5b7d3d50ea8b8fabfb7a7be5ca8693f (patch) | |
tree | 8b8c4ed000a02c8550729a3bd3b881b95ae1945b | |
parent | 2632889eca3018763375f85b31212712044c395f (diff) |
Limit retry_interval_max to 24h to avoid overflow problems.
-rw-r--r-- | doc/doc-txt/ChangeLog | 6 | ||||
-rw-r--r-- | doc/doc-txt/NewStuff | 7 | ||||
-rw-r--r-- | src/src/readconf.c | 6 | ||||
-rw-r--r-- | test/confs/0001 | 2 | ||||
-rw-r--r-- | test/scripts/0000-Basic/0001 | 1 | ||||
-rw-r--r-- | test/stdout/0001 | 1 |
6 files changed, 19 insertions, 4 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 6385f60de..764485175 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -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 ----------------- diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff index 7627fb7f9..14e08ee78 100644 --- a/doc/doc-txt/NewStuff +++ b/doc/doc-txt/NewStuff @@ -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 ------------ diff --git a/src/src/readconf.c b/src/src/readconf.c index 37df2464e..59e75d0a4 100644 --- a/src/src/readconf.c +++ b/src/src/readconf.c @@ -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; diff --git a/test/confs/0001 b/test/confs/0001 index 7f7fb4a1e..049cd1787 100644 --- a/test/confs/0001 +++ b/test/confs/0001 @@ -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 diff --git a/test/scripts/0000-Basic/0001 b/test/scripts/0000-Basic/0001 index 039c7a668..4b5f282ca 100644 --- a/test/scripts/0000-Basic/0001 +++ b/test/scripts/0000-Basic/0001 @@ -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 \ diff --git a/test/stdout/0001 b/test/stdout/0001 index 6d605f251..77d202228 100644 --- a/test/stdout/0001 +++ b/test/stdout/0001 @@ -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 |