Track tainted data and refuse to expand it
[exim.git] / test / stderr / 0544
index 44582a1cce3c2e492562917de56e578c55c435cc..cce0311012460e32b186a8da6707fde4936bc880 100644 (file)
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
- â\94\8cconsidering: ${tod_full}
+ â\95­considering: ${tod_full}
  ├──expanding: ${tod_full}
- └─────result: Tue, 2 Mar 1999 09:44:33 +0000
- ┌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}} (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+ ╰─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ ╭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_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}}
  ├──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}} (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_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 
-       
-  └───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}} (Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+       
+  ╰───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_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}}
   ├──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}} (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}} (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
-   .└─────result: CALLER
+   ╭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_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_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
+   ╎╰─────result: CALLER
    ├──expanding: from ${quote_local_part:$sender_ident} 
-   â\94\94─────result: from CALLER 
+   â\95°─────result: from CALLER 
   ├──condition: def:sender_helo_name
   ├─────result: false
-   ┌───scanning: (helo=$sender_helo_name)
-       }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (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_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=)
-       
-   â\94\94───skipping: result is not used
+       
+   â\95°───skipping: result is not used
   ├──expanding: ${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)
-       }}
-  â\94\94─────result: from CALLER 
+       }}
+  â\95°─────result: from CALLER 
  ├──condition: def:received_protocol
  ├─────result: true
-  ┌considering: with $received_protocol}} (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
- ├──condition: def:tls_cipher
+  ╭considering: with $received_protocol }}${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 
+ ├──condition: def:tls_in_cipher_std
  ├─────result: false
-  â\94\8câ\94\80â\94\80â\94\80scanning: ($tls_cipher)
-       }}(Exim $version_number)
-       ${if def:sender_address {(envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
-  ├──expanding: ($tls_cipher)
-       
-  ├─────result: ()
-       
-  â\94\94───skipping: result is not used
+  â\95­â\94\80â\94\80â\94\80scanning:  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:  tls $tls_in_cipher_std
+       
+  ├─────result:  tls 
+       
+  â\95°───skipping: result is not used
  ├──condition: def:sender_address
  ├─────result: true
-  â\94\8cconsidering: (envelope-from <$sender_address>)
-       }}id $message_exim_id${if def:received_for {
-       for $received_for}}
+  â\95­considering: (envelope-from <$sender_address>)
+       }}id $message_exim_id${if def:received_for {
+       for $received_for}}
   ├──expanding: (envelope-from <$sender_address>)
-       
-  â\94\94─────result: (envelope-from <CALLER@test.ex>)
-       
+       
+  â\95°─────result: (envelope-from <CALLER@test.ex>)
+       
  ├──condition: def:received_for
  ├─────result: false
-  â\94\8c───scanning: 
-       for $received_for}}
+  â\95­───scanning: 
+       for $received_for}}
   ├──expanding: 
-       for $received_for
+       for $received_for
   ├─────result: 
-       for 
-  â\94\94───skipping: result is not used
+       for 
+  â\95°───skipping: result is not used
  ├──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}} (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 the.local.host.name with local (Exim x.yz)
-       (envelope-from <CALLER@test.ex>)
-       id 10HmaX-0005vi-00
- ┌considering: ${tod_full}
+       }{${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_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 the.local.host.name with local (Exim x.yz)
+       (envelope-from <CALLER@test.ex>)
+       id 10HmaX-0005vi-00
+ ╭considering: ${tod_full}
  ├──expanding: ${tod_full}
- â\94\94─────result: Tue, 2 Mar 1999 09:44:33 +0000
+ â\95°─────result: Tue, 2 Mar 1999 09:44:33 +0000
 LOG: MAIN
   <= CALLER@test.ex U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
@@ -116,76 +124,83 @@ Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 trusted user
 admin user
- ┌considering: $domain
+dropping to exim gid; retaining priv uid
+ ╭considering: $domain
  ├──expanding: $domain
- └─────result: domain1.ex
+ ╰─────result: domain1.ex
+            ╰──(tainted)
 LOG: MAIN
   == userx@domain1.ex R=smarthost T=smtp defer (-1): domain matches queue_smtp_domains, or -odqs set
 LOG: MAIN
   == userx@domain2.ex R=smarthost T=smtp defer (-1): domain matches queue_smtp_domains, or -odqs set
- â\94\8cconsidering: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
-  â\94\8cconsidering: $h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+ â\95­considering: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  â\95­considering: $h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: $h_list-id:$h_list-post:$h_list-subscribe:
-  â\94\94─────result: 
-  â\94\8cconsidering: } }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  â\95°─────result: 
+  â\95­considering: } }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: 
-  â\94\94─────result: 
-  â\94\8cconsidering: $h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  â\95°─────result: 
+  â\95­considering: $h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: $h_precedence:
-  â\94\94─────result: 
-  â\94\8cconsidering: (?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  â\95°─────result: 
+  â\95­considering: (?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: (?i)bulk|list|junk
-  â\94\94─────result: (?i)bulk|list|junk
-  â\94\8cconsidering: $h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
+  â\95°─────result: (?i)bulk|list|junk
+  â\95­considering: $h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: $h_auto-submitted:
-  â\94\94─────result: 
-  â\94\8cconsidering: (?i)auto-generated|auto-replied} }} {no}{yes}}
+  â\95°─────result: 
+  â\95­considering: (?i)auto-generated|auto-replied} }} {no}{yes}}
   ├──expanding: (?i)auto-generated|auto-replied
-  â\94\94─────result: (?i)auto-generated|auto-replied
+  â\95°─────result: (?i)auto-generated|auto-replied
  ├──condition: or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }}
  ├─────result: false
-  â\94\8c───scanning: no}{yes}}
+  â\95­───scanning: no}{yes}}
   ├──expanding: no
   ├─────result: no
-  â\94\94───skipping: result is not used
-  â\94\8cconsidering: yes}}
+  â\95°───skipping: result is not used
+  â\95­considering: yes}}
   ├──expanding: yes
-  â\94\94─────result: yes
+  â\95°─────result: yes
  ├──expanding: ${if or {{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }{ match{$h_precedence:}{(?i)bulk|list|junk} }{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }} {no}{yes}}
- â\94\94─────result: yes
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+ â\95°─────result: yes
+>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
 LOG: smtp_connection MAIN
   SMTP connection from CALLER
- â\94\8cconsidering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
+ â\95­considering: $smtp_active_hostname ESMTP Exim $version_number $tod_full
  ├──expanding: $smtp_active_hostname ESMTP Exim $version_number $tod_full
- â\94\94─────result: the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
- â\94\8cconsidering: ${if match_domain {$sender_helo_name}{+dlist}}
-  â\94\8cconsidering: $sender_helo_name}{+dlist}}
+ â\95°─────result: the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+ â\95­considering: ${if match_domain {$sender_helo_name}{+dlist}}
+  â\95­considering: $sender_helo_name}{+dlist}}
   ├──expanding: $sender_helo_name
-  └─────result: ehlo.domain
-  ┌considering: +dlist}}
+  ╰─────result: ehlo.domain
+             ╰──(tainted)
+  ╭considering: +dlist}}
   ├──expanding: +dlist
-  â\94\94─────result: +dlist
-  â\94\8cconsidering: $domain
+  â\95°─────result: +dlist
+  â\95­considering: $domain
   ├──expanding: $domain
-  └─────result: ehlo.domain
+  ╰─────result: ehlo.domain
+             ╰──(tainted)
  ├──condition: match_domain {$sender_helo_name}{+dlist}
  ├─────result: true
  ├──expanding: ${if match_domain {$sender_helo_name}{+dlist}}
- â\94\94─────result: true
- â\94\8cconsidering: domain=$domain/sender_domain=$sender_address_domain
+ â\95°─────result: true
+ â\95­considering: domain=$domain/sender_domain=$sender_address_domain
  ├──expanding: domain=$domain/sender_domain=$sender_address_domain
- └─────result: domain=/sender_domain=sender.domain
- ┌considering: domain=$domain/sender_domain=$sender_address_domain
+ ╰─────result: domain=/sender_domain=sender.domain
+            ╰──(tainted)
+ ╭considering: domain=$domain/sender_domain=$sender_address_domain
  ├──expanding: domain=$domain/sender_domain=$sender_address_domain
- └─────result: domain=recipient.domain/sender_domain=sender.domain
- ┌considering: domain=$domain/sender_domain=$sender_address_domain
+ ╰─────result: domain=recipient.domain/sender_domain=sender.domain
+            ╰──(tainted)
+ ╭considering: domain=$domain/sender_domain=$sender_address_domain
  ├──expanding: domain=$domain/sender_domain=$sender_address_domain
- └─────result: domain=recipient.domain/sender_domain=sender.domain
+ ╰─────result: domain=recipient.domain/sender_domain=sender.domain
+            ╰──(tainted)
 LOG: smtp_connection MAIN
   SMTP connection from CALLER closed by QUIT
->>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+>>>>>>>>>>>>>>>> Exim pid=pppp (msg setup toplevel) terminating with rc=0 >>>>>>>>>>>>>>>>