DMARC: add variables for spf/dkim alignment results. Bug 3119
[exim.git] / test / stderr / 0402
index 07863fac72129bcfde116b54460809aca31016de..d0906810d0ac62eb205ec265f3c67af7ce180801 100644 (file)
@@ -1,4 +1,5 @@
 Exim version x.yz ....
+Hints DB:
 changed uid/gid: forcing real = effective
   uid=uuuu gid=CALLER_GID pid=p1234
 environment after trimming:
@@ -51,339 +52,343 @@ search_tidyup called
 Data file name: TESTSUITE/spool//input//10HmaX-000000005vi-0000-D
 Data file written for message 10HmaX-000000005vi-0000
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 try option received_header_text
- ╭considering: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: Received: 
- ├considering: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ╭considering: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+ ␉}{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+ ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+ ␉}}(Exim░$version_number)↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
+ ␉for░$received_for}}
+ ├───────text: Received:░
+ ├considering: ${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+ ␉}{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+ ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+ ␉}}(Exim░$version_number)↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
+ ␉for░$received_for}}
+  cond: def
  ├──condition: def:sender_rcvhost
  ├─────result: false
-  ╭───scanning: from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: from 
-  ├───scanning: $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: from░$sender_rcvhost↩
+  ␉}{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+  ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───────text: from
+  ├───scanning: $sender_rcvhost
+  ␉}{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+  ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
   ├──────value: 
-  ├───scanning: 
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
-       
-  ├───scanning: }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: from $sender_rcvhost
-       
-  ├─────result: from 
-       
+  ├───scanning: ↩
+  ␉}{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+  ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───────text: ↩
+  ␉
+  ├───scanning: }{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+  ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───expanded: from░$sender_rcvhost↩
+  ␉
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
-  ╭considering: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+  ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+   cond: def
   ├──condition: def:sender_ident
   ├─────result: true
-   ╭considering: from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: from 
-   ├considering: ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ╎╭considering: $sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
+   ╭considering: from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ␉}}(Exim░$version_number)↩
+   ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ␉}}id░$message_exim_id${if░def:received_for░{↩
+   ␉for░$received_for}}
+   ├───────text: from
+   ├considering: ${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ␉}}(Exim░$version_number)↩
+   ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ␉}}id░$message_exim_id${if░def:received_for░{↩
+   ␉for░$received_for}}
+   ╎╭considering: $sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎␉}}(Exim░$version_number)↩
+   ╎␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎␉}}id░$message_exim_id${if░def:received_for░{↩
+   ╎␉for░$received_for}}
    ╎├──────value: CALLER
-   ╎├considering: } }}${if def:sender_helo_name {(helo=$sender_helo_name)
-   ╎ }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-   ╎ }}(Exim $version_number)
-   ╎ ${if def:sender_address {(envelope-from <$sender_address>)
-   ╎ }}id $message_exim_id${if def:received_for {
-   ╎ for $received_for}}
-   ╎├──expanding: $sender_ident
+   ╎├considering: }░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ╎␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ╎␉}}(Exim░$version_number)↩
+   ╎␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ╎␉}}id░$message_exim_id${if░def:received_for░{↩
+   ╎␉for░$received_for}}
+   ╎├───expanded: $sender_ident
    ╎╰─────result: CALLER
    ├─────op-res: CALLER
-   ├considering:  }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text:  
-   ├considering: }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: from ${quote_local_part:$sender_ident} 
-   ╰─────result: from CALLER 
-  ├───item-res: from CALLER 
-  ├considering: ${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├considering: ░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ␉}}(Exim░$version_number)↩
+   ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ␉}}id░$message_exim_id${if░def:received_for░{↩
+   ␉for░$received_for}}
+   ├───────text: ░
+   ├considering: }}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+   ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ␉}}(Exim░$version_number)↩
+   ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ␉}}id░$message_exim_id${if░def:received_for░{↩
+   ␉for░$received_for}}
+   ├───expanded: from░${quote_local_part:$sender_ident}░
+   ╰─────result: from░CALLER░
+  ├───item-res: from░CALLER░
+  ├considering: ${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+  ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+   cond: def
   ├──condition: def:sender_helo_name
   ├─────result: false
-   ╭───scanning: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ╭───scanning: (helo=$sender_helo_name)
+   ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ␉}}(Exim░$version_number)↩
+   ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ␉}}id░$message_exim_id${if░def:received_for░{↩
+   ␉for░$received_for}}
    ├───────text: (helo=
-   ├───scanning: $sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+   ├───scanning: $sender_helo_name)
+   ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ␉}}(Exim░$version_number)↩
+   ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ␉}}id░$message_exim_id${if░def:received_for░{↩
+   ␉for░$received_for}}
    ├──────value: 
-   ├───scanning: )
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├───────text: )
-       
-   ├───scanning: }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-   ├──expanding: (helo=$sender_helo_name)
-       
-   ├─────result: (helo=)
-       
+   ├───scanning: )↩
+   ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ␉}}(Exim░$version_number)↩
+   ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ␉}}id░$message_exim_id${if░def:received_for░{↩
+   ␉for░$received_for}}
+   ├───────text: )↩
+   ␉
+   ├───scanning: }}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+   ␉}}(Exim░$version_number)↩
+   ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+   ␉}}id░$message_exim_id${if░def:received_for░{↩
+   ␉for░$received_for}}
+   ├───expanded: (helo=$sender_helo_name)↩
+   ␉
+   ├─────result:  ◀skipped▶
    ╰───skipping: result is not used
   ├───item-res: 
-  ├considering: }}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}
-  ╰─────result: from CALLER 
- ├───item-res: from CALLER 
- ├considering: by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
      for $received_for}}
- ├───────text: by 
- ├considering: $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
      for $received_for}}
+  ├considering: }}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───expanded: ${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+  }}
+  ╰─────result: from░CALLER░
+ ├───item-res: from░CALLER░
+ ├considering: by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+ ␉}}(Exim░$version_number)↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ ├───────text: by
+ ├considering: $primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+ ␉}}(Exim░$version_number)↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
  ├──────value: mail.test.ex
- ├considering:  ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text:  
- ├considering: ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+ ␉}}(Exim░$version_number)↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
+ ␉for░$received_for}}
+ ├───────text: ░
+ ├considering: ${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+ ␉}}(Exim░$version_number)↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
+ ␉for░$received_for}}
+  cond: def
  ├──condition: def:received_protocol
  ├─────result: true
-  ╭considering: with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: with 
-  ├considering: $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───────text: with
+  ├considering: $received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
   ├──────value: local
-  ├considering:  }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  
-  ├considering: }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: with $received_protocol 
-  ╰─────result: with local 
- ├───item-res: with local 
- ├considering: ${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  ($tls_in_ver)
-  ├─────result:  ()
+  ├considering: ░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───────text: ░
+  ├considering: }}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───expanded: with░$received_protocol░
+  ╰─────result: with░local░
+ ├───item-res: with░local░
+ ├considering: ${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+ ␉}}(Exim░$version_number)↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
+ ␉for░$received_for}}
+  cond: def
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───expanded: ░($tls_in_ver)
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
- ├considering: ${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+ ␉}}(Exim░$version_number)↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
+ ␉for░$received_for}}
+  cond: def
  ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  ╭───scanning:  tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text:  tls 
-  ├───scanning: $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭───scanning: ░tls░$tls_in_cipher_std↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───────text: ░tls░
+  ├───scanning: $tls_in_cipher_std
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
   ├──────value: 
-  ├───scanning: 
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: 
-       
-  ├───scanning: }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding:  tls $tls_in_cipher_std
-       
-  ├─────result:  tls 
-       
+  ├───scanning: ↩
+  ␉}}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───────text: ↩
+  ␉
+  ├───scanning: }}(Exim░$version_number)↩
+  ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───expanded: ░tls░$tls_in_cipher_std↩
+  ␉
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
- ├considering: (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
      for $received_for}}
- ├───────text: (Exim 
- ├considering: $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
      for $received_for}}
+ ├considering: (Exim░$version_number)↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ ├───────text: (Exim
+ ├considering: $version_number)
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
  ├──────value: x.yz
- ├considering: )
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
- ├───────text: )
-       
- ├considering: ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ├considering: )↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
+ ␉for░$received_for}}
+ ├───────text: )↩
+ ␉
+ ├considering: ${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
+ ␉for░$received_for}}
+  cond: def
  ├──condition: def:sender_address
  ├─────result: true
-  ╭considering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: (envelope-from <
-  ├considering: $sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  ╭considering: (envelope-from░<$sender_address>)↩
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───────text: (envelope-from<
+  ├considering: $sender_address>)
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
   ├──────value: CALLER@test.ex
-  ├considering: >)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├───────text: >)
-       
-  ├considering: }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: (envelope-from <$sender_address>)
-       
-  ╰─────result: (envelope-from <CALLER@test.ex>)
-       
- ├───item-res: (envelope-from <CALLER@test.ex>)
-       
- ├considering: id $message_exim_id${if def:received_for {
      for $received_for}}
- ├───────text: id 
- ├considering: $message_exim_id${if def:received_for {
      for $received_for}}
+  ├considering: >)
+  ␉}}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───────text: >)
+  ␉
+  ├considering: }}id░$message_exim_id${if░def:received_for░{↩
+  ␉for░$received_for}}
+  ├───expanded: (envelope-from░<$sender_address>)↩
+  ␉
+  ╰─────result: (envelope-from░<CALLER@test.ex>)↩
+  ␉
+ ├───item-res: (envelope-from░<CALLER@test.ex>)↩
+ ␉
+ ├considering: id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ ├───────text: id
+ ├considering: $message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
  ├──────value: 10HmaX-000000005vi-0000
- ├considering: ${if def:received_for {
-       for $received_for}}
+ ├considering: ${if░def:received_for░{↩
+ ␉for░$received_for}}
+  cond: def
  ├──condition: def:received_for
  ├─────result: false
-  ╭───scanning: 
-       for $received_for}}
-  ├───────text: 
-       for 
+  ╭───scanning: 
+  ␉for░$received_for}}
+  ├───────text: 
+  ␉for░
   ├───scanning: $received_for}}
   ├──────value: 
   ├───scanning: }}
-  ├──expanding: 
-       for $received_for
-  ├─────result: 
-       for 
+  ├───expanded: ↩
+  ␉for░$received_for
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: 
- ├──expanding: Received: ${if def:sender_rcvhost {from $sender_rcvhost
-       }{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol }}${if def:tls_in_ver        { ($tls_in_ver)}}${if def:tls_in_cipher_std { tls $tls_in_cipher_std
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
      for $received_for}}
- ╰─────result: Received: from CALLER by mail.test.ex with local (Exim x.yz)
-       (envelope-from <CALLER@test.ex>)
      id 10HmaX-000000005vi-0000
+ ├───expanded: Received:░${if░def:sender_rcvhost░{from░$sender_rcvhost↩
+ ␉}{${if░def:sender_ident░{from░${quote_local_part:$sender_ident}░}}${if░def:sender_helo_name░{(helo=$sender_helo_name)↩
+ ␉}}}}by░$primary_hostname░${if░def:received_protocol░{with░$received_protocol░}}${if░def:tls_in_ver░░░░░░░░{░($tls_in_ver)}}${if░def:tls_in_cipher_std░{░tls░$tls_in_cipher_std↩
+ ␉}}(Exim░$version_number)↩
+ ␉${if░def:sender_address░{(envelope-from░<$sender_address>)↩
+ ␉}}id░$message_exim_id${if░def:received_for░{↩
␉for░$received_for}}
+ ╰─────result: Received:░from░CALLER░by░mail.test.ex░with░local░(Exim░x.yz)↩
+ ␉(envelope-from░<CALLER@test.ex>)↩
␉id░10HmaX-000000005vi-0000
 >>Generated Received: header line
 P Received: from CALLER by mail.test.ex with local (Exim x.yz)
        (envelope-from <CALLER@test.ex>)
@@ -391,8 +396,8 @@ P Received: from CALLER by mail.test.ex with local (Exim x.yz)
        Tue, 2 Mar 1999 09:44:33 +0000
 try option acl_not_smtp
  ╭considering: ${tod_full}
- ├──expanding: ${tod_full}
- ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ├───expanded: ${tod_full}
+ ╰─────result: Tue,░2░Mar░1999░09:44:33░+0000
 Writing spool header file: TESTSUITE/spool//input//hdr.10HmaX-000000005vi-0000
 DSN: **** SPOOL_OUT - address: <CALLER@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
 DSN: **** SPOOL_OUT - address: <usery@test.ex> errorsto: <NULL> orcpt: <NULL> dsn_flags: 0x0
@@ -407,6 +412,7 @@ created log directory TESTSUITE/spool/log
 search_tidyup called
 exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715dfd -MCd local-accept-delivery -odi -Mc 10HmaX-000000005vi-0000
 Exim version x.yz ....
+Hints DB:
 changed uid/gid: forcing real = effective
   uid=uuuu gid=EXIM_GID pid=p1235
 environment after trimming:
@@ -449,87 +455,87 @@ Delivery address list:
   userz@test.ex 
   rd+CALLER@test.ex 
   rd+usery@test.ex 
- locking TESTSUITE/spool/db/retry.lockfile
- locked  TESTSUITE/spool/db/retry.lockfile
- EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
- returned from EXIM_DBOPEN: (nil)
- failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: CALLER@test.ex
 unique = CALLER@test.ex
-no   domain  retry record
-no   address retry record
+checking router retry status
+ no   domain  retry record
+ no   address retry record
 CALLER@test.ex: queued for routing
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: usery@test.ex
 unique = usery@test.ex
-no   domain  retry record
-no   address retry record
+checking router retry status
+ no   domain  retry record
+ no   address retry record
 usery@test.ex: queued for routing
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: userz@test.ex
 unique = userz@test.ex
-no   domain  retry record
-no   address retry record
+checking router retry status
+ no   domain  retry record
+ no   address retry record
 userz@test.ex: queued for routing
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: rd+CALLER@test.ex
 unique = rd+CALLER@test.ex
-no   domain  retry record
-no   address retry record
+checking router retry status
+ no   domain  retry record
+ no   address retry record
 rd+CALLER@test.ex: queued for routing
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: rd+usery@test.ex
 unique = rd+usery@test.ex
-no   domain  retry record
-no   address retry record
+checking router retry status
+ no   domain  retry record
+ no   address retry record
 rd+usery@test.ex: queued for routing
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 routing rd+usery@test.ex
 --------> r1 router <--------
 local_part=rd+usery domain=test.ex
 checking local_parts
-rd+usery in "CALLER"?
+rd+usery in local_parts?
  list element: CALLER
-rd+usery in "CALLER"? no (end of list)
+rd+usery in local_parts? no (end of list)
 r1 router skipped: local_parts mismatch
 --------> r2 router <--------
 local_part=rd+usery domain=test.ex
 checking local_parts
-rd+usery in "usery"?
+rd+usery in local_parts?
  list element: usery
-rd+usery in "usery"? no (end of list)
+rd+usery in local_parts? no (end of list)
 r2 router skipped: local_parts mismatch
 --------> r3 router <--------
 local_part=rd+usery domain=test.ex
 checking local_parts
-rd+usery in "userz"?
+rd+usery in local_parts?
  list element: userz
-rd+usery in "userz"? no (end of list)
+rd+usery in local_parts? no (end of list)
 r3 router skipped: local_parts mismatch
 --------> r4 router <--------
 local_part=rd+usery domain=test.ex
 stripped prefix rd+
 checking local_parts
-usery in "CALLER"?
+usery in local_parts?
  list element: CALLER
-usery in "CALLER"? no (end of list)
+usery in local_parts? no (end of list)
 r4 router skipped: local_parts mismatch
 --------> r5 router <--------
 local_part=rd+usery domain=test.ex
 stripped prefix rd+
 checking local_parts
-usery in "usery"?
+usery in local_parts?
  list element: usery
- usery in "usery"? yes (matched "usery")
+ usery in local_parts? yes (matched "usery")
 try option router_home_directory
  ╭considering: /non-exist/$domain
  ├───────text: /non-exist/
  ├considering: $domain
  ├──────value: test.ex
             ╰──(tainted)
- ├──expanding: /non-exist/$domain
+ ├───expanded: /non-exist/$domain
  ╰─────result: /non-exist/test.ex
             ╰──(tainted)
 try option set
@@ -540,6 +546,9 @@ expanded: 'TESTSUITE/test-mail/junk'
 file is not a filter file
 parse_forward_list: TESTSUITE/test-mail/junk
 extract item: TESTSUITE/test-mail/junk
+try option errors_to
+try option headers_add
+try option headers_remove
 try option file_transport
 try option transport
 set transport ft1
@@ -548,7 +557,6 @@ r5 router generated TESTSUITE/test-mail/junk
   errors_to=NULL transport=ft1
   uid=unset gid=unset home=/non-exist/$local_part
 try option unseen
-try option unseen
 routed by r5 router
   envelope to: rd+usery@test.ex
   transport: <none>
@@ -557,38 +565,38 @@ routing rd+CALLER@test.ex
 --------> r1 router <--------
 local_part=rd+CALLER domain=test.ex
 checking local_parts
-rd+CALLER in "CALLER"?
+rd+CALLER in local_parts?
  list element: CALLER
-rd+CALLER in "CALLER"? no (end of list)
+rd+CALLER in local_parts? no (end of list)
 r1 router skipped: local_parts mismatch
 --------> r2 router <--------
 local_part=rd+CALLER domain=test.ex
 checking local_parts
-rd+CALLER in "usery"?
+rd+CALLER in local_parts?
  list element: usery
-rd+CALLER in "usery"? no (end of list)
+rd+CALLER in local_parts? no (end of list)
 r2 router skipped: local_parts mismatch
 --------> r3 router <--------
 local_part=rd+CALLER domain=test.ex
 checking local_parts
-rd+CALLER in "userz"?
+rd+CALLER in local_parts?
  list element: userz
-rd+CALLER in "userz"? no (end of list)
+rd+CALLER in local_parts? no (end of list)
 r3 router skipped: local_parts mismatch
 --------> r4 router <--------
 local_part=rd+CALLER domain=test.ex
 stripped prefix rd+
 checking local_parts
-CALLER in "CALLER"?
+CALLER in local_parts?
  list element: CALLER
- CALLER in "CALLER"? yes (matched "CALLER")
+ CALLER in local_parts? yes (matched "CALLER")
 try option router_home_directory
  ╭considering: /non-exist/$local_part
  ├───────text: /non-exist/
  ├considering: $local_part
  ├──────value: CALLER
             ╰──(tainted)
- ├──expanding: /non-exist/$local_part
+ ├───expanded: /non-exist/$local_part
  ╰─────result: /non-exist/CALLER
             ╰──(tainted)
 try option set
@@ -599,6 +607,9 @@ expanded: 'TESTSUITE/test-mail/junk'
 file is not a filter file
 parse_forward_list: TESTSUITE/test-mail/junk
 extract item: TESTSUITE/test-mail/junk
+try option errors_to
+try option headers_add
+try option headers_remove
 try option file_transport
 try option transport
 set transport ft1
@@ -607,7 +618,6 @@ r4 router generated TESTSUITE/test-mail/junk
   errors_to=NULL transport=ft1
   uid=unset gid=unset home=/non-exist/CALLER
 try option unseen
-try option unseen
 routed by r4 router
   envelope to: rd+CALLER@test.ex
   transport: <none>
@@ -616,36 +626,39 @@ routing userz@test.ex
 --------> r1 router <--------
 local_part=userz domain=test.ex
 checking local_parts
-userz in "CALLER"?
+userz in local_parts?
  list element: CALLER
-userz in "CALLER"? no (end of list)
+userz in local_parts? no (end of list)
 r1 router skipped: local_parts mismatch
 --------> r2 router <--------
 local_part=userz domain=test.ex
 checking local_parts
-userz in "usery"?
+userz in local_parts?
  list element: usery
-userz in "usery"? no (end of list)
+userz in local_parts? no (end of list)
 r2 router skipped: local_parts mismatch
 --------> r3 router <--------
 local_part=userz domain=test.ex
 checking local_parts
-userz in "userz"?
+userz in local_parts?
  list element: userz
- userz in "userz"? yes (matched "userz")
+ userz in local_parts? yes (matched "userz")
 try option router_home_directory
  ╭considering: /non-exist/$domain
  ├───────text: /non-exist/
  ├considering: $domain
  ├──────value: test.ex
             ╰──(tainted)
- ├──expanding: /non-exist/$domain
+ ├───expanded: /non-exist/$domain
  ╰─────result: /non-exist/test.ex
             ╰──(tainted)
 try option set
 calling r3 router
 r3 router called for userz@test.ex
   domain = test.ex
+try option errors_to
+try option headers_add
+try option headers_remove
 try option transport
 set transport t2
 queued for t2 transport: local_part = userz
@@ -653,7 +666,6 @@ domain = test.ex
   errors_to=NULL
   domain_data=NULL local_part_data=userz
 try option unseen
-try option unseen
 routed by r3 router
   envelope to: userz@test.ex
   transport: t2
@@ -662,29 +674,32 @@ routing usery@test.ex
 --------> r1 router <--------
 local_part=usery domain=test.ex
 checking local_parts
-usery in "CALLER"?
+usery in local_parts?
  list element: CALLER
-usery in "CALLER"? no (end of list)
+usery in local_parts? no (end of list)
 r1 router skipped: local_parts mismatch
 --------> r2 router <--------
 local_part=usery domain=test.ex
 checking local_parts
-usery in "usery"?
+usery in local_parts?
  list element: usery
- usery in "usery"? yes (matched "usery")
+ usery in local_parts? yes (matched "usery")
 try option router_home_directory
  ╭considering: /non-exist/$domain
  ├───────text: /non-exist/
  ├considering: $domain
  ├──────value: test.ex
             ╰──(tainted)
- ├──expanding: /non-exist/$domain
+ ├───expanded: /non-exist/$domain
  ╰─────result: /non-exist/test.ex
             ╰──(tainted)
 try option set
 calling r2 router
 r2 router called for usery@test.ex
   domain = test.ex
+try option errors_to
+try option headers_add
+try option headers_remove
 try option transport
 set transport t1
 queued for t1 transport: local_part = usery
@@ -692,7 +707,6 @@ domain = test.ex
   errors_to=NULL
   domain_data=NULL local_part_data=usery
 try option unseen
-try option unseen
 routed by r2 router
   envelope to: usery@test.ex
   transport: t1
@@ -701,22 +715,25 @@ routing CALLER@test.ex
 --------> r1 router <--------
 local_part=CALLER domain=test.ex
 checking local_parts
-CALLER in "CALLER"?
+CALLER in local_parts?
  list element: CALLER
- CALLER in "CALLER"? yes (matched "CALLER")
+ CALLER in local_parts? yes (matched "CALLER")
 try option router_home_directory
  ╭considering: /non-exist/$local_part
  ├───────text: /non-exist/
  ├considering: $local_part
  ├──────value: CALLER
             ╰──(tainted)
- ├──expanding: /non-exist/$local_part
+ ├───expanded: /non-exist/$local_part
  ╰─────result: /non-exist/CALLER
             ╰──(tainted)
 try option set
 calling r1 router
 r1 router called for CALLER@test.ex
   domain = test.ex
+try option errors_to
+try option headers_add
+try option headers_remove
 try option transport
 set transport t1
 queued for t1 transport: local_part = CALLER
@@ -724,15 +741,9 @@ domain = test.ex
   errors_to=NULL
   domain_data=NULL local_part_data=CALLER
 try option unseen
-try option unseen
 routed by r1 router
   envelope to: CALLER@test.ex
   transport: t1
- locking TESTSUITE/spool/db/retry.lockfile
- locked  TESTSUITE/spool/db/retry.lockfile
- EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
- returned from EXIM_DBOPEN: (nil)
- failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 Considering: TESTSUITE/test-mail/junk
@@ -756,11 +767,6 @@ After routing:
 search_tidyup called
 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
 --------> TESTSUITE/test-mail/junk <--------
- locking TESTSUITE/spool/db/retry.lockfile
- locked  TESTSUITE/spool/db/retry.lockfile
- EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
- returned from EXIM_DBOPEN: (nil)
- failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 try option max_parallel
 try option return_path
@@ -770,7 +776,7 @@ try option home_directory
  ├considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: /non-exist/$local_part
+ ├───expanded: /non-exist/$local_part
  ╰─────result: /non-exist/usery
             ╰──(tainted)
 try option current_directory
@@ -787,7 +793,7 @@ set_process_info: pppp delivering 10HmaX-000000005vi-0000 to TESTSUITE/test-mail
 appendfile transport entered
  ╭considering: $address_file
  ├──────value: TESTSUITE/test-mail/junk
- ├──expanding: $address_file
+ ├───expanded: $address_file
  ╰─────result: TESTSUITE/test-mail/junk
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
@@ -801,44 +807,45 @@ lock file created
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
 try option message_prefix
- ╭considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ╭considering: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
- ├───────text: From 
- ├considering: ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├───────text: From
+ ├considering: ${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
+  cond: def
  ├──condition: def:return_path
  ├─────result: true
-  ╭considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+  ╭considering: $return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
   
   ├──────value: CALLER@test.ex
              ╰──(tainted)
-  ├considering: }{MAILER-DAEMON}} ${tod_bsdinbox}
+  ├considering: }{MAILER-DAEMON}}░${tod_bsdinbox}↩
   
-  ├──expanding: $return_path
+  ├───expanded: $return_path
   ╰─────result: CALLER@test.ex
              ╰──(tainted)
-  ╭───scanning: MAILER-DAEMON}} ${tod_bsdinbox}
+  ╭───scanning: MAILER-DAEMON}}░${tod_bsdinbox}↩
   
   ├───────text: MAILER-DAEMON
-  ├───scanning: }} ${tod_bsdinbox}
+  ├───scanning: }}░${tod_bsdinbox}↩
   
-  ├──expanding: MAILER-DAEMON
-  ├─────result: MAILER-DAEMON
+  ├───expanded: MAILER-DAEMON
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: CALLER@test.ex
             ╰──(tainted)
- ├considering:  ${tod_bsdinbox}
+ ├considering: ░${tod_bsdinbox}↩
  
- ├───────text:  
- ├considering: ${tod_bsdinbox}
+ ├───────text: 
+ ├considering: ${tod_bsdinbox}
  
- ├considering: 
+ ├considering: 
  
- ├───────text: 
+ ├───────text: 
  
- ├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├───expanded: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
- ╰─────result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
+ ╰─────result: From░CALLER@test.ex░Tue░Mar░02░09:44:33░1999↩
  
             ╰──(tainted)
 writing data block fd=dddd size=sss timeout=0
@@ -848,6 +855,7 @@ try option message_suffix
 writing data block fd=dddd size=sss timeout=0
 appendfile yields 0 with errno=dd more_errno=dd
 search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=p1236 (delivery-local) terminating with rc=0 >>>>>>>>>>>>>>>>
 journalling TESTSUITE/test-mail/junk:rd+usery@test.ex
 ft1 transport returned OK for TESTSUITE/test-mail/junk
 post-process TESTSUITE/test-mail/junk (0)
@@ -856,11 +864,6 @@ rd+usery@test.ex: children all complete
 LOG: MAIN
   => TESTSUITE/test-mail/junk <rd+usery@test.ex> R=r5 T=ft1
 --------> TESTSUITE/test-mail/junk <--------
- locking TESTSUITE/spool/db/retry.lockfile
- locked  TESTSUITE/spool/db/retry.lockfile
- EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
- returned from EXIM_DBOPEN: (nil)
- failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 try option max_parallel
 try option return_path
@@ -879,7 +882,7 @@ set_process_info: pppp delivering 10HmaX-000000005vi-0000 to TESTSUITE/test-mail
 appendfile transport entered
  ╭considering: $address_file
  ├──────value: TESTSUITE/test-mail/junk
- ├──expanding: $address_file
+ ├───expanded: $address_file
  ╰─────result: TESTSUITE/test-mail/junk
 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   file=TESTSUITE/test-mail/junk format=unix
@@ -893,44 +896,45 @@ lock file created
 mailbox TESTSUITE/test-mail/junk is locked
 writing to file TESTSUITE/test-mail/junk
 try option message_prefix
- ╭considering: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ╭considering: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
- ├───────text: From 
- ├considering: ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├───────text: From
+ ├considering: ${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
+  cond: def
  ├──condition: def:return_path
  ├─────result: true
-  ╭considering: $return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+  ╭considering: $return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
   
   ├──────value: CALLER@test.ex
              ╰──(tainted)
-  ├considering: }{MAILER-DAEMON}} ${tod_bsdinbox}
+  ├considering: }{MAILER-DAEMON}}░${tod_bsdinbox}↩
   
-  ├──expanding: $return_path
+  ├───expanded: $return_path
   ╰─────result: CALLER@test.ex
              ╰──(tainted)
-  ╭───scanning: MAILER-DAEMON}} ${tod_bsdinbox}
+  ╭───scanning: MAILER-DAEMON}}░${tod_bsdinbox}↩
   
   ├───────text: MAILER-DAEMON
-  ├───scanning: }} ${tod_bsdinbox}
+  ├───scanning: }}░${tod_bsdinbox}↩
   
-  ├──expanding: MAILER-DAEMON
-  ├─────result: MAILER-DAEMON
+  ├───expanded: MAILER-DAEMON
+  ├─────result:  ◀skipped▶
   ╰───skipping: result is not used
  ├───item-res: CALLER@test.ex
             ╰──(tainted)
- ├considering:  ${tod_bsdinbox}
+ ├considering: ░${tod_bsdinbox}↩
  
- ├───────text:  
- ├considering: ${tod_bsdinbox}
+ ├───────text: 
+ ├considering: ${tod_bsdinbox}
  
- ├considering: 
+ ├considering: 
  
- ├───────text: 
+ ├───────text: 
  
- ├──expanding: From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}
+ ├───expanded: From░${if░def:return_path{$return_path}{MAILER-DAEMON}}░${tod_bsdinbox}↩
  
- ╰─────result: From CALLER@test.ex Tue Mar 02 09:44:33 1999
+ ╰─────result: From░CALLER@test.ex░Tue░Mar░02░09:44:33░1999↩
  
             ╰──(tainted)
 writing data block fd=dddd size=sss timeout=0
@@ -940,6 +944,7 @@ try option message_suffix
 writing data block fd=dddd size=sss timeout=0
 appendfile yields 0 with errno=dd more_errno=dd
 search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=p1237 (delivery-local) terminating with rc=0 >>>>>>>>>>>>>>>>
 journalling TESTSUITE/test-mail/junk:rd+CALLER@test.ex
 ft1 transport returned OK for TESTSUITE/test-mail/junk
 post-process TESTSUITE/test-mail/junk (0)
@@ -948,11 +953,6 @@ rd+CALLER@test.ex: children all complete
 LOG: MAIN
   => TESTSUITE/test-mail/junk <rd+CALLER@test.ex> R=r4 T=ft1
 --------> CALLER@test.ex <--------
- locking TESTSUITE/spool/db/retry.lockfile
- locked  TESTSUITE/spool/db/retry.lockfile
- EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
- returned from EXIM_DBOPEN: (nil)
- failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 try option max_parallel
 try option return_path
@@ -976,6 +976,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   maildir_use_size_file=no
   locking by lockfile fcntl 
 search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=p1238 (delivery-local) terminating with rc=0 >>>>>>>>>>>>>>>>
 journalling CALLER@test.ex
 t1 transport returned OK for CALLER@test.ex
 post-process CALLER@test.ex (0)
@@ -983,11 +984,6 @@ CALLER@test.ex delivered
 LOG: MAIN
   => CALLER <CALLER@test.ex> R=r1 T=t1
 --------> usery@test.ex <--------
- locking TESTSUITE/spool/db/retry.lockfile
- locked  TESTSUITE/spool/db/retry.lockfile
- EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
- returned from EXIM_DBOPEN: (nil)
- failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 try option max_parallel
 try option return_path
@@ -997,7 +993,7 @@ try option home_directory
  ├considering: $local_part
  ├──────value: usery
             ╰──(tainted)
- ├──expanding: /non-exist/$local_part
+ ├───expanded: /non-exist/$local_part
  ╰─────result: /non-exist/usery
             ╰──(tainted)
 try option current_directory
@@ -1019,6 +1015,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   maildir_use_size_file=no
   locking by lockfile fcntl 
 search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=p1239 (delivery-local) terminating with rc=0 >>>>>>>>>>>>>>>>
 journalling usery@test.ex
 t1 transport returned OK for usery@test.ex
 post-process usery@test.ex (0)
@@ -1026,11 +1023,6 @@ usery@test.ex delivered
 LOG: MAIN
   => usery <usery@test.ex> R=r2 T=t1
 --------> userz@test.ex <--------
- locking TESTSUITE/spool/db/retry.lockfile
- locked  TESTSUITE/spool/db/retry.lockfile
- EXIM_DBOPEN: file <TESTSUITE/spool/db/retry> dir <TESTSUITE/spool/db> flags=O_RDONLY
- returned from EXIM_DBOPEN: (nil)
- failed to open DB file TESTSUITE/spool/db/retry: No such file or directory
 no retry data available
 try option max_parallel
 try option return_path
@@ -1040,7 +1032,7 @@ try option home_directory
  ├considering: $local_part
  ├──────value: userz
             ╰──(tainted)
- ├──expanding: /$local_part
+ ├───expanded: /$local_part
  ╰─────result: /userz
             ╰──(tainted)
 try option current_directory
@@ -1062,6 +1054,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   maildir_use_size_file=no
   locking by lockfile fcntl 
 search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=p1240 (delivery-local) terminating with rc=0 >>>>>>>>>>>>>>>>
 journalling userz@test.ex
 t2 transport returned OK for userz@test.ex
 post-process userz@test.ex (0)
@@ -1073,18 +1066,18 @@ changed uid/gid: post-delivery tidying
   uid=EXIM_UID gid=EXIM_GID pid=p1235
 set_process_info: pppp tidying up after delivering 10HmaX-000000005vi-0000
 Processing retry items
-Succeeded addresses:
- userz@test.ex: no retry items
- usery@test.ex: no retry items
- CALLER@test.ex: no retry items
- TESTSUITE/test-mail/junk: no retry items
- rd+CALLER@test.ex: no retry items
- TESTSUITE/test-mail/junk: no retry items
- rd+usery@test.ex: no retry items
- rd+CALLER@test.ex: no retry items
- rd+usery@test.ex: no retry items
-Failed addresses:
-Deferred addresses:
+ Succeeded addresses:
 userz@test.ex: no retry items
 usery@test.ex: no retry items
 CALLER@test.ex: no retry items
 TESTSUITE/test-mail/junk: no retry items
 rd+CALLER@test.ex: no retry items
 TESTSUITE/test-mail/junk: no retry items
 rd+usery@test.ex: no retry items
 rd+CALLER@test.ex: no retry items
 rd+usery@test.ex: no retry items
+ Failed addresses:
+ Deferred addresses:
 end of retry processing
 DSN: processing router : r3
 DSN: processing successful delivery address: userz@test.ex