From: Philip Hazel Date: Tue, 4 Jan 2005 13:31:41 +0000 (+0000) Subject: Data saved for $host_data after a lookup involving a named host list was X-Git-Tag: exim-4_50~49 X-Git-Url: https://vcs.fsf.org/?p=exim.git;a=commitdiff_plain;h=60dc5e56c3e1a53aa42c0b74a4af3f7a3ad9118c Data saved for $host_data after a lookup involving a named host list was corrupted if there was more than one message in an SMTP session. --- diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 3e8b8d935..bf214bce7 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.62 2005/01/04 11:01:33 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.63 2005/01/04 13:31:41 ph10 Exp $ Change log file for Exim from version 4.21 ------------------------------------------- @@ -284,6 +284,12 @@ Exim version 4.50 64. A call to exiwhat cut short delays set up by "delay" modifiers in ACLs. This has been fixed. +65. Caching of lookup data for "hosts =" ACL conditions, when a named host list + was in use, was not putting the data itself into the right store pool; + consequently, it could be overwritten for a subsequent message in the same + SMTP connection. (Fix 4.40/11 dealt with the non-cache case, but overlooked + the caching.) + Exim version 4.43 ----------------- diff --git a/src/ACKNOWLEDGMENTS b/src/ACKNOWLEDGMENTS index e74132803..379d05a9f 100644 --- a/src/ACKNOWLEDGMENTS +++ b/src/ACKNOWLEDGMENTS @@ -1,4 +1,4 @@ -$Cambridge: exim/src/ACKNOWLEDGMENTS,v 1.10 2004/12/21 12:00:59 ph10 Exp $ +$Cambridge: exim/src/ACKNOWLEDGMENTS,v 1.11 2005/01/04 13:31:41 ph10 Exp $ EXIM ACKNOWLEDGEMENTS @@ -20,7 +20,7 @@ relatively small patches. Philip Hazel Lists created: 20 November 2002 -Last updated: 21 December 2004 +Last updated: 04 January 2005 THE OLD LIST @@ -189,6 +189,7 @@ David Saez Suggested patch for $sender_hostname lookup if needed Peter Savitch Diagnosis of FPE bug when statvfs() fails on spool Harald Schueler Patch for dn_expand() failure on truncated data 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 Tamas Tevesz Patch for crypt16() support diff --git a/src/src/match.c b/src/src/match.c index 7c30e056c..cd587ee4d 100644 --- a/src/src/match.c +++ b/src/src/match.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/match.c,v 1.3 2005/01/04 10:00:42 ph10 Exp $ */ +/* $Cambridge: exim/src/src/match.c,v 1.4 2005/01/04 13:31:41 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -630,9 +630,11 @@ while ((sss = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL) store_pool = POOL_PERM; p = store_get(sizeof(namedlist_cacheblock)); p->key = string_copy(get_check_key(arg, type)); + + + p->data = (*valueptr == NULL)? NULL : string_copy(*valueptr); store_pool = old_pool; - p->data = *valueptr; p->next = nb->cache_data; nb->cache_data = p; if (*valueptr != NULL)