Fix CVE-2016-1531 exim-4_87_RC4
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Thu, 28 Jan 2016 21:20:33 +0000 (22:20 +0100)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Thu, 18 Feb 2016 16:36:56 +0000 (17:36 +0100)
Add keep_environment, add_environment.
Change the working directory to "/" during the early startup
phase.

(cherry picked from commit 2b92b67bfc33efe05e6ff2ea3852731ac2273832)
(cherry picked from commit 14b82c8b736c8ed24eda144f57703cb9feac6323)
(cherry picked from commit 9ca92d0c6e9c6f161bd8111366c6952d3a9315e2)
(cherry picked from commit 0020c6d9ecfd98ed7b2b337ed4f898fdc409784b)
(cherry picked from commit e8f96966360ea8867ad6a8b5affda6c37fa4958c)
(cherry picked from commit ef6fb807c1e1a665f444f644c60c77269f7c5209)

850 files changed:
doc/doc-docbook/spec.xfpt
doc/doc-txt/ChangeLog
src/OS/Makefile-Base
src/scripts/MakeLinks
src/src/environment.c [new file with mode: 0644]
src/src/exim.c
src/src/functions.h
src/src/globals.c
src/src/globals.h
src/src/readconf.c
src/src/setenv.c
src/src/string.c
src/src/tls-openssl.c
test/confs/0000
test/confs/0001
test/confs/0002
test/confs/0003
test/confs/0004
test/confs/0005
test/confs/0006
test/confs/0007
test/confs/0008
test/confs/0009
test/confs/0010
test/confs/0011
test/confs/0012
test/confs/0013
test/confs/0014
test/confs/0015
test/confs/0016
test/confs/0017
test/confs/0018
test/confs/0019
test/confs/0020
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/0029
test/confs/0030
test/confs/0031
test/confs/0032
test/confs/0033
test/confs/0034
test/confs/0035
test/confs/0036
test/confs/0037
test/confs/0038
test/confs/0039
test/confs/0040
test/confs/0041
test/confs/0042
test/confs/0043
test/confs/0044
test/confs/0045
test/confs/0046
test/confs/0047
test/confs/0048
test/confs/0049
test/confs/0050
test/confs/0051
test/confs/0052
test/confs/0053
test/confs/0054
test/confs/0055
test/confs/0056
test/confs/0057
test/confs/0058
test/confs/0059
test/confs/0060
test/confs/0061
test/confs/0062
test/confs/0063
test/confs/0064
test/confs/0065
test/confs/0066
test/confs/0067
test/confs/0068
test/confs/0069
test/confs/0070
test/confs/0071
test/confs/0072
test/confs/0073
test/confs/0074
test/confs/0075
test/confs/0076
test/confs/0077
test/confs/0078
test/confs/0079
test/confs/0080
test/confs/0081
test/confs/0082
test/confs/0083
test/confs/0084
test/confs/0085
test/confs/0086
test/confs/0087
test/confs/0088
test/confs/0089
test/confs/0090
test/confs/0091
test/confs/0092
test/confs/0093
test/confs/0094
test/confs/0095
test/confs/0096
test/confs/0097
test/confs/0098
test/confs/0099
test/confs/0100
test/confs/0101
test/confs/0102
test/confs/0103
test/confs/0104
test/confs/0105
test/confs/0106
test/confs/0107
test/confs/0108
test/confs/0109
test/confs/0110
test/confs/0111
test/confs/0112
test/confs/0113
test/confs/0114
test/confs/0115
test/confs/0116
test/confs/0117
test/confs/0118
test/confs/0119
test/confs/0120
test/confs/0121
test/confs/0122
test/confs/0123
test/confs/0124
test/confs/0125
test/confs/0126
test/confs/0127
test/confs/0128
test/confs/0129
test/confs/0130
test/confs/0131
test/confs/0132
test/confs/0133
test/confs/0134
test/confs/0135
test/confs/0136
test/confs/0137
test/confs/0138
test/confs/0139
test/confs/0140
test/confs/0141
test/confs/0142
test/confs/0143
test/confs/0144
test/confs/0145
test/confs/0146
test/confs/0147
test/confs/0148
test/confs/0149
test/confs/0150
test/confs/0151
test/confs/0152
test/confs/0153
test/confs/0154
test/confs/0155
test/confs/0156
test/confs/0157
test/confs/0158
test/confs/0159
test/confs/0160
test/confs/0161
test/confs/0162
test/confs/0163
test/confs/0164
test/confs/0165
test/confs/0166
test/confs/0167
test/confs/0168
test/confs/0169
test/confs/0170
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/0179
test/confs/0180
test/confs/0181
test/confs/0182
test/confs/0183
test/confs/0184
test/confs/0185
test/confs/0186
test/confs/0187
test/confs/0188
test/confs/0189
test/confs/0190
test/confs/0191
test/confs/0192
test/confs/0193
test/confs/0194
test/confs/0195
test/confs/0196
test/confs/0197
test/confs/0198
test/confs/0199
test/confs/0200
test/confs/0201
test/confs/0202
test/confs/0203
test/confs/0204
test/confs/0205
test/confs/0206
test/confs/0207
test/confs/0208
test/confs/0209
test/confs/0210
test/confs/0211
test/confs/0212
test/confs/0213
test/confs/0214
test/confs/0215
test/confs/0216
test/confs/0217
test/confs/0218
test/confs/0219
test/confs/0220
test/confs/0221
test/confs/0222
test/confs/0223
test/confs/0224
test/confs/0225
test/confs/0226
test/confs/0227
test/confs/0228
test/confs/0229
test/confs/0230
test/confs/0231
test/confs/0232
test/confs/0233
test/confs/0234
test/confs/0235
test/confs/0236
test/confs/0237
test/confs/0238
test/confs/0239
test/confs/0240
test/confs/0241
test/confs/0242
test/confs/0243
test/confs/0244
test/confs/0245
test/confs/0246
test/confs/0247
test/confs/0248
test/confs/0249
test/confs/0250
test/confs/0251
test/confs/0252
test/confs/0253
test/confs/0254
test/confs/0255
test/confs/0256
test/confs/0257
test/confs/0258
test/confs/0259
test/confs/0260
test/confs/0261
test/confs/0262
test/confs/0263
test/confs/0264
test/confs/0265
test/confs/0266
test/confs/0267
test/confs/0268
test/confs/0269
test/confs/0270
test/confs/0271
test/confs/0272
test/confs/0273
test/confs/0274
test/confs/0275
test/confs/0276
test/confs/0277
test/confs/0278
test/confs/0279
test/confs/0280
test/confs/0281
test/confs/0282
test/confs/0283
test/confs/0284
test/confs/0285
test/confs/0286
test/confs/0287
test/confs/0288
test/confs/0289
test/confs/0290
test/confs/0291
test/confs/0292
test/confs/0293
test/confs/0294
test/confs/0295
test/confs/0296
test/confs/0297
test/confs/0298
test/confs/0299
test/confs/0300
test/confs/0301
test/confs/0302
test/confs/0303
test/confs/0304
test/confs/0305
test/confs/0306
test/confs/0307
test/confs/0308
test/confs/0309
test/confs/0310
test/confs/0311
test/confs/0312
test/confs/0313
test/confs/0314
test/confs/0315
test/confs/0316
test/confs/0317
test/confs/0318
test/confs/0319
test/confs/0320
test/confs/0321
test/confs/0322
test/confs/0323
test/confs/0324
test/confs/0325
test/confs/0326
test/confs/0327
test/confs/0328
test/confs/0329
test/confs/0330
test/confs/0331
test/confs/0332
test/confs/0333
test/confs/0334
test/confs/0335
test/confs/0336
test/confs/0337
test/confs/0338
test/confs/0339
test/confs/0340
test/confs/0341
test/confs/0342
test/confs/0343
test/confs/0344
test/confs/0345
test/confs/0346
test/confs/0347
test/confs/0348
test/confs/0349
test/confs/0350
test/confs/0351
test/confs/0352
test/confs/0353
test/confs/0354
test/confs/0355
test/confs/0356
test/confs/0357
test/confs/0358
test/confs/0359
test/confs/0360
test/confs/0361
test/confs/0362
test/confs/0363
test/confs/0364
test/confs/0365
test/confs/0366
test/confs/0367
test/confs/0368
test/confs/0369
test/confs/0370
test/confs/0371
test/confs/0372
test/confs/0373
test/confs/0374
test/confs/0375
test/confs/0376
test/confs/0377
test/confs/0378
test/confs/0379
test/confs/0380
test/confs/0381
test/confs/0382
test/confs/0383
test/confs/0384
test/confs/0385
test/confs/0386
test/confs/0387
test/confs/0388
test/confs/0389
test/confs/0390
test/confs/0391
test/confs/0392
test/confs/0393
test/confs/0394
test/confs/0395
test/confs/0396
test/confs/0397
test/confs/0398
test/confs/0399
test/confs/0400
test/confs/0401
test/confs/0402
test/confs/0403
test/confs/0404
test/confs/0405
test/confs/0406
test/confs/0407
test/confs/0408
test/confs/0409
test/confs/0410
test/confs/0411
test/confs/0412
test/confs/0413
test/confs/0414
test/confs/0415
test/confs/0416
test/confs/0417
test/confs/0418
test/confs/0419
test/confs/0420
test/confs/0421
test/confs/0422
test/confs/0423
test/confs/0424
test/confs/0425
test/confs/0426
test/confs/0427
test/confs/0428
test/confs/0429
test/confs/0430
test/confs/0431
test/confs/0432
test/confs/0433
test/confs/0434
test/confs/0435
test/confs/0436
test/confs/0437
test/confs/0438
test/confs/0439
test/confs/0440
test/confs/0441
test/confs/0442
test/confs/0443
test/confs/0444
test/confs/0445
test/confs/0446
test/confs/0447
test/confs/0448
test/confs/0449
test/confs/0450
test/confs/0451
test/confs/0452
test/confs/0453
test/confs/0454
test/confs/0455
test/confs/0456
test/confs/0457
test/confs/0458
test/confs/0459
test/confs/0460
test/confs/0461
test/confs/0462
test/confs/0463
test/confs/0464
test/confs/0465
test/confs/0466
test/confs/0467
test/confs/0468
test/confs/0469
test/confs/0470
test/confs/0471
test/confs/0472
test/confs/0473
test/confs/0474
test/confs/0475
test/confs/0476
test/confs/0477
test/confs/0478
test/confs/0479
test/confs/0480
test/confs/0481
test/confs/0482
test/confs/0483
test/confs/0484
test/confs/0485
test/confs/0486
test/confs/0487
test/confs/0488
test/confs/0489
test/confs/0490
test/confs/0491
test/confs/0492
test/confs/0493
test/confs/0494
test/confs/0495
test/confs/0496
test/confs/0497
test/confs/0498
test/confs/0499
test/confs/0500
test/confs/0501
test/confs/0502
test/confs/0503
test/confs/0504
test/confs/0505
test/confs/0506
test/confs/0507
test/confs/0508
test/confs/0509
test/confs/0510
test/confs/0511
test/confs/0512
test/confs/0513
test/confs/0514
test/confs/0515
test/confs/0516
test/confs/0517
test/confs/0518
test/confs/0519
test/confs/0520
test/confs/0521
test/confs/0522
test/confs/0523
test/confs/0524
test/confs/0525
test/confs/0526
test/confs/0527
test/confs/0528
test/confs/0529
test/confs/0530
test/confs/0531
test/confs/0532
test/confs/0533
test/confs/0534
test/confs/0535
test/confs/0536
test/confs/0537
test/confs/0538
test/confs/0539
test/confs/0540
test/confs/0541
test/confs/0542
test/confs/0543
test/confs/0544
test/confs/0545
test/confs/0546
test/confs/0547
test/confs/0548
test/confs/0549
test/confs/0550
test/confs/0551
test/confs/0552
test/confs/0553
test/confs/0554
test/confs/0555
test/confs/0556
test/confs/0557
test/confs/0558
test/confs/0559
test/confs/0560
test/confs/0561
test/confs/0562
test/confs/0563
test/confs/0564
test/confs/0565
test/confs/0566
test/confs/0567
test/confs/0569
test/confs/0570
test/confs/0571
test/confs/0572
test/confs/0573
test/confs/0600
test/confs/0601
test/confs/0602
test/confs/0603
test/confs/0604
test/confs/0605
test/confs/0606
test/confs/0607
test/confs/0608
test/confs/0609
test/confs/0610
test/confs/0611
test/confs/0612
test/confs/0613
test/confs/0614
test/confs/0615 [new file with mode: 0644]
test/confs/0616 [new file with mode: 0644]
test/confs/1000
test/confs/1001
test/confs/1002
test/confs/1003
test/confs/1005
test/confs/1006
test/confs/1007
test/confs/1008
test/confs/1009
test/confs/1010
test/confs/2000
test/confs/2001
test/confs/2002
test/confs/2003
test/confs/2004
test/confs/2005
test/confs/2006
test/confs/2007
test/confs/2008
test/confs/2009
test/confs/2010
test/confs/2012
test/confs/2013
test/confs/2014
test/confs/2015
test/confs/2016
test/confs/2017
test/confs/2018
test/confs/2019
test/confs/2020
test/confs/2021
test/confs/2022
test/confs/2023
test/confs/2024
test/confs/2025
test/confs/2026
test/confs/2027
test/confs/2028
test/confs/2029
test/confs/2030
test/confs/2031
test/confs/2032
test/confs/2033
test/confs/2100
test/confs/2101
test/confs/2102
test/confs/2103
test/confs/2104
test/confs/2105
test/confs/2106
test/confs/2107
test/confs/2108
test/confs/2109
test/confs/2110
test/confs/2111
test/confs/2112
test/confs/2113
test/confs/2114
test/confs/2115
test/confs/2116
test/confs/2117
test/confs/2118
test/confs/2119
test/confs/2120
test/confs/2121
test/confs/2122
test/confs/2123
test/confs/2124
test/confs/2125
test/confs/2126
test/confs/2127
test/confs/2128
test/confs/2130
test/confs/2131
test/confs/2132
test/confs/2133
test/confs/2149
test/confs/2150
test/confs/2200
test/confs/2201
test/confs/2202
test/confs/2250
test/confs/2300
test/confs/2400
test/confs/2500
test/confs/2501
test/confs/2600
test/confs/2700
test/confs/3000
test/confs/3100
test/confs/3200
test/confs/3201
test/confs/3202
test/confs/3203
test/confs/3204
test/confs/3205
test/confs/3206
test/confs/3207
test/confs/3208
test/confs/3209
test/confs/3210
test/confs/3211
test/confs/3212
test/confs/3213
test/confs/3300
test/confs/3400
test/confs/3401
test/confs/3402
test/confs/3403
test/confs/3404
test/confs/3405
test/confs/3406
test/confs/3407
test/confs/3408
test/confs/3409
test/confs/3410
test/confs/3411
test/confs/3412
test/confs/3413
test/confs/3414
test/confs/3415
test/confs/3416
test/confs/3450
test/confs/3451
test/confs/3452
test/confs/3453
test/confs/3454
test/confs/3455
test/confs/3460
test/confs/3461
test/confs/3462
test/confs/3463
test/confs/3464
test/confs/3465
test/confs/3500
test/confs/3501
test/confs/3600
test/confs/3700
test/confs/4000
test/confs/4001
test/confs/4002
test/confs/4003
test/confs/4004
test/confs/4005
test/confs/4006
test/confs/4007
test/confs/4008
test/confs/4009
test/confs/4010
test/confs/4020
test/confs/4028
test/confs/4029
test/confs/4100
test/confs/4200
test/confs/4201
test/confs/4211
test/confs/4221
test/confs/4500
test/confs/4503
test/confs/4700
test/confs/4800
test/confs/4801
test/confs/4802
test/confs/4803
test/confs/4950
test/confs/5000
test/confs/5001
test/confs/5002
test/confs/5003
test/confs/5004
test/confs/5005
test/confs/5006
test/confs/5007
test/confs/5008
test/confs/5009
test/confs/5050
test/confs/5100
test/confs/5101
test/confs/5102
test/confs/5103
test/confs/5200
test/confs/5201
test/confs/5202
test/confs/5203
test/confs/5204
test/confs/5205
test/confs/5206
test/confs/5207
test/confs/5208
test/confs/5209
test/confs/5300
test/confs/5301
test/confs/5400
test/confs/5401
test/confs/5410
test/confs/5420
test/confs/5500
test/confs/5510
test/confs/5600
test/confs/5601
test/confs/5650
test/confs/5651
test/confs/5700
test/confs/5710
test/confs/5720
test/confs/5730
test/confs/5740
test/confs/5800
test/confs/5820
test/confs/5840
test/confs/5860
test/confs/9000
test/confs/9001
test/confs/9100
test/confs/9200
test/confs/9300
test/confs/9350
test/confs/9400
test/confs/9401
test/confs/9402
test/confs/9450
test/confs/9900
test/confs/9901
test/confs/9902
test/confs/9903
test/paniclog/0013
test/paniclog/0148
test/paniclog/0236
test/paniclog/0290
test/paniclog/0348
test/paniclog/0415
test/paniclog/0442
test/runtest
test/scripts/0000-Basic/0615 [new file with mode: 0644]
test/scripts/0000-Basic/0616 [new symlink]
test/stderr/0002
test/stderr/0013
test/stderr/0148
test/stderr/0236
test/stderr/0290
test/stderr/0348
test/stderr/0415
test/stderr/0442
test/stderr/0615 [new file with mode: 0644]
test/stdout/0572
test/stdout/0615 [new file with mode: 0644]
test/stdout/0616 [new file with mode: 0644]

index 758a0cf..9d23169 100644 (file)
@@ -3151,6 +3151,11 @@ using one of the words &%router_list%&, &%transport_list%&, or
 settings can be obtained by using &%routers%&, &%transports%&, or
 &%authenticators%&.
 
+.cindex "environment"
+If &%environment%& is given as an argument, the set of environment
+variables is output, line by line. Using the &%-n%& flag supresses the value of the
+variables.
+
 .cindex "options" "macro &-- extracting"
 If invoked by an admin user, then &%macro%&, &%macro_list%& and &%macros%&
 are available, similarly to the drivers.  Because macros are sometimes used
@@ -3482,6 +3487,8 @@ name, but it can be a colon-separated list of names. In this case, the first
 file that exists is used. Failure to open an existing file stops Exim from
 proceeding any further along the list, and an error is generated.
 
+The file names need to be absolute names.
+
 When this option is used by a caller other than root, and the list is different
 from the compiled-in list, Exim gives up its root privilege immediately, and
 runs with the real and effective uid and gid set to those of the caller.
@@ -7739,7 +7746,7 @@ domain, host, address and local part lists.
 
 
 
-.section "Expansion of lists" "SECID75"
+.section "Expansion of lists" "SECTlistexpand"
 .cindex "expansion" "of lists"
 Each list is expanded as a single string before it is used. The result of
 expansion must be a list, possibly containing empty items, which is split up
@@ -13947,6 +13954,14 @@ received. See chapter &<<CHAPACL>>& for further details.
 This option defines the ACL that is run when an SMTP VRFY command is
 received. See chapter &<<CHAPACL>>& for further details.
 
+.new
+.option add_environment main "string list" empty
+.cindex "environment" "inherited"
+This option allows to set individual environment variables that the
+currently linked libraries and programs in child processes use. The
+default list is empty,
+.wen
+
 .option admin_groups main "string list&!!" unset
 .cindex "admin user"
 This option is expanded just once, at the start of Exim's processing. If the
@@ -15034,6 +15049,30 @@ process rather than a remote host, and is using &%-bs%& to inject the messages,
 .option ignore_fromline_local main boolean false
 See &%ignore_fromline_hosts%& above.
 
+.new
+.option keep_environment main "string list" unset
+.cindex "environment" "inherited"
+This option contains a string list of environment variables to keep.
+You have to trust these variables or you have to be sure that
+these variables do not impose any security risk. Keep in mind that
+during the startup phase Exim is running with an effective UID 0 in most
+installations. As the default value is an empty list, the default
+environment for using libraries, running embedded Perl code, or running
+external binaries is empty, and does not not even contain PATH or HOME.
+
+Actually the list is interpreted as a list of patterns
+(&<<SECTlistexpand>>&), except that it is not expanded first.
+
+WARNING: Macro substitution is still done first, so having a macro
+FOO and having FOO_HOME in your &%keep_environment%& option may have
+unexpected results. You may work around this using a regular expression
+that does not match the macro name: ^[F]OO_HOME$.
+
+Current versions of Exim issue a warning during startupif you do not mention
+&%keep_environment%& or &%add_environment%& in your runtime configuration
+file.
+.wen
+
 
 .option keep_malformed main time 4d
 This option specifies the length of time to keep messages whose spool files
@@ -16072,6 +16111,12 @@ it qualifies them only if the message came from a host that matches
 &%sender_unqualified_hosts%&, or if the message was submitted locally (not
 using TCP/IP), and the &%-bnq%& option was not set.
 
+.option set_environment main "string list" empty
+.cindex "environment"
+This option allows to set individual environment variables that the
+currently linked libraries and programs in child processes use. The
+default list is empty,
+
 
 .option slow_lookup_log main integer 0
 .cindex "logging" "slow lookups"
index 2f39532..7f8a625 100644 (file)
@@ -173,6 +173,7 @@ JH/41 Bug 1792: Fix selection of headers to sign for DKIM: bottom-up.  While
 
 JH/42 Bug 1796: Fix error logged on a malware scanner connection failure.
 
+HS/04 Add support for keep_environment and add_environment options.
 
 
 Exim version 4.86
index 9bc819d..e0bdeec 100644 (file)
@@ -335,6 +335,7 @@ OBJ_EXIM = acl.o base64.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.o \
         rda.o readconf.o receive.o retry.o rewrite.o rfc2047.o \
         route.o search.o sieve.o smtp_in.o smtp_out.o spool_in.o spool_out.o \
         std-crypto.o store.o string.o tls.o tod.o transport.o tree.o verify.o \
+        environment.o \
         $(OBJ_LOOKUPS) \
         local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \
         $(OBJ_WITH_OLD_DEMIME) $(OBJ_EXPERIMENTAL)
@@ -592,6 +593,7 @@ dns.o:           $(HDRS) dns.c
 enq.o:           $(HDRS) enq.c
 exim.o:          $(HDRS) exim.c
 expand.o:        $(HDRS) expand.c
+environment.o:   $(HDRS) environment.c
 filter.o:        $(HDRS) filter.c
 filtertest.o:    $(HDRS) filtertest.c
 globals.o:       $(HDRS) globals.c
index 8862140..9420b11 100755 (executable)
@@ -101,7 +101,7 @@ for f in dbfunctions.h dbstuff.h exim.h functions.h globals.h local_scan.h \
   exim_dbutil.c exim_lock.c expand.c filter.c filtertest.c globals.c \
   header.c host.c ip.c log.c lss.c match.c moan.c parse.c perl.c queue.c \
   rda.c readconf.c receive.c retry.c rewrite.c rfc2047.c route.c search.c \
-  setenv.c \
+  setenv.c environment.c \
   sieve.c smtp_in.c smtp_out.c spool_in.c spool_out.c std-crypto.c store.c \
   string.c tls.c tlscert-gnu.c tlscert-openssl.c tls-gnu.c tls-openssl.c \
   tod.c transport.c tree.c verify.c version.c dkim.c dkim.h dmarc.c dmarc.h \
diff --git a/src/src/environment.c b/src/src/environment.c
new file mode 100644 (file)
index 0000000..aaa84f8
--- /dev/null
@@ -0,0 +1,54 @@
+/*************************************************
+*     Exim - an Internet mail transport agent    *
+*************************************************/
+
+/* Copyright (c) Heiko Schlittermann 2016
+ * hs@schlittermann.de
+ * See the file NOTICE for conditions of use and distribution.
+ */
+
+#include "exim.h"
+
+/* The cleanup_environment() function is used during the startup phase
+of the Exim process, right after reading the configurations main
+part, before any expansions take place. It retains the environment
+variables we trust (via the keep_environment option) and allows to
+set additional variables (via add_environment).
+
+Returns:    TRUE if successful
+            FALSE otherwise
+*/
+
+BOOL
+cleanup_environment()
+{
+if (!keep_environment || *keep_environment == '\0')
+  clearenv();
+else if (Ustrcmp(keep_environment, "*") != 0)
+  {
+  uschar **p;
+  if (environ) for (p = USS environ; *p; /* see below */)
+    {
+    uschar *name = string_copyn(*p, US Ustrchr(*p, '=') - *p);
+
+    if (OK != match_isinlist(name, CUSS &keep_environment,
+        0, NULL, NULL, MCL_NOEXPAND, FALSE, NULL))
+      if (unsetenv(CS name) < 0) return FALSE;
+      else /* nothing */;
+    else
+      p++;
+
+    store_reset(name);
+    }
+  }
+if (add_environment)
+  {
+    uschar *p;
+    int sep = 0;
+    const uschar* envlist = add_environment;
+    while ((p = string_nextinlist(&envlist, &sep, NULL, 0)))
+        putenv(CS p);
+  }
+
+  return TRUE;
+}
index 02f2a9a..d6f2d4a 100644 (file)
@@ -3743,8 +3743,19 @@ if (running_in_test_harness) smtputf8_advertise_hosts = NULL;
 is a failure. It leaves the configuration file open so that the subsequent
 configuration data for delivery can be read if needed. */
 
+/* To be safe: change the working directory to /. */
+if (Uchdir("/") < 0)
+  {
+    perror("exim: chdir `/': ");
+    exit(EXIT_FAILURE);
+  }
+
 readconf_main();
 
+if (cleanup_environment() == FALSE)
+  log_write(0, LOG_PANIC_DIE, "Can't cleanup environment");
+
+
 /* If an action on specific messages is requested, or if a daemon or queue
 runner is being started, we need to know if Exim was called by an admin user.
 This is the case if the real user is root or exim, or if the real group is
@@ -3907,7 +3918,7 @@ EXIM_TMPDIR by the build scripts.
 #ifdef EXIM_TMPDIR
   {
   uschar **p;
-  for (p = USS environ; *p != NULL; p++)
+  if (environ) for (p = USS environ; *p != NULL; p++)
     {
     if (Ustrncmp(*p, "TMPDIR=", 7) == 0 &&
         Ustrcmp(*p+7, EXIM_TMPDIR) != 0)
@@ -3947,10 +3958,10 @@ else
     uschar **new;
     uschar **newp;
     int count = 0;
-    while (*p++ != NULL) count++;
+    if (environ) while (*p++ != NULL) count++;
     if (envtz == NULL) count++;
     newp = new = malloc(sizeof(uschar *) * (count + 1));
-    for (p = USS environ; *p != NULL; p++)
+    if (environ) for (p = USS environ; *p != NULL; p++)
       {
       if (Ustrncmp(*p, "TZ=", 3) == 0) continue;
       *newp++ = *p;
@@ -4540,7 +4551,8 @@ if (list_options)
           (Ustrcmp(argv[i], "router") == 0 ||
            Ustrcmp(argv[i], "transport") == 0 ||
            Ustrcmp(argv[i], "authenticator") == 0 ||
-           Ustrcmp(argv[i], "macro") == 0))
+           Ustrcmp(argv[i], "macro") == 0 ||
+           Ustrcmp(argv[i], "environment") == 0))
         {
         readconf_print(argv[i+1], argv[i], flag_n);
         i++;
index 97d95dd..a4c791f 100644 (file)
@@ -108,6 +108,7 @@ extern int     check_host(void *, const uschar *, const uschar **, uschar **);
 extern uschar **child_exec_exim(int, BOOL, int *, BOOL, int, ...);
 extern pid_t   child_open_uid(const uschar **, const uschar **, int,
                 uid_t *, gid_t *, int *, int *, uschar *, BOOL);
+extern BOOL    cleanup_environment(void);
 extern uschar *cutthrough_finaldot(void);
 extern BOOL    cutthrough_flush_send(void);
 extern BOOL    cutthrough_headers_send(void);
@@ -418,6 +419,7 @@ extern uschar *string_append_listele(uschar *, uschar, const uschar *);
 extern uschar *string_append_listele_n(uschar *, uschar, const uschar *, unsigned);
 extern uschar *string_base62(unsigned long int);
 extern uschar *string_cat(uschar *, int *, int *, const uschar *, int);
+extern int     string_compare_by_pointer(const uschar **, const uschar **);
 extern uschar *string_copy_dnsdomain(uschar *);
 extern uschar *string_copy_malloc(const uschar *);
 extern uschar *string_copylc(const uschar *);
index 69f2176..e5bbb83 100644 (file)
@@ -321,6 +321,7 @@ uschar *acl_wherecodes[]       = { US"550",     /* RCPT */
 BOOL    active_local_from_check = FALSE;
 BOOL    active_local_sender_retain = FALSE;
 BOOL    accept_8bitmime        = TRUE; /* deliberately not RFC compliant */
+uschar *add_environment        = NULL;
 address_item  *addr_duplicate  = NULL;
 
 address_item address_defaults = {
@@ -803,6 +804,8 @@ uschar *iterate_item           = NULL;
 
 int     journal_fd             = -1;
 
+uschar *keep_environment       = NULL;
+
 int     keep_malformed         = 4*24*60*60;    /* 4 days */
 
 uschar *eldap_dn               = NULL;
index 787de41..1919d8c 100644 (file)
@@ -156,6 +156,7 @@ extern const uschar **address_expansions[ADDRESS_EXPANSIONS_COUNT];
 /* General global variables */
 
 extern BOOL    accept_8bitmime;        /* Allow *BITMIME incoming */
+extern uschar *add_environment;        /* List of environment variables to add */
 extern header_line *acl_added_headers; /* Headers added by an ACL */
 extern tree_node *acl_anchor;          /* Tree of named ACLs */
 extern uschar *acl_arg[9];             /* Argument to ACL call */
@@ -516,6 +517,7 @@ extern uschar *iterate_item;           /* Item from iterate list */
 
 extern int     journal_fd;             /* Fd for journal file */
 
+extern uschar *keep_environment;       /* Whitelist for environment variables */
 extern int     keep_malformed;         /* Time to keep malformed messages */
 
 extern uschar *eldap_dn;               /* Where LDAP DNs are left */
index 9de064d..cf5f069 100644 (file)
@@ -178,6 +178,7 @@ static optionlist optionlist_config[] = {
   { "acl_smtp_starttls",        opt_stringptr,   &acl_smtp_starttls },
 #endif
   { "acl_smtp_vrfy",            opt_stringptr,   &acl_smtp_vrfy },
+  { "add_environment",          opt_stringptr,   &add_environment },
   { "admin_groups",             opt_gidlist,     &admin_groups },
   { "allow_domain_literals",    opt_bool,        &allow_domain_literals },
   { "allow_mx_to_ip",           opt_bool,        &allow_mx_to_ip },
@@ -296,6 +297,7 @@ static optionlist optionlist_config[] = {
   { "ignore_bounce_errors_after", opt_time,      &ignore_bounce_errors_after },
   { "ignore_fromline_hosts",    opt_stringptr,   &ignore_fromline_hosts },
   { "ignore_fromline_local",    opt_bool,        &ignore_fromline_local },
+  { "keep_environment",         opt_stringptr,   &keep_environment },
   { "keep_malformed",           opt_time,        &keep_malformed },
 #ifdef LOOKUP_LDAP
   { "ldap_ca_cert_dir",         opt_stringptr,   &eldap_ca_cert_dir },
@@ -2549,6 +2551,7 @@ second argument is NULL. There are some special values:
   +name              print a named list item
   local_scan         print the local_scan options
   config             print the configuration as it is parsed
+  environment        print the used execution environment
 
 If the second argument is not NULL, it must be one of "router", "transport",
 "authenticator" or "macro" in which case the first argument identifies the
@@ -2697,6 +2700,25 @@ if (type == NULL)
     names_only = TRUE;
     }
 
+  else if (Ustrcmp(name, "environment") == 0)
+    {
+    if (environ)
+      {
+      uschar **p;
+      size_t n;
+      for (p = USS environ; *p; p++) ;
+      n = p - USS environ;
+      qsort(environ, p - USS environ, sizeof(*p), (__compar_fn_t) string_compare_by_pointer);
+
+      for (p = USS environ; *p; p++)
+        {
+        if (no_labels) *(Ustrchr(*p, '=')) = '\0';
+        puts(*p);
+        }
+      }
+    return;
+    }
+
   else
     {
     print_ol(find_option(name, optionlist_config, optionlist_config_size),
@@ -3022,6 +3044,15 @@ const uschar *list = config_main_filelist;
 while((filename = string_nextinlist(&list, &sep, big_buffer, big_buffer_size))
        != NULL)
   {
+
+  /* To avoid confusion: Exim changes to / at the very beginning and
+   * and to $spool_directory later. */
+  if (filename[0] != '/')
+    {
+    fprintf(stderr, "-C %s: only absolute names are allowed\n", filename);
+    exit(EXIT_FAILURE);
+  }
+
   /* Cut out all the fancy processing unless specifically wanted */
 
   #if defined(CONFIGURE_FILE_USE_NODE) || defined(CONFIGURE_FILE_USE_EUID)
@@ -3467,6 +3498,11 @@ if (gnutls_require_kx || gnutls_require_mac || gnutls_require_proto)
       " gnutls_require_kx, gnutls_require_mac and gnutls_require_protocols"
       " are obsolete\n");
 #endif /*SUPPORT_TLS*/
+
+if ((!add_environment || *add_environment == '\0') && !keep_environment)
+  log_write(0, LOG_MAIN,
+      "WARNING: purging the environment.\n"
+      " Suggested action: use keep_environment and add_environment.\n");
 }
 
 
index 6da56d5..eefbec0 100644 (file)
@@ -34,6 +34,9 @@ if (!name)
   return -1;
   }
 
+if (!environ)
+  return 0;
+
 for (end = name; *end != '=' && *end; ) end++;
 len = end - name;
   
index c0dfd04..1c4ba12 100644 (file)
@@ -1707,6 +1707,17 @@ return yield;
 #endif  /* COMPILE_UTILITY */
 
 
+#ifndef COMPILE_UTILITY
+/* qsort(3), currently used to sort the environment variables
+for -bP environment output, needs a function to compare two pointers to string
+pointers. Here it is. */
+
+int
+string_compare_by_pointer(const uschar **a, const uschar **b)
+{
+return Ustrcmp(CUS *a, CUS *b);
+}
+#endif /* COMPILE_UTILITY */
 
 
 
index 4f02d07..83594c9 100644 (file)
@@ -897,7 +897,7 @@ bad:
     {
     extern char ** environ;
     uschar ** p;
-    for (p = USS environ; *p != NULL; p++)
+    if (environ) for (p = USS environ; *p != NULL; p++)
       if (Ustrncmp(*p, "EXIM_TESTHARNESS_DISABLE_OCSPVALIDITYCHECK", 42) == 0)
        {
        DEBUG(D_tls) debug_printf("Supplying known bad OCSP response\n");
index a0c5072..12c91fd 100644 (file)
@@ -3,11 +3,11 @@
 # This configuration is used when the test script is finding out what features
 # are in the Exim binary. It needs to discover where the test suite's spool
 # directory is going to be.
-
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
 gecos_pattern = ""
 gecos_name = CALLER_NAME
 tls_advertise_hosts =
+keep_environment =
 
 # End
index 5350ba4..0daf053 100644 (file)
@@ -5,6 +5,7 @@
 # mess up the creation of the spool directory etc.
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 0616f5e..6ca2d1b 100644 (file)
@@ -4,6 +4,7 @@ LENCHECK=
 PTBC=
 
 exim_path = EXIM_PATH
+keep_environment = USER
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 0c95732..ccf7237 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0003
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 8faf1c6..12cd8db 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0004
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index de20203..b503b81 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0005
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 597c6ba..4cd84a2 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0006
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index e31fd4c..910c5a7 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0007
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 1a3ce39..de228d3 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0008
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index ce366fd..34dee6e 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0009
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 074928a..9bf862d 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0010
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 5386439..f1aa77a 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0011
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 7b07d27..7df08cb 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0012
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index bc266e5..61f0d57 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0013
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 qualify_domain = test.ex
index da0abb4..7f15c41 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0014
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 04dc46c..593c295 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0015
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index d687786..7001b97 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0016
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index c1b94cc..6e36a38 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0017
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 1eb1b08..6fbfb43 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0018
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 2ca5d58..5757c1c 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 2409
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 1182e6a..6672ccf 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0020
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 31cf2c6..c48c0e0 100644 (file)
@@ -4,6 +4,7 @@ SERVER=
 BR=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index e2ebe66..7a27427 100644 (file)
@@ -3,6 +3,7 @@
 SERVER=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 0883bff..b59a52f 100644 (file)
@@ -3,6 +3,7 @@
 LOG_SELECTOR=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 0d55784..ee60a32 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0024
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index a655d5f..6477950 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0025
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index f405879..2b1763f 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0026
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index b508a5b..f671831 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0027
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index cc0784b..6308f83 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0028
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index a4eb1b1..d65cf11 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0029
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index c7c5f08..89ced1f 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0030
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 0328320..2716b59 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0031
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 1648fd2..8368f15 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0032
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 9e95388..825126b 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0033
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index e5f7931..8dbe9ea 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0034
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 36ad12a..a8cd5c6 100644 (file)
@@ -4,6 +4,7 @@ SERVER=
 SUBMISSION_OPTIONS=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 0c50444..7d54acb 100644 (file)
@@ -3,6 +3,7 @@
 SERVER =
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 98ef4d3..56323db 100644 (file)
@@ -3,6 +3,7 @@
 FILTER_PREPEND_HOME=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 514af9e..b95b140 100644 (file)
@@ -5,6 +5,7 @@ DRATELIMIT=0/1h/per_byte/strict
 ACLRCPT=check_rcpt
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index f8ad999..5ca25b2 100644 (file)
@@ -3,6 +3,7 @@
 QDG=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 71f9038..88b63f1 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0040
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index ec10675..e0b820f 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0041
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index c65be6f..a4a81bf 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0042
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index eaa13a8..4db392c 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0043
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 963a55e..9e3f020 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0044
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 764a7f2..f8caf14 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0045
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index a64d3d9..4e7ff86 100644 (file)
@@ -3,6 +3,7 @@
 NL=FALSE
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index ff8aea1..5e7d27d 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0047
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index c15945f..86560d5 100644 (file)
@@ -3,6 +3,7 @@
 MESSAGE_LOGS = true
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 4dc39d8..0de91ee 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0049
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 4786924..f709ad6 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0050
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index af1e10a..34016ab 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0051
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 3b36daf..2e2c131 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0052
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 0e6a985..16702ff 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0053
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 13ca588..ee63ec2 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0054
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 0c64561..ce1b225 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0055
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index cc151dd..2994483 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0056
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 2b13c18..f2bc88f 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0057
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 4c34723..2b15f62 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0058
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 6c771f1..f591bf6 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0059
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index c17f003..8ce8d10 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0060
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index 5f85214..70d2183 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0061
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = ten-1.test.ex
 spool_directory = DIR/spool
index 3e3ee75..7e64746 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0062
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index e832aa8..be66b1a 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0063
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 5046f23..4feaed2 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0064
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 47b90b1..7d08f96 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0065
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 6271d5a..959b878 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0066
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index de9a0db..ac2af9c 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0067
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index f4239be..2de360f 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0068
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 3514a1e..23685e4 100644 (file)
@@ -3,6 +3,7 @@
 LOG_SELECTOR=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 1c439b7..4ffe366 100644 (file)
@@ -3,6 +3,7 @@
 HVH=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 00d4557..e18ab0b 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0071
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 69ad904..94c4dcb 100644 (file)
@@ -5,6 +5,7 @@ ONLY=
 RETURN=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index dfea2c2..f6c1824 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0073
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index c967ba2..ab30074 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0074
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index e4a6fdf..cb9d472 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0075
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 840fde7..bd3863c 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0076
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 18edff9..b213853 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0077
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 7955d10..1be361a 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0078
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 3279e52..f9be082 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0079
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index fc5f824..4bc2e3a 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0080
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 29a3586..4e2f494 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0081
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 7219daf..b4bfc76 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0082
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index e7b1a04..37c7bac 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0083
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 44e5763..b453099 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0084
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index efd5253..0a74e15 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0085
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index f512e31..256cc60 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0086
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 2e8200a..f59143e 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0087
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 13f0ffc..0c1d588 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0088
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 4b6bc65..ccb0283 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0089
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 735ea02..3612e8a 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0090
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 58bd6df..3dcc12b 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0091
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index e0c221b..8497dc0 100644 (file)
@@ -8,6 +8,7 @@ domainlist local_domains = test.ex : *.test.ex
 domainlist relay_domains = test.ex
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index e944815..0cdc58b 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0093
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 79825c7..b586dc4 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0094
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index ba3e7b8..fb79c9d 100644 (file)
@@ -4,6 +4,7 @@ ERT=
 QWM=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 074dc2f..5ef2ec2 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0096
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 3c71125..2ad1b5e 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0097
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 03f94ac..60402de 100644 (file)
@@ -3,6 +3,7 @@
 WMF=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 0b4c137..122856c 100644 (file)
@@ -3,6 +3,7 @@
 RETRY =
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index d9843d0..55cd947 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0100
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 3b421a7..05832fb 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0101
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index e9e7512..ac33f72 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0102
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 63311a2..9d40134 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0103
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 18ce0b0..6101f0c 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0104
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 3cc1a80..a676331 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0105
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index faaccd0..52130ed 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0106
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 72bc6c5..06e7b83 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0107
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index f8e5d0b..37c53de 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0108
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index ebc5329..38401bd 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0109
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 6337722..d8fb4a9 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0110
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 9a840e9..377a9a0 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0111
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 312baae..bb13322 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0112
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index a5bc653..a24c029 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0113
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 10cf42a..acaf05c 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0114
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index aaf04e5..ad4d469 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0115
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index e657b11..da70ac0 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0116
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index f80fc9a..f0bcd89 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0117
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 45b9f79..0223df0 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0118
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index f332532..74cd7ae 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0119
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 6ede1ee..ddba4d3 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0120
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 6c6f65d..3d5e847 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0121
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 8ed176f..bec8032 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0122
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index fc8ded6..250ac1d 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0123
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 8dff37e..5cc8038 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0124
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 2354796..9bc55c7 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0125
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 5b4bb9c..8a8474a 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0126
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index f3dbe76..33c72e3 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0127
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.ex
 spool_directory = DIR/spool
index f81392e..d0e8cc4 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0128
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 0fe7407..378a6b9 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0129
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index c6dfcc4..5871fc7 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0130
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 85aa125..4ca5af5 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0131
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index b018f2d..50bce79 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0132
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index c85cc8d..7150db7 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0133
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 8217278..c8f8227 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0134
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 549579f..913373d 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0135
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index b35b4e0..c6bd5f5 100644 (file)
@@ -3,6 +3,7 @@
 BRB=true
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 82714a3..b40c83c 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0137
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index a59fc8d..9de30ce 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0138
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index a5a315e..b1a243e 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0139
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index d44f11a..8ab406a 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0140
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index a9d2d2f..ddb05cd 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0141
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 86d9111..2e25d44 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0142
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index fd3bb29..a6dfbb6 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0143
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index d337a8e..3c5c4d0 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0144
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 qualify_domain = test.ex
index ab8cc66..f4f9659 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0145
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 qualify_domain = test.ex
index f2f0e26..a0f8a4c 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0146
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 qualify_domain = test.ex
index 643e86d..bf78500 100644 (file)
@@ -7,6 +7,7 @@ ABCD_XYZ = abcdxyz
 ABCD=abcd + ABCD_XYZ
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 qualify_domain = test.ex
index 6a87274..a01bbf2 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0148
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 qualify_domain = test.ex
index 33c022f..30c35b4 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0149
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 qualify_domain = test.ex
index fa4bac1..818f1a2 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0150
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 58aa30e..5c8565e 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0151
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 2804f66..f8ca251 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0152
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index c7fc79d..171d6f5 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0153
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 84ed47d..3e9006e 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0154
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index b51837c..3fe4bb3 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0155
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 3898114..e718552 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0156
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 6955601..674ed17 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0157
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 5af7471..e9001bc 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0158
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 59d3087..d5eb44a 100644 (file)
@@ -3,6 +3,7 @@
 SERVER=
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 68a5fe7..f1ab669 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0160
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 46175d9..3a5626a 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0161
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index b8bc6ae..d62d8a1 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0162
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 4b217ee..9239686 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0163
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 1d28066..c81cc61 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0164
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 03be27c..dd9ec9f 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0165
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 6d492d7..85a75fe 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0166
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 6339934..06b857e 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0167
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index ea10f12..a16aa98 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0168
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 4a42f0d..db212a2 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0169
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 735b7b2..227acdb 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0170
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 2c2d18e..37f4b5c 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0171
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 82d1fea..96567f2 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0172
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 6f8ded7..7fd9179 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0173
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index a3e1114..ece486e 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0174
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 2898683..838a073 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0175
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index cf5d41f..2b76446 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0176
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index ccf9611..3bc3ab0 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0177
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index aaa83f0..e931379 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0178
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index d3a6da6..14539be 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0179
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 663780b..29014f7 100644 (file)
@@ -3,6 +3,7 @@
 CSS=check_spool_space=100000000K
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index ab3bfdb..5e1624a 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0181
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index f76ae7f..ed75a6c 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0182
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 65643d4..6ca0ed0 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0183
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 9e43a38..95aaa14 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0184
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index d88d1e2..b17f72a 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0185
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 5aa2c70..8e88ab1 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0186
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index af570f0..6731b62 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0187
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 70eabdd..2385462 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0188
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index bc29d49..28831d6 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0189
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index e76cdbb..fb4fdc9 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0190
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 4585e39..04597e5 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0191
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 42fb603..da0a6ff 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0192
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 1cba850..dbc7ef6 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0193
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index e2c4160..548a915 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0194
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 75c19ca..4b479e6 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0195
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 096aa30..73a7114 100644 (file)
@@ -1,6 +1,7 @@
 # Exim test configuration 0196
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 primary_hostname = myhost.test.ex
 spool_directory = DIR/spool
index 32760b5..0ed1726 100644 (file)
@@ -4,6 +4,7 @@
 # and these settings.
 
 exim_path = EXIM_PATH
+keep_environment =
 host_lookup_order = bydns
 spool_directory = DIR/spool
 log_file_path = DIR/spool/log/%slog
index 3946f84..4cdb86a 100644 (file)
--