[exim-cvs] Events: Fix msg:defer event for the hosts_max_tr…

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Exim Git Commits Mailing List
Ημερομηνία:  
Προς: exim-cvs
Αντικείμενο: [exim-cvs] Events: Fix msg:defer event for the hosts_max_try_hardlimit case. Bug 2554
Gitweb: https://git.exim.org/exim.git/commitdiff/1f0be89381a057aaaaa4ecd4890d4597b7f6ce80
Commit:     1f0be89381a057aaaaa4ecd4890d4597b7f6ce80
Parent:     a89b6bd32a650871031f4fce9b80ab6b7eb47d8e
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Sun Apr 19 21:18:21 2020 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Sun Apr 19 21:18:21 2020 +0100


    Events: Fix msg:defer event for the hosts_max_try_hardlimit case.  Bug 2554
---
 doc/doc-txt/ChangeLog     | 3 +++
 src/src/transports/smtp.c | 7 ++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)


diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 9de2e11..edab6a8 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -164,6 +164,9 @@ JH/35 The dsearch lookup now requires that the directory is an absolute path.
       Previously this was not checked, and nonempty relative paths made an
       access under Exim's current working directory.


+JH/36 Bug 2554: Fix msg:defer event for the hosts_max_try_hardlimit case.
+      Previously no event was raised.
+


 Exim version 4.93
 -----------------
diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c
index 5656e79..a3f0351 100644
--- a/src/src/transports/smtp.c
+++ b/src/src/transports/smtp.c
@@ -5163,7 +5163,12 @@ retry_non_continued:
 #ifndef DISABLE_EVENT
       /* If the last host gave a defer raise a per-message event */


-      if (!nexthost && (message_defer || rc == DEFER))
+      if (  !(  nexthost
+         && unexpired_hosts_tried < ob->hosts_max_try
+         && total_hosts_tried < ob->hosts_max_try_hardlimit
+         )
+         && (message_defer || rc == DEFER)
+     )
     deferred_event_raise(first_addr, host, US"msg:defer");
 #endif
       }