[exim-cvs] Fix dkim_strict expansion. Bug 2413

Startseite
Nachricht löschen
Nachricht beantworten
Autor: Exim Git Commits Mailing List
Datum:  
To: exim-cvs
Betreff: [exim-cvs] Fix dkim_strict expansion. Bug 2413
Gitweb: https://git.exim.org/exim.git/commitdiff/9fa4d5b45f70b36a46c0d04381a5e05cb39ae3e9
Commit:     9fa4d5b45f70b36a46c0d04381a5e05cb39ae3e9
Parent:     f3ebb786e451da973560f1c9d8cdb151d25108b5
Author:     Ruben Jenster <r.jenster@???>
AuthorDate: Fri Jul 19 12:56:56 2019 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Thu Jul 25 12:21:22 2019 +0100


    Fix dkim_strict expansion.  Bug 2413


    Broken since the introduction of dkim support.
    Testsuite additions by jgh
---
 doc/doc-txt/ChangeLog       |   4 ++
 src/src/dkim.c              |   7 +-
 src/src/dkim_transport.c    |   4 +-
 test/confs/4520             |   2 +-
 test/log/4520               | 168 +++++++++++++++++++++++---------------------
 test/log/4523               |   4 +-
 test/log/4524               |   4 +-
 test/log/4545               |   8 +--
 test/mail/4520.a            |   6 +-
 test/mail/4520.b            |   6 +-
 test/mail/4520.b10          |   6 +-
 test/mail/4520.b12          |   6 +-
 test/mail/4520.b20          |   6 +-
 test/mail/4520.b22          |   6 +-
 test/mail/4520.d            |   6 +-
 test/mail/4520.e            |   6 +-
 test/mail/4520.f            |   6 +-
 test/paniclog/4520          |   1 +
 test/scripts/4500-DKIM/4520 |   7 ++
 test/stderr/4520            |   5 +-
 20 files changed, 146 insertions(+), 122 deletions(-)


diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 78cb127..2bfa776 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -153,6 +153,10 @@ JH/32 Introduce a general tainting mechanism for values read from the input
       channel, and values derived from them.  Refuse to expand any tainted
       values, to catch one form of exploit.


+JH/33 Bug 2413: Fix dkim_strict option.  Previously the expansion result
+      was unused and the unexpanded text used for the test.  Found and
+      fixed by Ruben Jenster.
+


Exim version 4.92
-----------------
diff --git a/src/src/dkim.c b/src/src/dkim.c
index a410ed5..dd999ff 100644
--- a/src/src/dkim.c
+++ b/src/src/dkim.c
@@ -784,14 +784,15 @@ CLEANUP:

 pk_bad:
   log_write(0, LOG_MAIN|LOG_PANIC,
-               "DKIM: signing failed: %.100s", pdkim_errstr(pdkim_rc));
+        "DKIM: signing failed: %.100s", pdkim_errstr(pdkim_rc));
 bad:
   sigbuf = NULL;
   goto CLEANUP;


 expand_bad:
-  log_write(0, LOG_MAIN | LOG_PANIC, "failed to expand %s: %s",
-          errwhen, expand_string_message);
+  *errstr = string_sprintf("failed to expand %s: %s",
+              errwhen, expand_string_message);
+  log_write(0, LOG_MAIN | LOG_PANIC, "%s", *errstr);
   goto bad;
 }


diff --git a/src/src/dkim_transport.c b/src/src/dkim_transport.c
index 6b64392..c09c505 100644
--- a/src/src/dkim_transport.c
+++ b/src/src/dkim_transport.c
@@ -21,8 +21,8 @@ if (dkim->dkim_strict)
uschar * dkim_strict_result = expand_string(dkim->dkim_strict);

   if (dkim_strict_result)
-    if ( (strcmpic(dkim->dkim_strict, US"1") == 0) ||
-     (strcmpic(dkim->dkim_strict, US"true") == 0) )
+    if (  strcmpic(dkim_strict_result, US"1") == 0
+       || strcmpic(dkim_strict_result, US"true") == 0)
       {
       /* Set errno to something halfway meaningful */
       *errp = EACCES;
diff --git a/test/confs/4520 b/test/confs/4520
index 1a8e34f..f345b91 100644
--- a/test/confs/4520
+++ b/test/confs/4520
@@ -18,7 +18,7 @@ dkim_verify_signers = $dkim_signers


DDIR=DIR/aux-fixed/dkim

-log_selector = -dkim +dkim_verbose
+log_selector = -dkim +dkim_verbose +received_recipients

# ----- Routers

diff --git a/test/log/4520 b/test/log/4520
index 366635a..ac771ef 100644
--- a/test/log/4520
+++ b/test/log/4520
@@ -1,92 +1,102 @@
-1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmaX-0005vi-00 => a@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmaY-0005vi-00"
+1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for a@???
+1999-03-02 09:44:33 10HmaY-0005vi-00 => a@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmaZ-0005vi-00"
+1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for b@???
+1999-03-02 09:44:33 10HmbA-0005vi-00 => b@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbB-0005vi-00"
+1999-03-02 09:44:33 10HmbA-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbC-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for b10@???
+1999-03-02 09:44:33 10HmbC-0005vi-00 => b10@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbD-0005vi-00"
+1999-03-02 09:44:33 10HmbC-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbE-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for b12@???
+1999-03-02 09:44:33 10HmbE-0005vi-00 => b12@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbF-0005vi-00"
+1999-03-02 09:44:33 10HmbE-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbG-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for b20@???
+1999-03-02 09:44:33 10HmbG-0005vi-00 => b20@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbH-0005vi-00"
+1999-03-02 09:44:33 10HmbG-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbI-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for b22@???
+1999-03-02 09:44:33 10HmbI-0005vi-00 => b22@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbJ-0005vi-00"
+1999-03-02 09:44:33 10HmbI-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbK-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for d@???
+1999-03-02 09:44:33 10HmbK-0005vi-00 => d@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbL-0005vi-00"
+1999-03-02 09:44:33 10HmbK-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaX-0005vi-00 <= <> U=CALLER P=local S=sss for e0@???
+1999-03-02 09:44:33 10HmaX-0005vi-00 failed to expand dkim_timestamps: unknown variable in "${bogus}"
+1999-03-02 09:44:33 10HmaX-0005vi-00 DKIM: message could not be signed, and dkim_strict is set. Deferring message delivery.
+1999-03-02 09:44:33 10HmaX-0005vi-00 H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4]: send() to ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] failed: failed to expand dkim_timestamps: unknown variable in "${bogus}": No such file or directory
+1999-03-02 09:44:33 10HmaX-0005vi-00 == e0@??? R=client T=send_to_server defer (2): No such file or directory H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4]: send() to ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] failed: failed to expand dkim_timestamps: unknown variable in "${bogus}"
+1999-03-02 09:44:33 10HmaX-0005vi-00 ** e0@???: retry timeout exceeded
+1999-03-02 09:44:33 10HmaX-0005vi-00 e0@???: error ignored
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
-1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmaZ-0005vi-00 => b@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbA-0005vi-00"
-1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbB-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmbB-0005vi-00 => b10@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbC-0005vi-00"
-1999-03-02 09:44:33 10HmbB-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbD-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmbD-0005vi-00 => b12@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbE-0005vi-00"
-1999-03-02 09:44:33 10HmbD-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbF-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmbF-0005vi-00 => b20@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbG-0005vi-00"
-1999-03-02 09:44:33 10HmbF-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbH-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmbH-0005vi-00 => b22@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbI-0005vi-00"
-1999-03-02 09:44:33 10HmbH-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbJ-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmbJ-0005vi-00 => d@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbK-0005vi-00"
-1999-03-02 09:44:33 10HmbJ-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbL-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmbL-0005vi-00 => e@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbM-0005vi-00"
-1999-03-02 09:44:33 10HmbL-0005vi-00 Completed
-1999-03-02 09:44:33 10HmbN-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmbN-0005vi-00 => f@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbO-0005vi-00"
-1999-03-02 09:44:33 10HmbN-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbM-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for e@???
+1999-03-02 09:44:33 10HmbM-0005vi-00 => e@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbN-0005vi-00"
+1999-03-02 09:44:33 10HmbM-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbO-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for f@???
+1999-03-02 09:44:33 10HmbO-0005vi-00 => f@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbP-0005vi-00"
+1999-03-02 09:44:33 10HmbO-0005vi-00 Completed

******** SERVER ********
1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port PORT_D
1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
-1999-03-02 09:44:33 10HmaY-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From
-1999-03-02 09:44:33 10HmaY-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
-1999-03-02 09:44:33 10HmaY-0005vi-00 data acl: dkim status pass
-1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaX-0005vi-00@???
-1999-03-02 09:44:33 10HmaY-0005vi-00 => a <a@???> R=server_store T=file
-1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaZ-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From
+1999-03-02 09:44:33 10HmaZ-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
+1999-03-02 09:44:33 10HmaZ-0005vi-00 data acl: dkim status pass
+1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaY-0005vi-00@??? for a@???
+1999-03-02 09:44:33 10HmaZ-0005vi-00 => a <a@???> R=server_store T=file
+1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed
1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
-1999-03-02 09:44:33 10HmbA-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From:From
-1999-03-02 09:44:33 10HmbA-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 t=T x=T+10 [verification succeeded]
-1999-03-02 09:44:33 10HmbA-0005vi-00 data acl: dkim status pass
-1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaZ-0005vi-00@???
-1999-03-02 09:44:33 10HmbA-0005vi-00 => b <b@???> R=server_store T=file
-1999-03-02 09:44:33 10HmbA-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbB-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From:From
+1999-03-02 09:44:33 10HmbB-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 t=T x=T+10 [verification succeeded]
+1999-03-02 09:44:33 10HmbB-0005vi-00 data acl: dkim status pass
+1999-03-02 09:44:33 10HmbB-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbA-0005vi-00@??? for b@???
+1999-03-02 09:44:33 10HmbB-0005vi-00 => b <b@???> R=server_store T=file
+1999-03-02 09:44:33 10HmbB-0005vi-00 Completed
1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
-1999-03-02 09:44:33 10HmbC-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From
-1999-03-02 09:44:33 10HmbC-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
-1999-03-02 09:44:33 10HmbC-0005vi-00 data acl: dkim status pass
-1999-03-02 09:44:33 10HmbC-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbB-0005vi-00@???
-1999-03-02 09:44:33 10HmbC-0005vi-00 => b10 <b10@???> R=server_store T=file
-1999-03-02 09:44:33 10HmbC-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbD-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From
+1999-03-02 09:44:33 10HmbD-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
+1999-03-02 09:44:33 10HmbD-0005vi-00 data acl: dkim status pass
+1999-03-02 09:44:33 10HmbD-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbC-0005vi-00@??? for b10@???
+1999-03-02 09:44:33 10HmbD-0005vi-00 => b10 <b10@???> R=server_store T=file
+1999-03-02 09:44:33 10HmbD-0005vi-00 Completed
1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
-1999-03-02 09:44:33 10HmbE-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=X-mine:X-mine:From
-1999-03-02 09:44:33 10HmbE-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
-1999-03-02 09:44:33 10HmbE-0005vi-00 data acl: dkim status pass
-1999-03-02 09:44:33 10HmbE-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbD-0005vi-00@???
-1999-03-02 09:44:33 10HmbE-0005vi-00 => b12 <b12@???> R=server_store T=file
-1999-03-02 09:44:33 10HmbE-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbF-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=X-mine:X-mine:From
+1999-03-02 09:44:33 10HmbF-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
+1999-03-02 09:44:33 10HmbF-0005vi-00 data acl: dkim status pass
+1999-03-02 09:44:33 10HmbF-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbE-0005vi-00@??? for b12@???
+1999-03-02 09:44:33 10HmbF-0005vi-00 => b12 <b12@???> R=server_store T=file
+1999-03-02 09:44:33 10HmbF-0005vi-00 Completed
1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
-1999-03-02 09:44:33 10HmbG-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=X-Mine
-1999-03-02 09:44:33 10HmbG-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
-1999-03-02 09:44:33 10HmbG-0005vi-00 data acl: dkim status pass
-1999-03-02 09:44:33 10HmbG-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbF-0005vi-00@???
-1999-03-02 09:44:33 10HmbG-0005vi-00 => b20 <b20@???> R=server_store T=file
-1999-03-02 09:44:33 10HmbG-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbH-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=X-Mine
+1999-03-02 09:44:33 10HmbH-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
+1999-03-02 09:44:33 10HmbH-0005vi-00 data acl: dkim status pass
+1999-03-02 09:44:33 10HmbH-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbG-0005vi-00@??? for b20@???
+1999-03-02 09:44:33 10HmbH-0005vi-00 => b20 <b20@???> R=server_store T=file
+1999-03-02 09:44:33 10HmbH-0005vi-00 Completed
1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
-1999-03-02 09:44:33 10HmbI-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=X-mine:X-mine:X-Mine
-1999-03-02 09:44:33 10HmbI-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
-1999-03-02 09:44:33 10HmbI-0005vi-00 data acl: dkim status pass
-1999-03-02 09:44:33 10HmbI-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbH-0005vi-00@???
-1999-03-02 09:44:33 10HmbI-0005vi-00 => b22 <b22@???> R=server_store T=file
-1999-03-02 09:44:33 10HmbI-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbJ-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=X-mine:X-mine:X-Mine
+1999-03-02 09:44:33 10HmbJ-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
+1999-03-02 09:44:33 10HmbJ-0005vi-00 data acl: dkim status pass
+1999-03-02 09:44:33 10HmbJ-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbI-0005vi-00@??? for b22@???
+1999-03-02 09:44:33 10HmbJ-0005vi-00 => b22 <b22@???> R=server_store T=file
+1999-03-02 09:44:33 10HmbJ-0005vi-00 Completed
1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
-1999-03-02 09:44:33 10HmbK-0005vi-00 PDKIM: d=test.ex s=sel_bad [failed key import]
-1999-03-02 09:44:33 10HmbK-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From
-1999-03-02 09:44:33 10HmbK-0005vi-00 DKIM: d=test.ex s=sel_bad c=relaxed/relaxed a=rsa-sha256 b=1024 [invalid - syntax error in public key record]
-1999-03-02 09:44:33 10HmbK-0005vi-00 data acl: dkim status invalid
-1999-03-02 09:44:33 10HmbK-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbJ-0005vi-00@???
-1999-03-02 09:44:33 10HmbK-0005vi-00 => d <d@???> R=server_store T=file
-1999-03-02 09:44:33 10HmbK-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbL-0005vi-00 PDKIM: d=test.ex s=sel_bad [failed key import]
+1999-03-02 09:44:33 10HmbL-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From
+1999-03-02 09:44:33 10HmbL-0005vi-00 DKIM: d=test.ex s=sel_bad c=relaxed/relaxed a=rsa-sha256 b=1024 [invalid - syntax error in public key record]
+1999-03-02 09:44:33 10HmbL-0005vi-00 data acl: dkim status invalid
+1999-03-02 09:44:33 10HmbL-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbK-0005vi-00@??? for d@???
+1999-03-02 09:44:33 10HmbL-0005vi-00 => d <d@???> R=server_store T=file
+1999-03-02 09:44:33 10HmbL-0005vi-00 Completed
1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
-1999-03-02 09:44:33 10HmbM-0005vi-00 data acl: dkim status
-1999-03-02 09:44:33 10HmbM-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbL-0005vi-00@???
-1999-03-02 09:44:33 10HmbM-0005vi-00 => e <e@???> R=server_store T=file
-1999-03-02 09:44:33 10HmbM-0005vi-00 Completed
+1999-03-02 09:44:33 SMTP connection from the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] lost while reading message data (header)
1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
-1999-03-02 09:44:33 10HmbO-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From
-1999-03-02 09:44:33 10HmbO-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
-1999-03-02 09:44:33 10HmbO-0005vi-00 data acl: dkim status pass
-1999-03-02 09:44:33 10HmbO-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbN-0005vi-00@???
-1999-03-02 09:44:33 10HmbO-0005vi-00 => f <f@???> R=server_store T=file
-1999-03-02 09:44:33 10HmbO-0005vi-00 Completed
+1999-03-02 09:44:33 10HmbN-0005vi-00 data acl: dkim status
+1999-03-02 09:44:33 10HmbN-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbM-0005vi-00@??? for e@???
+1999-03-02 09:44:33 10HmbN-0005vi-00 => e <e@???> R=server_store T=file
+1999-03-02 09:44:33 10HmbN-0005vi-00 Completed
+1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
+1999-03-02 09:44:33 10HmbP-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From
+1999-03-02 09:44:33 10HmbP-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
+1999-03-02 09:44:33 10HmbP-0005vi-00 data acl: dkim status pass
+1999-03-02 09:44:33 10HmbP-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmbO-0005vi-00@??? for f@???
+1999-03-02 09:44:33 10HmbP-0005vi-00 => f <f@???> R=server_store T=file
+1999-03-02 09:44:33 10HmbP-0005vi-00 Completed
diff --git a/test/log/4523 b/test/log/4523
index 816a740..0acaa08 100644
--- a/test/log/4523
+++ b/test/log/4523
@@ -1,4 +1,4 @@
-1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for a@???
1999-03-02 09:44:33 10HmaX-0005vi-00 => a@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmaY-0005vi-00"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed

@@ -8,6 +8,6 @@
1999-03-02 09:44:33 10HmaY-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From:From
1999-03-02 09:44:33 10HmaY-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha512 b=1024 [verification succeeded]
1999-03-02 09:44:33 10HmaY-0005vi-00 data acl: dkim status pass
-1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaX-0005vi-00@???
+1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaX-0005vi-00@??? for a@???
1999-03-02 09:44:33 10HmaY-0005vi-00 => a <a@???> R=server_store T=file
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
diff --git a/test/log/4524 b/test/log/4524
index cd73fd0..062884f 100644
--- a/test/log/4524
+++ b/test/log/4524
@@ -1,4 +1,4 @@
-1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for c@???
1999-03-02 09:44:33 10HmaX-0005vi-00 => c@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmaY-0005vi-00"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed

@@ -10,6 +10,6 @@
1999-03-02 09:44:33 10HmaY-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From:To:Subject
1999-03-02 09:44:33 10HmaY-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
1999-03-02 09:44:33 10HmaY-0005vi-00 data acl: dkim status pass:pass
-1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaX-0005vi-00@???
+1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaX-0005vi-00@??? for c@???
1999-03-02 09:44:33 10HmaY-0005vi-00 => c <c@???> R=server_store T=file
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
diff --git a/test/log/4545 b/test/log/4545
index 57c4525..ed68900 100644
--- a/test/log/4545
+++ b/test/log/4545
@@ -1,7 +1,7 @@
-1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmaX-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for a@???
1999-03-02 09:44:33 10HmaX-0005vi-00 => a@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmaY-0005vi-00"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
-1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
+1999-03-02 09:44:33 10HmaZ-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss for b@???
1999-03-02 09:44:33 10HmaZ-0005vi-00 => b@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbA-0005vi-00"
1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed

@@ -11,7 +11,7 @@
 1999-03-02 09:44:33 10HmaY-0005vi-00 dkim_acl: signer: test.ex bits: 512 h=From:To:Subject
 1999-03-02 09:44:33 10HmaY-0005vi-00 DKIM: d=test.ex s=sed c=relaxed/relaxed a=ed25519-sha256 b=512 [verification succeeded]
 1999-03-02 09:44:33 10HmaY-0005vi-00 data acl: dkim status pass
-1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaX-0005vi-00@???
+1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaX-0005vi-00@??? for a@???
 1999-03-02 09:44:33 10HmaY-0005vi-00 => a <a@???> R=server_store T=file
 1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
 1999-03-02 09:44:33 rcpt acl: macro: From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive
@@ -20,6 +20,6 @@
 1999-03-02 09:44:33 10HmbA-0005vi-00 dkim_acl: signer: test.ex bits: 1024 h=From
 1999-03-02 09:44:33 10HmbA-0005vi-00 DKIM: d=test.ex s=sel c=relaxed/relaxed a=rsa-sha256 b=1024 [verification succeeded]
 1999-03-02 09:44:33 10HmbA-0005vi-00 data acl: dkim status pass:pass
-1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaZ-0005vi-00@???
+1999-03-02 09:44:33 10HmbA-0005vi-00 <= CALLER@??? H=the.local.host.name (myhost.test.ex) [ip4.ip4.ip4.ip4] P=esmtp S=sss id=E10HmaZ-0005vi-00@??? for b@???
 1999-03-02 09:44:33 10HmbA-0005vi-00 => b <b@???> R=server_store T=file
 1999-03-02 09:44:33 10HmbA-0005vi-00 Completed
diff --git a/test/mail/4520.a b/test/mail/4520.a
index 430033f..94fd9a4 100644
--- a/test/mail/4520.a
+++ b/test/mail/4520.a
@@ -2,7 +2,7 @@ From CALLER@??? Tue Mar 02 09:44:33 1999
 Received: from the.local.host.name ([ip4.ip4.ip4.ip4] helo=myhost.test.ex)
     by myhost.test.ex with esmtp (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmaY-0005vi-00
+    id 10HmaZ-0005vi-00
     for a@???; Tue, 2 Mar 1999 09:44:33 +0000
 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     s=sel; h=From; bh=/Ab0giHZitYQbDhFszoqQRUkgqueaX9zatJttIU/plc=; b=LygSZ5OCGlY
@@ -11,11 +11,11 @@ DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     jSeqgM=;
 Received: from CALLER by myhost.test.ex with local (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmaX-0005vi-00
+    id 10HmaY-0005vi-00
     for a@???; Tue, 2 Mar 1999 09:44:33 +0000
 From: nobody@???
 From: second@???
-Message-Id: <E10HmaX-0005vi-00@???>
+Message-Id: <E10HmaY-0005vi-00@???>
 Sender: CALLER_NAME <CALLER@???>
 Date: Tue, 2 Mar 1999 09:44:33 +0000


diff --git a/test/mail/4520.b b/test/mail/4520.b
index 22b8c62..b80dc71 100644
--- a/test/mail/4520.b
+++ b/test/mail/4520.b
@@ -2,17 +2,17 @@ From CALLER@??? Tue Mar 02 09:44:33 1999
 Received: from the.local.host.name ([ip4.ip4.ip4.ip4] helo=myhost.test.ex)
     by myhost.test.ex with esmtp (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbA-0005vi-00
+    id 10HmbB-0005vi-00
     for b@???; Tue, 2 Mar 1999 09:44:33 +0000
 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     s=sel; h=From:From; bh=/Ab0giHZitYQbDhFszoqQRUkgqueaX9zatJttIU/plc=;
     t=T; x=T+10; b=bbbb;
 Received: from CALLER by myhost.test.ex with local (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmaZ-0005vi-00
+    id 10HmbA-0005vi-00
     for b@???; Tue, 2 Mar 1999 09:44:33 +0000
 From: nobody@???
-Message-Id: <E10HmaZ-0005vi-00@???>
+Message-Id: <E10HmbA-0005vi-00@???>
 Sender: CALLER_NAME <CALLER@???>
 Date: Tue, 2 Mar 1999 09:44:33 +0000


diff --git a/test/mail/4520.b10 b/test/mail/4520.b10
index d819733..de3c9cd 100644
--- a/test/mail/4520.b10
+++ b/test/mail/4520.b10
@@ -2,7 +2,7 @@ From CALLER@??? Tue Mar 02 09:44:33 1999
 Received: from the.local.host.name ([ip4.ip4.ip4.ip4] helo=myhost.test.ex)
     by myhost.test.ex with esmtp (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbC-0005vi-00
+    id 10HmbD-0005vi-00
     for b10@???; Tue, 2 Mar 1999 09:44:33 +0000
 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     s=sel; h=From; bh=/Ab0giHZitYQbDhFszoqQRUkgqueaX9zatJttIU/plc=; b=toy5chxow6W
@@ -11,10 +11,10 @@ DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     hvI6IY=;
 Received: from CALLER by myhost.test.ex with local (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbB-0005vi-00
+    id 10HmbC-0005vi-00
     for b10@???; Tue, 2 Mar 1999 09:44:33 +0000
 From: nobody@???
-Message-Id: <E10HmbB-0005vi-00@???>
+Message-Id: <E10HmbC-0005vi-00@???>
 Sender: CALLER_NAME <CALLER@???>
 Date: Tue, 2 Mar 1999 09:44:33 +0000


diff --git a/test/mail/4520.b12 b/test/mail/4520.b12
index c6c38aa..e327a0d 100644
--- a/test/mail/4520.b12
+++ b/test/mail/4520.b12
@@ -2,7 +2,7 @@ From CALLER@??? Tue Mar 02 09:44:33 1999
 Received: from the.local.host.name ([ip4.ip4.ip4.ip4] helo=myhost.test.ex)
     by myhost.test.ex with esmtp (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbE-0005vi-00
+    id 10HmbF-0005vi-00
     for b12@???; Tue, 2 Mar 1999 09:44:33 +0000
 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     s=sel; h=X-mine:X-mine:From; bh=/Ab0giHZitYQbDhFszoqQRUkgqueaX9zatJttIU/plc=;
@@ -11,12 +11,12 @@ DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     15ssCcfufIlOx4EQ9fQA=;
 Received: from CALLER by myhost.test.ex with local (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbD-0005vi-00
+    id 10HmbE-0005vi-00
     for b12@???; Tue, 2 Mar 1999 09:44:33 +0000
 From: nobody@???
 X-mine: one
 X-mine: two
-Message-Id: <E10HmbD-0005vi-00@???>
+Message-Id: <E10HmbE-0005vi-00@???>
 Sender: CALLER_NAME <CALLER@???>
 Date: Tue, 2 Mar 1999 09:44:33 +0000


diff --git a/test/mail/4520.b20 b/test/mail/4520.b20
index ee21bfc..cc84e78 100644
--- a/test/mail/4520.b20
+++ b/test/mail/4520.b20
@@ -2,7 +2,7 @@ From CALLER@??? Tue Mar 02 09:44:33 1999
 Received: from the.local.host.name ([ip4.ip4.ip4.ip4] helo=myhost.test.ex)
     by myhost.test.ex with esmtp (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbG-0005vi-00
+    id 10HmbH-0005vi-00
     for b20@???; Tue, 2 Mar 1999 09:44:33 +0000
 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     s=sel; h=X-Mine; bh=/Ab0giHZitYQbDhFszoqQRUkgqueaX9zatJttIU/plc=; b=VJ0NOLNRm
@@ -11,10 +11,10 @@ DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     d6xCVBLk=;
 Received: from CALLER by myhost.test.ex with local (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbF-0005vi-00
+    id 10HmbG-0005vi-00
     for b20@???; Tue, 2 Mar 1999 09:44:33 +0000
 From: nobody@???
-Message-Id: <E10HmbF-0005vi-00@???>
+Message-Id: <E10HmbG-0005vi-00@???>
 Sender: CALLER_NAME <CALLER@???>
 Date: Tue, 2 Mar 1999 09:44:33 +0000


diff --git a/test/mail/4520.b22 b/test/mail/4520.b22
index 79f090a..2b1e433 100644
--- a/test/mail/4520.b22
+++ b/test/mail/4520.b22
@@ -2,7 +2,7 @@ From CALLER@??? Tue Mar 02 09:44:33 1999
 Received: from the.local.host.name ([ip4.ip4.ip4.ip4] helo=myhost.test.ex)
     by myhost.test.ex with esmtp (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbI-0005vi-00
+    id 10HmbJ-0005vi-00
     for b22@???; Tue, 2 Mar 1999 09:44:33 +0000
 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     s=sel; h=X-mine:X-mine:X-Mine;
@@ -11,12 +11,12 @@ DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     /Bzt2ejTfNt7cbQQYHDLajY/q/9W6bGzJm4fBzrWrYgqfvyeXpb8jp2QkwO9zmGMiqmI=;
 Received: from CALLER by myhost.test.ex with local (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbH-0005vi-00
+    id 10HmbI-0005vi-00
     for b22@???; Tue, 2 Mar 1999 09:44:33 +0000
 From: nobody@???
 X-mine: one
 X-mine: two
-Message-Id: <E10HmbH-0005vi-00@???>
+Message-Id: <E10HmbI-0005vi-00@???>
 Sender: CALLER_NAME <CALLER@???>
 Date: Tue, 2 Mar 1999 09:44:33 +0000


diff --git a/test/mail/4520.d b/test/mail/4520.d
index 0818403..df5ea50 100644
--- a/test/mail/4520.d
+++ b/test/mail/4520.d
@@ -2,7 +2,7 @@ From CALLER@??? Tue Mar 02 09:44:33 1999
 Received: from the.local.host.name ([ip4.ip4.ip4.ip4] helo=myhost.test.ex)
     by myhost.test.ex with esmtp (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbK-0005vi-00
+    id 10HmbL-0005vi-00
     for d@???; Tue, 2 Mar 1999 09:44:33 +0000
 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     s=sel_bad; h=From; bh=/Ab0giHZitYQbDhFszoqQRUkgqueaX9zatJttIU/plc=; b=pL614V/
@@ -11,10 +11,10 @@ DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     QXXNtNEbKg=;
 Received: from CALLER by myhost.test.ex with local (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbJ-0005vi-00
+    id 10HmbK-0005vi-00
     for d@???; Tue, 2 Mar 1999 09:44:33 +0000
 From: nobody@???
-Message-Id: <E10HmbJ-0005vi-00@???>
+Message-Id: <E10HmbK-0005vi-00@???>
 Sender: CALLER_NAME <CALLER@???>
 Date: Tue, 2 Mar 1999 09:44:33 +0000


diff --git a/test/mail/4520.e b/test/mail/4520.e
index 1c55c0b..5cc5bb8 100644
--- a/test/mail/4520.e
+++ b/test/mail/4520.e
@@ -2,14 +2,14 @@ From CALLER@??? Tue Mar 02 09:44:33 1999
 Received: from the.local.host.name ([ip4.ip4.ip4.ip4] helo=myhost.test.ex)
     by myhost.test.ex with esmtp (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbM-0005vi-00
+    id 10HmbN-0005vi-00
     for e@???; Tue, 2 Mar 1999 09:44:33 +0000
 Received: from CALLER by myhost.test.ex with local (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbL-0005vi-00
+    id 10HmbM-0005vi-00
     for e@???; Tue, 2 Mar 1999 09:44:33 +0000
 From: nobody@???
-Message-Id: <E10HmbL-0005vi-00@???>
+Message-Id: <E10HmbM-0005vi-00@???>
 Sender: CALLER_NAME <CALLER@???>
 Date: Tue, 2 Mar 1999 09:44:33 +0000


diff --git a/test/mail/4520.f b/test/mail/4520.f
index a6e05a7..4e6d96d 100644
--- a/test/mail/4520.f
+++ b/test/mail/4520.f
@@ -2,7 +2,7 @@ From CALLER@??? Tue Mar 02 09:44:33 1999
 Received: from the.local.host.name ([ip4.ip4.ip4.ip4] helo=myhost.test.ex)
     by myhost.test.ex with esmtp (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbO-0005vi-00
+    id 10HmbP-0005vi-00
     for f@???; Tue, 2 Mar 1999 09:44:33 +0000
 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     s=sel; h=From; bh=gs+F4Uhr+N4qZhWyfctULkCwprl/tvOnzqNhsmpAFW4=; b=A3l0nyvB3OK
@@ -11,10 +11,10 @@ DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=test.ex;
     t2W/iI=;
 Received: from CALLER by myhost.test.ex with local (Exim x.yz)
     (envelope-from <CALLER@???>)
-    id 10HmbN-0005vi-00
+    id 10HmbO-0005vi-00
     for f@???; Tue, 2 Mar 1999 09:44:33 +0000
 From: nobody@???
-Message-Id: <E10HmbN-0005vi-00@???>
+Message-Id: <E10HmbO-0005vi-00@???>
 Sender: CALLER_NAME <CALLER@???>
 Date: Tue, 2 Mar 1999 09:44:33 +0000


diff --git a/test/paniclog/4520 b/test/paniclog/4520
new file mode 100644
index 0000000..ef060aa
--- /dev/null
+++ b/test/paniclog/4520
@@ -0,0 +1 @@
+1999-03-02 09:44:33 10HmaX-0005vi-00 failed to expand dkim_timestamps: unknown variable in "${bogus}"
diff --git a/test/scripts/4500-DKIM/4520 b/test/scripts/4500-DKIM/4520
index 8f962a0..f073be9 100644
--- a/test/scripts/4500-DKIM/4520
+++ b/test/scripts/4500-DKIM/4520
@@ -66,6 +66,13 @@ From: nobody@???
content
****
#
+# check dkim_strict results in a defer (even with an expansion)
+exim -DOPT=From '-DSTRICT=${if ={1}{1}{true}}' '-DTIMES=${bogus}' -odf '-f<>' e0@???
+From: nobody@???
+
+content
+****
+#
# check that an empty dkim_privatekey overrides dkim_strict
exim -DOPT=From -DSTRICT=true -DSELECTOR=none -odf e@???
From: nobody@???
diff --git a/test/stderr/4520 b/test/stderr/4520
index b55454e..a154336 100644
--- a/test/stderr/4520
+++ b/test/stderr/4520
@@ -47,15 +47,16 @@ DKIM-Signature:{SP}v=1;{SP}a=rsa-sha256;{SP}q=dns/txt;{SP}c=relaxed/relaxed;{SP}
PDKIM >> Signed DKIM-Signature header, canonicalized (relaxed) >>>>>>>
dkim-signature:v=1;{SP}a=rsa-sha256;{SP}q=dns/txt;{SP}c=relaxed/relaxed;{SP}d=test.ex;{SP}s=sel_bad;{SP}h=From;{SP}bh=/Ab0giHZitYQbDhFszoqQRUkgqueaX9zatJttIU/plc=;{SP}b=;
PDKIM [test.ex] Header sha256 computed: 241e16230df5723d899cfae9474c6b376a2ab1f81d1094e358f50ffd0e0067b3
- SMTP<< 250 OK id=10HmbK-0005vi-00
+ SMTP<< 250 OK id=10HmbL-0005vi-00
SMTP>> QUIT
cmd buf flush ddd bytes
SMTP(close)>>
LOG: MAIN
- => d@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbK-0005vi-00"
+ => d@??? R=client T=send_to_server H=ip4.ip4.ip4.ip4 [ip4.ip4.ip4.ip4] C="250 OK id=10HmbL-0005vi-00"
LOG: MAIN
Completed
>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>

+1999-03-02 09:44:33 10HmaX-0005vi-00 failed to expand dkim_timestamps: unknown variable in "${bogus}"

******** SERVER ********