[exim-cvs] Debug: noutf8 selector. Bug 2324

Top Page
Delete this message
Reply to this message
Author: Exim Git Commits Mailing List
Date:  
To: exim-cvs
Subject: [exim-cvs] Debug: noutf8 selector. Bug 2324
Gitweb: https://git.exim.org/exim.git/commitdiff/ae8f9024d8d4fad31457d758022e3186d782929c
Commit:     ae8f9024d8d4fad31457d758022e3186d782929c
Parent:     a3970a881934e1fc6be1993bfe544dd17abf6082
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Tue Oct 2 19:39:55 2018 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Tue Oct 2 19:39:55 2018 +0100


    Debug: noutf8 selector.  Bug 2324
---
 doc/doc-docbook/spec.xfpt    |  14 +++++-
 doc/doc-txt/NewStuff         |   2 +
 src/src/debug.c              |  18 +++++---
 src/src/expand.c             | 102 +++++++++++++++++++++++++++----------------
 src/src/globals.c            |   5 ++-
 src/src/macros.h             |   4 ++
 test/scripts/0000-Basic/0002 |   7 +++
 test/stderr/0002             |  83 +++++++++++++++++++++++++++++++++++
 test/stderr/0275             |   2 +-
 test/stderr/0278             |   2 +-
 test/stderr/0361             |   2 +-
 test/stderr/0386             |   4 +-
 test/stderr/0388             |   4 +-
 test/stderr/0402             |   2 +-
 test/stderr/0403             |   2 +-
 test/stderr/0404             |   6 +--
 test/stderr/0408             |   2 +-
 test/stderr/0487             |   2 +-
 test/stderr/2600             |   2 +-
 test/stderr/2610             |   2 +-
 test/stderr/2620             |   2 +-
 test/stderr/5004             |   2 +-
 test/stderr/5005             |   8 ++--
 test/stderr/5006             |   2 +-
 test/stdout/0002             |   6 +++
 25 files changed, 219 insertions(+), 68 deletions(-)


diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index 1dfa552..c84c9b4 100644
--- a/doc/doc-docbook/spec.xfpt
+++ b/doc/doc-docbook/spec.xfpt
@@ -3620,7 +3620,8 @@ are:
                     &<<CHAPlocalscan>>&)
 &`lookup         `& general lookup code and all lookups
 &`memory         `& memory handling
-&`pid            `& add pid to debug output lines
+&`noutf8         `& modifier: avoid UTF-8 line-drawing
+&`pid            `& modifier: add pid to debug output lines
 &`process_info   `& setting info for the process log
 &`queue_run      `& queue runs
 &`receive        `& general message reception logic
@@ -3628,7 +3629,7 @@ are:
 &`retry          `& retry handling
 &`rewrite        `& address rewriting
 &`route          `& address routing
-&`timestamp      `& add timestamp to debug output lines
+&`timestamp      `& modifier: add timestamp to debug output lines
 &`tls            `& TLS logic
 &`transport      `& transports
 &`uid            `& changes of uid/gid and looking up uid/gid
@@ -3660,6 +3661,15 @@ The &`timestamp`& selector causes the current time to be inserted at the start
 of all debug output lines. This can be useful when trying to track down delays
 in processing.


+.new
+.cindex debugging "UTF-8 in"
+.cindex UTF-8 "in debug output"
+The &`noutf8`& selector disables the use of
+UTF-8 line-drawing characters to group related information.
+When disabled. ascii-art is used instead.
+Using the &`+all`& option does not set this modifier,
+.wen
+
If the &%debug_print%& option is set in any driver, it produces output whenever
any debugging is selected, or if &%-v%& is used.

diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff
index 3f25720..10461aa 100644
--- a/doc/doc-txt/NewStuff
+++ b/doc/doc-txt/NewStuff
@@ -27,6 +27,8 @@ Version 4.92

7. JSON variants of the ${extract } expansion item.

+ 8. A "noutf8" debug option, for disabling the UTF-8 characters in debug output.
+
Version 4.91
--------------

diff --git a/src/src/debug.c b/src/src/debug.c
index 35eb77c..4b07651 100644
--- a/src/src/debug.c
+++ b/src/src/debug.c
@@ -212,11 +212,19 @@ if (indent > 0)
   {
   int i;
   for (i = indent >> 2; i > 0; i--)
-    {
-    Ustrcpy(debug_ptr, "   " UTF8_VERT_2DASH);
-    debug_ptr += 6;    /* 3 spaces + 3 UTF-8 octets */
-    debug_prefix_length += 6;
-    }
+    DEBUG(D_noutf8)
+      {
+      Ustrcpy(debug_ptr, "   !");
+      debug_ptr += 4;    /* 3 spaces + shriek */
+      debug_prefix_length += 4;
+      }
+    else
+      {
+      Ustrcpy(debug_ptr, "   " UTF8_VERT_2DASH);
+      debug_ptr += 6;    /* 3 spaces + 3 UTF-8 octets */
+      debug_prefix_length += 6;
+      }
+
   Ustrncpy(debug_ptr, "   ", indent &= 3);
   debug_ptr += indent;
   debug_prefix_length += indent;
diff --git a/src/src/expand.c b/src/src/expand.c
index 4a88b44..ca7d368 100644
--- a/src/src/expand.c
+++ b/src/src/expand.c
@@ -4006,11 +4006,15 @@ BOOL resetok = TRUE;


 expand_level++;
 DEBUG(D_expand)
-  debug_printf_indent(UTF8_DOWN_RIGHT "%s: %s\n",
-    skipping
-    ? UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ "scanning"
-    : "considering",
-    string);
+  DEBUG(D_noutf8)
+    debug_printf_indent("/%s: %s\n",
+      skipping ? "---scanning" : "considering", string);
+  else
+    debug_printf_indent(UTF8_DOWN_RIGHT "%s: %s\n",
+      skipping
+      ? UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ "scanning"
+      : "considering",
+      string);


 f.expand_string_forcedfail = FALSE;
 expand_string_message = US"";
@@ -4299,15 +4303,21 @@ while (*s != 0)
       if (next_s == NULL) goto EXPAND_FAILED;  /* message already set */


       DEBUG(D_expand)
-    {
-        debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ
-      "condition: %.*s\n",
-      (int)(next_s - s), s);
-        debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ
-      UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
-      "result: %s\n",
-      cond ? "true" : "false");
-    }
+    DEBUG(D_noutf8)
+      {
+      debug_printf_indent("|--condition: %.*s\n", (int)(next_s - s), s);
+      debug_printf_indent("|-----result: %s\n", cond ? "true" : "false");
+      }
+    else
+      {
+      debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ
+        "condition: %.*s\n",
+        (int)(next_s - s), s);
+      debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ
+        UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
+        "result: %s\n",
+        cond ? "true" : "false");
+      }


       s = next_s;


@@ -7831,19 +7841,28 @@ if (resetok) store_reset(yield->s + (yield->size = yield->ptr + 1));
else if (resetok_p) *resetok_p = FALSE;

 DEBUG(D_expand)
-  {
-  debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ
-    "expanding: %.*s\n",
-    (int)(s - string), string);
-  debug_printf_indent("%s"
-    UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
-    "result: %s\n",
-    skipping ? UTF8_VERT_RIGHT : UTF8_UP_RIGHT,
-    yield->s);
-  if (skipping)
-    debug_printf_indent(UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
-      "skipping: result is not used\n");
-  }
+  DEBUG(D_noutf8)
+    {
+    debug_printf_indent("|--expanding: %.*s\n", (int)(s - string), string);
+    debug_printf_indent("%sresult: %s\n",
+      skipping ? "|-----" : "\\_____", yield->s);
+    if (skipping)
+      debug_printf_indent("\\___skipping: result is not used\n");
+    }
+  else
+    {
+    debug_printf_indent(UTF8_VERT_RIGHT UTF8_HORIZ UTF8_HORIZ
+      "expanding: %.*s\n",
+      (int)(s - string), string);
+    debug_printf_indent("%s"
+      UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
+      "result: %s\n",
+      skipping ? UTF8_VERT_RIGHT : UTF8_UP_RIGHT,
+      yield->s);
+    if (skipping)
+      debug_printf_indent(UTF8_UP_RIGHT UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
+    "skipping: result is not used\n");
+    }
 expand_level--;
 return yield->s;


@@ -7865,16 +7884,25 @@ that is a bad idea, because expand_string_message is in dynamic store. */
 EXPAND_FAILED:
 if (left) *left = s;
 DEBUG(D_expand)
-  {
-  debug_printf_indent(UTF8_VERT_RIGHT "failed to expand: %s\n",
-    string);
-  debug_printf_indent("%s" UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
-    "error message: %s\n",
-    f.expand_string_forcedfail ? UTF8_VERT_RIGHT : UTF8_UP_RIGHT,
-    expand_string_message);
-  if (f.expand_string_forcedfail)
-    debug_printf_indent(UTF8_UP_RIGHT "failure was forced\n");
-  }
+  DEBUG(D_noutf8)
+    {
+    debug_printf_indent("|failed to expand: %s\n", string);
+    debug_printf_indent("%serror message: %s\n",
+      f.expand_string_forcedfail ? "|---" : "\\___", expand_string_message);
+    if (f.expand_string_forcedfail)
+      debug_printf_indent("\\failure was forced\n");
+    }
+  else
+    {
+    debug_printf_indent(UTF8_VERT_RIGHT "failed to expand: %s\n",
+      string);
+    debug_printf_indent("%s" UTF8_HORIZ UTF8_HORIZ UTF8_HORIZ
+      "error message: %s\n",
+      f.expand_string_forcedfail ? UTF8_VERT_RIGHT : UTF8_UP_RIGHT,
+      expand_string_message);
+    if (f.expand_string_forcedfail)
+      debug_printf_indent(UTF8_UP_RIGHT "failure was forced\n");
+    }
 if (resetok_p && !resetok) *resetok_p = FALSE;
 expand_level--;
 return NULL;
diff --git a/src/src/globals.c b/src/src/globals.c
index c18f6c1..cdf00e8 100644
--- a/src/src/globals.c
+++ b/src/src/globals.c
@@ -770,9 +770,11 @@ int     debug_fd               = -1;
 FILE   *debug_file             = NULL;
 int     debug_notall[]         = {
   Di_memory,
+  Di_noutf8,
   -1
 };
-bit_table debug_options[]      = { /* must be in alphabetical order */
+bit_table debug_options[]      = { /* must be in alphabetical order and use
+                 only the enum values from macro.h */
   BIT_TABLE(D, acl),
   BIT_TABLE(D, all),
   BIT_TABLE(D, auth),
@@ -791,6 +793,7 @@ bit_table debug_options[]      = { /* must be in alphabetical order */
   BIT_TABLE(D, local_scan),
   BIT_TABLE(D, lookup),
   BIT_TABLE(D, memory),
+  BIT_TABLE(D, noutf8),
   BIT_TABLE(D, pid),
   BIT_TABLE(D, process_info),
   BIT_TABLE(D, queue_run),
diff --git a/src/src/macros.h b/src/src/macros.h
index fd53de8..0d979d0 100644
--- a/src/src/macros.h
+++ b/src/src/macros.h
@@ -362,6 +362,7 @@ masks, alternating between sequential bit index and corresponding mask. */


/* Options bits for debugging. DEBUG_BIT() declares both a bit index and the
corresponding mask. Di_all is a special value recognized by decode_bits().
+These must match the debug_options table in globals.c .

Exim's code assumes in a number of places that the debug_selector is one
word, and this is exposed in the local_scan ABI. The D_v and D_local_scan bit
@@ -391,6 +392,7 @@ enum {
DEBUG_BIT(load),
DEBUG_BIT(lookup),
DEBUG_BIT(memory),
+ DEBUG_BIT(noutf8),
DEBUG_BIT(pid),
DEBUG_BIT(process_info),
DEBUG_BIT(queue_run),
@@ -412,6 +414,7 @@ enum {

 #define D_any                        (D_all & \
                                        ~(D_v           | \
+                     D_noutf8      | \
                                          D_pid         | \
                                          D_timestamp)  )


@@ -422,6 +425,7 @@ enum {
                                          D_load        | \
                                          D_local_scan  | \
                                          D_memory      | \
+                     D_noutf8      | \
                                          D_pid         | \
                                          D_timestamp   | \
                                          D_resolver))
diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002
index d77fa9f..e192a55 100644
--- a/test/scripts/0000-Basic/0002
+++ b/test/scripts/0000-Basic/0002
@@ -915,6 +915,13 @@ match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
 ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
 match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
 ****
+exim -d-all+expand+noutf8 -be
+primary_hostname: $primary_hostname
+match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+****
 # Sender host name and address etc, all unset
 exim -be
 -be Sender host name and address etc, all unset
diff --git a/test/stderr/0002 b/test/stderr/0002
index 7f9a509..7358c9c 100644
--- a/test/stderr/0002
+++ b/test/stderr/0002
@@ -84,6 +84,89 @@ LOG: MAIN PANIC
 Exim version x.yz ....
 configuration file is TESTSUITE/test-config
 admin user
+ /considering: primary_hostname: $primary_hostname
+ |--expanding: primary_hostname: $primary_hostname
+ \_____result: primary_hostname: myhost.test.ex
+ /considering: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+  /considering: abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+  |--expanding: abcd
+  \_____result: abcd
+  /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
+  |--expanding: \N^([ab]+)(\w+)$\N
+  \_____result: ^([ab]+)(\w+)$
+ |--condition: match{abcd}{\N^([ab]+)(\w+)$\N}
+ |-----result: true
+  /considering: $2$1}fail}
+  |--expanding: $2$1
+  \_____result: cdab
+ |--expanding: match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ \_____result: match:  cdab
+ /considering: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+  /considering: wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+  |--expanding: wxyz
+  \_____result: wxyz
+  /considering: \N^([ab]+)(\w+)$\N}{$2$1}fail}
+  |--expanding: \N^([ab]+)(\w+)$\N
+  \_____result: ^([ab]+)(\w+)$
+ |--condition: match{wxyz}{\N^([ab]+)(\w+)$\N}
+ |-----result: false
+  /---scanning: $2$1}fail}
+  |--expanding: $2$1
+  |-----result: 
+  \___skipping: result is not used
+ |failed to expand: match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
+ |---error message: "if" failed and "fail" requested
+ \failure was forced
+ /considering: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+  /considering: 1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+  |--expanding: 1
+  \_____result: 1
+  /considering: 1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+  |--expanding: 1
+  \_____result: 1
+ |--condition: eq {1}{1}
+ |-----result: true
+  /considering: yes}{${lookup{xx}lsearch{/non/exist}}}}
+  |--expanding: yes
+  \_____result: yes
+  /---scanning: ${lookup{xx}lsearch{/non/exist}}}}
+   /---scanning: xx}lsearch{/non/exist}}}}
+   |--expanding: xx
+   |-----result: xx
+   \___skipping: result is not used
+   /---scanning: /non/exist}}}}
+   |--expanding: /non/exist
+   |-----result: /non/exist
+   \___skipping: result is not used
+  |--expanding: ${lookup{xx}lsearch{/non/exist}}
+  |-----result: 
+  \___skipping: result is not used
+ |--expanding: ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
+ \_____result: yes
+ /considering: match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
+  /considering: a.b.c}{a.b.c}{yes}{no}}
+  |--expanding: a.b.c
+  \_____result: a.b.c
+  /considering: a.b.c}{yes}{no}}
+  |--expanding: a.b.c
+  \_____result: a.b.c
+LOG: MAIN PANIC
+  no @ found in the subject of an address list match: subject="a.b.c" pattern="a.b.c"
+ |--condition: match_address{a.b.c}{a.b.c}
+ |-----result: false
+  /---scanning: yes}{no}}
+  |--expanding: yes
+  |-----result: yes
+  \___skipping: result is not used
+  /considering: no}}
+  |--expanding: no
+  \_____result: no
+ |--expanding: a.b.c
+ \_____result: match_address:   no
+>>>>>>>>>>>>>>>> Exim pid=pppp (main: expansion test) terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+admin user
  ┌considering: -oMa  sender_host_address = $sender_host_address
  ├──expanding: -oMa  sender_host_address = $sender_host_address
  └─────result: -oMa  sender_host_address = V4NET.0.0.1
diff --git a/test/stderr/0275 b/test/stderr/0275
index e062b3e..b7ab4d0 100644
--- a/test/stderr/0275
+++ b/test/stderr/0275
@@ -143,7 +143,7 @@ LOG: MAIN
   <= CALLER@??? U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/0278 b/test/stderr/0278
index 5305183..1cc8de5 100644
--- a/test/stderr/0278
+++ b/test/stderr/0278
@@ -102,7 +102,7 @@ LOG: MAIN
   <= CALLER@??? U=CALLER P=local S=sss
 created log directory TESTSUITE/spool/log
 search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/0361 b/test/stderr/0361
index 6956094..86776cc 100644
--- a/test/stderr/0361
+++ b/test/stderr/0361
@@ -50,7 +50,7 @@ Size of headers = sss
 LOG: MAIN
   <= CALLER@??? U=CALLER P=local S=sss
 search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -N -odi -Mc 10HmaY-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -N -odi -Mc 10HmaY-0005vi-00
 Exim version x.yz ....
 changed uid/gid: forcing real = effective
   uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/0386 b/test/stderr/0386
index cfba1b4..03fbfaa 100644
--- a/test/stderr/0386
+++ b/test/stderr/0386
@@ -217,7 +217,7 @@ LOG: MAIN
   <= x@y H=[V4NET.11.12.13] U=CALLER P=smtp S=sss

SMTP>> 250 OK id=10HmaX-0005vi-00

search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
@@ -398,7 +398,7 @@ LOG: MAIN
<= x@y H=[V4NET.11.12.13] U=CALLER P=smtp S=sss
SMTP>> 250 OK id=10HmaY-0005vi-00

search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaY-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaY-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/0388 b/test/stderr/0388
index 2e707cf..f15cab2 100644
--- a/test/stderr/0388
+++ b/test/stderr/0388
@@ -168,7 +168,7 @@ LOG: MAIN
EXIM_DBCLOSE(0xAAAAAAAA)
closed hints database and lockfile
end of retry processing
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xebb95ced -odi -odi -t -oem -oi -f <> -E10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xd7715ced -odi -odi -t -oem -oi -f <> -E10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
@@ -221,7 +221,7 @@ Size of headers = sss
LOG: MAIN
<= <> R=10HmaX-0005vi-00 U=EXIMUSER P=local S=sss
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xebb95ced -odi -Mc 10HmaY-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xd7715ced -odi -Mc 10HmaY-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/0402 b/test/stderr/0402
index 8c0c7ed..13ae718 100644
--- a/test/stderr/0402
+++ b/test/stderr/0402
@@ -155,7 +155,7 @@ LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95dfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715dfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/0403 b/test/stderr/0403
index ecb56e6..b7238bf 100644
--- a/test/stderr/0403
+++ b/test/stderr/0403
@@ -44,7 +44,7 @@ LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -N -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -N -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/0404 b/test/stderr/0404
index 0c26235..387a6f4 100644
--- a/test/stderr/0404
+++ b/test/stderr/0404
@@ -143,7 +143,7 @@ LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
@@ -246,7 +246,7 @@ changed uid/gid: local delivery to >sender@???,sender@???,sender@???
set_process_info: pppp **** string overflowed buffer ****
t1 transport entered
taking data from address
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -odi -t -oem -oi -f <> -E10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -odi -t -oem -oi -f <> -E10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=CALLER_GID pid=pppp
@@ -1517,7 +1517,7 @@ Size of headers = sss
LOG: MAIN
<= <> R=10HmaX-0005vi-00 U=CALLER P=local S=sss
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaY-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaY-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/0408 b/test/stderr/0408
index f6fea53..2e1ac50 100644
--- a/test/stderr/0408
+++ b/test/stderr/0408
@@ -44,7 +44,7 @@ LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/0487 b/test/stderr/0487
index 16326d1..79958af 100644
--- a/test/stderr/0487
+++ b/test/stderr/0487
@@ -71,7 +71,7 @@ LOG: MAIN
created log directory TESTSUITE/spool/log
SMTP>> 250 OK id=10HmaX-0005vi-00

search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/2600 b/test/stderr/2600
index f9e1065..457eaa5 100644
--- a/test/stderr/2600
+++ b/test/stderr/2600
@@ -330,7 +330,7 @@ LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/2610 b/test/stderr/2610
index 8074317..cda8a24 100644
--- a/test/stderr/2610
+++ b/test/stderr/2610
@@ -323,7 +323,7 @@ LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/2620 b/test/stderr/2620
index a8fd3ff..3bb44dc 100644
--- a/test/stderr/2620
+++ b/test/stderr/2620
@@ -341,7 +341,7 @@ LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/5004 b/test/stderr/5004
index 2c6190c..adcbf6e 100644
--- a/test/stderr/5004
+++ b/test/stderr/5004
@@ -46,7 +46,7 @@ LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/5005 b/test/stderr/5005
index c03ad1c..17cfdf2 100644
--- a/test/stderr/5005
+++ b/test/stderr/5005
@@ -44,7 +44,7 @@ LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
@@ -231,7 +231,7 @@ Size of headers = sss
LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaY-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaY-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
@@ -419,7 +419,7 @@ Size of headers = sss
LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaZ-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaZ-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
@@ -616,7 +616,7 @@ Size of headers = sss
LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmbA-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmbA-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stderr/5006 b/test/stderr/5006
index 55e52d4..4dce610 100644
--- a/test/stderr/5006
+++ b/test/stderr/5006
@@ -44,7 +44,7 @@ LOG: MAIN
<= CALLER@??? U=CALLER P=local S=sss
created log directory TESTSUITE/spool/log
search_tidyup called
-exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xfbb95cfd -odi -Mc 10HmaX-0005vi-00
+exec TESTSUITE/eximdir/exim -DEXIM_PATH=TESTSUITE/eximdir/exim -C TESTSUITE/test-config -d=0xf7715cfd -odi -Mc 10HmaX-0005vi-00
Exim version x.yz ....
changed uid/gid: forcing real = effective
uid=uuuu gid=EXIM_GID pid=pppp
diff --git a/test/stdout/0002 b/test/stdout/0002
index 7294354..949c35e 100644
--- a/test/stdout/0002
+++ b/test/stdout/0002
@@ -854,6 +854,12 @@ xyz
> yes
> match_address: no
>

+> primary_hostname: myhost.test.ex
+> match: cdab
+> Failed: "if" failed and "fail" requested
+> yes
+> match_address: no
+>
 > -be Sender host name and address etc, all unset
 > -oMa  sender_host_address = 
 >       sender_host_port = 0