Fix crash associated with dnsdb lookup done from DKIM ACL. Bug 2215
[exim.git] / doc / doc-txt / ChangeLog
index 4897f4a0cc15448d236bf87e3480c6c3d78e3636..7d1d526d7e071c9dfbc2b978507422a53882a45e 100644 (file)
@@ -16,6 +16,28 @@ JH/01 Replace the store_release() internal interface with store_newblock(),
 JH/02 Disallow '/' characters in queue names specified for the "queue=" ACL
       modifier.  This matches the restriction on the commandline.
 
 JH/02 Disallow '/' characters in queue names specified for the "queue=" ACL
       modifier.  This matches the restriction on the commandline.
 
+JH/03 Fix pgsql lookup for multiple result-tuples with a single column.
+      Previously only the last row was returned.
+
+JH/04 Bug 2217: Tighten up the parsing of DKIM signature headers. Previously
+      we assumed that tags in the header were well-formed, and parsed the
+      element content after inspecting only the first char of the tag.
+      Assumptions at that stage could crash the receive process on malformed
+      input.
+
+JH/05 Bug 2215: Fix crash associated with dnsdb lookup done from DKIM ACL.
+      While running the DKIM ACL we operate on the Permanent memory pool so that
+      variables created with "set" persist to the DATA ACL.  Also (at any time)
+      DNS lookups that fail create cache records using the Permanent pool.  But
+      expansions release any allocations made on the current pool - so a dnsdb
+      lookup expansion done in the DKIM ACL releases the memory used for the
+      DNS negative-cache, and bad things result.  Solution is to switch to the
+      Main pool for expansions.
+      While we're in that code, add checks on the DNS cache during store_reset,
+      active in the testsuite.
+      Problem spotted, and debugging aided, by Wolfgang Breyha.
+
+
 Exim version 4.90
 -----------------
 
 Exim version 4.90
 -----------------