diff options
author | Philip Hazel <ph10@hermes.cam.ac.uk> | 2005-03-15 12:27:54 +0000 |
---|---|---|
committer | Philip Hazel <ph10@hermes.cam.ac.uk> | 2005-03-15 12:27:54 +0000 |
commit | 7816e25460a991aae1ec3be1e6bcba09b4756e1f (patch) | |
tree | 4dc707966467fcd463e15e3c2a584e8a30ef0c00 /src | |
parent | 7f45268c9e24a11001679f1e50b1ac77b43e8aa9 (diff) |
Fix obscure duplicate delivery bug caused by local transport batching
combined with certain patterns of homonymic redirection.
Diffstat (limited to 'src')
-rw-r--r-- | src/ACKNOWLEDGMENTS | 5 | ||||
-rw-r--r-- | src/src/deliver.c | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/ACKNOWLEDGMENTS b/src/ACKNOWLEDGMENTS index 093a0adfc..8314c699a 100644 --- a/src/ACKNOWLEDGMENTS +++ b/src/ACKNOWLEDGMENTS @@ -1,4 +1,4 @@ -$Cambridge: exim/src/ACKNOWLEDGMENTS,v 1.14 2005/03/08 11:38:21 ph10 Exp $ +$Cambridge: exim/src/ACKNOWLEDGMENTS,v 1.15 2005/03/15 12:27:54 ph10 Exp $ EXIM ACKNOWLEDGEMENTS @@ -20,7 +20,7 @@ relatively small patches. Philip Hazel Lists created: 20 November 2002 -Last updated: 08 March 2005 +Last updated: 15 March 2005 THE OLD LIST @@ -197,6 +197,7 @@ Heiko Schlichting Diagnosis of intermittent daemon crash bug Stephan Schulz Patch for $host_data caching error Tony Sheen Log files with datestamped names and auto rollover Martin Sluka Patch for exigrep to include non-message lines +Russell Stuart Diagnosis of obscure batch multiple delivery bug Tamas Tevesz Patch for crypt16() support Johan Thelmen Support for the F-Secure virus scanner William Thompson Suggested patch for acl_smtp_helo diff --git a/src/src/deliver.c b/src/src/deliver.c index 14d2217b8..7dc460ce7 100644 --- a/src/src/deliver.c +++ b/src/src/deliver.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/deliver.c,v 1.7 2005/02/17 11:58:25 ph10 Exp $ */ +/* $Cambridge: exim/src/src/deliver.c,v 1.8 2005/03/15 12:27:54 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -2080,6 +2080,7 @@ while (addr_local != NULL) same characteristics. These are: same transport + not previously delivered (see comment about 50 lines above) same local part if the transport's configuration contains $local_part same domain if the transport's configuration contains $domain same errors address @@ -2093,6 +2094,7 @@ while (addr_local != NULL) { BOOL ok = tp == next->transport && + !previously_transported(next) && (!uses_lp || Ustrcmp(next->local_part, addr->local_part) == 0) && (!uses_dom || Ustrcmp(next->domain, addr->domain) == 0) && same_strings(next->p.errors_address, addr->p.errors_address) && |