appendfile: taint-enforce file & directory options
authorJeremy Harris <jgh146exb@wizmail.org>
Sat, 11 Jan 2020 21:46:43 +0000 (21:46 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sat, 11 Jan 2020 21:46:43 +0000 (21:46 +0000)
testsuite: bless facility

337 files changed:
doc/doc-docbook/spec.xfpt
doc/doc-txt/ChangeLog
src/src/expand.c
src/src/rda.c
src/src/transports/appendfile.c
test/aux-fixed/0297.Filter
test/confs/0001
test/confs/0006
test/confs/0008
test/confs/0009
test/confs/0010
test/confs/0011
test/confs/0012
test/confs/0014
test/confs/0015
test/confs/0016
test/confs/0021
test/confs/0022
test/confs/0023
test/confs/0024
test/confs/0025
test/confs/0026
test/confs/0027
test/confs/0028
test/confs/0031
test/confs/0032
test/confs/0036
test/confs/0037
test/confs/0040
test/confs/0041
test/confs/0042
test/confs/0043
test/confs/0044
test/confs/0046
test/confs/0048
test/confs/0049
test/confs/0050
test/confs/0051
test/confs/0052
test/confs/0053
test/confs/0055
test/confs/0072
test/confs/0073
test/confs/0074
test/confs/0075
test/confs/0076
test/confs/0079
test/confs/0080
test/confs/0081
test/confs/0082
test/confs/0083
test/confs/0084
test/confs/0090
test/confs/0094
test/confs/0095
test/confs/0096
test/confs/0097
test/confs/0098
test/confs/0100
test/confs/0102
test/confs/0103
test/confs/0104
test/confs/0105
test/confs/0107
test/confs/0110
test/confs/0111
test/confs/0113
test/confs/0116
test/confs/0118
test/confs/0121
test/confs/0127
test/confs/0128
test/confs/0131
test/confs/0133
test/confs/0135
test/confs/0136
test/confs/0137
test/confs/0138
test/confs/0139
test/confs/0140
test/confs/0142
test/confs/0149
test/confs/0150
test/confs/0151
test/confs/0152
test/confs/0153
test/confs/0156
test/confs/0158
test/confs/0159
test/confs/0164
test/confs/0165
test/confs/0166
test/confs/0167
test/confs/0169
test/confs/0171
test/confs/0172
test/confs/0173
test/confs/0174
test/confs/0175
test/confs/0176
test/confs/0177
test/confs/0178
test/confs/0182
test/confs/0185
test/confs/0189
test/confs/0192
test/confs/0193
test/confs/0194
test/confs/0195
test/confs/0196
test/confs/0202
test/confs/0204
test/confs/0205
test/confs/0210
test/confs/0211
test/confs/0212
test/confs/0220
test/confs/0221
test/confs/0222
test/confs/0223
test/confs/0224
test/confs/0225
test/confs/0226
test/confs/0230
test/confs/0231
test/confs/0232
test/confs/0233
test/confs/0237
test/confs/0240
test/confs/0241
test/confs/0243
test/confs/0246
test/confs/0253
test/confs/0256
test/confs/0258
test/confs/0260
test/confs/0264
test/confs/0266
test/confs/0267
test/confs/0270
test/confs/0271
test/confs/0274
test/confs/0280
test/confs/0281
test/confs/0282
test/confs/0283
test/confs/0284
test/confs/0289
test/confs/0296
test/confs/0297
test/confs/0298
test/confs/0299
test/confs/0306
test/confs/0307
test/confs/0309
test/confs/0310
test/confs/0318
test/confs/0319
test/confs/0321
test/confs/0324
test/confs/0326
test/confs/0327
test/confs/0328
test/confs/0329
test/confs/0330
test/confs/0335
test/confs/0338
test/confs/0345
test/confs/0346
test/confs/0351
test/confs/0352
test/confs/0353
test/confs/0354
test/confs/0355
test/confs/0359
test/confs/0362
test/confs/0374
test/confs/0375
test/confs/0377
test/confs/0379
test/confs/0380
test/confs/0383
test/confs/0385
test/confs/0386
test/confs/0393
test/confs/0395
test/confs/0398
test/confs/0404
test/confs/0408
test/confs/0412
test/confs/0421
test/confs/0428
test/confs/0431
test/confs/0436
test/confs/0444
test/confs/0446
test/confs/0449
test/confs/0452
test/confs/0456
test/confs/0460
test/confs/0461
test/confs/0472
test/confs/0480
test/confs/0481
test/confs/0485
test/confs/0487
test/confs/0491
test/confs/0493
test/confs/0494
test/confs/0495
test/confs/0496
test/confs/0500
test/confs/0503
test/confs/0504
test/confs/0506
test/confs/0508
test/confs/0514
test/confs/0517
test/confs/0522
test/confs/0523
test/confs/0530
test/confs/0531
test/confs/0532
test/confs/0533
test/confs/0535
test/confs/0536
test/confs/0551
test/confs/0566
test/confs/0567
test/confs/0571
test/confs/0573
test/confs/0584 [new file with mode: 0644]
test/confs/0600
test/confs/0609
test/confs/0618
test/confs/0620
test/confs/0900
test/confs/0901
test/confs/0906
test/confs/1001
test/confs/1002
test/confs/1003
test/confs/2002
test/confs/2003
test/confs/2004
test/confs/2005
test/confs/2007
test/confs/2008
test/confs/2013
test/confs/2014
test/confs/2017
test/confs/2019
test/confs/2027
test/confs/2032
test/confs/2038
test/confs/2102
test/confs/2103
test/confs/2104
test/confs/2105
test/confs/2107
test/confs/2108
test/confs/2113
test/confs/2114
test/confs/2117
test/confs/2119
test/confs/2127
test/confs/2132
test/confs/2138
test/confs/2149
test/confs/2201
test/confs/3206
test/confs/3207
test/confs/3400
test/confs/3403
test/confs/3408
test/confs/3411
test/confs/3451
test/confs/3452
test/confs/3461
test/confs/3462
test/confs/3500
test/confs/3700
test/confs/3720
test/confs/4000
test/confs/4001
test/confs/4201
test/confs/4211
test/confs/4221
test/confs/4520
test/confs/4525
test/confs/4560
test/confs/4565
test/confs/4620
test/confs/4700
test/confs/5001
test/confs/5003
test/confs/5005
test/confs/5006
test/confs/5007
test/confs/5008
test/confs/5050
test/confs/5101
test/confs/5200
test/confs/5201
test/confs/5203
test/confs/5204
test/confs/5207
test/confs/5500
test/confs/5600
test/confs/5610
test/confs/5611
test/confs/5650
test/confs/5651
test/confs/5665
test/confs/5670
test/confs/5730
test/confs/5740
test/confs/5902
test/confs/9001
test/confs/9400
test/confs/9401
test/log/0584 [new file with mode: 0644]
test/msglog/0584.10HmaX-0005vi-00 [new file with mode: 0644]
test/paniclog/0584 [new file with mode: 0644]
test/scripts/0000-Basic/0584 [new file with mode: 0644]
test/stderr/0084
test/stderr/0085
test/stderr/0297
test/stderr/0361
test/stderr/0364
test/stderr/0377
test/stderr/0378
test/stderr/0379
test/stderr/0380
test/stderr/0464
test/stderr/0584 [new file with mode: 0644]
test/stdout/0584 [new file with mode: 0644]

index 254ed69..bb2ce12 100644 (file)
@@ -22371,6 +22371,14 @@ 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
+.new
+.cindex "tainted data" "in filenames"
+.cindex appendfile "tainted data"
+Tainted data may not be used for a file or directory name.
+This means that, for instance, &$local_part$& cannot be used directly
+as a component of a path.  It can however be used as the key for a lookup
+which returns a path (or component).
+.wen
 
 
 .cindex "Sieve filter" "configuring &(appendfile)&"
index 2b5b592..2729295 100644 (file)
@@ -87,6 +87,9 @@ JH/19 Bug 2507: Modules: on handling a dynamic-module (lookups) open failure,
       were used, and the second one (for mainlog/paniclog) retrieved null
       information.
 
+JH/20 Taint checking: disallow use of tainted data for the appendfile transport
+      file and directory options.  Previously this was permitted.
+
 
 Exim version 4.93
 -----------------
index cec6efd..fe5384a 100644 (file)
@@ -213,6 +213,7 @@ static uschar *op_table_main[] = {
   US"base62d",
   US"base64",
   US"base64d",
+  US"bless",
   US"domain",
   US"escape",
   US"escape8bit",
@@ -260,6 +261,7 @@ enum {
   EOP_BASE62D,
   EOP_BASE64,
   EOP_BASE64D,
+  EOP_BLESS,
   EOP_DOMAIN,
   EOP_ESCAPE,
   EOP_ESCAPE8BIT,
@@ -7059,6 +7061,20 @@ while (*s != 0)
         continue;
         }
 
+      case EOP_BLESS:
+       /* This is purely for the convenience of the test harness.  Do not enable
+       it otherwise as it defeats the taint-checking security. */
+
+       if (f.running_in_test_harness)
+         yield = string_cat(yield, is_tainted(sub)
+                                   ? string_copy_taint(sub, FALSE) : sub);
+       else
+         {
+         DEBUG(D_expand) debug_printf_indent("bless operator not supported\n");
+         yield = string_cat(yield, sub);
+         }
+       continue;
+
       case EOP_EXPAND:
         {
         uschar *expanded = expand_string_internal(sub, FALSE, NULL, skipping, TRUE, &resetok);
index 5fa3d09..201e82d 100644 (file)
@@ -557,7 +557,8 @@ if (!(data = expand_string(rdata->string)))
   }
 rdata->string = data;
 
-DEBUG(D_route) debug_printf("expanded: '%s'\n", data);
+DEBUG(D_route)
+  debug_printf("expanded: '%s'%s\n", data, is_tainted(data) ? " (tainted)":"");
 
 if (rdata->isfile && data[0] != '/')
   {
index d99a179..de193db 100644 (file)
@@ -3,6 +3,7 @@
 *************************************************/
 
 /* Copyright (c) University of Cambridge 1995 - 2018 */
+/* Copyright (c) The Exim maintainers 2020 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 
@@ -1342,6 +1343,12 @@ 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] != '/')
   {
index e911ce7..28f090e 100644 (file)
@@ -2,4 +2,4 @@
 
 if $sender_address is not fil@ter then finish endif
 
-save ${local_part:$recipients}
+save ${bless:${local_part:$recipients}}
index 4dfd09a..c8ad6f4 100644 (file)
@@ -517,7 +517,7 @@ appendfile:
   directory_mode = 0700
   envelope_to_add
   escape_string = xyz
-  file = /home/$local_part/inbox
+  file = /home/${bless:$local_part}/inbox
   file_format = "From : appendfile"
   no_file_must_exist
   group = MAILGROUP
index c01a2fe..b83e897 100644 (file)
@@ -35,7 +35,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   headers_add = \nMessage Headers:\n$message_headers\n\
                 \nRaw Message Headers:\n$message_headers_raw\n
index 91db091..396718f 100644 (file)
@@ -27,7 +27,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 # End
index 422fe3d..3ca2feb 100644 (file)
@@ -27,7 +27,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 # End
index 39e3fcf..0216aae 100644 (file)
@@ -27,7 +27,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 
index f8c0476..e39d595 100644 (file)
@@ -27,7 +27,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 
index b367e89..76f5bc4 100644 (file)
@@ -30,7 +30,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 
index 1fdd92d..23abbb2 100644 (file)
@@ -94,7 +94,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   message_suffix =
   user = CALLER
 
index dbbdfd0..8c62e2e 100644 (file)
@@ -33,7 +33,7 @@ userforward:
   allow_filter
   local_parts = userx
   user = CALLER
-  file = DIR/aux-fixed/0015.filter.$local_part
+  file = DIR/aux-fixed/0015.filter.${bless:$local_part}
   local_part_prefix = *+
   local_part_prefix_optional
   pipe_transport = address_pipe
@@ -80,7 +80,7 @@ local_delivery:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   headers_add = X-local_part: $local_part\n\
                 X-local_part_prefix: $local_part_prefix
@@ -90,7 +90,7 @@ local_delivery_b:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   use_bsmtp
   headers_add = X-local_part: $local_part\n\
index 4260c88..dcc005f 100644 (file)
@@ -17,7 +17,7 @@ userforward:
   allow_filter
   user = CALLER
   local_parts = userx : CALLER
-  file = DIR/aux-fixed/0016.filter.$local_part
+  file = DIR/aux-fixed/0016.filter.${bless:$local_part}
   local_part_suffix = +*
   local_part_suffix_optional
   reply_transport = address_reply
@@ -39,7 +39,7 @@ local_delivery:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 address_reply:
index cb05738..0150839 100644 (file)
@@ -84,7 +84,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index bd04442..2228b28 100644 (file)
@@ -90,7 +90,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 2481976..c72c453 100644 (file)
@@ -232,7 +232,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index 3dbbc2c..30e5636 100644 (file)
@@ -77,7 +77,7 @@ dev_null:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 3ecc5dd..f2d987e 100644 (file)
@@ -52,7 +52,7 @@ dev_null:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 07fa409..cc0c51c 100644 (file)
@@ -54,7 +54,7 @@ dev_null:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 9c775bd..19bdaa0 100644 (file)
@@ -70,7 +70,7 @@ dev_null:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 149d8ed..caebac0 100644 (file)
@@ -54,7 +54,7 @@ dev_null:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index e3f0360..8760be5 100644 (file)
@@ -29,7 +29,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 # End
index caf5edb..644404d 100644 (file)
@@ -33,7 +33,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 smtp:
index ded6487..6d02a44 100644 (file)
@@ -37,7 +37,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 send_to_server:
index 8ba94de..06a3856 100644 (file)
@@ -85,7 +85,7 @@ appendfile:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 35453a0..30a3de2 100644 (file)
@@ -27,7 +27,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "X-interface: $interface_address"
   return_path_add
   user = CALLER
index f7fa61e..0d601a8 100644 (file)
@@ -52,7 +52,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 14c8a96..46229f5 100644 (file)
@@ -38,7 +38,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 0bf3547..91d58f3 100644 (file)
@@ -56,7 +56,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index e4db43d..c13a158 100644 (file)
@@ -47,7 +47,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 9fff3b9..15e8df8 100644 (file)
@@ -32,7 +32,7 @@ begin transports
 local_delivery:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "X-size: $message_size\n\
                  X-body-size: $message_body_size\n\
                  X-body: $message_body\n\
index 9c2d442..d11a120 100644 (file)
@@ -42,7 +42,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 address_pipe:
index a00dde1..fd2574e 100644 (file)
@@ -34,7 +34,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 32a822a..32c414a 100644 (file)
@@ -37,7 +37,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 2fde9e5..a14fc3d 100644 (file)
@@ -40,7 +40,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 2af555c..426e7ed 100644 (file)
@@ -33,7 +33,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 
index 04263a5..4d279d0 100644 (file)
@@ -32,7 +32,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 6cc9b7c..ed6e608 100644 (file)
@@ -46,7 +46,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 9bb7398..e1e997b 100644 (file)
@@ -53,7 +53,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 
index da716ef..6788256 100644 (file)
@@ -40,7 +40,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 
index 3102206..20227d4 100644 (file)
@@ -41,7 +41,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 8b8c77c..b07ffbd 100644 (file)
@@ -26,7 +26,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/subdir/$local_part
+  file = DIR/test-mail/subdir/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 1415280..8e9c08f 100644 (file)
@@ -27,7 +27,7 @@ local_delivery:
   no_create_directory
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/subdir/$local_part
+  file = DIR/test-mail/subdir/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 25ef658..a7a412f 100644 (file)
@@ -69,7 +69,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index fbe026c..a0f578f 100644 (file)
@@ -50,7 +50,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index f403728..2e020e0 100644 (file)
@@ -28,7 +28,7 @@ local_delivery:
   debug_print = ">$h_X-one:<\n"
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 29ff8d1..fca3e7b 100644 (file)
@@ -26,7 +26,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "Proto: $received_protocol"
   return_path_add
   user = CALLER
index fcae1f5..4ab79fc 100644 (file)
@@ -26,7 +26,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "Proto: $received_protocol"
   return_path_add
   user = CALLER
index 94e386e..bbee05f 100644 (file)
@@ -20,7 +20,7 @@ smart:
 
 forward:
   driver = redirect
-  file = DIR/aux-fixed/TESTNUM.$local_part
+  file = DIR/aux-fixed/TESTNUM.${bless:$local_part}
   redirect_router = localuser
   require_files = DIR/aux-fixed/TESTNUM.$local_part
   retry_use_local_part
index 907d275..f5dc6f2 100644 (file)
@@ -30,7 +30,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 respond:
index 04c9d80..07698b5 100644 (file)
@@ -42,7 +42,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = host_lookup_failed: $host_lookup_failed\n\
                 host_lookup_deferred: $host_lookup_deferred
   user = CALLER
index c20b06d..b1201f8 100644 (file)
@@ -39,7 +39,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   quota = $h_quota
   quota_warn_threshold = $h_threshold
   QWM
@@ -47,14 +47,14 @@ appendfile:
 
 appendfile2:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   quota = $h_quota
   quota_warn_threshold = $h_threshold
   user = CALLER
 
 appendfile3:
   driver = appendfile
-  file = DIR/test-mail/$local_part${if eq{$sender_address}{}{.bounce}}
+  file = DIR/test-mail/${bless:$local_part}${if eq{$sender_address}{}{.bounce}}
   quota_warn_threshold = $h_threshold
   user = CALLER
   headers_add = X:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
index ff5f5ce..1eb5194 100644 (file)
@@ -29,7 +29,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 0841952..495349d 100644 (file)
@@ -29,7 +29,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "${if def:h_tadd: {Added: by transport}}"
   headers_remove = "${if def::h_tadd:: {tadd}}"
   return_path_add
index cce115f..e16b25e 100644 (file)
@@ -84,7 +84,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 143ff4c..afe04a4 100644 (file)
@@ -84,7 +84,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   current_directory = /
   user = CALLER
@@ -93,7 +93,7 @@ hackfree_local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   check_string =
   return_path_add
   user = CALLER
@@ -105,7 +105,7 @@ bsmtp_local_delivery:
   use_bsmtp
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
   current_directory = /
@@ -116,7 +116,7 @@ bsmtp_local_delivery_filtered:
   use_bsmtp
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   transport_filter = /bin/sh -c "echo 'X-Filtered: just checking'; cat"
   user = CALLER
@@ -136,7 +136,7 @@ filtered_local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   transport_filter = /bin/sh -c "echo 'X-Filtered: just checking'; cat"
   current_directory = /
@@ -146,7 +146,7 @@ mmdf_local_delivery:
   driver = appendfile
   check_string = "\1\1\1\1\n"
   escape_string = "\1\1\1\1 \n"
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   message_prefix = "\1\1\1\1\n"
   message_suffix = "\1\1\1\1\n"
   user = CALLER
index 2497fd0..30b1496 100644 (file)
@@ -38,7 +38,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   file_format = "From       : local_delivery :\
                  MAIL       : bsmtp_local_delivery :\
                  \1\1\1\1\n : mmdf_local_delivery :\
@@ -52,7 +52,7 @@ bsmtp_local_delivery:
   use_bsmtp
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
@@ -60,7 +60,7 @@ mmdf_local_delivery:
   driver = appendfile
   check_string = "\1\1\1\1\n"
   escape_string = "\1\1\1\1 \n"
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   message_prefix = "\1\1\1\1\n"
   message_suffix = "\1\1\1\1\n"
   user = CALLER
index 9a136c7..547109a 100644 (file)
@@ -53,7 +53,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index de0889a..3cbebc8 100644 (file)
@@ -44,7 +44,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 1b954f4..851f12c 100644 (file)
@@ -42,7 +42,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 9bbb7e7..5f6a80e 100644 (file)
@@ -28,7 +28,7 @@ appendfile:
   create_file = belowhome
   file = ${lookup{$local_part}lsearch{DIR/aux-fixed/TESTNUM.filelist}\
          {${if match{$value}{^/}{}{DIR/}}$value}\
-         {DIR/test-mail/$local_part}}
+         {DIR/test-mail/${bless:$local_part}}}
   user = CALLER
 
 # ----- Retry -----
index 361c12f..e4716f6 100644 (file)
@@ -44,7 +44,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 61fc9a8..3b4386b 100644 (file)
@@ -43,7 +43,7 @@ begin transports
 appendfile:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 1fd6100..2c0c573 100644 (file)
@@ -45,7 +45,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 313d32c..6916642 100644 (file)
@@ -51,7 +51,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   headers_add = Added: $address_data
 
index cf8838f..1f741cc 100644 (file)
@@ -41,7 +41,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index ca2d338..550971e 100644 (file)
@@ -59,7 +59,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 1906bb4..83dd031 100644 (file)
@@ -37,7 +37,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 9acfb5e..e4f78dc 100644 (file)
@@ -41,7 +41,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index c55813e..c3df9a8 100644 (file)
@@ -25,7 +25,7 @@ forward:
   driver = redirect
   allow_filter
   no_check_local_user
-  file = DIR/aux-fixed/TESTNUM.$local_part
+  file = DIR/aux-fixed/TESTNUM.${bless:$local_part}
   retry_use_local_part
   user = CALLER
   address_data = $address_data-forward
@@ -43,7 +43,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   headers_add = Address-Data: >$address_data<
 
index bc4e628..2c9cdb8 100644 (file)
@@ -42,7 +42,7 @@ begin transports
 appendfile:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 7fd5bda..1318e02 100644 (file)
@@ -49,7 +49,7 @@ smtp:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   quota = 20
   user = CALLER
 
index efc73c5..acc1003 100644 (file)
@@ -63,7 +63,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 7c48d62..faab263 100644 (file)
@@ -30,14 +30,14 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   lock_interval = 1s
   lock_retries = 2
   user = CALLER
 
 local_delivery_fcntl:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   lock_interval = 1s
   lock_retries = 2
   no_use_lockfile
@@ -45,7 +45,7 @@ local_delivery_fcntl:
 
 local_delivery_fcntl_blocking:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   lock_fcntl_timeout = 2s
   lock_interval = 1s
   lock_retries = 2
index 66539d6..01bdfaa 100644 (file)
@@ -54,7 +54,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index eb3990c..13a90df 100644 (file)
@@ -80,7 +80,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 0256715..5661c5d 100644 (file)
@@ -45,7 +45,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 748e76b..716ad5f 100644 (file)
@@ -43,12 +43,12 @@ pipe:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 filtered_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   transport_filter = DIR/bin/fd -f
   user = CALLER
 
index 60c742a..8527d30 100644 (file)
@@ -40,7 +40,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index dd421a1..256080a 100644 (file)
@@ -25,7 +25,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index d5d1786..0baf345 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 7671d52..5d50c9f 100644 (file)
@@ -28,7 +28,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index c16f88f..69e02eb 100644 (file)
@@ -22,7 +22,7 @@ virtual:
 list:
   driver = redirect
   domains = list.test.ex
-  file = ${if exists{DIR/aux-fixed/TESTNUM.list.$local_part} \
+  file = ${if exists{DIR/aux-fixed/TESTNUM.list.${bless:$local_part}} \
             {DIR/aux-fixed/TESTNUM.list.$local_part}fail}
   no_more
 
index d1faa75..79dcde2 100644 (file)
@@ -30,7 +30,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index ccd261e..8a5c00e 100644 (file)
@@ -28,7 +28,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = $local_part
 
index e648d93..7fcaf60 100644 (file)
@@ -28,7 +28,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 6d94efd..d80f383 100644 (file)
@@ -29,7 +29,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 address_pipe:
index 03e9a82..48fe63b 100644 (file)
@@ -29,7 +29,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 address_pipe:
index 93489dc..3158ac5 100644 (file)
@@ -37,7 +37,7 @@ begin transports
 local_delivery:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   headers_add = X-tpt-hdr: 1
   headers_add = ${if bool{false} {X-tpt-hdr: 2}}
index a65b9ed..a3e045f 100644 (file)
@@ -35,7 +35,7 @@ begin transports
 local_delivery:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path = ${if eq{$return_path}{trakill@test.ex}{}fail}
   return_path_add
   user = CALLER
index beafec5..ec8bf79 100644 (file)
@@ -23,7 +23,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   quota = $h_quota
   quota_warn_threshold = $h_threshold
   user = CALLER
index fe4fc2c..345a181 100644 (file)
@@ -24,7 +24,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = home: HOME=$home
   user = CALLER
 
index 9dcc42f..7b33518 100644 (file)
@@ -28,7 +28,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index bfddc71..dfe894e 100644 (file)
@@ -29,7 +29,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 pipe:
index 32a3bde..5498e2b 100644 (file)
@@ -52,7 +52,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 pipe:
index 461c265..3f2cc8c 100644 (file)
@@ -62,7 +62,7 @@ smtp:
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 81d0b5d..d5c86ca 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 0b78d4e..ff780c1 100644 (file)
@@ -65,7 +65,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 autoreply:
index bdabf6a..2554e0a 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 17d6078..c23722a 100644 (file)
@@ -34,7 +34,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index d9d20fc..b8bf04d 100644 (file)
@@ -62,7 +62,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 autoreply:
index 5d12465..4d63ddf 100644 (file)
@@ -25,7 +25,7 @@ begin transports
 local_delivery:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index d7bd3c1..e19bd00 100644 (file)
@@ -23,7 +23,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   quota = 500
   no_quota_is_inclusive
   user = CALLER
index 4dbb066..483d050 100644 (file)
@@ -34,7 +34,7 @@ local_delivery:
   driver = appendfile
   batch_max = 100
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   message_size_limit = 50
   user = CALLER
 
index d813d92..abeaafc 100644 (file)
@@ -31,7 +31,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 pipe:
index 2d51beb..1603244 100644 (file)
@@ -38,7 +38,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 38a8391..6909969 100644 (file)
@@ -41,7 +41,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index dc68127..92a2dce 100644 (file)
@@ -31,7 +31,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 138dbe0..688e0e9 100644 (file)
@@ -25,7 +25,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 069e850..abc93e7 100644 (file)
@@ -42,7 +42,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   headers_add = Address-Data: >$address_data<
 
index 298ad72..3e5661c 100644 (file)
@@ -44,7 +44,7 @@ bsmtp_local_delivery:
   message_prefix = "HELO x.y.z\n"
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index b1dae70..f68b036 100644 (file)
@@ -57,7 +57,7 @@ smtp:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 39db8c8..8b8d744 100644 (file)
@@ -58,7 +58,7 @@ alias:
 forward:
   driver = redirect
   no_check_local_user
-  file = DIR/aux-fixed/TESTNUM.$local_part.forward
+  file = DIR/aux-fixed/TESTNUM.${bless:$local_part}.forward
   retry_use_local_part
 
 all:
@@ -73,7 +73,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 36cf872..8e5af4e 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index f7855a6..4ac979c 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 8f4a5b6..91f7453 100644 (file)
@@ -32,7 +32,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 autoreply:
index e42df51..56476a3 100644 (file)
@@ -42,7 +42,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index d1c425b..ff77339 100644 (file)
@@ -45,7 +45,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 0ed97b4..a778c2f 100644 (file)
@@ -44,7 +44,7 @@ smtp:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 0b6eeff..f5be03e 100644 (file)
@@ -34,7 +34,7 @@ allowed:
   driver = redirect
   allow_defer
   caseful_local_part
-  data = $local_part
+  data = ${bless:$local_part}
   file_transport = address_file
   pipe_transport = address_pipe
   retry_use_local_part
@@ -47,7 +47,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 address_file:
index f77f52f..08a6722 100644 (file)
@@ -57,7 +57,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = Port: $sender_host_port
   user = CALLER
 
index 1eabae9..67f21c0 100644 (file)
@@ -51,13 +51,13 @@ begin transports
 
 local_delivery_rewrite:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_rewrite = a@test.ex a-rewrite@test.ex
   user = CALLER
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 smtp_rewrite:
index 59e1ae9..11e4523 100644 (file)
@@ -39,7 +39,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 77dcca3..054ab7d 100644 (file)
@@ -39,7 +39,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 address_reply:
index be2f5ab..8939dc7 100644 (file)
@@ -35,7 +35,7 @@ allowed:
   driver = redirect
   allow_defer
   caseful_local_part
-  data = $local_part
+  data = ${bless:$local_part}
   file_transport = address_file
   hide_child_in_errmsg
   pipe_transport = address_pipe
@@ -49,7 +49,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 address_file:
index bb4519e..62a1923 100644 (file)
@@ -90,7 +90,7 @@ begin transports
 local:
   driver = appendfile
   directory_mode = 3777
-  file = DIR/test-mail/subdir/$local_part
+  file = DIR/test-mail/subdir/${bless:$local_part}
   user = CALLER
 
 
index 644ed6b..944c517 100644 (file)
@@ -37,7 +37,7 @@ begin transports
 
 local:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 address_reply:
index 7396045..5a2f501 100644 (file)
@@ -59,7 +59,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 address_file:
index fb95952..fe62bfd 100644 (file)
@@ -35,7 +35,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index 40ede04..5713106 100644 (file)
@@ -42,7 +42,7 @@ begin transports
 
 t0:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t1:
index c5d5d4b..e48c696 100644 (file)
@@ -30,7 +30,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 720cc40..25de1af 100644 (file)
@@ -24,7 +24,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 6366cd0..257ea82 100644 (file)
@@ -14,7 +14,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 bad_return:
@@ -30,7 +30,7 @@ bad_uid:
 
 exp_fail:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   home_directory = ${if rhubarb
 
index 7c0a066..9e16d1d 100644 (file)
@@ -15,7 +15,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
   quota = ${if eq{$local_part}{userx}{3}{10000}}
@@ -24,7 +24,7 @@ local_delivery:
 local_delivery2:
   driver = appendfile
   retry_use_local_part = false
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   quota = 3
   current_directory = /
index d1e944d..42ea1b1 100644 (file)
@@ -15,7 +15,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   envelope_to_add
   return_path_add
@@ -29,14 +29,14 @@ r1:
   skip_syntax_errors
   local_parts = ^list
   syntax_errors_to = postmaster@test.ex
-  file = DIR/aux-fixed/TESTNUM.$local_part
+  file = DIR/aux-fixed/TESTNUM.${bless:$local_part}
 
 r1a:
   driver = redirect
   skip_syntax_errors
   local_parts = ^nmlist
   syntax_errors_to = postmaster@test.ex
-  file = DIR/aux-fixed/TESTNUM.$local_part
+  file = DIR/aux-fixed/TESTNUM.${bless:$local_part}
   no_more
 
 r2:
@@ -46,7 +46,7 @@ r2:
   syntax_errors_to = postmaster@test.ex
   syntax_errors_text = "There's an error in your filter file.\n\
                         The file has been ignored."
-  file = DIR/aux-fixed/TESTNUM.$local_part
+  file = DIR/aux-fixed/TESTNUM.${bless:$local_part}
   allow_filter
   router_home_directory = DIR
   user = CALLER
index bb13444..e99d29f 100644 (file)
@@ -14,7 +14,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # ----- Routers -----
index 86f81d8..e09ff0e 100644 (file)
@@ -15,7 +15,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   envelope_to_add
   return_path_add
@@ -29,14 +29,14 @@ r1:
   skip_syntax_errors
   local_parts = ^list
   syntax_errors_to = postmaster@test.ex
-  file = DIR/aux-fixed/TESTNUM.$local_part
+  file = DIR/aux-fixed/TESTNUM.${bless:$local_part}
 
 r1a:
   driver = redirect
   skip_syntax_errors
   local_parts = ^nmlist
   syntax_errors_to = postmaster@test.ex
-  file = DIR/aux-fixed/TESTNUM.$local_part
+  file = DIR/aux-fixed/TESTNUM.${bless:$local_part}
   no_more
 
 r2:
@@ -46,7 +46,7 @@ r2:
   syntax_errors_to = postmaster@test.ex
   syntax_errors_text = "There's an error in your filter file.\n\
                         The file has been ignored."
-  file = DIR/aux-fixed/TESTNUM.$local_part
+  file = DIR/aux-fixed/TESTNUM.${bless:$local_part}
   allow_filter
   router_home_directory = DIR/
   user = CALLER
index 93c2724..b9512dc 100644 (file)
@@ -14,7 +14,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # ----- Routers -----
index 2eb7bb6..461acfc 100644 (file)
@@ -14,7 +14,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/${if eq{$address_data}{}{$local_part}{$address_data}}
+  file = DIR/test-mail/${if eq{$address_data}{}{${bless:$local_part}}{$address_data}}
   user = CALLER
 
 # ----- Routers -----
index 40187df..10717bd 100644 (file)
@@ -18,7 +18,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # ----- Routers -----
index 277328e..3f737f3 100644 (file)
@@ -68,7 +68,7 @@ dev_null:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 7eeddd2..00958b9 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   headers_add = interface-port: $interface_port\n\
                 received-port:  $received_port
index 31d9339..7f40efb 100644 (file)
@@ -37,12 +37,12 @@ t1:
 
 t2:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t3:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = root
 
 # ----- Retry -----
index 0103742..98f5660 100644 (file)
@@ -35,14 +35,14 @@ t1:
 t2:
   driver = appendfile
   batch_max = 100
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   envelope_to_add
   user = CALLER
 
 t3:
   driver = appendfile
   batch_max = 100
-  file = DIR/test-mail/$domain
+  file = DIR/test-mail/${bless:$domain}
   envelope_to_add
   user = CALLER
 
index 8cd2018..56f5011 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index e1f545a..6241af0 100644 (file)
@@ -25,7 +25,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index b07fc54..2c98b99 100644 (file)
@@ -17,7 +17,7 @@ begin routers
 
 r1:
   driver = redirect
-  data = $local_part
+  data = ${bless:$local_part}
   file_transport = ${if eq {$address_file}{/a/b/c}{tf1}{tf2}}
   directory_transport = ${if match{$address_file}{//\$}{td2}{td1}}
   user = CALLER
index 3ca06f8..f4f3990 100644 (file)
@@ -32,7 +32,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index d7dc873..629f9c4 100644 (file)
@@ -30,7 +30,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   shadow_transport = t3
 
index 6d6d965..c8bd1f3 100644 (file)
@@ -27,14 +27,14 @@ r1:
   driver = redirect
   domains = lists.test.ex
   local_part_suffix = -request
-  file = DIR/aux-fixed/TESTNUM/$local_part$local_part_suffix
+  file = DIR/aux-fixed/TESTNUM/${bless:$local_part}$local_part_suffix
 
 r2:
   driver = redirect
   domains = lists.test.ex
   senders = ${if exists {DIR/aux-fixed/TESTNUM/$local_part}\
              {lsearch;DIR/aux-fixed/TESTNUM/$local_part}{*}}
-  file = DIR/aux-fixed/TESTNUM/$local_part
+  file = DIR/aux-fixed/TESTNUM/${bless:$local_part}
   forbid_pipe
   forbid_file
   one_time
@@ -64,7 +64,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index 3252b46..c201989 100644 (file)
@@ -24,7 +24,7 @@ r1:
             ${if exists {DIR/aux-fixed/TESTNUM/$local_part}\
              {lsearch;DIR/aux-fixed/TESTNUM/$local_part}{*}}\
             }}
-  file = DIR/aux-fixed/TESTNUM/$local_part$local_part_suffix
+  file = DIR/aux-fixed/TESTNUM/${bless:$local_part}$local_part_suffix
   forbid_pipe
   forbid_file
   one_time
@@ -54,7 +54,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index 4d64490..0a49f22 100644 (file)
@@ -29,13 +29,13 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   message_size_limit = $local_part
   user = CALLER
 
 bounce:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 0f324da..a999c26 100644 (file)
@@ -28,13 +28,13 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   quota = 5
   user = CALLER
 
 bounce:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 51633d9..ec778a7 100644 (file)
@@ -25,7 +25,7 @@ begin transports
 local_delivery:
   driver = appendfile
   directory = DIR/test-mail
-  directory_file = $local_part
+  directory_file = ${bless:$local_part}
   user = CALLER
 
 
index aaa21d7..65416e8 100644 (file)
@@ -31,7 +31,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 address_file:
index 624202e..e73eda6 100644 (file)
@@ -42,7 +42,7 @@ pipe:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 129e5df..3047764 100644 (file)
@@ -25,7 +25,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 8f44d3c..a983e07 100644 (file)
@@ -38,7 +38,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 481aaa7..85b4f89 100644 (file)
@@ -40,12 +40,12 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 76f8985..b52a2e1 100644 (file)
@@ -28,7 +28,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index f9d5bcb..e126d8c 100644 (file)
@@ -29,7 +29,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 78701a9..066292d 100644 (file)
@@ -37,7 +37,7 @@ begin transports
 appendfile:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 6529028..5a99e9b 100644 (file)
@@ -28,7 +28,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   envelope_to_add
 
index d373f47..d3aa237 100644 (file)
@@ -39,7 +39,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 651d070..939bbea 100644 (file)
@@ -28,7 +28,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   quota = 20
   user = CALLER
 
index 1c4b51c..61a4877 100644 (file)
@@ -38,7 +38,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   envelope_to_add
 
index b00ee74..c4353bc 100644 (file)
@@ -27,7 +27,7 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "\n\
                 TO: $h_to:\n\
                 --------------------------------\n\
index aaa9809..1a37f41 100644 (file)
@@ -26,6 +26,6 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
 
 # End
index fb53d6d..0f9ef9f 100644 (file)
@@ -26,6 +26,6 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
 
 # End
index 03ea43f..4cb6702 100644 (file)
@@ -27,6 +27,6 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
 
 # End
index 78b1484..f24f02b 100644 (file)
@@ -29,6 +29,6 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
 
 # End
index 6b6b8c0..5081b49 100644 (file)
@@ -30,7 +30,7 @@ t1:
 
 t2:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = X-shadowed:
   user = CALLER
 
index cdfe7d5..34855e2 100644 (file)
@@ -52,7 +52,7 @@ t1:
 
 t2:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 2843442..1cae025 100644 (file)
@@ -50,7 +50,7 @@ begin transports
 # Successful local transport
 ut1:
   driver = appendfile
-  file = DIR/test-mail/$local_part-u
+  file = DIR/test-mail/${bless:$local_part}-u
   user = CALLER
   return_path_add
   envelope_to_add
@@ -83,7 +83,7 @@ ut4:
 # Real delivery
 real:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   return_path_add
   envelope_to_add
index 164f327..dce134e 100644 (file)
@@ -85,7 +85,7 @@ begin transports
 # Successful local transport
 ut1:
   driver = appendfile
-  file = DIR/test-mail/$local_part-u
+  file = DIR/test-mail/${bless:$local_part}-u
   user = CALLER
   return_path_add
   envelope_to_add
@@ -146,7 +146,7 @@ ut6:
 # Real delivery
 real:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   return_path_add
   envelope_to_add
index bd3391b..ba8c0aa 100644 (file)
@@ -65,7 +65,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 2f1216b..a3d1423 100644 (file)
@@ -36,7 +36,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 90d1f93..0bad1f7 100644 (file)
@@ -25,13 +25,13 @@ r0:
 r1:
   driver = redirect
   local_parts = aaaa
-  file = DIR/non-exist/$local_part
+  file = DIR/non-exist/${bless:$local_part}
 
 r2:
   driver = redirect
   local_parts = bbbb
   ignore_enotdir
-  file = DIR/non-exist/$local_part
+  file = DIR/non-exist/${bless:$local_part}
 
 r3:
   driver = accept
@@ -43,7 +43,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index ea2f1dc..1a26375 100644 (file)
@@ -39,7 +39,7 @@ t1:
 
 t2:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index f66e6b8..4d67fed 100644 (file)
@@ -31,7 +31,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 0af3202..983af9b 100644 (file)
@@ -36,7 +36,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index c029d0d..7ec2e80 100644 (file)
@@ -27,7 +27,7 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   transport_filter = FILTER
 
 
index b7fc3fd..c1c91d5 100644 (file)
@@ -28,7 +28,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index e71a01c..02b5370 100644 (file)
@@ -54,7 +54,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index 9d0dc5c..542978c 100644 (file)
@@ -35,7 +35,7 @@ t1:
 
 t2:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 903b4ca..af74310 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index f8b9c69..75147a3 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "\n\
                 FROM: $h_from:\n\
                 --------------------------------\n\
index 6d12ce2..99c2608 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_rewrite = *@*  abc@x.y.z
   user = CALLER
 
index 5ee5cdb..b0bcb65 100644 (file)
@@ -151,7 +151,7 @@ begin transports
 t1:
   driver = appendfile
   file = ${if eq{$address_file}{inbox} \
-              {DIR/test-mail/$local_part} \
+              {DIR/test-mail/${bless:$local_part}} \
               {${if eq{${substr_0_1:$address_file}}{/} \
                     {$address_file} \
                     {DIR/test-mail/$address_file} \
@@ -164,7 +164,7 @@ t1:
 
 t2:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   delivery_date_add
   envelope_to_add
   return_path_add
index 4af033c..c76363e 100644 (file)
@@ -48,7 +48,7 @@ t1:
 
 t2:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   use_bsmtp
   AFFIX
index 2fcaef9..01f1ccb 100644 (file)
@@ -23,7 +23,7 @@ t1:
   driver = appendfile
   envelope_to_add
   use_bsmtp
-  file = DIR/test-mail/$sender_address_local_part
+  file = DIR/test-mail/${bless:$sender_address_local_part}
   user = CALLER
   batch_max = 20000
 
index 2c103ff..7337a40 100644 (file)
@@ -28,7 +28,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index 90e8a02..ca8ef39 100644 (file)
@@ -43,7 +43,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index d08da83..1c0f675 100644 (file)
@@ -27,7 +27,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index a94295a..3608eee 100644 (file)
@@ -32,7 +32,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index 362d6b5..313aa14 100644 (file)
@@ -30,7 +30,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # ----- Retry -----
index 6c6ec74..4918700 100644 (file)
@@ -29,7 +29,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 4aca116..6f476e5 100644 (file)
@@ -43,7 +43,7 @@ t1:
 
 t2:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 09d5633..0ac7758 100644 (file)
@@ -33,7 +33,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 6c2b688..d10d12b 100644 (file)
@@ -42,7 +42,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index ae1b788..09e3ed8 100644 (file)
@@ -37,7 +37,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index ad31830..e4711e0 100644 (file)
@@ -54,7 +54,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index a9c1bab..98ff7bf 100644 (file)
@@ -25,7 +25,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_rewrite = \N$^\N bogus@bogus fw
   user = CALLER
 
index c7d3eae..646f47a 100644 (file)
@@ -30,7 +30,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index dd38fbc..8de0b83 100644 (file)
@@ -25,7 +25,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 8027cf4..fb159a7 100644 (file)
@@ -29,7 +29,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index dc1a394..589686a 100644 (file)
@@ -76,7 +76,7 @@ t2:
 
 t3:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t4:
index 351cd80..8819f62 100644 (file)
@@ -39,7 +39,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index f3b225c..74c41e7 100644 (file)
@@ -39,7 +39,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index aab6cdb..da39a89 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   quota = 1000
   MSIZE
index 981ed16..d24fca9 100644 (file)
@@ -22,7 +22,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   transport_filter = /non/existent/file
 
index d20db5f..35cdef1 100644 (file)
@@ -20,7 +20,7 @@ r1:
   user = EXIMUSER
   ALLOW
   FORBID
-  file = DIR/aux-fixed/TESTNUM.$local_part
+  file = DIR/aux-fixed/TESTNUM.${bless:$local_part}
 
 
 # ----- Retry -----
index 17a1dec..580f693 100644 (file)
@@ -33,7 +33,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index 36a2ac3..2457c40 100644 (file)
@@ -25,7 +25,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index cbb2d4d..cc991b2 100644 (file)
@@ -36,7 +36,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 4909db8..2e499ad 100644 (file)
@@ -37,7 +37,7 @@ begin transports
 
 t0:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t1:
index 9415855..9e86b54 100644 (file)
@@ -30,7 +30,7 @@ begin transports
 
 t0:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   envelope_to_add
 
index 9eeb4cc..a3143a0 100644 (file)
@@ -29,7 +29,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index 0af86b9..f5e29e4 100644 (file)
@@ -31,7 +31,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 lmtp:
index e50c5de..3842776 100644 (file)
@@ -69,7 +69,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 1dbc83b..7c2ca9d 100644 (file)
@@ -16,7 +16,7 @@ r1:
   driver = redirect
   local_part_prefix = file-
   local_part_suffix = =*
-  data = DIR/test-mail/${substr_1:$local_part_suffix}
+  data = DIR/test-mail/${bless:${substr_1:$local_part_suffix}}
   file_transport = t1
 
 r2:
index 004f795..7960c06 100644 (file)
@@ -36,7 +36,7 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
 
 
 # End
index e451f81..d526f77 100644 (file)
@@ -94,6 +94,6 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
index 1b4465b..d5d2ffd 100644 (file)
@@ -26,6 +26,6 @@ begin transports
 t1:
   driver = appendfile
   user = CALLER
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
 
 # End
index cc661f7..4692b22 100644 (file)
@@ -55,7 +55,7 @@ dev_null:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 2675665..984aceb 100644 (file)
@@ -80,7 +80,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index a818257..d7c19f1 100644 (file)
@@ -40,7 +40,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 t2:
index 3c2b1aa..388c53f 100644 (file)
@@ -26,7 +26,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
diff --git a/test/confs/0584 b/test/confs/0584
new file mode 100644 (file)
index 0000000..654ecbf
--- /dev/null
@@ -0,0 +1,40 @@
+# Exim test configuration 0005
+
+.include DIR/aux-var/std_conf_prefix
+
+
+# ----- Main settings -----
+
+domainlist local_domains = @
+
+acl_smtp_rcpt = check_recipient
+trusted_users = CALLER
+
+
+# ----- ACL -----
+
+begin acl
+
+check_recipient:
+  accept hosts = :
+  accept domains = +local_domains
+  deny   message = relay not permitted
+
+# ----- Routers -----
+
+begin routers
+
+localuser:
+  driver = accept
+  check_local_user
+  transport = local_delivery
+
+# ----- Transports -----
+
+begin transports
+
+local_delivery:
+  driver = appendfile
+  file = DIR/test-mail/$local_part
+
+# End
index 65c6c2a..58257e5 100644 (file)
@@ -58,7 +58,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
index e1ec085..2f658c4 100644 (file)
@@ -37,7 +37,7 @@ begin transports
 
 appendfile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index b923533..d212e98 100644 (file)
@@ -84,7 +84,7 @@ bad_tpt:
 
 tofile:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   event_action = ${acl {ev_log}}
 
index 7f1b694..6ee5ac6 100644 (file)
@@ -60,7 +60,7 @@ begin transports
 local_delivery:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   headers_add =        X-r1: <$r_r1>\nX-r2: <$r_r2>\nX-r3: <$r_r3>
 
index 4c824c4..df1540c 100644 (file)
@@ -96,7 +96,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
index 2e299c7..ed465ac 100644 (file)
@@ -87,7 +87,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
index c320b25..0310653 100644 (file)
@@ -74,7 +74,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
index e4ed677..878f414 100644 (file)
@@ -28,7 +28,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index f0a4518..2ddf2a8 100644 (file)
@@ -73,7 +73,7 @@ dev_null:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index df1e488..6405a87 100644 (file)
@@ -38,7 +38,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 send_to_server1:
index 6475fb7..6a322ff 100644 (file)
@@ -84,7 +84,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index c3eece6..0ce5fdb 100644 (file)
@@ -43,7 +43,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 4cd622c..f40e8ba 100644 (file)
@@ -44,7 +44,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 110bbef..442f050 100644 (file)
@@ -53,7 +53,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index d666f6a..db46a6c 100644 (file)
@@ -46,7 +46,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 1f12493..0fd5186 100644 (file)
@@ -55,7 +55,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 1a23887..d81f160 100644 (file)
@@ -57,7 +57,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index a50a875..ec7c001 100644 (file)
@@ -52,7 +52,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_in_peerdn
   user = CALLER
 
index 98fdc07..01612ef 100644 (file)
@@ -45,7 +45,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index bd2cf5a..5d26fd0 100644 (file)
@@ -49,7 +49,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index c1b93a2..926b09a 100644 (file)
@@ -42,7 +42,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 9f69adc..907ab99 100644 (file)
@@ -61,7 +61,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index d5465e3..677bc9e 100644 (file)
@@ -50,7 +50,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 5e156d4..6ae1514 100644 (file)
@@ -94,7 +94,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index a9daf05..5a8571f 100644 (file)
@@ -43,7 +43,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 7cd35f0..d37523c 100644 (file)
@@ -44,7 +44,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index c77c154..7cbbdf0 100644 (file)
@@ -53,7 +53,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 5cf1dc3..1f96800 100644 (file)
@@ -45,7 +45,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 5db771d..c9720e4 100644 (file)
@@ -53,7 +53,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index eb9d2b4..e5fc539 100644 (file)
@@ -57,7 +57,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 557479d..17d5ff2 100644 (file)
@@ -52,7 +52,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_in_peerdn
   user = CALLER
 
index cdec830..f05eedb 100644 (file)
@@ -45,7 +45,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index fbd8376..64987c8 100644 (file)
@@ -49,7 +49,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 65e1901..148eb7e 100644 (file)
@@ -46,7 +46,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 4d90a9c..7329e28 100644 (file)
@@ -55,7 +55,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index d5dba1b..aedeacf 100644 (file)
@@ -50,7 +50,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index ee48a51..41e7148 100644 (file)
@@ -41,7 +41,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 4ce7925..3f8f4fb 100644 (file)
@@ -67,7 +67,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 remote_delivery:
index e4085ad..d672ad4 100644 (file)
@@ -35,7 +35,7 @@ begin transports
 local_delivery:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index bf8d1d4..46b7d69 100644 (file)
@@ -77,7 +77,7 @@ begin transports
 local_delivery:
   driver = appendfile
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 smtp:
index 6b817c2..d94e70d 100644 (file)
@@ -151,7 +151,7 @@ appendfile:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index b8c8086..161cdea 100644 (file)
@@ -50,7 +50,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 14f5c62..7de4a6d 100644 (file)
@@ -68,7 +68,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
 
 # End
index 44feae7..b502208 100644 (file)
@@ -87,7 +87,7 @@ dev_null:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 160f9e0..f453873 100644 (file)
@@ -61,7 +61,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 108d93e..e4d02b7 100644 (file)
@@ -59,7 +59,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 35c2a17..f865057 100644 (file)
@@ -61,7 +61,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 3f8c401..6c3aaee 100644 (file)
@@ -59,7 +59,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 68cf703..2419dec 100644 (file)
@@ -102,7 +102,7 @@ appendfile:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index 39e3bce..4a8d38a 100644 (file)
@@ -95,7 +95,7 @@ t2:
 
 file:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 53a68d3..397e4e9 100644 (file)
@@ -88,7 +88,7 @@ t1:
 
 file:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index a62f7c6..d80aaa8 100644 (file)
@@ -52,7 +52,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 334ca0c..cf124ec 100644 (file)
@@ -46,7 +46,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 8ded6c2..a2c45a3 100644 (file)
@@ -116,7 +116,7 @@ local_delivery:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
index e68111e..d4aaa44 100644 (file)
@@ -107,7 +107,7 @@ local_delivery:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
index e68111e..d4aaa44 100644 (file)
@@ -107,7 +107,7 @@ local_delivery:
   user = CALLER
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = "X-body-linecount: $body_linecount\n\
                  X-message-linecount: $message_linecount\n\
                  X-received-count: $received_count"
index 3f49ca9..770d8cc 100644 (file)
@@ -77,7 +77,7 @@ send_to_server:
 
 file:
   driver =     appendfile
-  file =       DIR/test-mail/$local_part
+  file =       DIR/test-mail/${bless:$local_part}
   user =       CALLER
 
 # End
index e11456c..a5b7f2c 100644 (file)
@@ -107,7 +107,7 @@ send_to_server:
 
 file:
   driver =     appendfile
-  file =       DIR/test-mail/$local_part
+  file =       DIR/test-mail/${bless:$local_part}
   user =       CALLER
 
 # End
index d945999..8c5864b 100644 (file)
@@ -78,7 +78,7 @@ begin transports
 
 tfile:
   driver =     appendfile
-  file =       DIR/test-mail/$local_part
+  file =       DIR/test-mail/${bless:$local_part}
   user =       CALLER
 
 tsmtp:
index 4e90606..9f1058f 100644 (file)
@@ -59,7 +59,7 @@ begin transports
 
 tfile:
   driver =     appendfile
-  file =       DIR/test-mail/$local_part
+  file =       DIR/test-mail/${bless:$local_part}
   user =       CALLER
 
 tsmtp:
index 5b1175a..26906e7 100644 (file)
@@ -75,7 +75,7 @@ forwarded_external:
 
 appendfile:
   driver =     appendfile
-  file =       DIR/test-mail/$local_part
+  file =       DIR/test-mail/${bless:$local_part}
   user =       CALLER
 
 # ----- Retry -----
index 86d8b6d..04cc370 100644 (file)
@@ -52,7 +52,7 @@ smtp:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index db8c7dc..7bf79ae 100644 (file)
@@ -29,7 +29,7 @@ maildir:
   create_file = belowhome
   directory = ${lookup{$local_part}lsearch{DIR/aux-fixed/TESTNUM.filelist}\
               {${if match{$value}{^/}{}{DIR/}}$value}\
-              {DIR/test-mail/$local_part}}
+              {DIR/test-mail/${bless:$local_part}}}
   user = CALLER
 
 
index 7635673..5aa9681 100644 (file)
@@ -24,14 +24,14 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  directory = DIR/test-mail/$local_part
+  directory = DIR/test-mail/${bless:$local_part}
   maildir_format
   quota = 1.5K
   user = CALLER
 
 local_delivery2:
   driver = appendfile
-  directory = DIR/test-mail/$local_part/
+  directory = DIR/test-mail/${bless:$local_part}/
   maildir_format
   quota = 1.5K
   user = CALLER
index d5d497a..e5a7ef3 100644 (file)
@@ -27,7 +27,7 @@ begin transports
 
 t1:
   driver = appendfile
-  directory = DIR/test-mail/$local_part
+  directory = DIR/test-mail/${bless:$local_part}
   user = CALLER
   maildir_format
   maildir_use_size_file
index 385d4fe..17cba3c 100644 (file)
@@ -24,7 +24,7 @@ begin transports
 
 t1:
   driver = appendfile
-  directory = DIR/test-mail/$local_part
+  directory = DIR/test-mail/${bless:$local_part}
   user = CALLER
   maildir_format
   maildir_use_size_file
index 98f70ee..7929b40 100644 (file)
@@ -27,7 +27,7 @@ begin transports
 
 t1:
   driver = appendfile
-  directory = DIR/test-mail/$local_part
+  directory = DIR/test-mail/${bless:$local_part}
   user = CALLER
   maildir_format
   maildir_use_size_file
index 027ba7a..1e904d4 100644 (file)
@@ -27,7 +27,7 @@ begin transports
 
 t1:
   driver = appendfile
-  directory = DIR/test-mail/$local_part
+  directory = DIR/test-mail/${bless:$local_part}
   user = CALLER
   maildir_format
   mailbox_size = 100K
index 4258a72..af62201 100644 (file)
@@ -32,7 +32,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   file_format = "From       : local_delivery :\
                  *mbx*\r\n  : mbx_local_delivery :\
                  tpmissing  : tpmissing"
@@ -45,7 +45,7 @@ bsmtp_local_delivery:
   use_bsmtp
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
@@ -54,7 +54,7 @@ mbx_local_delivery:
   check_string =
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   mbx_format
   message_prefix =
   return_path_add
index 1dbe3e4..1002009 100644 (file)
@@ -35,7 +35,7 @@ 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}{$h_mailbox:}}
+  file = DIR/test-mail/${if eq{$sender_address}{}{copied}{${bless:$h_mailbox:}}}
   user = CALLER
 
 lmtp:
index cafd2fb..d30bc35 100644 (file)
@@ -36,7 +36,7 @@ local_delivery:
   driver = appendfile
   delivery_date_add
   envelope_to_add
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   return_path_add
   user = CALLER
 
index f273d92..2af73f2 100644 (file)
@@ -34,7 +34,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 40f4c83..7a1f943 100644 (file)
@@ -27,7 +27,7 @@ begin transports
 
 userx_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   message_suffix = "$address_data\n"
   user = CALLER
 
index e81c58e..a681221 100644 (file)
@@ -64,7 +64,7 @@ null:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index bfd32bb..9465cfc 100644 (file)
@@ -14,7 +14,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/${if eq{$address_data}{}{$local_part}{$address_data}}
+  file = DIR/test-mail/${if eq{$address_data}{}{${bless:$local_part}}{$address_data}}
   user = CALLER
 
 # ----- Routers -----
index 1b25be1..91dc427 100644 (file)
@@ -45,7 +45,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # ----- Routers -----
index b65a279..7526b9c 100644 (file)
@@ -66,7 +66,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index b65a279..7526b9c 100644 (file)
@@ -66,7 +66,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 9ba6350..09c81ff 100644 (file)
@@ -85,7 +85,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 840b74c..c484282 100644 (file)
@@ -65,7 +65,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 1e3ed5a..0e5e27b 100644 (file)
@@ -83,7 +83,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 673ec66..9ced25d 100644 (file)
@@ -95,7 +95,7 @@ remote_delivery:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 6fbd7c1..325ac88 100644 (file)
@@ -96,7 +96,7 @@ remote_delivery:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 0279cf1..88c2298 100644 (file)
@@ -92,7 +92,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index 32423f1..5dcbcb5 100644 (file)
@@ -93,7 +93,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
   user = CALLER
 
index ba4acc2..ec4306b 100644 (file)
@@ -32,7 +32,7 @@ scan:
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 # End
index 0518519..a1f4ba3 100644 (file)
@@ -28,7 +28,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
 
 
index 66ee61e..0b54c96 100644 (file)
@@ -42,7 +42,7 @@ begin transports
 
 local_delivery:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   headers_add = ${if eq {$local_scan_data}{}{}{LSD: $local_scan_data}}
 
index a01167e..ed83ed3 100644 (file)
@@ -30,7 +30,7 @@ begin transports
 
 t1:
   driver = appendfile
-  file = DIR/test-mail/$local_part
+  file = DIR/test-mail/${bless:$local_part}
   user = CALLER
   headers_add = X-lsd: >$local_scan_data<
 
diff --git a/test/log/0584 b/test/log/0584
new file mode 100644 (file)
index 0000000..f3ab6ea
--- /dev/null
@@ -0,0 +1,2 @@
+1999-03-02 09:44:33 10HmaX-0005vi-00 <= someone@some.domain U=CALLER P=local-smtp S=sss
+1999-03-02 09:44:33 10HmaX-0005vi-00 == CALLER@the.local.host.name R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/CALLER' (file or directory name for local_delivery transport) not permitted
diff --git a/test/msglog/0584.10HmaX-0005vi-00 b/test/msglog/0584.10HmaX-0005vi-00
new file mode 100644 (file)
index 0000000..540b683
--- /dev/null
@@ -0,0 +1,2 @@
+1999-03-02 09:44:33 Received from someone@some.domain U=CALLER P=local-smtp S=sss
+1999-03-02 09:44:33 CALLER@the.local.host.name R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/CALLER' (file or directory name for local_delivery transport) not permitted
diff --git a/test/paniclog/0584 b/test/paniclog/0584
new file mode 100644 (file)
index 0000000..af4f471
--- /dev/null
@@ -0,0 +1 @@
+1999-03-02 09:44:33 10HmaX-0005vi-00 == CALLER@the.local.host.name R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/CALLER' (file or directory name for local_delivery transport) not permitted
diff --git a/test/scripts/0000-Basic/0584 b/test/scripts/0000-Basic/0584
new file mode 100644 (file)
index 0000000..54ca506
--- /dev/null
@@ -0,0 +1,8 @@
+# tainted data for appendfile file option
+exim -bs -odi
+mail from:someone@some.domain
+rcpt to:CALLER@HOSTNAME
+data
+.
+quit
+****
index 02d86ce..8e4d16e 100644 (file)
@@ -17,9 +17,9 @@ file check: TESTSUITE/aux-fixed/0084.$local_part
 expanded file: TESTSUITE/aux-fixed/0084.yes
 stat() yielded 0
 calling forward router
-rda_interpret (file): 'TESTSUITE/aux-fixed/0084.$local_part'
+rda_interpret (file): 'TESTSUITE/aux-fixed/0084.${bless:$local_part}'
 expanded: 'TESTSUITE/aux-fixed/0084.yes'
-ssss (tainted) bytes read from TESTSUITE/aux-fixed/0084.yes
+ssss bytes read from TESTSUITE/aux-fixed/0084.yes
 file is not a filter file
 parse_forward_list: userx@test.ex
 
index 56c65f6..001ee06 100644 (file)
@@ -28,7 +28,7 @@ y.z in "test.ex : myhost.test.ex"? no (end of list)
 y.z in "! +local_domains"? yes (end of list)
 calling fail_remote_domains router
 rda_interpret (string): ':fail: unrouteable mail domain "$domain"'
-expanded: ':fail: unrouteable mail domain "y.z"'
+expanded: ':fail: unrouteable mail domain "y.z"' (tainted)
 file is not a filter file
 parse_forward_list: :fail: unrouteable mail domain "y.z"
 extract item: :fail: unrouteable mail domain "y.z"
@@ -227,7 +227,7 @@ y.z in "test.ex : myhost.test.ex"? no (end of list)
 y.z in "! +local_domains"? yes (end of list)
 calling fail_remote_domains router
 rda_interpret (string): ':fail: unrouteable mail domain "$domain"'
-expanded: ':fail: unrouteable mail domain "y.z"'
+expanded: ':fail: unrouteable mail domain "y.z"' (tainted)
 file is not a filter file
 parse_forward_list: :fail: unrouteable mail domain "y.z"
 extract item: :fail: unrouteable mail domain "y.z"
@@ -282,7 +282,7 @@ smart.domain in "test.ex : myhost.test.ex"? no (end of list)
 smart.domain in "! +local_domains"? yes (end of list)
 calling fail_remote_domains router
 rda_interpret (string): ':fail: unrouteable mail domain "$domain"'
-expanded: ':fail: unrouteable mail domain "smart.domain"'
+expanded: ':fail: unrouteable mail domain "smart.domain"' (tainted)
 file is not a filter file
 parse_forward_list: :fail: unrouteable mail domain "smart.domain"
 extract item: :fail: unrouteable mail domain "smart.domain"
index 36bcfb4..f1a0a2e 100644 (file)
@@ -8,7 +8,7 @@ routing /a/b/c@myhost.test.ex
 --------> r1 router <--------
 local_part=/a/b/c domain=myhost.test.ex
 calling r1 router
-rda_interpret (string): '$local_part'
+rda_interpret (string): '${bless:$local_part}'
 expanded: '/a/b/c'
 file is not a filter file
 parse_forward_list: /a/b/c
@@ -32,7 +32,7 @@ routing /x/y/z@myhost.test.ex
 --------> r1 router <--------
 local_part=/x/y/z domain=myhost.test.ex
 calling r1 router
-rda_interpret (string): '$local_part'
+rda_interpret (string): '${bless:$local_part}'
 expanded: '/x/y/z'
 file is not a filter file
 parse_forward_list: /x/y/z
index cd96418..8f5ef0b 100644 (file)
@@ -149,7 +149,7 @@ checking local_parts
 kilos in "kilos"? yes (matched "kilos")
 calling r3 router
 rda_interpret (string): '$local_part@$domain'
-expanded: 'kilos@recurse.test.ex.test.ex'
+expanded: 'kilos@recurse.test.ex.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: kilos@recurse.test.ex.test.ex
 extract item: kilos@recurse.test.ex.test.ex
index 1b08f72..43462a5 100644 (file)
@@ -10,7 +10,7 @@ checking domains
 processing address_data
 calling r1 router
 rda_interpret (string): '$local_part@$domain.test.ex'
-expanded: 'kilos@thishost.test.ex'
+expanded: 'kilos@thishost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: kilos@thishost.test.ex
 extract item: kilos@thishost.test.ex
@@ -55,7 +55,7 @@ checking domains
 processing address_data
 calling r1 router
 rda_interpret (string): '$local_part@$domain.test.ex'
-expanded: 'solik@otherhost.test.ex'
+expanded: 'solik@otherhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: solik@otherhost.test.ex
 extract item: solik@otherhost.test.ex
@@ -81,7 +81,7 @@ checking "condition" "${if eq{$address_data}{}{no}{yes}}"...
 processing address_data
 calling r3 router
 rda_interpret (string): '$local_part@$original_domain.sub.test.ex'
-expanded: 'solik@otherhost.sub.test.ex'
+expanded: 'solik@otherhost.sub.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: solik@otherhost.sub.test.ex
 extract item: solik@otherhost.sub.test.ex
@@ -110,7 +110,7 @@ local_part=solik domain=otherhost.sub.test.ex
 checking domains
 calling r4 router
 rda_interpret (string): ':fail:Can't route to $domain'
-expanded: ':fail:Can't route to otherhost.sub.test.ex'
+expanded: ':fail:Can't route to otherhost.sub.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: :fail:Can't route to otherhost.sub.test.ex
 extract item: :fail:Can't route to otherhost.sub.test.ex
@@ -123,7 +123,7 @@ checking domains
 processing address_data
 calling r1 router
 rda_interpret (string): '$local_part@$domain.test.ex'
-expanded: 'xxx@ten-1.test.ex'
+expanded: 'xxx@ten-1.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: xxx@ten-1.test.ex
 extract item: xxx@ten-1.test.ex
@@ -158,7 +158,7 @@ checking domains
 processing address_data
 calling r1 router
 rda_interpret (string): '$local_part@$domain.test.ex'
-expanded: 'xxx@testsub.test.ex'
+expanded: 'xxx@testsub.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: xxx@testsub.test.ex
 extract item: xxx@testsub.test.ex
@@ -184,7 +184,7 @@ checking "condition" "${if eq{$address_data}{}{no}{yes}}"...
 processing address_data
 calling r3 router
 rda_interpret (string): '$local_part@$original_domain.sub.test.ex'
-expanded: 'xxx@testsub.sub.test.ex'
+expanded: 'xxx@testsub.sub.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: xxx@testsub.sub.test.ex
 extract item: xxx@testsub.sub.test.ex
index 98f92e0..f395ee3 100644 (file)
@@ -55,7 +55,7 @@ local_part=cccc domain=myhost.test.ex
 checking local_parts
 calling cccc_redirect router
 rda_interpret (string): 'cccc@$domain, defer_cccc@$domain'
-expanded: 'cccc@myhost.test.ex, defer_cccc@myhost.test.ex'
+expanded: 'cccc@myhost.test.ex, defer_cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
@@ -89,7 +89,7 @@ checking local_parts
 checking "condition" "${if first_delivery{yes}{no}}"...
 calling bbbb router
 rda_interpret (string): 'bbbb@$domain, defer_bbbb@$domain'
-expanded: 'bbbb@myhost.test.ex, defer_bbbb@myhost.test.ex'
+expanded: 'bbbb@myhost.test.ex, defer_bbbb@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: bbbb@myhost.test.ex, defer_bbbb@myhost.test.ex
 extract item: bbbb@myhost.test.ex
@@ -115,7 +115,7 @@ checking local_parts
 checking "condition" "${if first_delivery{yes}{no}}"...
 calling unseen_aaaa router
 rda_interpret (string): 'defer_aaaa@$domain'
-expanded: 'defer_aaaa@myhost.test.ex'
+expanded: 'defer_aaaa@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: defer_aaaa@myhost.test.ex
 extract item: defer_aaaa@myhost.test.ex
@@ -357,7 +357,7 @@ checking local_parts
 checking "condition" "${if first_delivery{no}{yes}}"...
 calling cccc_2nd_time router
 rda_interpret (string): '$local_part@$domain'
-expanded: 'cccc@myhost.test.ex'
+expanded: 'cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
@@ -459,7 +459,7 @@ local_part=cccc domain=myhost.test.ex
 checking local_parts
 calling cccc_redirect router
 rda_interpret (string): 'cccc@$domain, defer_cccc@$domain'
-expanded: 'cccc@myhost.test.ex, defer_cccc@myhost.test.ex'
+expanded: 'cccc@myhost.test.ex, defer_cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
@@ -601,7 +601,7 @@ checking local_parts
 checking "condition" "${if first_delivery{no}{yes}}"...
 calling cccc_2nd_time router
 rda_interpret (string): '$local_part@$domain'
-expanded: 'cccc@myhost.test.ex'
+expanded: 'cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
@@ -703,7 +703,7 @@ local_part=cccc domain=myhost.test.ex
 checking local_parts
 calling cccc_redirect router
 rda_interpret (string): 'cccc@$domain, defer_cccc@$domain'
-expanded: 'cccc@myhost.test.ex, defer_cccc@myhost.test.ex'
+expanded: 'cccc@myhost.test.ex, defer_cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: cccc@myhost.test.ex, defer_cccc@myhost.test.ex
 extract item: cccc@myhost.test.ex
index e48fb7e..dec0651 100644 (file)
@@ -40,7 +40,7 @@ deliver defer_aaaa@myhost.test.ex
 save TESTSUITE/test-mail/file
 pipe "/bin/sh -c exit"
 mail subject autoreply
-text "This is an autoreply"'
+text "This is an autoreply"' (tainted)
 data is an Exim filter program
 Filter: start of processing
 Filter: end of processing
@@ -193,7 +193,7 @@ checking local_parts
 checking "condition" "${if first_delivery{no}{yes}}"...
 calling aaaa_2nd_time router
 rda_interpret (string): 'aaaa@$domain'
-expanded: 'aaaa@myhost.test.ex'
+expanded: 'aaaa@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: aaaa@myhost.test.ex
 extract item: aaaa@myhost.test.ex
@@ -230,7 +230,7 @@ deliver defer_aaaa@myhost.test.ex
 save TESTSUITE/test-mail/file
 pipe "/bin/sh -c exit"
 mail subject autoreply
-text "This is an autoreply"'
+text "This is an autoreply"' (tainted)
 data is an Exim filter program
 Filter: start of processing
 Filter: end of processing
index 26a225f..7c0f0b9 100644 (file)
@@ -30,7 +30,7 @@ local_part=aaaa domain=myhost.test.ex
 checking local_parts
 calling aaaa_redirect router
 rda_interpret (string): 'bbbb@$domain, cccc@$domain'
-expanded: 'bbbb@myhost.test.ex, cccc@myhost.test.ex'
+expanded: 'bbbb@myhost.test.ex, cccc@myhost.test.ex' (tainted)
 file is not a filter file
 parse_forward_list: bbbb@myhost.test.ex, cccc@myhost.test.ex
 extract item: bbbb@myhost.test.ex
index c653fc3..b163d3f 100644 (file)
@@ -33,7 +33,7 @@ r1 router skipped: local_parts mismatch
 local_part=bbbb domain=myhost.test.ex
 checking local_parts
 calling r2 router
-rda_interpret (file): 'TESTSUITE/non-exist/$local_part'
+rda_interpret (file): 'TESTSUITE/non-exist/${bless:$local_part}'
 expanded: 'TESTSUITE/non-exist/bbbb'
 TESTSUITE/non-exist/bbbb does not exist
 ignore_enotdir set => skip checking parent directory
@@ -61,7 +61,7 @@ forced failure in expansion of "${if eq {a}{b}{x}fail}" (address_data): decline
 local_part=aaaa domain=myhost.test.ex
 checking local_parts
 calling r1 router
-rda_interpret (file): 'TESTSUITE/non-exist/$local_part'
+rda_interpret (file): 'TESTSUITE/non-exist/${bless:$local_part}'
 expanded: 'TESTSUITE/non-exist/aaaa'
 TESTSUITE/non-exist/aaaa does not exist
 checking parent directory
index 512ed1b..86e8fe3 100644 (file)
@@ -50,7 +50,7 @@ cached lookup data = data for domain1
 domain1 in "+special_domains"? yes (matched "+special_domains" - cached)
 calling r1 router
 rda_interpret (string): '$local_part@xxx.$domain'
-expanded: 'abc@xxx.domain1'
+expanded: 'abc@xxx.domain1' (tainted)
 file is not a filter file
 parse_forward_list: abc@xxx.domain1
 extract item: abc@xxx.domain1
@@ -117,7 +117,7 @@ cached lookup data = data for domain1
 domain1 in "+special_domains"? yes (matched "+special_domains" - cached)
 calling r1 router
 rda_interpret (string): '$local_part@xxx.$domain'
-expanded: 'abc@xxx.domain1'
+expanded: 'abc@xxx.domain1' (tainted)
 file is not a filter file
 parse_forward_list: abc@xxx.domain1
 extract item: abc@xxx.domain1
diff --git a/test/stderr/0584 b/test/stderr/0584
new file mode 100644 (file)
index 0000000..af4f471
--- /dev/null
@@ -0,0 +1 @@
+1999-03-02 09:44:33 10HmaX-0005vi-00 == CALLER@the.local.host.name R=localuser T=local_delivery defer (-1): Tainted 'TESTSUITE/test-mail/CALLER' (file or directory name for local_delivery transport) not permitted
diff --git a/test/stdout/0584 b/test/stdout/0584
new file mode 100644 (file)
index 0000000..4e4673d
--- /dev/null
@@ -0,0 +1,6 @@
+220 the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+250 OK\r
+250 Accepted\r
+354 Enter message, ending with "." on a line by itself\r
+250 OK id=10HmaX-0005vi-00\r
+221 the.local.host.name closing connection\r