[exim-cvs] taint: allow appendfile create_file option to spe…

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Exim Git Commits Mailing List
Ημερομηνία:  
Προς: exim-cvs
Αντικείμενο: [exim-cvs] taint: allow appendfile create_file option to specify a de-tainting safe path
Gitweb: https://git.exim.org/exim.git/commitdiff/5cd1d1356732d96d49a1f7c682d1b8a33b2576f9
Commit:     5cd1d1356732d96d49a1f7c682d1b8a33b2576f9
Parent:     3f06b9b4c7244b169d50bce216c1f54b4dfe7efb
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Wed Apr 14 22:21:05 2021 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Wed Apr 14 22:23:05 2021 +0100


        taint: allow appendfile create_file option to specify a de-tainting safe path
---
 doc/doc-docbook/spec.xfpt                   |  39 +++++-
 src/src/transports/appendfile.c             | 198 +++++++++++++---------------
 test/confs/0001                             |   2 +-
 test/confs/0006                             |   3 +-
 test/confs/0008                             |   3 +-
 test/confs/0009                             |   3 +-
 test/confs/0010                             |   3 +-
 test/confs/0011                             |   3 +-
 test/confs/0012                             |   3 +-
 test/confs/0014                             |   3 +-
 test/confs/0015                             |   8 +-
 test/confs/0016                             |   5 +-
 test/confs/0021                             |   3 +-
 test/confs/0022                             |   3 +-
 test/confs/0023                             |   3 +-
 test/confs/0024                             |   3 +-
 test/confs/0025                             |   3 +-
 test/confs/0026                             |   3 +-
 test/confs/0027                             |   3 +-
 test/confs/0028                             |   3 +-
 test/confs/0031                             |   3 +-
 test/confs/0032                             |   3 +-
 test/confs/0036                             |   3 +-
 test/confs/0037                             |   3 +-
 test/confs/0040                             |   3 +-
 test/confs/0041                             |   3 +-
 test/confs/0042                             |   3 +-
 test/confs/0043                             |   3 +-
 test/confs/0044                             |   3 +-
 test/confs/0046                             |   3 +-
 test/confs/0048                             |   3 +-
 test/confs/0049                             |   3 +-
 test/confs/0050                             |   3 +-
 test/confs/0051                             |   3 +-
 test/confs/0052                             |   3 +-
 test/confs/0053                             |   3 +-
 test/confs/0055                             |   3 +-
 test/confs/0072                             |   3 +-
 test/confs/0073                             |   3 +-
 test/confs/0074                             |   3 +-
 test/confs/0075                             |   3 +-
 test/confs/0076                             |   3 +-
 test/confs/0079                             |   3 +-
 test/confs/0080                             |   3 +-
 test/confs/0081                             |   3 +-
 test/confs/0082                             |   3 +-
 test/confs/0083                             |   3 +-
 test/confs/0090                             |   3 +-
 test/confs/0094                             |   3 +-
 test/confs/0095                             |   9 +-
 test/confs/0096                             |   3 +-
 test/confs/0097                             |   3 +-
 test/confs/0098                             |   3 +-
 test/confs/0100                             |  18 ++-
 test/confs/0102                             |   9 +-
 test/confs/0103                             |   3 +-
 test/confs/0104                             |   3 +-
 test/confs/0105                             |   3 +-
 test/confs/0107                             |   4 +-
 test/confs/0110                             |   3 +-
 test/confs/0111                             |   3 +-
 test/confs/0113                             |   3 +-
 test/confs/0116                             |   3 +-
 test/confs/0118                             |   3 +-
 test/confs/0121                             |   3 +-
 test/confs/0127                             |   3 +-
 test/confs/0128                             |   3 +-
 test/confs/0131                             |   3 +-
 test/confs/0133                             |   3 +-
 test/confs/0135                             |   3 +-
 test/confs/0136                             |   3 +-
 test/confs/0137                             |   9 +-
 test/confs/0138                             |   3 +-
 test/confs/0139                             |   3 +-
 test/confs/0140                             |   3 +-
 test/confs/0142                             |   6 +-
 test/confs/0149                             |   3 +-
 test/confs/0150                             |   3 +-
 test/confs/0151                             |   3 +-
 test/confs/0152                             |   3 +-
 test/confs/0156                             |   3 +-
 test/confs/0158                             |   3 +-
 test/confs/0159                             |   3 +-
 test/confs/0164                             |   3 +-
 test/confs/0165                             |   3 +-
 test/confs/0166                             |   3 +-
 test/confs/0167                             |   3 +-
 test/confs/0169                             |   3 +-
 test/confs/0171                             |   3 +-
 test/confs/0172                             |   3 +-
 test/confs/0173                             |   3 +-
 test/confs/0174                             |   3 +-
 test/confs/0175                             |   3 +-
 test/confs/0176                             |   3 +-
 test/confs/0177                             |   3 +-
 test/confs/0178                             |   3 +-
 test/confs/0182                             |   3 +-
 test/confs/0185                             |   3 +-
 test/confs/0189                             |   3 +-
 test/confs/0192                             |   3 +-
 test/confs/0193                             |   3 +-
 test/confs/0194                             |   3 +-
 test/confs/0195                             |   3 +-
 test/confs/0196                             |   3 +-
 test/confs/0202                             |   3 +-
 test/confs/0204                             |   3 +-
 test/confs/0205                             |   3 +-
 test/confs/0210                             |   3 +-
 test/confs/0211                             |   3 +-
 test/confs/0212                             |   3 +-
 test/confs/0220                             |   3 +-
 test/confs/0221                             |   3 +-
 test/confs/0222                             |   3 +-
 test/confs/0223                             |   3 +-
 test/confs/0224                             |   3 +-
 test/confs/0225                             |   3 +-
 test/confs/0226                             |   3 +-
 test/confs/0230                             |   3 +-
 test/confs/0231                             |   6 +-
 test/confs/0232                             |   3 +-
 test/confs/0233                             |   3 +-
 test/confs/0237                             |   3 +-
 test/confs/0240                             |   3 +-
 test/confs/0241                             |   3 +-
 test/confs/0243                             |   3 +-
 test/confs/0246                             |   3 +-
 test/confs/0253                             |   3 +-
 test/confs/0256                             |   3 +-
 test/confs/0258                             |   3 +-
 test/confs/0260                             |   6 +-
 test/confs/0264                             |   6 +-
 test/confs/0266                             |   3 +-
 test/confs/0267                             |   3 +-
 test/confs/0270                             |   3 +-
 test/confs/0271                             |   3 +-
 test/confs/0274                             |   3 +-
 test/confs/0280                             |   3 +-
 test/confs/0281                             |   3 +-
 test/confs/0282                             |   3 +-
 test/confs/0283                             |   6 +-
 test/confs/0284                             |   6 +-
 test/confs/0289                             |   3 +-
 test/confs/0296                             |   3 +-
 test/confs/0298                             |   3 +-
 test/confs/0299                             |   3 +-
 test/confs/0306                             |   3 +-
 test/confs/0307                             |   3 +-
 test/confs/0309                             |   6 +-
 test/confs/0310                             |   6 +-
 test/confs/0318                             |   6 +-
 test/confs/0319                             |   3 +-
 test/confs/0321                             |   3 +-
 test/confs/0324                             |   3 +-
 test/confs/0326                             |   3 +-
 test/confs/0327                             |   6 +-
 test/confs/0328                             |   3 +-
 test/confs/0329                             |   3 +-
 test/confs/0330                             |   3 +-
 test/confs/0335                             |   3 +-
 test/confs/0338                             |   3 +-
 test/confs/0345                             |   3 +-
 test/confs/0346                             |   3 +-
 test/confs/0351                             |   3 +-
 test/confs/0352                             |   3 +-
 test/confs/0353                             |   3 +-
 test/confs/0354                             |   3 +-
 test/confs/0355                             |   3 +-
 test/confs/0359                             |   3 +-
 test/confs/0362                             |   3 +-
 test/confs/0374                             |   6 +-
 test/confs/0375                             |   6 +-
 test/confs/0377                             |   3 +-
 test/confs/0379                             |   3 +-
 test/confs/0380                             |   3 +-
 test/confs/0383                             |   3 +-
 test/confs/0385                             |   3 +-
 test/confs/0386                             |   3 +-
 test/confs/0393                             |   3 +-
 test/confs/0395                             |   3 +-
 test/confs/0398                             |   3 +-
 test/confs/0404                             |   3 +-
 test/confs/0408                             |   3 +-
 test/confs/0412                             |   3 +-
 test/confs/0421                             |   3 +-
 test/confs/0428                             |   6 +-
 test/confs/0431                             |   3 +-
 test/confs/0436                             |   3 +-
 test/confs/0444                             |   3 +-
 test/confs/0446                             |   3 +-
 test/confs/0449                             |   3 +-
 test/confs/0452                             |   3 +-
 test/confs/0456                             |   3 +-
 test/confs/0460                             |   3 +-
 test/confs/0461                             |   3 +-
 test/confs/0472                             |   3 +-
 test/confs/0480                             |   3 +-
 test/confs/0481                             |   3 +-
 test/confs/0485                             |   3 +-
 test/confs/0487                             |   3 +-
 test/confs/0491                             |   3 +-
 test/confs/0493                             |   3 +-
 test/confs/0494                             |   3 +-
 test/confs/0495                             |   3 +-
 test/confs/0496                             |   3 +-
 test/confs/0500                             |   3 +-
 test/confs/0503                             |   3 +-
 test/confs/0504                             |   3 +-
 test/confs/0508                             |   3 +-
 test/confs/0514                             |   3 +-
 test/confs/0517                             |   3 +-
 test/confs/0522                             |   3 +-
 test/confs/0523                             |   3 +-
 test/confs/0530                             |   3 +-
 test/confs/0531                             |   3 +-
 test/confs/0532                             |   3 +-
 test/confs/0533                             |   3 +-
 test/confs/0535                             |   3 +-
 test/confs/0536                             |   3 +-
 test/confs/0551                             |   3 +-
 test/confs/0566                             |   3 +-
 test/confs/0567                             |   3 +-
 test/confs/0571                             |   3 +-
 test/confs/0573                             |   3 +-
 test/confs/0593                             |  13 +-
 test/confs/0600                             |   3 +-
 test/confs/0606                             |   3 +-
 test/confs/0609                             |   3 +-
 test/confs/0612                             |   3 +-
 test/confs/0900                             |   3 +-
 test/confs/0901                             |   3 +-
 test/confs/0906                             |   3 +-
 test/confs/1001                             |   3 +-
 test/confs/1002                             |   3 +-
 test/confs/1003                             |   3 +-
 test/confs/1103                             |   3 +-
 test/confs/1104                             |   3 +-
 test/confs/1105                             |   3 +-
 test/confs/1110                             |   5 +-
 test/confs/1150                             |   3 +-
 test/confs/1152                             |   3 +-
 test/confs/1157                             |   3 +-
 test/confs/1159                             |   3 +-
 test/confs/1160                             |   3 +-
 test/confs/1163                             |   3 +-
 test/confs/2002                             |   3 +-
 test/confs/2014                             |   3 +-
 test/confs/2027                             |   3 +-
 test/confs/2032                             |   3 +-
 test/confs/2102                             |   3 +-
 test/confs/2114                             |   3 +-
 test/confs/2127                             |   3 +-
 test/confs/2132                             |   3 +-
 test/confs/2149                             |   3 +-
 test/confs/2201                             |   3 +-
 test/confs/3206                             |   3 +-
 test/confs/3207                             |   3 +-
 test/confs/3400                             |   3 +-
 test/confs/3403                             |   3 +-
 test/confs/3408                             |   3 +-
 test/confs/3411                             |   3 +-
 test/confs/3451                             |   3 +-
 test/confs/3452                             |   3 +-
 test/confs/3461                             |   3 +-
 test/confs/3462                             |   3 +-
 test/confs/3500                             |   3 +-
 test/confs/3700                             |   3 +-
 test/confs/3720                             |   3 +-
 test/confs/4000                             |   3 +-
 test/confs/4002                             |   3 +-
 test/confs/4201                             |   3 +-
 test/confs/4211                             |   3 +-
 test/confs/4221                             |   3 +-
 test/confs/4520                             |   3 +-
 test/confs/4525                             |   3 +-
 test/confs/4560                             |   3 +-
 test/confs/4565                             |   3 +-
 test/confs/4620                             |   3 +-
 test/confs/4700                             |   3 +-
 test/confs/5003                             |   6 +-
 test/confs/5005                             |   3 +-
 test/confs/5006                             |   3 +-
 test/confs/5007                             |   3 +-
 test/confs/5008                             |   3 +-
 test/confs/5050                             |   9 +-
 test/confs/5101                             |   3 +-
 test/confs/5200                             |   3 +-
 test/confs/5201                             |   3 +-
 test/confs/5203                             |   3 +-
 test/confs/5204                             |   3 +-
 test/confs/5207                             |   3 +-
 test/confs/5500                             |   3 +-
 test/confs/5600                             |   3 +-
 test/confs/5610                             |   3 +-
 test/confs/5611                             |   3 +-
 test/confs/5650                             |   3 +-
 test/confs/5651                             |   3 +-
 test/confs/5665                             |   3 +-
 test/confs/5670                             |   3 +-
 test/confs/5730                             |   3 +-
 test/confs/5740                             |   3 +-
 test/confs/5902                             |   3 +-
 test/confs/9001                             |   3 +-
 test/confs/9400                             |   3 +-
 test/confs/9401                             |   3 +-
 test/log/0318                               |   2 +-
 test/log/0593                               |   7 +-
 test/mail/{0318.userx => 0318.subdir/userx} |   0
 test/msglog/0584.10HmaX-0005vi-00           |   2 +-
 test/msglog/0593.10HmaX-0005vi-00           |   2 +-
 test/paniclog/0593                          |   2 +-
 test/runtest                                |   2 +-
 test/scripts/0000-Basic/0593                |  14 +-
 test/stderr/0023                            |  10 +-
 test/stderr/0026                            |   4 +-
 test/stderr/0042                            |   6 +-
 test/stderr/0169                            |   1 +
 test/stderr/0386                            |  26 ++--
 test/stderr/0393                            |   3 +
 test/stderr/0404                            |   1 +
 test/stderr/0408                            |   1 +
 test/stderr/0487                            |   3 +-
 test/stderr/0593                            |   2 +-
 test/stderr/5005                            |   4 +
 test/stderr/5006                            |   1 +
 test/stderr/5008                            |   2 +
 test/stderr/5204                            |   2 +-
 test/stdout/0593                            |   6 +
 327 files changed, 866 insertions(+), 480 deletions(-)


diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index 5c42afc..437b13d 100644
--- a/doc/doc-docbook/spec.xfpt
+++ b/doc/doc-docbook/spec.xfpt
@@ -22998,6 +22998,11 @@ If &%file%& or &%directory%& is set for a delivery from a redirection, it is
used to determine the file or directory name for the delivery. Normally, the
contents of &$address_file$& are used in some way in the string expansion.
.endlist
+If the &%create_file%& option is set to a path which
+matches (see the option definition below for details)
+a file or directory name
+for the delivery, that name becomes de-tainted.
+
.cindex "tainted data" "in filenames"
.cindex appendfile "tainted data"
Tainted data may not be used for a file or directory name.
@@ -23145,14 +23150,34 @@ directories defined by the &%directory%& option. In the case of maildir
delivery, it applies to the top level directory, not the maildir directories
beneath.

+.new
The option must be set to one of the words &"anywhere"&, &"inhome"&, or
-&"belowhome"&. In the second and third cases, a home directory must have been
-set for the transport. This option is not useful when an explicit filename is
+&"belowhome"&, or to an absolute path.
+.wen
+
+In the second and third cases, a home directory must have been
+set for the transport, and the file or directory being created must
+reside within it.
+The "belowhome" checking additionally checks for attempts to use "../"
+to evade the testing.
+This option is not useful when an explicit filename is
given for normal mailbox deliveries. It is intended for the case when filenames
are generated from users' &_.forward_& files. These are usually handled
by an &(appendfile)& transport called &%address_file%&. See also
&%file_must_exist%&.

+.new
+In the fourth case,
+the value given for this option must be an absolute path for an
+existing directory.
+The value is used for checking instead of a home directory;
+checking is done in "belowhome" mode.
+
+.cindex "tainted data" "de-tainting"
+If "belowhome" checking is used, the file or directory path
+becomes de-tainted.
+.wen
+

.option directory appendfile string&!! unset
This option is mutually exclusive with the &%file%& option, but one of &%file%&
@@ -23165,6 +23190,11 @@ appended to a single mailbox file. A number of different formats are provided
(see &%maildir_format%& and &%mailstore_format%&), and see section
&<<SECTopdir>>& for further details of this form of delivery.

+.new
+The result of expansion must not be tainted, unless the &%create_file%& option
+specifies a path.
+.wen
+

.option directory_file appendfile string&!! "see below"
.cindex "base62"
@@ -23197,6 +23227,11 @@ specifies a single file, to which the message is appended. One or more of
&%use_fcntl_lock%&, &%use_flock_lock%&, or &%use_lockfile%& must be set with
&%file%&.

+.new
+The result of expansion must not be tainted, unless the &%create_file%& option
+specifies a path.
+.wen
+
 .cindex "NFS" "lock file"
 .cindex "locking files"
 .cindex "lock files"
diff --git a/src/src/transports/appendfile.c b/src/src/transports/appendfile.c
index 3f2c4e4..139f9a3 100644
--- a/src/src/transports/appendfile.c
+++ b/src/src/transports/appendfile.c
@@ -2,7 +2,7 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/


-/* Copyright (c) University of Cambridge 1995 - 2018 */
+/* Copyright (c) University of Cambridge 1995 - 2020 */
/* Copyright (c) The Exim maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */

@@ -112,70 +112,27 @@ BOOL appendfile_transport_entry(transport_instance *tblock, address_item *addr)
/* Default private options block for the appendfile transport. */

 appendfile_transport_options_block appendfile_transport_option_defaults = {
-  NULL,           /* filename */
-  NULL,           /* dirname */
-  US"q${base62:$tod_epoch}-$inode", /* dirfilename */
-  NULL,           /* message_prefix (default reset in init if not bsmtp) */
-  NULL,           /* message_suffix (ditto) */
-  US"anywhere",   /* create_file_string (string value for create_file) */
-  NULL,           /* quota */
-  NULL,           /* quota_directory */
-  NULL,           /* quota_filecount */
-  NULL,           /* quota_size_regex */
-  NULL,           /* quota_warn_threshold */
-  NULL,           /* mailbox_size_string */
-  NULL,           /* mailbox_filecount_string */
-  NULL,           /* expand_maildir_use_size_file */
-  US"^(?:cur|new|\\..*)$",  /* maildir_dir_regex */
-  NULL,           /* maildir_tag */
-  NULL,           /* maildirfolder_create_regex */
-  NULL,           /* mailstore_prefix */
-  NULL,           /* mailstore_suffix */
-  NULL,           /* check_string (default changed for non-bsmtp file)*/
-  NULL,           /* escape_string (ditto) */
-  NULL,           /* file_format */
-  0,              /* quota_value */
-  0,              /* quota_warn_threshold_value */
-  -1,             /* mailbox_size_value */
-  -1,             /* mailbox_filecount_value */
-  0,              /* quota_filecount_value */
-  APPENDFILE_MODE,           /* mode */
-  APPENDFILE_DIRECTORY_MODE, /* dirmode */
-  APPENDFILE_LOCKFILE_MODE,  /* lockfile_mode */
-  30*60,          /* lockfile_timeout */
-  0,              /* lock_fcntl_timeout */
-  0,              /* lock_flock_timeout */
-  10,             /* lock_retries */
-   3,             /* lock_interval */
-  10,             /* maildir_retries */
-  create_anywhere,/* create_file */
-  0,              /* options */
-  FALSE,          /* allow_fifo */
-  FALSE,          /* allow_symlink */
-  FALSE,          /* check_group */
-  TRUE,           /* check_owner */
-  TRUE,           /* create_directory */
-  FALSE,          /* notify_comsat */
-  TRUE,           /* use_lockfile */
-  FALSE,          /* set_use_lockfile */
-  TRUE,           /* use_fcntl */
-  FALSE,          /* set_use_fcntl */
-  FALSE,          /* use_flock */
-  FALSE,          /* set_use_flock */
-  FALSE,          /* use_mbx_lock */
-  FALSE,          /* set_use_mbx_lock */
-  FALSE,          /* use_bsmtp */
-  FALSE,          /* use_crlf */
-  FALSE,          /* file_must_exist */
-  TRUE,           /* mode_fail_narrower */
-  FALSE,          /* maildir_format */
-  FALSE,          /* maildir_use_size_file */
-  FALSE,          /* mailstore_format */
-  FALSE,          /* mbx_format */
-  FALSE,          /* quota_warn_threshold_is_percent */
-  TRUE,           /* quota_is_inclusive */
-  FALSE,          /* quota_no_check */
-  FALSE           /* quota_filecount_no_check */
+  /* all non-mentioned members zero/null/false */
+  .dirfilename = US"q${base62:$tod_epoch}-$inode",
+  .create_file_string = US"anywhere",
+  .maildir_dir_regex = US"^(?:cur|new|\\..*)$",
+  .mailbox_size_value = -1,
+  .mailbox_filecount_value = -1,
+  .mode = APPENDFILE_MODE,
+  .dirmode = APPENDFILE_DIRECTORY_MODE,
+  .lockfile_mode = APPENDFILE_LOCKFILE_MODE,
+  .lockfile_timeout = 30*60,
+  .lock_retries = 10,
+   .lock_interval = 3,
+  .maildir_retries = 10,
+  .create_file = create_anywhere,
+  .check_owner = TRUE,
+  .create_directory = TRUE,
+  .notify_comsat = FALSE,
+  .use_lockfile = TRUE,
+  .use_fcntl = TRUE,
+  .mode_fail_narrower = TRUE,
+  .quota_is_inclusive = TRUE,
 };



@@ -235,17 +192,15 @@ mailbox_filecount */

for (int i = 0; i < 5; i++)
{
- double d;
+ double d = default_value;
int no_check = 0;
uschar *which = NULL;

-  if (q == NULL) d = default_value;
-  else
+  if (q)
     {
-    uschar *rest;
-    uschar *s = expand_string(q);
+    uschar * rest, * s;


-    if (!s)
+    if (!(s =  expand_string(q)))
       {
       *errmsg = string_sprintf("Expansion of \"%s\" in %s transport failed: "
         "%s", q, tblock->name, expand_string_message);
@@ -315,8 +270,8 @@ for (int i = 0; i < 5; i++)
       break;


     case 2:
-    if (d >= 2.0*1024.0*1024.0*1024.0 && sizeof(off_t) <= 4)
-    which = US"quota_warn_threshold";
+      if (d >= 2.0*1024.0*1024.0*1024.0 && sizeof(off_t) <= 4)
+      which = US"quota_warn_threshold";
       ob->quota_warn_threshold_value = (off_t)d;
       q = ob->mailbox_size_string;
       default_value = -1.0;
@@ -362,6 +317,7 @@ appendfile_transport_init(transport_instance *tblock)
 {
 appendfile_transport_options_block *ob =
   (appendfile_transport_options_block *)(tblock->options_block);
+uschar * s;


/* Set up the setup entry point, to be called in the privileged state */

@@ -460,20 +416,17 @@ if (tblock->uid_set && !tblock->gid_set && !tblock->expand_gid)
/* If "create_file" is set, check that a valid option is given, and set the
integer variable. */

-if (ob->create_file_string)
+if ((s = ob->create_file_string ) && *s)
   {
-  int value = 0;
-  if (Ustrcmp(ob->create_file_string, "anywhere") == 0)
-    value = create_anywhere;
-  else if (Ustrcmp(ob->create_file_string, "belowhome") == 0)
-    value = create_belowhome;
-  else if (Ustrcmp(ob->create_file_string, "inhome") == 0)
-    value = create_inhome;
+  int val = 0;
+  if (Ustrcmp(s, "anywhere") == 0)            val = create_anywhere;
+  else if (*s == '/' || Ustrcmp(s, "belowhome") == 0)    val = create_belowhome;
+  else if (Ustrcmp(s, "inhome") == 0)            val = create_inhome;
   else
     log_write(0, LOG_PANIC_DIE|LOG_CONFIG,
-      "invalid value given for \"file_create\" for the %s transport: %s",
-        tblock->name, ob->create_file_string);
-  ob->create_file = value;
+      "invalid value given for \"file_create\" for the %s transport: '%s'",
+      tblock->name, s);
+  ob->create_file = val;
   }


 /* If quota_warn_threshold is set, set up default for warn_message. It may
@@ -936,28 +889,28 @@ we can't do any tests.
 Arguments:
   filename     the file name
   create_file  the ob->create_file option
+  deliver_dir  the delivery directory


 Returns:       TRUE if creation is permitted
 */


static BOOL
-check_creation(uschar *filename, int create_file)
+check_creation(uschar *filename, int create_file, const uschar * deliver_dir)
{
BOOL yield = TRUE;

-if (deliver_home && create_file != create_anywhere)
+if (deliver_dir && create_file != create_anywhere)
{
- int len = Ustrlen(deliver_home);
+ int len = Ustrlen(deliver_dir);
uschar *file = filename;

   while (file[0] == '/' && file[1] == '/') file++;
-  if (Ustrncmp(file, deliver_home, len) != 0 || file[len] != '/' ||
-       ( Ustrchr(file+len+2, '/') != NULL &&
-         (
-         create_file != create_belowhome ||
-         Ustrstr(file+len, "/../") != NULL
-         )
-       )
+  if (  Ustrncmp(file, deliver_dir, len) != 0
+     || file[len] != '/'
+     ||    Ustrchr(file+len+2, '/') != NULL
+    && (  create_file != create_belowhome
+       || Ustrstr(file+len, "/../") != NULL
+       )
      ) yield = FALSE;


   /* If yield is TRUE, the file name starts with the home directory, and does
@@ -995,10 +948,10 @@ if (deliver_home  &&  create_file != create_anywhere)
     if (rp)
       {
       uschar hdbuffer[PATH_MAX+1];
-      uschar *rph = deliver_home;
+      const uschar * rph = deliver_dir;
       int rlen = Ustrlen(big_buffer);


-      if ((rp = US realpath(CS deliver_home, CS hdbuffer)))
+      if ((rp = US realpath(CS deliver_dir, CS hdbuffer)))
         {
         rph = hdbuffer;
         len = Ustrlen(rph);
@@ -1009,7 +962,7 @@ if (deliver_home  &&  create_file != create_anywhere)
         {
         yield = FALSE;
         DEBUG(D_transport) debug_printf("Real path \"%s\" does not match \"%s\"\n",
-          big_buffer, deliver_home);
+          big_buffer, deliver_dir);
         }
       }
     }
@@ -1179,6 +1132,7 @@ appendfile_transport_entry(
 appendfile_transport_options_block *ob =
   (appendfile_transport_options_block *)(tblock->options_block);
 struct stat statbuf;
+const uschar * deliver_dir;
 uschar *fdname = NULL;
 uschar *filename = NULL;
 uschar *hitchname = NULL;
@@ -1282,12 +1236,6 @@ if (!(path = expand_string(fdname)))
     expand_string_message);
   goto ret_panic;
   }
-if (is_tainted(path))
-  {
-  addr->message = string_sprintf("Tainted '%s' (file or directory "
-    "name for %s transport) not permitted", path, tblock->name);
-  goto ret_panic;
-  }


if (path[0] != '/')
{
@@ -1364,6 +1312,12 @@ if (f.dont_deliver)
return FALSE;
}

+/* If an absolute path was given for create_file the it overrides deliver_home
+(here) and de-taints the filename (below, after check_creation() */
+
+deliver_dir = *ob->create_file_string == '/'
+ ? ob->create_file_string : deliver_home;
+
/* Handle the case of a file name. If the file name is /dev/null, we can save
ourselves some effort and just give a success return right away. */

@@ -1380,10 +1334,20 @@ if (!isdirectory)
     }


   /* Set the name of the file to be opened, and the file to which the data
-  is written, and find out if we are permitted to create a non-existent file. */
+  is written, and find out if we are permitted to create a non-existent file.
+  If the create_file option is an absolute path and the file was within it,
+  de-taint.  Chaeck for a tainted path. */
+
+  if (  (allow_creation_here = check_creation(path, ob->create_file, deliver_dir))
+     && ob->create_file == create_belowhome)
+    if (is_tainted(path))
+      {
+      DEBUG(D_transport) debug_printf("de-tainting path '%s'\n", path);
+      path = string_copy_taint(path, FALSE);
+      }


+ if (is_tainted(path)) goto tainted_ret_panic;
dataname = filename = path;
- allow_creation_here = check_creation(filename, ob->create_file);

   /* If ob->create_directory is set, attempt to create the directories in
   which this mailbox lives, but only if we are permitted to create the file
@@ -1399,7 +1363,7 @@ if (!isdirectory)
       addr->basic_errno = errno;
       addr->message =
         string_sprintf("failed to create directories for %s: %s", path,
-          strerror(errno));
+          exim_errstr(errno));
       DEBUG(D_transport) debug_printf("%s transport: %s\n", tblock->name, path);
       return FALSE;
       }
@@ -2200,10 +2164,11 @@ scanning is expensive; for maildirs some fudges have been invented:


 else
   {
-  uschar *check_path = path;    /* Default quota check path */
+  uschar *check_path;        /* Default quota check path */
   const pcre *regex = NULL;     /* Regex for file size from file name */


-  if (!check_creation(string_sprintf("%s/any", path), ob->create_file))
+  if (!check_creation(string_sprintf("%s/any", path),
+              ob->create_file, deliver_dir))
     {
     addr->basic_errno = ERRNO_BADCREATE;
     addr->message = string_sprintf("tried to create file in %s, but "
@@ -2211,6 +2176,20 @@ else
     goto RETURN;
     }


+  /* If the create_file option is an absolute path and the file was within
+  it, de-taint. Otherwise check for taint. */
+
+  if (is_tainted(path))
+    if (ob->create_file == create_belowhome)
+      {
+      DEBUG(D_transport) debug_printf("de-tainting path '%s'\n", path);
+      path = string_copy_taint(path, FALSE);
+      }
+    else
+      goto tainted_ret_panic;
+
+  check_path = path;
+
   #ifdef SUPPORT_MAILDIR
   /* For a maildir delivery, ensure that all the relevant directories exist,
   and a maildirfolder file if necessary. */
@@ -3319,6 +3298,9 @@ put in the first address of a batch. */


return FALSE;

+tainted_ret_panic:
+  addr->message = string_sprintf("Tainted '%s' (file or directory "
+      "name for %s transport) not permitted", path, tblock->name);
 ret_panic:
   addr->transport_return = PANIC;
   return FALSE;
diff --git a/test/confs/0001 b/test/confs/0001
index c8ad6f4..4dfd09a 100644
--- a/test/confs/0001
+++ b/test/confs/0001
@@ -517,7 +517,7 @@ appendfile:
   directory_mode = 0700
   envelope_to_add
   escape_string = xyz
-  file = /home/${bless:$local_part}/inbox
+  file = /home/$local_part/inbox
   file_format = "From : appendfile"
   no_file_must_exist
   group = MAILGROUP
diff --git a/test/confs/0006 b/test/confs/0006
index b83e897..337dfa3 100644
--- a/test/confs/0006
+++ b/test/confs/0006
@@ -35,7 +35,8 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add
   headers_add = \nMessage Headers:\n$message_headers\n\
                 \nRaw Message Headers:\n$message_headers_raw\n
diff --git a/test/confs/0008 b/test/confs/0008
index 396718f..c5ce901 100644
--- a/test/confs/0008
+++ b/test/confs/0008
@@ -27,7 +27,8 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add


# End
diff --git a/test/confs/0009 b/test/confs/0009
index 3ca2feb..756c727 100644
--- a/test/confs/0009
+++ b/test/confs/0009
@@ -27,7 +27,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add

# End
diff --git a/test/confs/0010 b/test/confs/0010
index 0216aae..eb5b2ec 100644
--- a/test/confs/0010
+++ b/test/confs/0010
@@ -27,7 +27,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add


diff --git a/test/confs/0011 b/test/confs/0011
index e39d595..aa1c4b7 100644
--- a/test/confs/0011
+++ b/test/confs/0011
@@ -27,7 +27,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add


diff --git a/test/confs/0012 b/test/confs/0012
index 76f5bc4..a368b89 100644
--- a/test/confs/0012
+++ b/test/confs/0012
@@ -30,7 +30,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add


diff --git a/test/confs/0014 b/test/confs/0014
index 23abbb2..c9eadae 100644
--- a/test/confs/0014
+++ b/test/confs/0014
@@ -94,7 +94,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
message_suffix =
user = CALLER

diff --git a/test/confs/0015 b/test/confs/0015
index b1472da..afd8144 100644
--- a/test/confs/0015
+++ b/test/confs/0015
@@ -33,7 +33,7 @@ userforward:
   allow_filter
   local_parts = userx
   user = CALLER
-  file = DIR/aux-fixed/0015.filter.${bless:$local_part}
+  file = DIR/aux-fixed/0015.filter.userx
   local_part_prefix = *+
   local_part_prefix_optional
   pipe_transport = address_pipe
@@ -80,7 +80,8 @@ local_delivery:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add
   headers_add = X-local_part: $local_part\n\
                 X-local_part_prefix: $local_part_prefix\n\
@@ -91,7 +92,8 @@ local_delivery_b:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add
   use_bsmtp
   headers_add = X-local_part: $local_part\n\
diff --git a/test/confs/0016 b/test/confs/0016
index 9e190d8..f8cbb7c 100644
--- a/test/confs/0016
+++ b/test/confs/0016
@@ -17,7 +17,7 @@ userforward:
   allow_filter
   user = CALLER
   local_parts = userx : CALLER
-  file = DIR/aux-fixed/0016.filter.${bless:$local_part}
+  file = DIR/aux-fixed/0016.filter.$local_part_data
   local_part_suffix = +*
   local_part_suffix_optional
   reply_transport = address_reply
@@ -43,7 +43,8 @@ local_delivery:
         X-local_part_suffix: $local_part_suffix\n\
         X-local_part_suffix_v: $local_part_suffix_v
   return_path_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail


address_reply:
driver = autoreply
diff --git a/test/confs/0021 b/test/confs/0021
index 0150839..cf0ac21 100644
--- a/test/confs/0021
+++ b/test/confs/0021
@@ -84,7 +84,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0022 b/test/confs/0022
index 2228b28..cb41aa4 100644
--- a/test/confs/0022
+++ b/test/confs/0022
@@ -90,7 +90,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0023 b/test/confs/0023
index c72c453..584e8c0 100644
--- a/test/confs/0023
+++ b/test/confs/0023
@@ -232,7 +232,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0024 b/test/confs/0024
index fac5e12..4b032f4 100644
--- a/test/confs/0024
+++ b/test/confs/0024
@@ -86,7 +86,8 @@ dev_null:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0025 b/test/confs/0025
index f2d987e..c132451 100644
--- a/test/confs/0025
+++ b/test/confs/0025
@@ -52,7 +52,8 @@ dev_null:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0026 b/test/confs/0026
index cc0c51c..6407981 100644
--- a/test/confs/0026
+++ b/test/confs/0026
@@ -54,7 +54,8 @@ dev_null:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0027 b/test/confs/0027
index c2d0f01..53e9357 100644
--- a/test/confs/0027
+++ b/test/confs/0027
@@ -70,7 +70,8 @@ dev_null:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0028 b/test/confs/0028
index caebac0..6ecf675 100644
--- a/test/confs/0028
+++ b/test/confs/0028
@@ -54,7 +54,8 @@ dev_null:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0031 b/test/confs/0031
index 8760be5..8dac996 100644
--- a/test/confs/0031
+++ b/test/confs/0031
@@ -29,7 +29,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add

# End
diff --git a/test/confs/0032 b/test/confs/0032
index 644404d..8af551b 100644
--- a/test/confs/0032
+++ b/test/confs/0032
@@ -33,7 +33,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add

smtp:
diff --git a/test/confs/0036 b/test/confs/0036
index 6d02a44..43eb753 100644
--- a/test/confs/0036
+++ b/test/confs/0036
@@ -37,7 +37,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

send_to_server:
diff --git a/test/confs/0037 b/test/confs/0037
index c26f553..4a7f5ca 100644
--- a/test/confs/0037
+++ b/test/confs/0037
@@ -85,7 +85,8 @@ appendfile:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0040 b/test/confs/0040
index 30a3de2..746ed64 100644
--- a/test/confs/0040
+++ b/test/confs/0040
@@ -27,7 +27,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = "X-interface: $interface_address"
return_path_add
user = CALLER
diff --git a/test/confs/0041 b/test/confs/0041
index 0d601a8..e0bd3e2 100644
--- a/test/confs/0041
+++ b/test/confs/0041
@@ -52,7 +52,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0042 b/test/confs/0042
index 46229f5..6b747a0 100644
--- a/test/confs/0042
+++ b/test/confs/0042
@@ -38,7 +38,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0043 b/test/confs/0043
index 91d58f3..27e7e61 100644
--- a/test/confs/0043
+++ b/test/confs/0043
@@ -56,7 +56,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0044 b/test/confs/0044
index c13a158..dc6b3d4 100644
--- a/test/confs/0044
+++ b/test/confs/0044
@@ -47,7 +47,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0046 b/test/confs/0046
index 15e8df8..4fb293e 100644
--- a/test/confs/0046
+++ b/test/confs/0046
@@ -32,7 +32,8 @@ begin transports
 local_delivery:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "X-size: $message_size\n\
                  X-body-size: $message_body_size\n\
                  X-body: $message_body\n\
diff --git a/test/confs/0048 b/test/confs/0048
index d11a120..910d360 100644
--- a/test/confs/0048
+++ b/test/confs/0048
@@ -42,7 +42,8 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add


address_pipe:
diff --git a/test/confs/0049 b/test/confs/0049
index fd2574e..6e0b0db 100644
--- a/test/confs/0049
+++ b/test/confs/0049
@@ -34,7 +34,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0050 b/test/confs/0050
index 32c414a..b4313ab 100644
--- a/test/confs/0050
+++ b/test/confs/0050
@@ -37,7 +37,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0051 b/test/confs/0051
index a14fc3d..d5fca86 100644
--- a/test/confs/0051
+++ b/test/confs/0051
@@ -40,7 +40,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0052 b/test/confs/0052
index 426e7ed..b8d0232 100644
--- a/test/confs/0052
+++ b/test/confs/0052
@@ -33,7 +33,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add


diff --git a/test/confs/0053 b/test/confs/0053
index 4d279d0..7fcf7f0 100644
--- a/test/confs/0053
+++ b/test/confs/0053
@@ -32,7 +32,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0055 b/test/confs/0055
index ed6e608..5d7fc0f 100644
--- a/test/confs/0055
+++ b/test/confs/0055
@@ -46,7 +46,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0072 b/test/confs/0072
index e1e997b..6fc5c72 100644
--- a/test/confs/0072
+++ b/test/confs/0072
@@ -53,7 +53,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add


diff --git a/test/confs/0073 b/test/confs/0073
index 6788256..79407fd 100644
--- a/test/confs/0073
+++ b/test/confs/0073
@@ -40,7 +40,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add


diff --git a/test/confs/0074 b/test/confs/0074
index 20227d4..4b3e480 100644
--- a/test/confs/0074
+++ b/test/confs/0074
@@ -41,7 +41,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0075 b/test/confs/0075
index b07ffbd..a4d99b6 100644
--- a/test/confs/0075
+++ b/test/confs/0075
@@ -26,7 +26,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/subdir/${bless:$local_part}
+ file = DIR/test-mail/subdir/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0076 b/test/confs/0076
index 8e9c08f..579d6d6 100644
--- a/test/confs/0076
+++ b/test/confs/0076
@@ -27,7 +27,8 @@ local_delivery:
no_create_directory
delivery_date_add
envelope_to_add
- file = DIR/test-mail/subdir/${bless:$local_part}
+ file = DIR/test-mail/subdir/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0079 b/test/confs/0079
index a7a412f..1492909 100644
--- a/test/confs/0079
+++ b/test/confs/0079
@@ -69,7 +69,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0080 b/test/confs/0080
index a0f578f..503ca99 100644
--- a/test/confs/0080
+++ b/test/confs/0080
@@ -50,7 +50,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0081 b/test/confs/0081
index 2e020e0..ad00193 100644
--- a/test/confs/0081
+++ b/test/confs/0081
@@ -28,7 +28,8 @@ local_delivery:
debug_print = ">$h_X-one:<\n"
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0082 b/test/confs/0082
index fca3e7b..fefd050 100644
--- a/test/confs/0082
+++ b/test/confs/0082
@@ -26,7 +26,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = "Proto: $received_protocol"
return_path_add
user = CALLER
diff --git a/test/confs/0083 b/test/confs/0083
index 4ab79fc..d4ca616 100644
--- a/test/confs/0083
+++ b/test/confs/0083
@@ -26,7 +26,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = "Proto: $received_protocol"
return_path_add
user = CALLER
diff --git a/test/confs/0090 b/test/confs/0090
index f5dc6f2..52593ec 100644
--- a/test/confs/0090
+++ b/test/confs/0090
@@ -30,7 +30,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

respond:
diff --git a/test/confs/0094 b/test/confs/0094
index 07698b5..0ff7d5f 100644
--- a/test/confs/0094
+++ b/test/confs/0094
@@ -42,7 +42,8 @@ begin transports

 appendfile:
   driver = appendfile
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = host_lookup_failed: $host_lookup_failed\n\
                 host_lookup_deferred: $host_lookup_deferred
   user = CALLER
diff --git a/test/confs/0095 b/test/confs/0095
index b1201f8..4b18a49 100644
--- a/test/confs/0095
+++ b/test/confs/0095
@@ -39,7 +39,8 @@ begin transports


appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
quota = $h_quota
quota_warn_threshold = $h_threshold
QWM
@@ -47,14 +48,16 @@ appendfile:

appendfile2:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
quota = $h_quota
quota_warn_threshold = $h_threshold
user = CALLER

appendfile3:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}${if eq{$sender_address}{}{.bounce}}
+ file = DIR/test-mail/${local_part}${if eq{$sender_address}{}{.bounce}}
+ create_file = DIR/test-mail
quota_warn_threshold = $h_threshold
user = CALLER
headers_add = X:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/test/confs/0096 b/test/confs/0096
index 1eb5194..45365a7 100644
--- a/test/confs/0096
+++ b/test/confs/0096
@@ -29,7 +29,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0097 b/test/confs/0097
index 495349d..3b08990 100644
--- a/test/confs/0097
+++ b/test/confs/0097
@@ -29,7 +29,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = "${if def:h_tadd: {Added: by transport}}"
headers_remove = "${if def::h_tadd:: {tadd}}"
return_path_add
diff --git a/test/confs/0098 b/test/confs/0098
index e16b25e..a115137 100644
--- a/test/confs/0098
+++ b/test/confs/0098
@@ -84,7 +84,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0100 b/test/confs/0100
index afe04a4..547684c 100644
--- a/test/confs/0100
+++ b/test/confs/0100
@@ -84,7 +84,8 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add
   current_directory = /
   user = CALLER
@@ -93,7 +94,8 @@ hackfree_local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   check_string =
   return_path_add
   user = CALLER
@@ -105,7 +107,8 @@ bsmtp_local_delivery:
   use_bsmtp
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add
   user = CALLER
   current_directory = /
@@ -116,7 +119,8 @@ bsmtp_local_delivery_filtered:
   use_bsmtp
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add
   transport_filter = /bin/sh -c "echo 'X-Filtered: just checking'; cat"
   user = CALLER
@@ -136,7 +140,8 @@ filtered_local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add
   transport_filter = /bin/sh -c "echo 'X-Filtered: just checking'; cat"
   current_directory = /
@@ -146,7 +151,8 @@ mmdf_local_delivery:
   driver = appendfile
   check_string = "\1\1\1\1\n"
   escape_string = "\1\1\1\1 \n"
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   message_prefix = "\1\1\1\1\n"
   message_suffix = "\1\1\1\1\n"
   user = CALLER
diff --git a/test/confs/0102 b/test/confs/0102
index 30b1496..c73eed9 100644
--- a/test/confs/0102
+++ b/test/confs/0102
@@ -38,7 +38,8 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   file_format = "From       : local_delivery :\
                  MAIL       : bsmtp_local_delivery :\
                  \1\1\1\1\n : mmdf_local_delivery :\
@@ -52,7 +53,8 @@ bsmtp_local_delivery:
   use_bsmtp
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add
   user = CALLER


@@ -60,7 +62,8 @@ mmdf_local_delivery:
driver = appendfile
check_string = "\1\1\1\1\n"
escape_string = "\1\1\1\1 \n"
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
message_prefix = "\1\1\1\1\n"
message_suffix = "\1\1\1\1\n"
user = CALLER
diff --git a/test/confs/0103 b/test/confs/0103
index 547109a..0aa4025 100644
--- a/test/confs/0103
+++ b/test/confs/0103
@@ -53,7 +53,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0104 b/test/confs/0104
index 3cbebc8..e65dae6 100644
--- a/test/confs/0104
+++ b/test/confs/0104
@@ -44,7 +44,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0105 b/test/confs/0105
index 851f12c..a6af688 100644
--- a/test/confs/0105
+++ b/test/confs/0105
@@ -42,7 +42,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0107 b/test/confs/0107
index 5f6a80e..f904150 100644
--- a/test/confs/0107
+++ b/test/confs/0107
@@ -27,8 +27,8 @@ appendfile:
   driver = appendfile
   create_file = belowhome
   file = ${lookup{$local_part}lsearch{DIR/aux-fixed/TESTNUM.filelist}\
-         {${if match{$value}{^/}{}{DIR/}}$value}\
-         {DIR/test-mail/${bless:$local_part}}}
+             {${if match{$value}{^/}{}{DIR/}}$value}\
+             {DIR/test-mail/${bless:$local_part}}}
   user = CALLER


# ----- Retry -----
diff --git a/test/confs/0110 b/test/confs/0110
index e4716f6..c6594fa 100644
--- a/test/confs/0110
+++ b/test/confs/0110
@@ -44,7 +44,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0111 b/test/confs/0111
index 3b4386b..49ac695 100644
--- a/test/confs/0111
+++ b/test/confs/0111
@@ -43,7 +43,8 @@ begin transports
appendfile:
driver = appendfile
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0113 b/test/confs/0113
index 2c0c573..5a30bc3 100644
--- a/test/confs/0113
+++ b/test/confs/0113
@@ -45,7 +45,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0116 b/test/confs/0116
index 6916642..9e8d9f7 100644
--- a/test/confs/0116
+++ b/test/confs/0116
@@ -51,7 +51,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
headers_add = Added: $address_data

diff --git a/test/confs/0118 b/test/confs/0118
index 1f741cc..afd803c 100644
--- a/test/confs/0118
+++ b/test/confs/0118
@@ -41,7 +41,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0121 b/test/confs/0121
index 550971e..78a6749 100644
--- a/test/confs/0121
+++ b/test/confs/0121
@@ -59,7 +59,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0127 b/test/confs/0127
index 83dd031..226388e 100644
--- a/test/confs/0127
+++ b/test/confs/0127
@@ -37,7 +37,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0128 b/test/confs/0128
index e4f78dc..9a2579c 100644
--- a/test/confs/0128
+++ b/test/confs/0128
@@ -41,7 +41,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0131 b/test/confs/0131
index c3df9a8..087bd55 100644
--- a/test/confs/0131
+++ b/test/confs/0131
@@ -43,7 +43,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
headers_add = Address-Data: >$address_data<

diff --git a/test/confs/0133 b/test/confs/0133
index 2c9cdb8..8907bce 100644
--- a/test/confs/0133
+++ b/test/confs/0133
@@ -42,7 +42,8 @@ begin transports
appendfile:
driver = appendfile
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0135 b/test/confs/0135
index 1318e02..63168ec 100644
--- a/test/confs/0135
+++ b/test/confs/0135
@@ -49,7 +49,8 @@ smtp:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
quota = 20
user = CALLER

diff --git a/test/confs/0136 b/test/confs/0136
index acc1003..f2687b6 100644
--- a/test/confs/0136
+++ b/test/confs/0136
@@ -63,7 +63,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0137 b/test/confs/0137
index faab263..c127096 100644
--- a/test/confs/0137
+++ b/test/confs/0137
@@ -30,14 +30,16 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
lock_interval = 1s
lock_retries = 2
user = CALLER

local_delivery_fcntl:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
lock_interval = 1s
lock_retries = 2
no_use_lockfile
@@ -45,7 +47,8 @@ local_delivery_fcntl:

local_delivery_fcntl_blocking:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
lock_fcntl_timeout = 2s
lock_interval = 1s
lock_retries = 2
diff --git a/test/confs/0138 b/test/confs/0138
index 01bdfaa..9a0b185 100644
--- a/test/confs/0138
+++ b/test/confs/0138
@@ -54,7 +54,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0139 b/test/confs/0139
index 5aaa611..0c195c1 100644
--- a/test/confs/0139
+++ b/test/confs/0139
@@ -81,7 +81,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0140 b/test/confs/0140
index 5661c5d..3e6854a 100644
--- a/test/confs/0140
+++ b/test/confs/0140
@@ -45,7 +45,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0142 b/test/confs/0142
index 716ad5f..da8b73e 100644
--- a/test/confs/0142
+++ b/test/confs/0142
@@ -43,12 +43,14 @@ pipe:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

filtered_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
transport_filter = DIR/bin/fd -f
user = CALLER

diff --git a/test/confs/0149 b/test/confs/0149
index 8527d30..4887f98 100644
--- a/test/confs/0149
+++ b/test/confs/0149
@@ -40,7 +40,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0150 b/test/confs/0150
index 256080a..6fe5576 100644
--- a/test/confs/0150
+++ b/test/confs/0150
@@ -25,7 +25,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0151 b/test/confs/0151
index 0baf345..56f3e7e 100644
--- a/test/confs/0151
+++ b/test/confs/0151
@@ -26,7 +26,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0152 b/test/confs/0152
index 5d50c9f..cee79d9 100644
--- a/test/confs/0152
+++ b/test/confs/0152
@@ -28,7 +28,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0156 b/test/confs/0156
index 79dcde2..59228e0 100644
--- a/test/confs/0156
+++ b/test/confs/0156
@@ -30,7 +30,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0158 b/test/confs/0158
index 8a5c00e..43ef370 100644
--- a/test/confs/0158
+++ b/test/confs/0158
@@ -28,7 +28,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = $local_part

diff --git a/test/confs/0159 b/test/confs/0159
index 7fcaf60..a31e149 100644
--- a/test/confs/0159
+++ b/test/confs/0159
@@ -28,7 +28,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0164 b/test/confs/0164
index d80f383..dce05f2 100644
--- a/test/confs/0164
+++ b/test/confs/0164
@@ -29,7 +29,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

address_pipe:
diff --git a/test/confs/0165 b/test/confs/0165
index 48fe63b..fb138bd 100644
--- a/test/confs/0165
+++ b/test/confs/0165
@@ -29,7 +29,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

address_pipe:
diff --git a/test/confs/0166 b/test/confs/0166
index 3158ac5..eebf0d9 100644
--- a/test/confs/0166
+++ b/test/confs/0166
@@ -37,7 +37,8 @@ begin transports
local_delivery:
driver = appendfile
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
headers_add = X-tpt-hdr: 1
headers_add = ${if bool{false} {X-tpt-hdr: 2}}
diff --git a/test/confs/0167 b/test/confs/0167
index a3e045f..a8483f0 100644
--- a/test/confs/0167
+++ b/test/confs/0167
@@ -35,7 +35,8 @@ begin transports
local_delivery:
driver = appendfile
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path = ${if eq{$return_path}{trakill@???}{}fail}
return_path_add
user = CALLER
diff --git a/test/confs/0169 b/test/confs/0169
index ec8bf79..75d8a15 100644
--- a/test/confs/0169
+++ b/test/confs/0169
@@ -23,7 +23,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
quota = $h_quota
quota_warn_threshold = $h_threshold
user = CALLER
diff --git a/test/confs/0171 b/test/confs/0171
index 345a181..198aedc 100644
--- a/test/confs/0171
+++ b/test/confs/0171
@@ -24,7 +24,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = home: HOME=$home
user = CALLER

diff --git a/test/confs/0172 b/test/confs/0172
index 7b33518..06d3ea8 100644
--- a/test/confs/0172
+++ b/test/confs/0172
@@ -28,7 +28,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0173 b/test/confs/0173
index dfe894e..9640ccf 100644
--- a/test/confs/0173
+++ b/test/confs/0173
@@ -29,7 +29,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

pipe:
diff --git a/test/confs/0174 b/test/confs/0174
index 5498e2b..b79e237 100644
--- a/test/confs/0174
+++ b/test/confs/0174
@@ -52,7 +52,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

pipe:
diff --git a/test/confs/0175 b/test/confs/0175
index 3f2cc8c..e5eced2 100644
--- a/test/confs/0175
+++ b/test/confs/0175
@@ -62,7 +62,8 @@ smtp:

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0176 b/test/confs/0176
index d5c86ca..5d8d0f5 100644
--- a/test/confs/0176
+++ b/test/confs/0176
@@ -26,7 +26,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0177 b/test/confs/0177
index ff780c1..eb15a51 100644
--- a/test/confs/0177
+++ b/test/confs/0177
@@ -65,7 +65,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

autoreply:
diff --git a/test/confs/0178 b/test/confs/0178
index 2554e0a..2961d40 100644
--- a/test/confs/0178
+++ b/test/confs/0178
@@ -26,7 +26,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0182 b/test/confs/0182
index c23722a..cb09466 100644
--- a/test/confs/0182
+++ b/test/confs/0182
@@ -34,7 +34,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0185 b/test/confs/0185
index b8bf04d..5062e08 100644
--- a/test/confs/0185
+++ b/test/confs/0185
@@ -62,7 +62,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

autoreply:
diff --git a/test/confs/0189 b/test/confs/0189
index 4d63ddf..71b31ac 100644
--- a/test/confs/0189
+++ b/test/confs/0189
@@ -25,7 +25,8 @@ begin transports
local_delivery:
driver = appendfile
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0192 b/test/confs/0192
index e19bd00..20789ef 100644
--- a/test/confs/0192
+++ b/test/confs/0192
@@ -23,7 +23,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
quota = 500
no_quota_is_inclusive
user = CALLER
diff --git a/test/confs/0193 b/test/confs/0193
index 483d050..ce3ef5e 100644
--- a/test/confs/0193
+++ b/test/confs/0193
@@ -34,7 +34,8 @@ local_delivery:
driver = appendfile
batch_max = 100
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
message_size_limit = 50
user = CALLER

diff --git a/test/confs/0194 b/test/confs/0194
index abeaafc..4d0ac7c 100644
--- a/test/confs/0194
+++ b/test/confs/0194
@@ -31,7 +31,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

pipe:
diff --git a/test/confs/0195 b/test/confs/0195
index 1603244..46f1029 100644
--- a/test/confs/0195
+++ b/test/confs/0195
@@ -38,7 +38,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0196 b/test/confs/0196
index 6909969..23bed12 100644
--- a/test/confs/0196
+++ b/test/confs/0196
@@ -41,7 +41,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0202 b/test/confs/0202
index 92a2dce..3d6e8fd 100644
--- a/test/confs/0202
+++ b/test/confs/0202
@@ -31,7 +31,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0204 b/test/confs/0204
index 688e0e9..d1e32ee 100644
--- a/test/confs/0204
+++ b/test/confs/0204
@@ -25,7 +25,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0205 b/test/confs/0205
index abc93e7..12edc86 100644
--- a/test/confs/0205
+++ b/test/confs/0205
@@ -42,7 +42,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
headers_add = Address-Data: >$address_data<

diff --git a/test/confs/0210 b/test/confs/0210
index 3e5661c..209f6fc 100644
--- a/test/confs/0210
+++ b/test/confs/0210
@@ -44,7 +44,8 @@ bsmtp_local_delivery:
message_prefix = "HELO x.y.z\n"
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0211 b/test/confs/0211
index f68b036..6ee7253 100644
--- a/test/confs/0211
+++ b/test/confs/0211
@@ -57,7 +57,8 @@ smtp:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0212 b/test/confs/0212
index 8b8d744..7cbc8c8 100644
--- a/test/confs/0212
+++ b/test/confs/0212
@@ -73,7 +73,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0220 b/test/confs/0220
index 8e5af4e..79cf4c9 100644
--- a/test/confs/0220
+++ b/test/confs/0220
@@ -26,7 +26,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0221 b/test/confs/0221
index 4ac979c..0b2fbc0 100644
--- a/test/confs/0221
+++ b/test/confs/0221
@@ -26,7 +26,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0222 b/test/confs/0222
index 91f7453..48d7b42 100644
--- a/test/confs/0222
+++ b/test/confs/0222
@@ -32,7 +32,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

autoreply:
diff --git a/test/confs/0223 b/test/confs/0223
index 56476a3..2b42e9a 100644
--- a/test/confs/0223
+++ b/test/confs/0223
@@ -42,7 +42,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0224 b/test/confs/0224
index ff77339..d5a3760 100644
--- a/test/confs/0224
+++ b/test/confs/0224
@@ -45,7 +45,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0225 b/test/confs/0225
index a778c2f..61e2994 100644
--- a/test/confs/0225
+++ b/test/confs/0225
@@ -44,7 +44,8 @@ smtp:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0226 b/test/confs/0226
index f5be03e..379545b 100644
--- a/test/confs/0226
+++ b/test/confs/0226
@@ -47,7 +47,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

address_file:
diff --git a/test/confs/0230 b/test/confs/0230
index 08a6722..ecce422 100644
--- a/test/confs/0230
+++ b/test/confs/0230
@@ -57,7 +57,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = Port: $sender_host_port
user = CALLER

diff --git a/test/confs/0231 b/test/confs/0231
index 67f21c0..7bc9d18 100644
--- a/test/confs/0231
+++ b/test/confs/0231
@@ -51,13 +51,15 @@ begin transports

local_delivery_rewrite:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_rewrite = a@??? a-rewrite@???
user = CALLER

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

smtp_rewrite:
diff --git a/test/confs/0232 b/test/confs/0232
index 11e4523..22bb68e 100644
--- a/test/confs/0232
+++ b/test/confs/0232
@@ -39,7 +39,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0233 b/test/confs/0233
index 054ab7d..36d60f6 100644
--- a/test/confs/0233
+++ b/test/confs/0233
@@ -39,7 +39,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

address_reply:
diff --git a/test/confs/0237 b/test/confs/0237
index 8939dc7..0eb8f26 100644
--- a/test/confs/0237
+++ b/test/confs/0237
@@ -49,7 +49,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

address_file:
diff --git a/test/confs/0240 b/test/confs/0240
index 62a1923..f75aaae 100644
--- a/test/confs/0240
+++ b/test/confs/0240
@@ -90,7 +90,8 @@ begin transports
local:
driver = appendfile
directory_mode = 3777
- file = DIR/test-mail/subdir/${bless:$local_part}
+ file = DIR/test-mail/subdir/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0241 b/test/confs/0241
index 944c517..9e6ded4 100644
--- a/test/confs/0241
+++ b/test/confs/0241
@@ -37,7 +37,8 @@ begin transports

local:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

address_reply:
diff --git a/test/confs/0243 b/test/confs/0243
index d5e989c..438acc2 100644
--- a/test/confs/0243
+++ b/test/confs/0243
@@ -59,7 +59,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

address_file:
diff --git a/test/confs/0246 b/test/confs/0246
index fe62bfd..257475b 100644
--- a/test/confs/0246
+++ b/test/confs/0246
@@ -35,7 +35,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0253 b/test/confs/0253
index 5713106..42d88ab 100644
--- a/test/confs/0253
+++ b/test/confs/0253
@@ -42,7 +42,8 @@ begin transports

t0:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t1:
diff --git a/test/confs/0256 b/test/confs/0256
index e48c696..0a54675 100644
--- a/test/confs/0256
+++ b/test/confs/0256
@@ -30,7 +30,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0258 b/test/confs/0258
index 25de1af..fcdbe1f 100644
--- a/test/confs/0258
+++ b/test/confs/0258
@@ -24,7 +24,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0260 b/test/confs/0260
index 257ea82..775283e 100644
--- a/test/confs/0260
+++ b/test/confs/0260
@@ -14,7 +14,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

bad_return:
@@ -30,7 +31,8 @@ bad_uid:

exp_fail:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
home_directory = ${if rhubarb

diff --git a/test/confs/0264 b/test/confs/0264
index 9e16d1d..cc1ad5d 100644
--- a/test/confs/0264
+++ b/test/confs/0264
@@ -15,7 +15,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

quota = ${if eq{$local_part}{userx}{3}{10000}}
@@ -24,7 +25,8 @@ local_delivery:
local_delivery2:
driver = appendfile
retry_use_local_part = false
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
quota = 3
current_directory = /
diff --git a/test/confs/0266 b/test/confs/0266
index 42ea1b1..6558a5e 100644
--- a/test/confs/0266
+++ b/test/confs/0266
@@ -15,7 +15,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
envelope_to_add
return_path_add
diff --git a/test/confs/0267 b/test/confs/0267
index e99d29f..4a52018 100644
--- a/test/confs/0267
+++ b/test/confs/0267
@@ -14,7 +14,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# ----- Routers -----
diff --git a/test/confs/0270 b/test/confs/0270
index e09ff0e..8b3441c 100644
--- a/test/confs/0270
+++ b/test/confs/0270
@@ -15,7 +15,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
envelope_to_add
return_path_add
diff --git a/test/confs/0271 b/test/confs/0271
index b9512dc..6153af8 100644
--- a/test/confs/0271
+++ b/test/confs/0271
@@ -14,7 +14,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# ----- Routers -----
diff --git a/test/confs/0274 b/test/confs/0274
index 461acfc..c5b0bd8 100644
--- a/test/confs/0274
+++ b/test/confs/0274
@@ -14,7 +14,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${if eq{$address_data}{}{${bless:$local_part}}{$address_data}}
+ file = DIR/test-mail/${if eq{$address_data}{}{$local_part}{$address_data}}
+ create_file = DIR/test-mail
user = CALLER

# ----- Routers -----
diff --git a/test/confs/0280 b/test/confs/0280
index 10717bd..f833889 100644
--- a/test/confs/0280
+++ b/test/confs/0280
@@ -18,7 +18,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# ----- Routers -----
diff --git a/test/confs/0281 b/test/confs/0281
index 3f737f3..bed0354 100644
--- a/test/confs/0281
+++ b/test/confs/0281
@@ -68,7 +68,8 @@ dev_null:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0282 b/test/confs/0282
index 00958b9..a34ea8a 100644
--- a/test/confs/0282
+++ b/test/confs/0282
@@ -26,7 +26,8 @@ begin transports

 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   user = CALLER
   headers_add = interface-port: $interface_port\n\
                 received-port:  $received_port
diff --git a/test/confs/0283 b/test/confs/0283
index 7f40efb..62a5e60 100644
--- a/test/confs/0283
+++ b/test/confs/0283
@@ -37,12 +37,14 @@ t1:


t2:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t3:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = root

# ----- Retry -----
diff --git a/test/confs/0284 b/test/confs/0284
index 98f5660..8c76179 100644
--- a/test/confs/0284
+++ b/test/confs/0284
@@ -35,14 +35,16 @@ t1:
t2:
driver = appendfile
batch_max = 100
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
envelope_to_add
user = CALLER

t3:
driver = appendfile
batch_max = 100
- file = DIR/test-mail/${bless:$domain}
+ file = DIR/test-mail/$domain
+ create_file = DIR/test-mail
envelope_to_add
user = CALLER

diff --git a/test/confs/0289 b/test/confs/0289
index 56f5011..44e40a5 100644
--- a/test/confs/0289
+++ b/test/confs/0289
@@ -26,7 +26,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0296 b/test/confs/0296
index 6241af0..4ee779f 100644
--- a/test/confs/0296
+++ b/test/confs/0296
@@ -25,7 +25,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0298 b/test/confs/0298
index f4f3990..546a93b 100644
--- a/test/confs/0298
+++ b/test/confs/0298
@@ -32,7 +32,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0299 b/test/confs/0299
index 629f9c4..a7ec0e5 100644
--- a/test/confs/0299
+++ b/test/confs/0299
@@ -30,7 +30,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
shadow_transport = t3

diff --git a/test/confs/0306 b/test/confs/0306
index b3c18f4..c346012 100644
--- a/test/confs/0306
+++ b/test/confs/0306
@@ -64,7 +64,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0307 b/test/confs/0307
index 81857ec..9e78a0c 100644
--- a/test/confs/0307
+++ b/test/confs/0307
@@ -54,7 +54,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0309 b/test/confs/0309
index 0a49f22..0735c25 100644
--- a/test/confs/0309
+++ b/test/confs/0309
@@ -29,13 +29,15 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
message_size_limit = $local_part
user = CALLER

bounce:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0310 b/test/confs/0310
index a999c26..9a2ac20 100644
--- a/test/confs/0310
+++ b/test/confs/0310
@@ -28,13 +28,15 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
quota = 5
user = CALLER

bounce:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0318 b/test/confs/0318
index ec778a7..b57794e 100644
--- a/test/confs/0318
+++ b/test/confs/0318
@@ -24,8 +24,10 @@ begin transports

local_delivery:
driver = appendfile
- directory = DIR/test-mail
- directory_file = ${bless:$local_part}
+ directory = DIR/test-mail/subdir
+ create_directory
+ directory_file = $local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0319 b/test/confs/0319
index 65416e8..791fc97 100644
--- a/test/confs/0319
+++ b/test/confs/0319
@@ -31,7 +31,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

address_file:
diff --git a/test/confs/0321 b/test/confs/0321
index e73eda6..b063cde 100644
--- a/test/confs/0321
+++ b/test/confs/0321
@@ -42,7 +42,8 @@ pipe:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0324 b/test/confs/0324
index 3047764..65da778 100644
--- a/test/confs/0324
+++ b/test/confs/0324
@@ -25,7 +25,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0326 b/test/confs/0326
index a983e07..107fe96 100644
--- a/test/confs/0326
+++ b/test/confs/0326
@@ -38,7 +38,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0327 b/test/confs/0327
index 85b4f89..30f2576 100644
--- a/test/confs/0327
+++ b/test/confs/0327
@@ -40,12 +40,14 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0328 b/test/confs/0328
index b52a2e1..ee5ffaf 100644
--- a/test/confs/0328
+++ b/test/confs/0328
@@ -28,7 +28,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0329 b/test/confs/0329
index e126d8c..ce43227 100644
--- a/test/confs/0329
+++ b/test/confs/0329
@@ -29,7 +29,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0330 b/test/confs/0330
index 066292d..385fc70 100644
--- a/test/confs/0330
+++ b/test/confs/0330
@@ -37,7 +37,8 @@ begin transports
appendfile:
driver = appendfile
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0335 b/test/confs/0335
index 5a99e9b..a1a7525 100644
--- a/test/confs/0335
+++ b/test/confs/0335
@@ -28,7 +28,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
envelope_to_add

diff --git a/test/confs/0338 b/test/confs/0338
index d3aa237..1832263 100644
--- a/test/confs/0338
+++ b/test/confs/0338
@@ -39,7 +39,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/0345 b/test/confs/0345
index 939bbea..fa017ec 100644
--- a/test/confs/0345
+++ b/test/confs/0345
@@ -28,7 +28,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
quota = 20
user = CALLER

diff --git a/test/confs/0346 b/test/confs/0346
index 61a4877..6e84faa 100644
--- a/test/confs/0346
+++ b/test/confs/0346
@@ -38,7 +38,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
envelope_to_add

diff --git a/test/confs/0351 b/test/confs/0351
index c4353bc..b61f529 100644
--- a/test/confs/0351
+++ b/test/confs/0351
@@ -27,7 +27,8 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "\n\
                 TO: $h_to:\n\
                 --------------------------------\n\
diff --git a/test/confs/0352 b/test/confs/0352
index 1a37f41..7d5d75a 100644
--- a/test/confs/0352
+++ b/test/confs/0352
@@ -26,6 +26,7 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail


# End
diff --git a/test/confs/0353 b/test/confs/0353
index 0f9ef9f..8a3bb97 100644
--- a/test/confs/0353
+++ b/test/confs/0353
@@ -26,6 +26,7 @@ begin transports
t1:
driver = appendfile
user = CALLER
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail

# End
diff --git a/test/confs/0354 b/test/confs/0354
index 4cb6702..ef6b67f 100644
--- a/test/confs/0354
+++ b/test/confs/0354
@@ -27,6 +27,7 @@ begin transports
t1:
driver = appendfile
user = CALLER
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail

# End
diff --git a/test/confs/0355 b/test/confs/0355
index f24f02b..c5a9c4b 100644
--- a/test/confs/0355
+++ b/test/confs/0355
@@ -29,6 +29,7 @@ begin transports
t1:
driver = appendfile
user = CALLER
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail

# End
diff --git a/test/confs/0359 b/test/confs/0359
index 5081b49..b94eac7 100644
--- a/test/confs/0359
+++ b/test/confs/0359
@@ -30,7 +30,8 @@ t1:

t2:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = X-shadowed:
user = CALLER

diff --git a/test/confs/0362 b/test/confs/0362
index 34855e2..1bd44fc 100644
--- a/test/confs/0362
+++ b/test/confs/0362
@@ -52,7 +52,8 @@ t1:

t2:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0374 b/test/confs/0374
index 1cae025..81a3667 100644
--- a/test/confs/0374
+++ b/test/confs/0374
@@ -50,7 +50,8 @@ begin transports
# Successful local transport
ut1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}-u
+ file = DIR/test-mail/$local_part-u
+ create_file = DIR/test-mail
user = CALLER
return_path_add
envelope_to_add
@@ -83,7 +84,8 @@ ut4:
# Real delivery
real:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
return_path_add
envelope_to_add
diff --git a/test/confs/0375 b/test/confs/0375
index dce134e..3a71bf3 100644
--- a/test/confs/0375
+++ b/test/confs/0375
@@ -85,7 +85,8 @@ begin transports
# Successful local transport
ut1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}-u
+ file = DIR/test-mail/$local_part-u
+ create_file = DIR/test-mail
user = CALLER
return_path_add
envelope_to_add
@@ -146,7 +147,8 @@ ut6:
# Real delivery
real:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
return_path_add
envelope_to_add
diff --git a/test/confs/0377 b/test/confs/0377
index ba8c0aa..c26ed4c 100644
--- a/test/confs/0377
+++ b/test/confs/0377
@@ -65,7 +65,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0379 b/test/confs/0379
index a3d1423..66a689e 100644
--- a/test/confs/0379
+++ b/test/confs/0379
@@ -36,7 +36,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0380 b/test/confs/0380
index 0bad1f7..42eb64e 100644
--- a/test/confs/0380
+++ b/test/confs/0380
@@ -43,7 +43,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0383 b/test/confs/0383
index 1a26375..44aff1c 100644
--- a/test/confs/0383
+++ b/test/confs/0383
@@ -39,7 +39,8 @@ t1:

t2:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0385 b/test/confs/0385
index 4d67fed..878819d 100644
--- a/test/confs/0385
+++ b/test/confs/0385
@@ -31,7 +31,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0386 b/test/confs/0386
index 983af9b..d456df5 100644
--- a/test/confs/0386
+++ b/test/confs/0386
@@ -36,7 +36,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0393 b/test/confs/0393
index 7ec2e80..7ffc429 100644
--- a/test/confs/0393
+++ b/test/confs/0393
@@ -27,7 +27,8 @@ begin transports
t1:
driver = appendfile
user = CALLER
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
transport_filter = FILTER


diff --git a/test/confs/0395 b/test/confs/0395
index c1c91d5..49d0df1 100644
--- a/test/confs/0395
+++ b/test/confs/0395
@@ -28,7 +28,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0398 b/test/confs/0398
index 02b5370..fc0027a 100644
--- a/test/confs/0398
+++ b/test/confs/0398
@@ -54,7 +54,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0404 b/test/confs/0404
index 542978c..4093620 100644
--- a/test/confs/0404
+++ b/test/confs/0404
@@ -35,7 +35,8 @@ t1:

t2:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0408 b/test/confs/0408
index af74310..4f9e289 100644
--- a/test/confs/0408
+++ b/test/confs/0408
@@ -26,7 +26,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0412 b/test/confs/0412
index 75147a3..5ed0c82 100644
--- a/test/confs/0412
+++ b/test/confs/0412
@@ -26,7 +26,8 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "\n\
                 FROM: $h_from:\n\
                 --------------------------------\n\
diff --git a/test/confs/0421 b/test/confs/0421
index 99c2608..dab74a1 100644
--- a/test/confs/0421
+++ b/test/confs/0421
@@ -26,7 +26,8 @@ begin transports


t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_rewrite = *@* abc@???
user = CALLER

diff --git a/test/confs/0428 b/test/confs/0428
index b0bcb65..bb2c414 100644
--- a/test/confs/0428
+++ b/test/confs/0428
@@ -151,12 +151,13 @@ begin transports
 t1:
   driver = appendfile
   file = ${if eq{$address_file}{inbox} \
-              {DIR/test-mail/${bless:$local_part}} \
+              {DIR/test-mail/$local_part} \
               {${if eq{${substr_0_1:$address_file}}{/} \
                     {$address_file} \
                     {DIR/test-mail/$address_file} \
               }} \
          }
+  create_file = DIR/test-mail
   delivery_date_add
   envelope_to_add
   return_path_add
@@ -164,7 +165,8 @@ t1:


t2:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
delivery_date_add
envelope_to_add
return_path_add
diff --git a/test/confs/0431 b/test/confs/0431
index c76363e..706f08a 100644
--- a/test/confs/0431
+++ b/test/confs/0431
@@ -48,7 +48,8 @@ t1:

t2:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
use_bsmtp
AFFIX
diff --git a/test/confs/0436 b/test/confs/0436
index 01f1ccb..6e6724b 100644
--- a/test/confs/0436
+++ b/test/confs/0436
@@ -23,7 +23,8 @@ t1:
driver = appendfile
envelope_to_add
use_bsmtp
- file = DIR/test-mail/${bless:$sender_address_local_part}
+ file = DIR/test-mail/$sender_address_local_part
+ create_file = DIR/test-mail
user = CALLER
batch_max = 20000

diff --git a/test/confs/0444 b/test/confs/0444
index 7337a40..c89862a 100644
--- a/test/confs/0444
+++ b/test/confs/0444
@@ -28,7 +28,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0446 b/test/confs/0446
index ca8ef39..5ae84b6 100644
--- a/test/confs/0446
+++ b/test/confs/0446
@@ -43,7 +43,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0449 b/test/confs/0449
index 1c0f675..ce9e789 100644
--- a/test/confs/0449
+++ b/test/confs/0449
@@ -27,7 +27,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0452 b/test/confs/0452
index 7ae6a2a..8d04b42 100644
--- a/test/confs/0452
+++ b/test/confs/0452
@@ -32,7 +32,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0456 b/test/confs/0456
index 313aa14..2c5514e 100644
--- a/test/confs/0456
+++ b/test/confs/0456
@@ -30,7 +30,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# ----- Retry -----
diff --git a/test/confs/0460 b/test/confs/0460
index 4918700..9b46c92 100644
--- a/test/confs/0460
+++ b/test/confs/0460
@@ -29,7 +29,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0461 b/test/confs/0461
index 6f476e5..f7c3ba1 100644
--- a/test/confs/0461
+++ b/test/confs/0461
@@ -43,7 +43,8 @@ t1:

t2:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0472 b/test/confs/0472
index 0ac7758..a0df6c9 100644
--- a/test/confs/0472
+++ b/test/confs/0472
@@ -33,7 +33,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0480 b/test/confs/0480
index d10d12b..9b62e49 100644
--- a/test/confs/0480
+++ b/test/confs/0480
@@ -42,7 +42,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0481 b/test/confs/0481
index cdd6453..41b6da2 100644
--- a/test/confs/0481
+++ b/test/confs/0481
@@ -37,7 +37,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0485 b/test/confs/0485
index e4711e0..51adbd3 100644
--- a/test/confs/0485
+++ b/test/confs/0485
@@ -54,7 +54,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0487 b/test/confs/0487
index 98ff7bf..e428d45 100644
--- a/test/confs/0487
+++ b/test/confs/0487
@@ -25,7 +25,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_rewrite = \N$^\N bogus@bogus fw
user = CALLER

diff --git a/test/confs/0491 b/test/confs/0491
index 646f47a..153f07c 100644
--- a/test/confs/0491
+++ b/test/confs/0491
@@ -30,7 +30,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/0493 b/test/confs/0493
index 8de0b83..0b4af93 100644
--- a/test/confs/0493
+++ b/test/confs/0493
@@ -25,7 +25,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0494 b/test/confs/0494
index fb159a7..1ef4a78 100644
--- a/test/confs/0494
+++ b/test/confs/0494
@@ -29,7 +29,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0495 b/test/confs/0495
index 589686a..7a87928 100644
--- a/test/confs/0495
+++ b/test/confs/0495
@@ -76,7 +76,8 @@ t2:

t3:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t4:
diff --git a/test/confs/0496 b/test/confs/0496
index 8819f62..490c290 100644
--- a/test/confs/0496
+++ b/test/confs/0496
@@ -39,7 +39,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0500 b/test/confs/0500
index 74c41e7..72e87c6 100644
--- a/test/confs/0500
+++ b/test/confs/0500
@@ -39,7 +39,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0503 b/test/confs/0503
index da39a89..bea7c53 100644
--- a/test/confs/0503
+++ b/test/confs/0503
@@ -26,7 +26,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
quota = 1000
MSIZE
diff --git a/test/confs/0504 b/test/confs/0504
index d24fca9..c8bcf0f 100644
--- a/test/confs/0504
+++ b/test/confs/0504
@@ -22,7 +22,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
transport_filter = /non/existent/file

diff --git a/test/confs/0508 b/test/confs/0508
index 580f693..a7e0114 100644
--- a/test/confs/0508
+++ b/test/confs/0508
@@ -33,7 +33,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0514 b/test/confs/0514
index 2457c40..c04e52e 100644
--- a/test/confs/0514
+++ b/test/confs/0514
@@ -25,7 +25,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0517 b/test/confs/0517
index cc991b2..e02695c 100644
--- a/test/confs/0517
+++ b/test/confs/0517
@@ -36,7 +36,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0522 b/test/confs/0522
index 2e499ad..44e5a7d 100644
--- a/test/confs/0522
+++ b/test/confs/0522
@@ -37,7 +37,8 @@ begin transports

t0:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t1:
diff --git a/test/confs/0523 b/test/confs/0523
index 9e86b54..bb09bfd 100644
--- a/test/confs/0523
+++ b/test/confs/0523
@@ -30,7 +30,8 @@ begin transports

t0:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
envelope_to_add

diff --git a/test/confs/0530 b/test/confs/0530
index a3143a0..b38b091 100644
--- a/test/confs/0530
+++ b/test/confs/0530
@@ -29,7 +29,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0531 b/test/confs/0531
index f5e29e4..301cf78 100644
--- a/test/confs/0531
+++ b/test/confs/0531
@@ -31,7 +31,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

lmtp:
diff --git a/test/confs/0532 b/test/confs/0532
index 3842776..a6e14f5 100644
--- a/test/confs/0532
+++ b/test/confs/0532
@@ -69,7 +69,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0533 b/test/confs/0533
index 290d5e6..82699fe 100644
--- a/test/confs/0533
+++ b/test/confs/0533
@@ -16,7 +16,7 @@ r1:
driver = redirect
local_part_prefix = file-
local_part_suffix = =*
- data = DIR/test-mail/${bless:${substr_1:$local_part_suffix}}
+ data = DIR/test-mail/${substr_1:$local_part_suffix}
file_transport = t1

r2:
@@ -34,6 +34,7 @@ begin transports

t1:
driver = appendfile
+ create_file = DIR/test-mail
envelope_to_add
user = CALLER
batch_max = 10
diff --git a/test/confs/0535 b/test/confs/0535
index 7960c06..8643203 100644
--- a/test/confs/0535
+++ b/test/confs/0535
@@ -36,7 +36,8 @@ begin transports
t1:
driver = appendfile
user = CALLER
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail


# End
diff --git a/test/confs/0536 b/test/confs/0536
index d526f77..50f144c 100644
--- a/test/confs/0536
+++ b/test/confs/0536
@@ -94,6 +94,7 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

diff --git a/test/confs/0551 b/test/confs/0551
index d5d2ffd..02ba786 100644
--- a/test/confs/0551
+++ b/test/confs/0551
@@ -26,6 +26,7 @@ begin transports
t1:
driver = appendfile
user = CALLER
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail

# End
diff --git a/test/confs/0566 b/test/confs/0566
index 4692b22..1728177 100644
--- a/test/confs/0566
+++ b/test/confs/0566
@@ -55,7 +55,8 @@ dev_null:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0567 b/test/confs/0567
index 984aceb..6ee6788 100644
--- a/test/confs/0567
+++ b/test/confs/0567
@@ -80,7 +80,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0571 b/test/confs/0571
index d7c19f1..dc3d477 100644
--- a/test/confs/0571
+++ b/test/confs/0571
@@ -40,7 +40,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

t2:
diff --git a/test/confs/0573 b/test/confs/0573
index 388c53f..d46b67a 100644
--- a/test/confs/0573
+++ b/test/confs/0573
@@ -26,7 +26,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0593 b/test/confs/0593
index 439374e..baab4f3 100644
--- a/test/confs/0593
+++ b/test/confs/0593
@@ -1,5 +1,7 @@
# Exim test configuration 0593

+OPT=
+
.include DIR/aux-var/std_conf_prefix


@@ -25,16 +27,17 @@ check_recipient:
begin routers

 localuser:
-  driver = accept
-  check_local_user
-  transport = local_delivery
+  driver =    accept
+  transport =    local_delivery
+  errors_to =


# ----- Transports -----

begin transports

 local_delivery:
-  driver = appendfile
-  file = DIR/test-mail/$local_part
+  driver =    appendfile
+  file =    DIR/test-mail/$local_part
+  create_file =    OPT


 # End
diff --git a/test/confs/0600 b/test/confs/0600
index 58257e5..c246080 100644
--- a/test/confs/0600
+++ b/test/confs/0600
@@ -58,7 +58,8 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
diff --git a/test/confs/0606 b/test/confs/0606
index d78b8ba..6388962 100644
--- a/test/confs/0606
+++ b/test/confs/0606
@@ -60,7 +60,8 @@ begin transports
 local_delivery:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   user = CALLER
   headers_add =    X-r1: <$r_r1>\nX-r2: <$r_r2>\nX-r3: <$r_r3>


diff --git a/test/confs/0609 b/test/confs/0609
index 2f658c4..0f342dd 100644
--- a/test/confs/0609
+++ b/test/confs/0609
@@ -37,7 +37,8 @@ begin transports

appendfile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/0612 b/test/confs/0612
index da5b72f..b3174aa 100644
--- a/test/confs/0612
+++ b/test/confs/0612
@@ -84,7 +84,8 @@ bad_tpt:

tofile:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
event_action = ${acl {ev_log}}

diff --git a/test/confs/0900 b/test/confs/0900
index 2409f39..7775fc4 100644
--- a/test/confs/0900
+++ b/test/confs/0900
@@ -96,7 +96,8 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
diff --git a/test/confs/0901 b/test/confs/0901
index ed465ac..a1f3916 100644
--- a/test/confs/0901
+++ b/test/confs/0901
@@ -87,7 +87,8 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
diff --git a/test/confs/0906 b/test/confs/0906
index 0310653..5bd5f2a 100644
--- a/test/confs/0906
+++ b/test/confs/0906
@@ -74,7 +74,8 @@ begin transports


 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
diff --git a/test/confs/1001 b/test/confs/1001
index 878f414..9d564b9 100644
--- a/test/confs/1001
+++ b/test/confs/1001
@@ -28,7 +28,8 @@ begin transports


t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/1002 b/test/confs/1002
index 2ddf2a8..1d9a36c 100644
--- a/test/confs/1002
+++ b/test/confs/1002
@@ -73,7 +73,8 @@ dev_null:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/1003 b/test/confs/1003
index 6405a87..62eca9f 100644
--- a/test/confs/1003
+++ b/test/confs/1003
@@ -38,7 +38,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

send_to_server1:
diff --git a/test/confs/1103 b/test/confs/1103
index f2b49c7..b122e9c 100644
--- a/test/confs/1103
+++ b/test/confs/1103
@@ -43,7 +43,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/1104 b/test/confs/1104
index cdb3d0f..9a006fb 100644
--- a/test/confs/1104
+++ b/test/confs/1104
@@ -44,7 +44,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/1105 b/test/confs/1105
index 47f88e8..c5263b8 100644
--- a/test/confs/1105
+++ b/test/confs/1105
@@ -53,7 +53,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/1110 b/test/confs/1110
index 6430944..b22360f 100644
--- a/test/confs/1110
+++ b/test/confs/1110
@@ -1,4 +1,4 @@
-# Exim test configuration 1110
+# Exim test configuration 2019

.include DIR/aux-var/tls_conf_prefix

@@ -47,7 +47,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
.ifdef _HAVE_GNUTLS
headers_add = TLS: cipher=$tls_cipher peerdn/cn '${listextract {-1} {<, $tls_in_peerdn}}'
.endif
diff --git a/test/confs/1150 b/test/confs/1150
index b98c8dc..66f6606 100644
--- a/test/confs/1150
+++ b/test/confs/1150
@@ -51,7 +51,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/1152 b/test/confs/1152
index eadea0a..ebd846f 100644
--- a/test/confs/1152
+++ b/test/confs/1152
@@ -45,7 +45,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/1157 b/test/confs/1157
index 1b12a5f..4151171 100644
--- a/test/confs/1157
+++ b/test/confs/1157
@@ -54,7 +54,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/1159 b/test/confs/1159
index a549a9f..8468098 100644
--- a/test/confs/1159
+++ b/test/confs/1159
@@ -39,7 +39,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/1160 b/test/confs/1160
index 47bb2d5..d92a5b2 100644
--- a/test/confs/1160
+++ b/test/confs/1160
@@ -53,7 +53,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/1163 b/test/confs/1163
index f9d1ab1..27d23e5 100644
--- a/test/confs/1163
+++ b/test/confs/1163
@@ -46,7 +46,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/2002 b/test/confs/2002
index 6a322ff..6428ac6 100644
--- a/test/confs/2002
+++ b/test/confs/2002
@@ -84,7 +84,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/2014 b/test/confs/2014
index ec7c001..11f6512 100644
--- a/test/confs/2014
+++ b/test/confs/2014
@@ -52,7 +52,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_in_peerdn
user = CALLER

diff --git a/test/confs/2027 b/test/confs/2027
index 926b09a..fa76659 100644
--- a/test/confs/2027
+++ b/test/confs/2027
@@ -42,7 +42,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/2032 b/test/confs/2032
index 907ab99..5db97ec 100644
--- a/test/confs/2032
+++ b/test/confs/2032
@@ -61,7 +61,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/2102 b/test/confs/2102
index 6ae1514..ce86946 100644
--- a/test/confs/2102
+++ b/test/confs/2102
@@ -94,7 +94,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/2114 b/test/confs/2114
index 17d5ff2..1e5a176 100644
--- a/test/confs/2114
+++ b/test/confs/2114
@@ -52,7 +52,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_in_peerdn
user = CALLER

diff --git a/test/confs/2127 b/test/confs/2127
index 05dd10f..4a080d8 100644
--- a/test/confs/2127
+++ b/test/confs/2127
@@ -45,7 +45,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/2132 b/test/confs/2132
index 7329e28..3a0614d 100644
--- a/test/confs/2132
+++ b/test/confs/2132
@@ -55,7 +55,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/2149 b/test/confs/2149
index 9fa4fbf..dda9094 100644
--- a/test/confs/2149
+++ b/test/confs/2149
@@ -40,7 +40,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/2201 b/test/confs/2201
index 3f8f4fb..8b0c72d 100644
--- a/test/confs/2201
+++ b/test/confs/2201
@@ -67,7 +67,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

remote_delivery:
diff --git a/test/confs/3206 b/test/confs/3206
index d672ad4..c21a0e1 100644
--- a/test/confs/3206
+++ b/test/confs/3206
@@ -35,7 +35,8 @@ begin transports
local_delivery:
driver = appendfile
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/3207 b/test/confs/3207
index 46b7d69..328e846 100644
--- a/test/confs/3207
+++ b/test/confs/3207
@@ -77,7 +77,8 @@ begin transports
local_delivery:
driver = appendfile
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

smtp:
diff --git a/test/confs/3400 b/test/confs/3400
index d94e70d..d5a4ad1 100644
--- a/test/confs/3400
+++ b/test/confs/3400
@@ -151,7 +151,8 @@ appendfile:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/3403 b/test/confs/3403
index 5d59e6d..3273085 100644
--- a/test/confs/3403
+++ b/test/confs/3403
@@ -51,7 +51,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/3408 b/test/confs/3408
index 7de4a6d..66d9aff 100644
--- a/test/confs/3408
+++ b/test/confs/3408
@@ -68,7 +68,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add

# End
diff --git a/test/confs/3411 b/test/confs/3411
index b502208..852a27c 100644
--- a/test/confs/3411
+++ b/test/confs/3411
@@ -87,7 +87,8 @@ dev_null:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/3451 b/test/confs/3451
index f453873..8303f28 100644
--- a/test/confs/3451
+++ b/test/confs/3451
@@ -61,7 +61,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/3452 b/test/confs/3452
index e4d02b7..1951dd8 100644
--- a/test/confs/3452
+++ b/test/confs/3452
@@ -59,7 +59,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/3461 b/test/confs/3461
index 159a553..b793a4f 100644
--- a/test/confs/3461
+++ b/test/confs/3461
@@ -57,7 +57,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/3462 b/test/confs/3462
index 75385a0..93b5fa1 100644
--- a/test/confs/3462
+++ b/test/confs/3462
@@ -55,7 +55,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/3500 b/test/confs/3500
index 2419dec..5cf34fa 100644
--- a/test/confs/3500
+++ b/test/confs/3500
@@ -102,7 +102,8 @@ appendfile:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/3700 b/test/confs/3700
index 4a8d38a..599f3e5 100644
--- a/test/confs/3700
+++ b/test/confs/3700
@@ -95,7 +95,8 @@ t2:

file:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/3720 b/test/confs/3720
index 397e4e9..74faec2 100644
--- a/test/confs/3720
+++ b/test/confs/3720
@@ -88,7 +88,8 @@ t1:

file:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/4000 b/test/confs/4000
index d80aaa8..81afa5f 100644
--- a/test/confs/4000
+++ b/test/confs/4000
@@ -52,7 +52,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/4002 b/test/confs/4002
index cf124ec..d9a12a3 100644
--- a/test/confs/4002
+++ b/test/confs/4002
@@ -46,7 +46,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/4201 b/test/confs/4201
index a2c45a3..376cea5 100644
--- a/test/confs/4201
+++ b/test/confs/4201
@@ -116,7 +116,8 @@ local_delivery:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
diff --git a/test/confs/4211 b/test/confs/4211
index 0448883..a5e823a 100644
--- a/test/confs/4211
+++ b/test/confs/4211
@@ -107,7 +107,8 @@ local_delivery:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
diff --git a/test/confs/4221 b/test/confs/4221
index 07feb48..d146ecf 100644
--- a/test/confs/4221
+++ b/test/confs/4221
@@ -106,7 +106,8 @@ local_delivery:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
diff --git a/test/confs/4520 b/test/confs/4520
index 1f9d75b..bb980c0 100644
--- a/test/confs/4520
+++ b/test/confs/4520
@@ -78,7 +78,8 @@ send_to_server:


 file:
   driver =    appendfile
-  file =    DIR/test-mail/${bless:$local_part}
+  file =    DIR/test-mail/$local_part
+  create_file =    DIR/test-mail
   user =    CALLER


# End
diff --git a/test/confs/4525 b/test/confs/4525
index a5b7f2c..040cd11 100644
--- a/test/confs/4525
+++ b/test/confs/4525
@@ -107,7 +107,8 @@ send_to_server:

 file:
   driver =    appendfile
-  file =    DIR/test-mail/${bless:$local_part}
+  file =    DIR/test-mail/$local_part
+  create_file =    DIR/test-mail
   user =    CALLER


# End
diff --git a/test/confs/4560 b/test/confs/4560
index 8c5864b..8cffd65 100644
--- a/test/confs/4560
+++ b/test/confs/4560
@@ -78,7 +78,8 @@ begin transports

 tfile:
   driver =    appendfile
-  file =    DIR/test-mail/${bless:$local_part}
+  file =    DIR/test-mail/$local_part
+  create_file =    DIR/test-mail
   user =    CALLER


tsmtp:
diff --git a/test/confs/4565 b/test/confs/4565
index 9f1058f..e045d5a 100644
--- a/test/confs/4565
+++ b/test/confs/4565
@@ -59,7 +59,8 @@ begin transports

 tfile:
   driver =    appendfile
-  file =    DIR/test-mail/${bless:$local_part}
+  file =    DIR/test-mail/$local_part
+  create_file =    DIR/test-mail
   user =    CALLER


tsmtp:
diff --git a/test/confs/4620 b/test/confs/4620
index ad115c9..effc845 100644
--- a/test/confs/4620
+++ b/test/confs/4620
@@ -86,7 +86,8 @@ forwarded_external:

 appendfile:
   driver =    appendfile
-  file =    DIR/test-mail/${bless:$local_part}
+  file =    DIR/test-mail/$local_part
+  create_file =    DIR/test-mail
   user =    CALLER


# ----- Retry -----
diff --git a/test/confs/4700 b/test/confs/4700
index 04cc370..d3b8422 100644
--- a/test/confs/4700
+++ b/test/confs/4700
@@ -52,7 +52,8 @@ smtp:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/5003 b/test/confs/5003
index 5aa9681..76c0149 100644
--- a/test/confs/5003
+++ b/test/confs/5003
@@ -24,14 +24,16 @@ begin transports

local_delivery:
driver = appendfile
- directory = DIR/test-mail/${bless:$local_part}
+ directory = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
maildir_format
quota = 1.5K
user = CALLER

local_delivery2:
driver = appendfile
- directory = DIR/test-mail/${bless:$local_part}/
+ directory = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
maildir_format
quota = 1.5K
user = CALLER
diff --git a/test/confs/5005 b/test/confs/5005
index e5a7ef3..1d7d163 100644
--- a/test/confs/5005
+++ b/test/confs/5005
@@ -27,7 +27,8 @@ begin transports

t1:
driver = appendfile
- directory = DIR/test-mail/${bless:$local_part}
+ directory = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
maildir_format
maildir_use_size_file
diff --git a/test/confs/5006 b/test/confs/5006
index 17cba3c..1e6e86f 100644
--- a/test/confs/5006
+++ b/test/confs/5006
@@ -24,7 +24,8 @@ begin transports

t1:
driver = appendfile
- directory = DIR/test-mail/${bless:$local_part}
+ directory = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
maildir_format
maildir_use_size_file
diff --git a/test/confs/5007 b/test/confs/5007
index 7929b40..877b9b7 100644
--- a/test/confs/5007
+++ b/test/confs/5007
@@ -27,7 +27,8 @@ begin transports

t1:
driver = appendfile
- directory = DIR/test-mail/${bless:$local_part}
+ directory = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
maildir_format
maildir_use_size_file
diff --git a/test/confs/5008 b/test/confs/5008
index 1e904d4..43b8b91 100644
--- a/test/confs/5008
+++ b/test/confs/5008
@@ -27,7 +27,8 @@ begin transports

 t1:
   driver = appendfile
-  directory = DIR/test-mail/${bless:$local_part}
+  directory = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   user = CALLER
   maildir_format
   mailbox_size = 100K
diff --git a/test/confs/5050 b/test/confs/5050
index af62201..832f0d7 100644
--- a/test/confs/5050
+++ b/test/confs/5050
@@ -32,7 +32,8 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   file_format = "From       : local_delivery :\
                  *mbx*\r\n  : mbx_local_delivery :\
                  tpmissing  : tpmissing"
@@ -45,7 +46,8 @@ bsmtp_local_delivery:
   use_bsmtp
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   return_path_add
   user = CALLER


@@ -54,7 +56,8 @@ mbx_local_delivery:
   check_string =
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/${bless:$local_part}
+  file = DIR/test-mail/$local_part
+  create_file = DIR/test-mail
   mbx_format
   message_prefix =
   return_path_add
diff --git a/test/confs/5101 b/test/confs/5101
index 1002009..542d9ab 100644
--- a/test/confs/5101
+++ b/test/confs/5101
@@ -35,7 +35,8 @@ local_delivery:
   envelope_to_add
   headers_add = X-Recipient: local_part=$local_part domain=$domain\n\
                 X-Home: $home
-  file = DIR/test-mail/${if eq{$sender_address}{}{copied}{${bless:$h_mailbox:}}}
+  file = DIR/test-mail/${if eq{$sender_address}{}{copied}{$h_mailbox:}}
+  create_file = DIR/test-mail
   user = CALLER


lmtp:
diff --git a/test/confs/5200 b/test/confs/5200
index d30bc35..03f1279 100644
--- a/test/confs/5200
+++ b/test/confs/5200
@@ -36,7 +36,8 @@ local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
return_path_add
user = CALLER

diff --git a/test/confs/5201 b/test/confs/5201
index 2af73f2..a94c5b1 100644
--- a/test/confs/5201
+++ b/test/confs/5201
@@ -34,7 +34,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/5203 b/test/confs/5203
index 7a1f943..64e579d 100644
--- a/test/confs/5203
+++ b/test/confs/5203
@@ -27,7 +27,8 @@ begin transports

userx_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
message_suffix = "$address_data\n"
user = CALLER

diff --git a/test/confs/5204 b/test/confs/5204
index a681221..4fb15c3 100644
--- a/test/confs/5204
+++ b/test/confs/5204
@@ -64,7 +64,8 @@ null:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/5207 b/test/confs/5207
index 9465cfc..61f3748 100644
--- a/test/confs/5207
+++ b/test/confs/5207
@@ -14,7 +14,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${if eq{$address_data}{}{${bless:$local_part}}{$address_data}}
+ file = DIR/test-mail/${if eq{$address_data}{}{$local_part}{$address_data}}
+ create_file = DIR/test-mail
user = CALLER

# ----- Routers -----
diff --git a/test/confs/5500 b/test/confs/5500
index 91dc427..97894d1 100644
--- a/test/confs/5500
+++ b/test/confs/5500
@@ -45,7 +45,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# ----- Routers -----
diff --git a/test/confs/5600 b/test/confs/5600
index 7526b9c..6d1559e 100644
--- a/test/confs/5600
+++ b/test/confs/5600
@@ -66,7 +66,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/5610 b/test/confs/5610
index 7526b9c..6d1559e 100644
--- a/test/confs/5610
+++ b/test/confs/5610
@@ -66,7 +66,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/5611 b/test/confs/5611
index 09c81ff..657c726 100644
--- a/test/confs/5611
+++ b/test/confs/5611
@@ -85,7 +85,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/5650 b/test/confs/5650
index c484282..a5637bc 100644
--- a/test/confs/5650
+++ b/test/confs/5650
@@ -65,7 +65,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/5651 b/test/confs/5651
index 0e5e27b..75adc09 100644
--- a/test/confs/5651
+++ b/test/confs/5651
@@ -83,7 +83,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/5665 b/test/confs/5665
index 9ced25d..f686ef0 100644
--- a/test/confs/5665
+++ b/test/confs/5665
@@ -95,7 +95,8 @@ remote_delivery:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/5670 b/test/confs/5670
index 325ac88..d4bedac 100644
--- a/test/confs/5670
+++ b/test/confs/5670
@@ -96,7 +96,8 @@ remote_delivery:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/5730 b/test/confs/5730
index 88c2298..edebaf8 100644
--- a/test/confs/5730
+++ b/test/confs/5730
@@ -92,7 +92,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/5740 b/test/confs/5740
index 5dcbcb5..ecf9543 100644
--- a/test/confs/5740
+++ b/test/confs/5740
@@ -93,7 +93,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER

diff --git a/test/confs/5902 b/test/confs/5902
index ec4306b..bce0aeb 100644
--- a/test/confs/5902
+++ b/test/confs/5902
@@ -32,7 +32,8 @@ scan:

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER

# End
diff --git a/test/confs/9001 b/test/confs/9001
index ba5a168..58c8b40 100644
--- a/test/confs/9001
+++ b/test/confs/9001
@@ -28,7 +28,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER


diff --git a/test/confs/9400 b/test/confs/9400
index 0b54c96..081c246 100644
--- a/test/confs/9400
+++ b/test/confs/9400
@@ -42,7 +42,8 @@ begin transports

local_delivery:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
headers_add = ${if eq {$local_scan_data}{}{}{LSD: $local_scan_data}}

diff --git a/test/confs/9401 b/test/confs/9401
index ed83ed3..e0af263 100644
--- a/test/confs/9401
+++ b/test/confs/9401
@@ -30,7 +30,8 @@ begin transports

t1:
driver = appendfile
- file = DIR/test-mail/${bless:$local_part}
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
user = CALLER
headers_add = X-lsd: >$local_scan_data<

diff --git a/test/log/0318 b/test/log/0318
index df62c6c..140bdde 100644
--- a/test/log/0318
+++ b/test/log/0318
@@ -2,4 +2,4 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 => userx <userx@???> R=all T=local_delivery
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
1999-03-02 09:44:33 10HmaY-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
-1999-03-02 09:44:33 10HmaY-0005vi-00 == userx@??? R=all T=local_delivery defer (EEE): File exists: while renaming TESTSUITE/test-mail/temp.pppp.the.local.host.name as TESTSUITE/test-mail/userx
+1999-03-02 09:44:33 10HmaY-0005vi-00 == userx@??? R=all T=local_delivery defer (EEE): File exists: while renaming TESTSUITE/test-mail/subdir/temp.pppp.the.local.host.name as TESTSUITE/test-mail/subdir/userx
diff --git a/test/log/0593 b/test/log/0593
index f3ab6ea..de70c28 100644
--- a/test/log/0593
+++ b/test/log/0593
@@ -1,2 +1,7 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 <= someone@??? U=CALLER P=local-smtp S=sss
-1999-03-02 09:44:33 10HmaX-0005vi-00 == CALLER@??? R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/CALLER' (file or directory name for local_delivery transport) not permitted
+1999-03-02 09:44:33 10HmaX-0005vi-00 == fred@??? R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/fred' (file or directory name for local_delivery transport) not permitted
+1999-03-02 09:44:33 10HmaY-0005vi-00 <= someone@??? U=CALLER P=local-smtp S=sss
+1999-03-02 09:44:33 10HmaY-0005vi-00 == bill@??? R=localuser T=local_delivery defer (EEE): Permission denied: creating lock file hitching post TESTSUITE/test-mail/bill.lock.test.ex.dddddddd.pppppppp (euid=EXIM_UID egid=EXIM_GID)
+1999-03-02 09:44:33 10HmaY-0005vi-00 ** bill@???: retry timeout exceeded
+1999-03-02 09:44:33 10HmaY-0005vi-00 bill@???: error ignored
+1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
diff --git a/test/mail/0318.userx b/test/mail/0318.subdir/userx
similarity index 100%
rename from test/mail/0318.userx
rename to test/mail/0318.subdir/userx
diff --git a/test/msglog/0584.10HmaX-0005vi-00 b/test/msglog/0584.10HmaX-0005vi-00
index 540b683..fa93f25 100644
--- a/test/msglog/0584.10HmaX-0005vi-00
+++ b/test/msglog/0584.10HmaX-0005vi-00
@@ -1,2 +1,2 @@
1999-03-02 09:44:33 Received from someone@??? U=CALLER P=local-smtp S=sss
-1999-03-02 09:44:33 CALLER@??? R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/CALLER' (file or directory name for local_delivery transport) not permitted
+1999-03-02 09:44:33 fred@??? R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/fred' (file or directory name for local_delivery transport) not permitted
diff --git a/test/msglog/0593.10HmaX-0005vi-00 b/test/msglog/0593.10HmaX-0005vi-00
index 540b683..fa93f25 100644
--- a/test/msglog/0593.10HmaX-0005vi-00
+++ b/test/msglog/0593.10HmaX-0005vi-00
@@ -1,2 +1,2 @@
1999-03-02 09:44:33 Received from someone@??? U=CALLER P=local-smtp S=sss
-1999-03-02 09:44:33 CALLER@??? R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/CALLER' (file or directory name for local_delivery transport) not permitted
+1999-03-02 09:44:33 fred@??? R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/fred' (file or directory name for local_delivery transport) not permitted
diff --git a/test/paniclog/0593 b/test/paniclog/0593
index af4f471..c911203 100644
--- a/test/paniclog/0593
+++ b/test/paniclog/0593
@@ -1 +1 @@
-1999-03-02 09:44:33 10HmaX-0005vi-00 == CALLER@??? R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/CALLER' (file or directory name for local_delivery transport) not permitted
+1999-03-02 09:44:33 10HmaX-0005vi-00 == fred@??? R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/fred' (file or directory name for local_delivery transport) not permitted
diff --git a/test/runtest b/test/runtest
index 8586179..6050411 100755
--- a/test/runtest
+++ b/test/runtest
@@ -749,7 +749,7 @@ RESET_AFTER_EXTRA_LINE_READ:
s/remote delivery process \d+ ended/remote delivery process pppp ended/;

# Pid in temp file in appendfile transport
- s"test-mail/temp\.\d+\."test-mail/temp.pppp.";
+ s"test-mail/(subdir/)?temp\K\.\d+\.".pppp.";

# Optional pid in log lines
s/^(\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d)(\.\d{3}|)(\s[+-]\d{4}|)(\s\[\d+\])/
diff --git a/test/scripts/0000-Basic/0593 b/test/scripts/0000-Basic/0593
index 54ca506..81a1b4c 100644
--- a/test/scripts/0000-Basic/0593
+++ b/test/scripts/0000-Basic/0593
@@ -1,7 +1,19 @@
# tainted data for appendfile file option
+#
+# This should trap
exim -bs -odi
mail from:someone@???
-rcpt to:CALLER@HOSTNAME
+rcpt to:fred@HOSTNAME
+data
+.
+quit
+****
+#
+# taint trap defated by using create_file
+# goes on to fail on perms
+exim -bs -odi -DOPT=DIR/test-mail
+mail from:someone@???
+rcpt to:bill@HOSTNAME
data
.
quit
diff --git a/test/stderr/0023 b/test/stderr/0023
index ddf364b..4414223 100644
--- a/test/stderr/0023
+++ b/test/stderr/0023
@@ -603,7 +603,7 @@ LOG: H=[8.8.8.8] F=<x@y> temporarily rejected RCPT <x@y>: ACL nested too deep: p
>>> processing "accept" (TESTSUITE/test-config 85)
>>> check acl = TESTSUITE/aux-fixed/0023.acl1
>>> read ACL from file TESTSUITE/aux-fixed/0023.acl1

->>> processing "accept" (TESTSUITE/test-config 271)
+>>> processing "accept" (TESTSUITE/test-config 272)
>>> check domains = y
>>> y in "y"? yes (matched "y")
>>> check local_parts = x

@@ -616,7 +616,7 @@ LOG: H=[8.8.8.8] F=<x@y> temporarily rejected RCPT <x@y>: ACL nested too deep: p
>>> processing "accept" (TESTSUITE/test-config 85)
>>> check acl = TESTSUITE/aux-fixed/0023.acl1
>>> using ACL "TESTSUITE/aux-fixed/0023.acl1"

->>> processing "accept" (TESTSUITE/test-config 271)
+>>> processing "accept" (TESTSUITE/test-config 272)
>>> check domains = y
>>> y in "y"? yes (matched "y")
>>> check local_parts = x

@@ -630,7 +630,7 @@ LOG: H=[5.6.13.1] F=<x@y> rejected RCPT <x1@y>
>>> processing "accept" (TESTSUITE/test-config 85)
>>> check acl = TESTSUITE/aux-fixed/0023.acl1
>>> using ACL "TESTSUITE/aux-fixed/0023.acl1"

->>> processing "accept" (TESTSUITE/test-config 271)
+>>> processing "accept" (TESTSUITE/test-config 272)
>>> check domains = y
>>> y in "y"? yes (matched "y")
>>> check local_parts = x

@@ -1344,7 +1344,7 @@ LOG: H=[44.44.44.1] Warning: ACL "warn" statement skipped: condition test deferr
>>> processing "accept" (TESTSUITE/test-config 226)
>>> check !acl = TESTSUITE/aux-fixed/0023.acl2
>>> read ACL from file TESTSUITE/aux-fixed/0023.acl2

->>> processing "accept" (TESTSUITE/test-config 271)
+>>> processing "accept" (TESTSUITE/test-config 272)
>>> check domains = b
>>> y in "b"? no (end of list)
>>> accept: condition test failed in ACL "TESTSUITE/aux-fixed/0023.acl2"

@@ -1355,7 +1355,7 @@ LOG: H=[44.44.44.1] Warning: ACL "warn" statement skipped: condition test deferr
>>> processing "accept" (TESTSUITE/test-config 226)
>>> check !acl = TESTSUITE/aux-fixed/0023.acl2
>>> using ACL "TESTSUITE/aux-fixed/0023.acl2"

->>> processing "accept" (TESTSUITE/test-config 271)
+>>> processing "accept" (TESTSUITE/test-config 272)
>>> check domains = b
>>> b in "b"? yes (matched "b")
>>> check local_parts = a

diff --git a/test/stderr/0026 b/test/stderr/0026
index be1f27b..e1dfdf6 100644
--- a/test/stderr/0026
+++ b/test/stderr/0026
@@ -6,7 +6,7 @@
>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)

->>> processing "accept" (TESTSUITE/test-config 60)
+>>> processing "accept" (TESTSUITE/test-config 61)
>>> accept: condition test succeeded in inline ACL
>>> end of inline ACL: ACCEPT
>>> host in ignore_fromline_hosts? no (option unset)

@@ -34,7 +34,7 @@ LOG: 10HmbI-0005vi-00 H=[10.0.0.0] F=<x@y> rejected after DATA: domain missing o
>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)

->>> processing "accept" (TESTSUITE/test-config 60)
+>>> processing "accept" (TESTSUITE/test-config 61)
>>> accept: condition test succeeded in inline ACL
>>> end of inline ACL: ACCEPT
>>> host in ignore_fromline_hosts? no (option unset)

diff --git a/test/stderr/0042 b/test/stderr/0042
index 2fb24dd..5d7deb7 100644
--- a/test/stderr/0042
+++ b/test/stderr/0042
@@ -7,7 +7,7 @@
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
>>> host in smtp_accept_max_nonmail_hosts? yes (matched "*")

->>> processing "accept" (TESTSUITE/test-config 46)
+>>> processing "accept" (TESTSUITE/test-config 47)
>>> accept: condition test succeeded in inline ACL
>>> end of inline ACL: ACCEPT
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

@@ -18,7 +18,7 @@
>>> userx in "userx"? yes (matched "userx")
>>> calling localuser router
>>> routed by localuser router

->>> processing "accept" (TESTSUITE/test-config 46)
+>>> processing "accept" (TESTSUITE/test-config 47)
>>> accept: condition test succeeded in inline ACL
>>> end of inline ACL: ACCEPT
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

@@ -29,7 +29,7 @@
>>> junkjunk in "userx"? no (end of list)
>>> no more routers

LOG: VRFY failed for junkjunk@??? H=[1.1.1.1]
->>> processing "accept" (TESTSUITE/test-config 46)
+>>> processing "accept" (TESTSUITE/test-config 47)
>>> accept: condition test succeeded in inline ACL
>>> end of inline ACL: ACCEPT
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

diff --git a/test/stderr/0169 b/test/stderr/0169
index 4e0f4b6..0585da3 100644
--- a/test/stderr/0169
+++ b/test/stderr/0169
@@ -17,6 +17,7 @@ appendfile: mode=600 notify_comsat=0 quota=52428800 warning=41%
   message_suffix=\n
   maildir_use_size_file=no
   locking by lockfile fcntl 
+de-tainting path 'TESTSUITE/test-mail/userx'
 lock name: TESTSUITE/test-mail/userx.lock
 hitch name: TESTSUITE/test-mail/userx.lock.test.ex.dddddddd.pppppppp
 lock file created
diff --git a/test/stderr/0386 b/test/stderr/0386
index 9f53887..f625344 100644
--- a/test/stderr/0386
+++ b/test/stderr/0386
@@ -38,15 +38,15 @@ check local_parts = 1
 1 in "1"? yes (matched "1")
 check acl = TESTSUITE/aux-fixed/0386.acl1
  read ACL from file TESTSUITE/aux-fixed/0386.acl1
- processing "accept" (TESTSUITE/test-config 43)
+ processing "accept" (TESTSUITE/test-config 44)
  check hosts = :
 host in ":"? no (end of list)
  accept: condition test failed in ACL "TESTSUITE/aux-fixed/0386.acl1"
- processing "deny" (TESTSUITE/test-config 43)
+ processing "deny" (TESTSUITE/test-config 44)
  check local_parts = ^.*[@%!/|]
 1 in "^.*[@%!/|]"? no (end of list)
  deny: condition test failed in ACL "TESTSUITE/aux-fixed/0386.acl1"
- processing "require" (TESTSUITE/test-config 43)
+ processing "require" (TESTSUITE/test-config 44)
  l_message: Invalid sender
    message: Couldn't verify the sender
  check verify = sender/defer_ok
@@ -72,7 +72,7 @@ routed by r1 router
  ----------- end verify ------------
  sender x@y verified ok
  require: condition test succeeded in ACL "TESTSUITE/aux-fixed/0386.acl1"
- processing "deny" (TESTSUITE/test-config 43)
+ processing "deny" (TESTSUITE/test-config 44)
    message: No such user here
  deny: condition test succeeded in ACL "TESTSUITE/aux-fixed/0386.acl1"
  end of ACL "TESTSUITE/aux-fixed/0386.acl1": DENY
@@ -94,15 +94,15 @@ check local_parts = 1
 1 in "1"? yes (matched "1")
 check acl = TESTSUITE/aux-fixed/0386.acl1
  using ACL "TESTSUITE/aux-fixed/0386.acl1"
- processing "accept" (TESTSUITE/test-config 43)
+ processing "accept" (TESTSUITE/test-config 44)
  check hosts = :
 host in ":"? no (end of list)
  accept: condition test failed in ACL "TESTSUITE/aux-fixed/0386.acl1"
- processing "deny" (TESTSUITE/test-config 43)
+ processing "deny" (TESTSUITE/test-config 44)
  check local_parts = ^.*[@%!/|]
 1 in "^.*[@%!/|]"? no (end of list)
  deny: condition test failed in ACL "TESTSUITE/aux-fixed/0386.acl1"
- processing "require" (TESTSUITE/test-config 43)
+ processing "require" (TESTSUITE/test-config 44)
  l_message: Invalid sender
    message: Couldn't verify the sender
  check verify = sender/defer_ok
@@ -127,7 +127,7 @@ routed by r1 router
  ----------- end verify ------------
  sender x@y verified ok
  require: condition test succeeded in ACL "TESTSUITE/aux-fixed/0386.acl1"
- processing "deny" (TESTSUITE/test-config 43)
+ processing "deny" (TESTSUITE/test-config 44)
    message: No such user here
  deny: condition test succeeded in ACL "TESTSUITE/aux-fixed/0386.acl1"
  end of ACL "TESTSUITE/aux-fixed/0386.acl1": DENY
@@ -188,7 +188,7 @@ check local_parts = 2
 2 in "2"? yes (matched "2")
 check acl = TESTSUITE/aux-fixed/0386.acl2
  read ACL from file TESTSUITE/aux-fixed/0386.acl2
- processing "warn" (TESTSUITE/test-config 43)
+ processing "warn" (TESTSUITE/test-config 44)
    message: X-Warning: $sender_host_address is listed at $dnslist_domain\nX-Warning: $dnslist_text
  l_message: found in $dnslist_domain: $dnslist_text
  check dnslists = rbl.test.ex 
@@ -205,7 +205,7 @@ DNS lookup of 13.12.11.V4NET.rbl.test.ex (TXT) succeeded
 LOG: MAIN
   H=[V4NET.11.12.13] U=CALLER Warning: found in rbl.test.ex: This is a test blacklisting message
 created log directory TESTSUITE/spool/log
- processing "accept" (TESTSUITE/test-config 43)
+ processing "accept" (TESTSUITE/test-config 44)
  accept: condition test succeeded in ACL "TESTSUITE/aux-fixed/0386.acl2"
  end of ACL "TESTSUITE/aux-fixed/0386.acl2": ACCEPT
 accept: condition test succeeded in ACL "chk_rcpt"
@@ -324,6 +324,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   message_suffix=\n
   maildir_use_size_file=no
   locking by lockfile fcntl 
+de-tainting path 'TESTSUITE/test-mail/2'
 lock name: TESTSUITE/test-mail/2.lock
 hitch name: TESTSUITE/test-mail/2.lock.test.ex.dddddddd.pppppppp
 lock file created
@@ -383,7 +384,7 @@ check local_parts = 2
 2 in "2"? yes (matched "2")
 check acl = TESTSUITE/aux-fixed/0386.acl2
  using ACL "TESTSUITE/aux-fixed/0386.acl2"
- processing "warn" (TESTSUITE/test-config 43)
+ processing "warn" (TESTSUITE/test-config 44)
    message: X-Warning: $sender_host_address is listed at $dnslist_domain\nX-Warning: $dnslist_text
  l_message: found in $dnslist_domain: $dnslist_text
  check dnslists = rbl.test.ex 
@@ -394,7 +395,7 @@ DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
  warn: condition test succeeded in ACL "TESTSUITE/aux-fixed/0386.acl2"
 LOG: MAIN
   H=[V4NET.11.12.13] U=CALLER Warning: found in rbl.test.ex: This is a test blacklisting message
- processing "accept" (TESTSUITE/test-config 43)
+ processing "accept" (TESTSUITE/test-config 44)
  accept: condition test succeeded in ACL "TESTSUITE/aux-fixed/0386.acl2"
  end of ACL "TESTSUITE/aux-fixed/0386.acl2": ACCEPT
 accept: condition test succeeded in ACL "chk_rcpt"
@@ -512,6 +513,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   message_suffix=\n
   maildir_use_size_file=no
   locking by lockfile fcntl 
+de-tainting path 'TESTSUITE/test-mail/2'
 lock name: TESTSUITE/test-mail/2.lock
 hitch name: TESTSUITE/test-mail/2.lock.test.ex.dddddddd.pppppppp
 lock file created
diff --git a/test/stderr/0393 b/test/stderr/0393
index 0177ee3..ac13db4 100644
--- a/test/stderr/0393
+++ b/test/stderr/0393
@@ -22,6 +22,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   message_suffix=\n
   maildir_use_size_file=no
   locking by lockfile fcntl 
+de-tainting path 'TESTSUITE/test-mail/userx'
 lock name: TESTSUITE/test-mail/userx.lock
 hitch name: TESTSUITE/test-mail/userx.lock.test.ex.dddddddd.pppppppp
 lock file created
@@ -68,6 +69,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   message_suffix=\n
   maildir_use_size_file=no
   locking by lockfile fcntl 
+de-tainting path 'TESTSUITE/test-mail/userx'
 lock name: TESTSUITE/test-mail/userx.lock
 hitch name: TESTSUITE/test-mail/userx.lock.test.ex.dddddddd.pppppppp
 lock file created
@@ -108,6 +110,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   message_suffix=\n
   maildir_use_size_file=no
   locking by lockfile fcntl 
+de-tainting path 'TESTSUITE/test-mail/userx'
 lock name: TESTSUITE/test-mail/userx.lock
 hitch name: TESTSUITE/test-mail/userx.lock.test.ex.dddddddd.pppppppp
 lock file created
diff --git a/test/stderr/0404 b/test/stderr/0404
index 1240813..cf57c90 100644
--- a/test/stderr/0404
+++ b/test/stderr/0404
@@ -17379,6 +17379,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   message_suffix=\n
   maildir_use_size_file=no
   locking by lockfile fcntl 
+de-tainting path 'TESTSUITE/test-mail/sender'
 lock name: TESTSUITE/test-mail/sender.lock
 hitch name: TESTSUITE/test-mail/sender.lock.test.ex.dddddddd.pppppppp
 lock file created
diff --git a/test/stderr/0408 b/test/stderr/0408
index bd7e753..1b55f03 100644
--- a/test/stderr/0408
+++ b/test/stderr/0408
@@ -149,6 +149,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
   message_suffix=\n
   maildir_use_size_file=no
   locking by lockfile fcntl 
+de-tainting path 'TESTSUITE/test-mail/userx'
 lock name: TESTSUITE/test-mail/userx.lock
 hitch name: TESTSUITE/test-mail/userx.lock.test.ex.dddddddd.pppppppp
 lock file created
diff --git a/test/stderr/0487 b/test/stderr/0487
index 2a3446d..277fba6 100644
--- a/test/stderr/0487
+++ b/test/stderr/0487
@@ -32,7 +32,7 @@ spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
 log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100

SMTP>> 250 OK

SMTP<< rcpt to:<userx@???>
-processing "accept" (TESTSUITE/test-config 33)
+processing "accept" (TESTSUITE/test-config 34)
accept: condition test succeeded in inline ACL
end of inline ACL: ACCEPT
SMTP>> 250 Accepted

@@ -150,6 +150,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=0
message_suffix=\n
maildir_use_size_file=no
locking by lockfile fcntl
+de-tainting path 'TESTSUITE/test-mail/userx'
lock name: TESTSUITE/test-mail/userx.lock
hitch name: TESTSUITE/test-mail/userx.lock.test.ex.dddddddd.pppppppp
lock file created
diff --git a/test/stderr/0593 b/test/stderr/0593
index af4f471..c911203 100644
--- a/test/stderr/0593
+++ b/test/stderr/0593
@@ -1 +1 @@
-1999-03-02 09:44:33 10HmaX-0005vi-00 == CALLER@??? R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/CALLER' (file or directory name for local_delivery transport) not permitted
+1999-03-02 09:44:33 10HmaX-0005vi-00 == fred@??? R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/fred' (file or directory name for local_delivery transport) not permitted
diff --git a/test/stderr/5005 b/test/stderr/5005
index cf343d6..c018546 100644
--- a/test/stderr/5005
+++ b/test/stderr/5005
@@ -121,6 +121,7 @@ appendfile: mode=600 notify_comsat=0 quota=500 warning=0
message_prefix=null
message_suffix=null
maildir_use_size_file=yes
+de-tainting path 'TESTSUITE/test-mail/nofile'
ensuring maildir directories exist in TESTSUITE/test-mail/nofile
created directory TESTSUITE/test-mail/nofile
created directory TESTSUITE/test-mail/nofile/tmp
@@ -305,6 +306,7 @@ appendfile: mode=600 notify_comsat=0 quota=500 warning=0
message_prefix=null
message_suffix=null
maildir_use_size_file=yes
+de-tainting path 'TESTSUITE/test-mail/userx'
ensuring maildir directories exist in TESTSUITE/test-mail/userx
created directory TESTSUITE/test-mail/userx/tmp
created directory TESTSUITE/test-mail/userx/new
@@ -491,6 +493,7 @@ appendfile: mode=600 notify_comsat=0 quota=500 warning=0
message_prefix=null
message_suffix=null
maildir_use_size_file=yes
+de-tainting path 'TESTSUITE/test-mail/userx'
ensuring maildir directories exist in TESTSUITE/test-mail/userx
using regex for maildir directory selection: ^(?:cur|new|\..*)$
looking for maildirsize in TESTSUITE/test-mail/userx
@@ -691,6 +694,7 @@ appendfile: mode=600 notify_comsat=0 quota=500 warning=0
message_prefix=null
message_suffix=null
maildir_use_size_file=yes
+de-tainting path 'TESTSUITE/test-mail/userx'
ensuring maildir directories exist in TESTSUITE/test-mail/userx
using regex for maildir directory selection: ^(?:cur|new|\..*)$
looking for maildirsize in TESTSUITE/test-mail/userx
diff --git a/test/stderr/5006 b/test/stderr/5006
index 25b03e8..250352f 100644
--- a/test/stderr/5006
+++ b/test/stderr/5006
@@ -121,6 +121,7 @@ appendfile: mode=600 notify_comsat=0 quota=0 warning=50%
message_prefix=null
message_suffix=null
maildir_use_size_file=yes
+de-tainting path 'TESTSUITE/test-mail/userx'
ensuring maildir directories exist in TESTSUITE/test-mail/userx
created directory TESTSUITE/test-mail/userx
created directory TESTSUITE/test-mail/userx/tmp
diff --git a/test/stderr/5008 b/test/stderr/5008
index f4577c3..8e2b7df 100644
--- a/test/stderr/5008
+++ b/test/stderr/5008
@@ -17,6 +17,7 @@ appendfile: mode=600 notify_comsat=0 quota=1048576 warning=0
message_prefix=null
message_suffix=null
maildir_use_size_file=no
+de-tainting path 'TESTSUITE/test-mail/userx'
ensuring maildir directories exist in TESTSUITE/test-mail/userx
created directory TESTSUITE/test-mail/userx
created directory TESTSUITE/test-mail/userx/tmp
@@ -56,6 +57,7 @@ appendfile: mode=600 notify_comsat=0 quota=1048576 warning=0
message_prefix=null
message_suffix=null
maildir_use_size_file=no
+de-tainting path 'TESTSUITE/test-mail/userx'
ensuring maildir directories exist in TESTSUITE/test-mail/userx
quota checks on directory TESTSUITE/test-mail/userx
MUNGED: the check_dir_size lines have been sorted to ensure consistency
diff --git a/test/stderr/5204 b/test/stderr/5204
index 9672fd8..64f9d98 100644
--- a/test/stderr/5204
+++ b/test/stderr/5204
@@ -242,7 +242,7 @@ some.name in helo_lookup_domains? no (end of list)
host in dsn_advertise_hosts? no (option unset)
host in pipelining_advertise_hosts? yes (matched "*")
host in chunking_advertise_hosts? no (end of list)
-processing "accept" (TESTSUITE/test-config 78)
+processing "accept" (TESTSUITE/test-config 79)
check verify = recipient
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

routing "FAIL cannot route this one (FAIL)"@???
diff --git a/test/stdout/0593 b/test/stdout/0593
index 4e4673d..2b1941f 100644
--- a/test/stdout/0593
+++ b/test/stdout/0593
@@ -4,3 +4,9 @@
354 Enter message, ending with "." on a line by itself
250 OK id=10HmaX-0005vi-00
221 the.local.host.name closing connection
+220 the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+354 Enter message, ending with "." on a line by itself
+250 OK id=10HmaY-0005vi-00
+221 the.local.host.name closing connection