Data saved for $host_data after a lookup involving a named host list was
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 4 Jan 2005 13:31:41 +0000 (13:31 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 4 Jan 2005 13:31:41 +0000 (13:31 +0000)
corrupted if there was more than one message in an SMTP session.

doc/doc-txt/ChangeLog
src/ACKNOWLEDGMENTS
src/src/match.c

index 3e8b8d9..bf214bc 100644 (file)
@@ -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
 -----------------
index e741328..379d05a 100644 (file)
@@ -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
index 7c30e05..cd587ee 100644 (file)
@@ -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)