[exim-cvs] cvs commit: exim/exim-test/scripts/0000-Basic 000…

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Philip Hazel
Ημερομηνία:  
Προς: exim-cvs
Αντικείμενο: [exim-cvs] cvs commit: exim/exim-test/scripts/0000-Basic 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028
ph10 2006/02/07 10:54:51 GMT

  Added files:
    exim-test/scripts/0000-Basic 0001 0002 0003 0004 0005 0006 
                                 0007 0008 0009 0010 0011 0012 
                                 0013 0014 0015 0016 0017 0018 
                                 0019 0020 0021 0022 0023 0024 
                                 0025 0026 0027 0028 0029 0030 
                                 0031 0032 0033 0034 0035 0036 
                                 0037 0038 0039 0040 0041 0042 
                                 0043 0044 0045 0046 0047 0048 
                                 0049 0050 0051 0052 0053 0054 
                                 0055 0056 0057 0058 0059 0060 
                                 0061 0062 0063 0064 0065 0066 
                                 0067 0068 0069 0070 0071 0072 
                                 0073 0074 0075 0076 0077 0078 
                                 0079 0080 0081 0082 0083 0084 
                                 0085 0086 0087 0088 0089 0090 
                                 0091 0092 0093 0094 0095 0096 
                                 0097 0098 0099 0100 0101 0102 
                                 0103 0104 0105 0106 0107 0108 
                                 0109 0110 0111 0112 0113 0114 
                                 0115 0116 0117 0118 0119 0120 
                                 0121 0122 0123 0124 0125 0126 
                                 0127 0128 0129 0130 0131 0132 
                                 0133 0134 0135 0136 0137 0138 
                                 0139 0140 0141 0142 0143 0144 
                                 0145 0146 0147 0148 0149 0150 
                                 0151 0152 0153 0154 0155 0156 
                                 0157 0158 0159 0160 0161 0162 
                                 0163 0164 0165 0166 0167 0168 
                                 0169 0170 0171 0172 0173 0174 
                                 0175 0176 0177 0178 0179 0180 
                                 0181 0182 0183 0184 0185 0186 
                                 0187 0188 0189 0190 0191 0192 
                                 0193 0194 0195 0196 0197 0198 
                                 0199 0200 0201 0202 0203 0204 
                                 0205 0206 0207 0208 0209 0210 
                                 0211 0212 0213 0214 0215 0216 
                                 0217 0218 0219 0220 0221 0222 
                                 0223 0224 0225 0226 0227 0228 
                                 0229 0230 0231 0232 0233 0234 
                                 0235 0236 0237 0238 0239 0240 
                                 0241 0242 0243 0244 0245 0246 
                                 0247 0248 0249 0250 0251 0252 
                                 0253 0254 0255 0256 0257 0258 
                                 0259 0260 0261 0262 0263 0264 
                                 0265 0266 0267 0268 0269 0270 
                                 0271 0272 0273 0274 0275 0276 
                                 0277 0278 0279 0280 0281 0282 
                                 0283 0284 0285 0286 0287 0288 
                                 0289 0290 0291 0292 0293 0294 
                                 0295 0296 0297 0298 0299 0300 
                                 0301 0302 0303 0304 0305 0306 
                                 0307 0308 0309 0310 0311 0312 
                                 0313 0314 0315 0316 0317 0318 
                                 0319 0320 0321 0322 0323 0324 
                                 0325 0326 0327 0328 0329 0330 
                                 0331 0332 0333 0334 0335 0336 
                                 0337 0338 0339 0340 0341 0342 
                                 0343 0344 0345 0346 0347 0348 
                                 0349 0350 0351 0352 0353 0354 
                                 0355 0356 0357 0358 0359 0360 
                                 0361 0362 0363 0364 0365 0366 
                                 0367 0368 0369 0370 0371 0372 
                                 0373 0374 0375 0376 0377 0378 
                                 0379 0380 0381 0382 0383 0384 
                                 0385 0386 0387 0388 0389 0390 
                                 0391 0392 0393 0394 0395 0396 
                                 0397 0398 0399 0400 0401 0402 
                                 0403 0404 0405 0406 0407 0408 
                                 0409 0410 0411 0412 0413 0414 
                                 0415 0416 0417 0418 0419 0420 
                                 0421 0422 0423 0424 0425 0426 
                                 0427 0428 0429 0430 0431 0432 
                                 0433 0434 0435 0436 0437 0438 
                                 0439 0440 0441 0442 0443 0444 
                                 0445 0446 0447 0448 0449 0450 
                                 0451 0452 0453 0454 0455 0456 
                                 0457 0458 0459 0460 0461 0462 
                                 0463 0464 0465 0466 0467 0468 
                                 0469 0470 0471 0472 0473 0474 
                                 0475 0476 0477 0478 0479 0480 
                                 0481 0482 0483 0484 0485 0486 
                                 0487 0488 0489 0490 0491 0492 
                                 0493 0494 0495 0496 0497 0498 
                                 0499 0500 0501 0502 0503 0504 
                                 0505 0506 0507 0508 0509 0510 
                                 0511 0512 0513 0514 0515 0516 
                                 0517 0518 0519 0520 0521 0522 
                                 0523 0524 0525 0526 0527 0528 
    exim-test/scripts/1000-Basic-ipv6 1000 1001 1002 1003 1005 
                                      1006 1007 1008 REQUIRES 
    exim-test/scripts/2000-GnuTLS 2000 2001 2002 2003 2004 2005 
                                  2006 2007 2008 2009 2010 2011 
                                  2012 2013 2014 2015 2016 2017 
                                  2018 2019 2020 2021 2022 2023 
                                  2024 2025 2026 2027 2028 
                                  REQUIRES 
    exim-test/scripts/2100-OpenSSL 2100 2101 2102 2103 2104 2105 
                                   2106 2107 2108 2109 2110 2111 
                                   2112 2113 2114 2115 2116 2117 
                                   2118 2119 2120 2121 2122 2123 
                                   2124 2125 2126 2127 2128 2149 
                                   REQUIRES 
    exim-test/scripts/2200-dnsdb 2200 2201 REQUIRES 
    exim-test/scripts/2250-dnsdb-ipv6 2250 REQUIRES 
    exim-test/scripts/2300-DBM 2300 REQUIRES 
    exim-test/scripts/2400-cdb 2400 REQUIRES 
    exim-test/scripts/2500-dsearch 2500 2501 REQUIRES 
    exim-test/scripts/2600-SQLite 2600 REQUIRES 
    exim-test/scripts/3000-Perl 3000 REQUIRES 
    exim-test/scripts/3100-dlfunc 3100 REQUIRES 
    exim-test/scripts/3200-testdb 3200 3201 3202 3203 3204 3205 
                                  3206 3207 3208 3209 3210 3211 
                                  3212 3213 REQUIRES 
    exim-test/scripts/3300-crypteq 3300 REQUIRES 
    exim-test/scripts/3400-plaintext 3400 3401 3402 3403 3404 3405 
                                     3406 3407 3408 3409 3410 3411 
                                     3412 3413 3414 3415 REQUIRES 
    exim-test/scripts/3450-plaintext-GnuTLS 3450 3451 3452 3453 
                                            REQUIRES 
    exim-test/scripts/3460-plaintext-OpenSSL 3460 3461 3462 3463 
                                             REQUIRES 
    exim-test/scripts/3500-CRAM-MD5 3500 3501 REQUIRES 
    exim-test/scripts/3600-SPA 3600 REQUIRES 
    exim-test/scripts/4000-scanning 4000 REQUIRES 
    exim-test/scripts/4100-iconv 4100 REQUIRES 
    exim-test/scripts/4950-translate-ip 4950 REQUIRES 
    exim-test/scripts/5000-maildir 5000 5001 5002 5003 5004 5005 
                                   5006 REQUIRES 
    exim-test/scripts/5050-mbx 5050 REQUIRES 
    exim-test/scripts/5100-lmtp-transport 5100 5101 5102 5103 
                                          REQUIRES 
    exim-test/scripts/5200-queryprogram 5200 5201 5202 5203 5204 
                                        5205 5206 5207 5208 5209 
                                        REQUIRES 
    exim-test/scripts/5300-ipliteral 5300 5301 REQUIRES 
    exim-test/scripts/9000-LDAP 9000 9001 REQUIRES 
    exim-test/scripts/9100-MySQL 9100 
    exim-test/scripts/9200-PostgreSQL 9200 
    exim-test/scripts/9300-Cyrus-SASL 9300 REQUIRES 
    exim-test/scripts/9400-local_scan 9400 9401 9402 
    exim-test/scripts/9450-memory 9450 
    exim-test/scripts/9900-testing 9900 9901 9902 
  Log:
  Hopefully the final lot of test files.


  Revision  Changes    Path
  1.1       +29 -0     exim/exim-test/scripts/0000-Basic/0001 (new)
  1.1       +678 -0    exim/exim-test/scripts/0000-Basic/0002 (new)
  1.1       +101 -0    exim/exim-test/scripts/0000-Basic/0003 (new)
  1.1       +109 -0    exim/exim-test/scripts/0000-Basic/0004 (new)
  1.1       +34 -0     exim/exim-test/scripts/0000-Basic/0005 (new)
  1.1       +28 -0     exim/exim-test/scripts/0000-Basic/0006 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0007 (new)
  1.1       +23 -0     exim/exim-test/scripts/0000-Basic/0008 (new)
  1.1       +22 -0     exim/exim-test/scripts/0000-Basic/0009 (new)
  1.1       +20 -0     exim/exim-test/scripts/0000-Basic/0010 (new)
  1.1       +17 -0     exim/exim-test/scripts/0000-Basic/0011 (new)
  1.1       +14 -0     exim/exim-test/scripts/0000-Basic/0012 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0013 (new)
  1.1       +42 -0     exim/exim-test/scripts/0000-Basic/0014 (new)
  1.1       +50 -0     exim/exim-test/scripts/0000-Basic/0015 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0016 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0017 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0018 (new)
  1.1       +38 -0     exim/exim-test/scripts/0000-Basic/0019 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0020 (new)
  1.1       +50 -0     exim/exim-test/scripts/0000-Basic/0021 (new)
  1.1       +146 -0    exim/exim-test/scripts/0000-Basic/0022 (new)
  1.1       +333 -0    exim/exim-test/scripts/0000-Basic/0023 (new)
  1.1       +92 -0     exim/exim-test/scripts/0000-Basic/0024 (new)
  1.1       +16 -0     exim/exim-test/scripts/0000-Basic/0025 (new)
  1.1       +107 -0    exim/exim-test/scripts/0000-Basic/0026 (new)
  1.1       +53 -0     exim/exim-test/scripts/0000-Basic/0027 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0028 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0029 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0030 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0031 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0032 (new)
  1.1       +51 -0     exim/exim-test/scripts/0000-Basic/0033 (new)
  1.1       +87 -0     exim/exim-test/scripts/0000-Basic/0034 (new)
  1.1       +121 -0    exim/exim-test/scripts/0000-Basic/0035 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0036 (new)
  1.1       +174 -0    exim/exim-test/scripts/0000-Basic/0037 (new)
  1.1       +48 -0     exim/exim-test/scripts/0000-Basic/0038 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0039 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0040 (new)
  1.1       +14 -0     exim/exim-test/scripts/0000-Basic/0041 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0042 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0043 (new)
  1.1       +21 -0     exim/exim-test/scripts/0000-Basic/0044 (new)
  1.1       +31 -0     exim/exim-test/scripts/0000-Basic/0045 (new)
  1.1       +92 -0     exim/exim-test/scripts/0000-Basic/0046 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0047 (new)
  1.1       +16 -0     exim/exim-test/scripts/0000-Basic/0048 (new)
  1.1       +70 -0     exim/exim-test/scripts/0000-Basic/0049 (new)
  1.1       +75 -0     exim/exim-test/scripts/0000-Basic/0050 (new)
  1.1       +24 -0     exim/exim-test/scripts/0000-Basic/0051 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0052 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0053 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0054 (new)
  1.1       +33 -0     exim/exim-test/scripts/0000-Basic/0055 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0056 (new)
  1.1       +19 -0     exim/exim-test/scripts/0000-Basic/0057 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0058 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0059 (new)
  1.1       +66 -0     exim/exim-test/scripts/0000-Basic/0060 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0061 (new)
  1.1       +26 -0     exim/exim-test/scripts/0000-Basic/0062 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0063 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0064 (new)
  1.1       +58 -0     exim/exim-test/scripts/0000-Basic/0065 (new)
  1.1       +74 -0     exim/exim-test/scripts/0000-Basic/0066 (new)
  1.1       +95 -0     exim/exim-test/scripts/0000-Basic/0067 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0068 (new)
  1.1       +26 -0     exim/exim-test/scripts/0000-Basic/0069 (new)
  1.1       +60 -0     exim/exim-test/scripts/0000-Basic/0070 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0071 (new)
  1.1       +38 -0     exim/exim-test/scripts/0000-Basic/0072 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0073 (new)
  1.1       +20 -0     exim/exim-test/scripts/0000-Basic/0074 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0075 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0076 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0077 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0078 (new)
  1.1       +40 -0     exim/exim-test/scripts/0000-Basic/0079 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0080 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0081 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0082 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0083 (new)
  1.1       +2 -0      exim/exim-test/scripts/0000-Basic/0084 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0085 (new)
  1.1       +120 -0    exim/exim-test/scripts/0000-Basic/0086 (new)
  1.1       +62 -0     exim/exim-test/scripts/0000-Basic/0087 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0088 (new)
  1.1       +23 -0     exim/exim-test/scripts/0000-Basic/0089 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0090 (new)
  1.1       +33 -0     exim/exim-test/scripts/0000-Basic/0091 (new)
  1.1       +41 -0     exim/exim-test/scripts/0000-Basic/0092 (new)
  1.1       +27 -0     exim/exim-test/scripts/0000-Basic/0093 (new)
  1.1       +41 -0     exim/exim-test/scripts/0000-Basic/0094 (new)
  1.1       +35 -0     exim/exim-test/scripts/0000-Basic/0095 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0096 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0097 (new)
  1.1       +41 -0     exim/exim-test/scripts/0000-Basic/0098 (new)
  1.1       +41 -0     exim/exim-test/scripts/0000-Basic/0099 (new)
  1.1       +142 -0    exim/exim-test/scripts/0000-Basic/0100 (new)
  1.1       +92 -0     exim/exim-test/scripts/0000-Basic/0101 (new)
  1.1       +40 -0     exim/exim-test/scripts/0000-Basic/0102 (new)
  1.1       +16 -0     exim/exim-test/scripts/0000-Basic/0103 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0104 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0105 (new)
  1.1       +22 -0     exim/exim-test/scripts/0000-Basic/0106 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0107 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0108 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0109 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0110 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0111 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0112 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0113 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0114 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0115 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0116 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0117 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0118 (new)
  1.1       +25 -0     exim/exim-test/scripts/0000-Basic/0119 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0120 (new)
  1.1       +28 -0     exim/exim-test/scripts/0000-Basic/0121 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0122 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0123 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0124 (new)
  1.1       +208 -0    exim/exim-test/scripts/0000-Basic/0125 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0126 (new)
  1.1       +70 -0     exim/exim-test/scripts/0000-Basic/0127 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0128 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0129 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0130 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0131 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0132 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0133 (new)
  1.1       +33 -0     exim/exim-test/scripts/0000-Basic/0134 (new)
  1.1       +26 -0     exim/exim-test/scripts/0000-Basic/0135 (new)
  1.1       +21 -0     exim/exim-test/scripts/0000-Basic/0136 (new)
  1.1       +26 -0     exim/exim-test/scripts/0000-Basic/0137 (new)
  1.1       +21 -0     exim/exim-test/scripts/0000-Basic/0138 (new)
  1.1       +27 -0     exim/exim-test/scripts/0000-Basic/0139 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0140 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0141 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0142 (new)
  1.1       +23 -0     exim/exim-test/scripts/0000-Basic/0143 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0144 (new)
  1.1       +14 -0     exim/exim-test/scripts/0000-Basic/0145 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0146 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0147 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0148 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0149 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0150 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0151 (new)
  1.1       +41 -0     exim/exim-test/scripts/0000-Basic/0152 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0153 (new)
  1.1       +35 -0     exim/exim-test/scripts/0000-Basic/0154 (new)
  1.1       +35 -0     exim/exim-test/scripts/0000-Basic/0155 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0156 (new)
  1.1       +25 -0     exim/exim-test/scripts/0000-Basic/0157 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0158 (new)
  1.1       +81 -0     exim/exim-test/scripts/0000-Basic/0159 (new)
  1.1       +38 -0     exim/exim-test/scripts/0000-Basic/0160 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0161 (new)
  1.1       +354 -0    exim/exim-test/scripts/0000-Basic/0162 (new)
  1.1       +25 -0     exim/exim-test/scripts/0000-Basic/0163 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0164 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0165 (new)
  1.1       +2 -0      exim/exim-test/scripts/0000-Basic/0166 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0167 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0168 (new)
  1.1       +20 -0     exim/exim-test/scripts/0000-Basic/0169 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0170 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0171 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0172 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0173 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0174 (new)
  1.1       +25 -0     exim/exim-test/scripts/0000-Basic/0175 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0176 (new)
  1.1       +51 -0     exim/exim-test/scripts/0000-Basic/0177 (new)
  1.1       +20 -0     exim/exim-test/scripts/0000-Basic/0178 (new)
  1.1       +35 -0     exim/exim-test/scripts/0000-Basic/0179 (new)
  1.1       +33 -0     exim/exim-test/scripts/0000-Basic/0180 (new)
  1.1       +23 -0     exim/exim-test/scripts/0000-Basic/0181 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0182 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0183 (new)
  1.1       +208 -0    exim/exim-test/scripts/0000-Basic/0184 (new)
  1.1       +27 -0     exim/exim-test/scripts/0000-Basic/0185 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0186 (new)
  1.1       +23 -0     exim/exim-test/scripts/0000-Basic/0187 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0188 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0189 (new)
  1.1       +117 -0    exim/exim-test/scripts/0000-Basic/0190 (new)
  1.1       +22 -0     exim/exim-test/scripts/0000-Basic/0191 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0192 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0193 (new)
  1.1       +16 -0     exim/exim-test/scripts/0000-Basic/0194 (new)
  1.1       +25 -0     exim/exim-test/scripts/0000-Basic/0195 (new)
  1.1       +17 -0     exim/exim-test/scripts/0000-Basic/0196 (new)
  1.1       +19 -0     exim/exim-test/scripts/0000-Basic/0197 (new)
  1.1       +31 -0     exim/exim-test/scripts/0000-Basic/0198 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0199 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0200 (new)
  1.1       +21 -0     exim/exim-test/scripts/0000-Basic/0201 (new)
  1.1       +40 -0     exim/exim-test/scripts/0000-Basic/0202 (new)
  1.1       +30 -0     exim/exim-test/scripts/0000-Basic/0203 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0204 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0205 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0206 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0207 (new)
  1.1       +29 -0     exim/exim-test/scripts/0000-Basic/0208 (new)
  1.1       +72 -0     exim/exim-test/scripts/0000-Basic/0209 (new)
  1.1       +22 -0     exim/exim-test/scripts/0000-Basic/0210 (new)
  1.1       +41 -0     exim/exim-test/scripts/0000-Basic/0211 (new)
  1.1       +42 -0     exim/exim-test/scripts/0000-Basic/0212 (new)
  1.1       +20 -0     exim/exim-test/scripts/0000-Basic/0213 (new)
  1.1       +44 -0     exim/exim-test/scripts/0000-Basic/0214 (new)
  1.1       +192 -0    exim/exim-test/scripts/0000-Basic/0215 (new)
  1.1       +113 -0    exim/exim-test/scripts/0000-Basic/0216 (new)
  1.1       +319 -0    exim/exim-test/scripts/0000-Basic/0217 (new)
  1.1       +94 -0     exim/exim-test/scripts/0000-Basic/0218 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0219 (new)
  1.1       +43 -0     exim/exim-test/scripts/0000-Basic/0220 (new)
  1.1       +37 -0     exim/exim-test/scripts/0000-Basic/0221 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0222 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0223 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0224 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0225 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0226 (new)
  1.1       +233 -0    exim/exim-test/scripts/0000-Basic/0227 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0228 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0229 (new)
  1.1       +62 -0     exim/exim-test/scripts/0000-Basic/0230 (new)
  1.1       +29 -0     exim/exim-test/scripts/0000-Basic/0231 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0232 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0233 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0234 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0235 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0236 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0237 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0238 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0239 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0240 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0241 (new)
  1.1       +39 -0     exim/exim-test/scripts/0000-Basic/0242 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0243 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0244 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0245 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0246 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0247 (new)
  1.1       +186 -0    exim/exim-test/scripts/0000-Basic/0248 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0249 (new)
  1.1       +16 -0     exim/exim-test/scripts/0000-Basic/0250 (new)
  1.1       +29 -0     exim/exim-test/scripts/0000-Basic/0251 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0252 (new)
  1.1       +55 -0     exim/exim-test/scripts/0000-Basic/0253 (new)
  1.1       +28 -0     exim/exim-test/scripts/0000-Basic/0254 (new)
  1.1       +21 -0     exim/exim-test/scripts/0000-Basic/0255 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0256 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0257 (new)
  1.1       +44 -0     exim/exim-test/scripts/0000-Basic/0258 (new)
  1.1       +65 -0     exim/exim-test/scripts/0000-Basic/0259 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0260 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0261 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0262 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0263 (new)
  1.1       +39 -0     exim/exim-test/scripts/0000-Basic/0264 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0265 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0266 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0267 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0268 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0269 (new)
  1.1       +22 -0     exim/exim-test/scripts/0000-Basic/0270 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0271 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0272 (new)
  1.1       +19 -0     exim/exim-test/scripts/0000-Basic/0273 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0274 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0275 (new)
  1.1       +36 -0     exim/exim-test/scripts/0000-Basic/0276 (new)
  1.1       +16 -0     exim/exim-test/scripts/0000-Basic/0277 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0278 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0279 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0280 (new)
  1.1       +39 -0     exim/exim-test/scripts/0000-Basic/0281 (new)
  1.1       +46 -0     exim/exim-test/scripts/0000-Basic/0282 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0283 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0284 (new)
  1.1       +102 -0    exim/exim-test/scripts/0000-Basic/0285 (new)
  1.1       +153 -0    exim/exim-test/scripts/0000-Basic/0286 (new)
  1.1       +26 -0     exim/exim-test/scripts/0000-Basic/0287 (new)
  1.1       +26 -0     exim/exim-test/scripts/0000-Basic/0288 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0289 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0290 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0291 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0292 (new)
  1.1       +22 -0     exim/exim-test/scripts/0000-Basic/0293 (new)
  1.1       +44 -0     exim/exim-test/scripts/0000-Basic/0294 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0295 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0296 (new)
  1.1       +17 -0     exim/exim-test/scripts/0000-Basic/0297 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0298 (new)
  1.1       +32 -0     exim/exim-test/scripts/0000-Basic/0299 (new)
  1.1       +115 -0    exim/exim-test/scripts/0000-Basic/0300 (new)
  1.1       +54 -0     exim/exim-test/scripts/0000-Basic/0301 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0302 (new)
  1.1       +30 -0     exim/exim-test/scripts/0000-Basic/0303 (new)
  1.1       +34 -0     exim/exim-test/scripts/0000-Basic/0304 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0305 (new)
  1.1       +23 -0     exim/exim-test/scripts/0000-Basic/0306 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0307 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0308 (new)
  1.1       +25 -0     exim/exim-test/scripts/0000-Basic/0309 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0310 (new)
  1.1       +16 -0     exim/exim-test/scripts/0000-Basic/0311 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0312 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0313 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0314 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0315 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0316 (new)
  1.1       +19 -0     exim/exim-test/scripts/0000-Basic/0317 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0318 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0319 (new)
  1.1       +14 -0     exim/exim-test/scripts/0000-Basic/0320 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0321 (new)
  1.1       +169 -0    exim/exim-test/scripts/0000-Basic/0322 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0323 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0324 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0325 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0326 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0327 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0328 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0329 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0330 (new)
  1.1       +23 -0     exim/exim-test/scripts/0000-Basic/0331 (new)
  1.1       +36 -0     exim/exim-test/scripts/0000-Basic/0332 (new)
  1.1       +37 -0     exim/exim-test/scripts/0000-Basic/0333 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0334 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0335 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0336 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0337 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0338 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0339 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0340 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0341 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0342 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0343 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0344 (new)
  1.1       +17 -0     exim/exim-test/scripts/0000-Basic/0345 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0346 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0347 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0348 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0349 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0350 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0351 (new)
  1.1       +31 -0     exim/exim-test/scripts/0000-Basic/0352 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0353 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0354 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0355 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0356 (new)
  1.1       +49 -0     exim/exim-test/scripts/0000-Basic/0357 (new)
  1.1       +39 -0     exim/exim-test/scripts/0000-Basic/0358 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0359 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0360 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0361 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0362 (new)
  1.1       +21 -0     exim/exim-test/scripts/0000-Basic/0363 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0364 (new)
  1.1       +73 -0     exim/exim-test/scripts/0000-Basic/0365 (new)
  1.1       +14 -0     exim/exim-test/scripts/0000-Basic/0366 (new)
  1.1       +58 -0     exim/exim-test/scripts/0000-Basic/0367 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0368 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0369 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0370 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0371 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0372 (new)
  1.1       +57 -0     exim/exim-test/scripts/0000-Basic/0373 (new)
  1.1       +43 -0     exim/exim-test/scripts/0000-Basic/0374 (new)
  1.1       +89 -0     exim/exim-test/scripts/0000-Basic/0375 (new)
  1.1       +442 -0    exim/exim-test/scripts/0000-Basic/0376 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0377 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0378 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0379 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0380 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0381 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0382 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0383 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0384 (new)
  1.1       +55 -0     exim/exim-test/scripts/0000-Basic/0385 (new)
  1.1       +23 -0     exim/exim-test/scripts/0000-Basic/0386 (new)
  1.1       +42 -0     exim/exim-test/scripts/0000-Basic/0387 (new)
  1.1       +19 -0     exim/exim-test/scripts/0000-Basic/0388 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0389 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0390 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0391 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0392 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0393 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0394 (new)
  1.1       +88 -0     exim/exim-test/scripts/0000-Basic/0395 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0396 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0397 (new)
  1.1       +61 -0     exim/exim-test/scripts/0000-Basic/0398 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0399 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0400 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0401 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0402 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0403 (new)
  1.1       +155 -0    exim/exim-test/scripts/0000-Basic/0404 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0405 (new)
  1.1       +28 -0     exim/exim-test/scripts/0000-Basic/0406 (new)
  1.1       +25 -0     exim/exim-test/scripts/0000-Basic/0407 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0408 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0409 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0410 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0411 (new)
  1.1       +23 -0     exim/exim-test/scripts/0000-Basic/0412 (new)
  1.1       +42 -0     exim/exim-test/scripts/0000-Basic/0413 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0414 (new)
  1.1       +37 -0     exim/exim-test/scripts/0000-Basic/0415 (new)
  1.1       +49 -0     exim/exim-test/scripts/0000-Basic/0416 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0417 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0418 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0419 (new)
  1.1       +14 -0     exim/exim-test/scripts/0000-Basic/0420 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0421 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0422 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0423 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0424 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0425 (new)
  1.1       +17 -0     exim/exim-test/scripts/0000-Basic/0426 (new)
  1.1       +540 -0    exim/exim-test/scripts/0000-Basic/0427 (new)
  1.1       +87 -0     exim/exim-test/scripts/0000-Basic/0428 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0429 (new)
  1.1       +30 -0     exim/exim-test/scripts/0000-Basic/0430 (new)
  1.1       +45 -0     exim/exim-test/scripts/0000-Basic/0431 (new)
  1.1       +56 -0     exim/exim-test/scripts/0000-Basic/0432 (new)
  1.1       +21 -0     exim/exim-test/scripts/0000-Basic/0433 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0434 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0435 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0436 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0437 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0438 (new)
  1.1       +17 -0     exim/exim-test/scripts/0000-Basic/0439 (new)
  1.1       +45 -0     exim/exim-test/scripts/0000-Basic/0440 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0441 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0442 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0443 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0444 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0445 (new)
  1.1       +14 -0     exim/exim-test/scripts/0000-Basic/0446 (new)
  1.1       +33 -0     exim/exim-test/scripts/0000-Basic/0447 (new)
  1.1       +23 -0     exim/exim-test/scripts/0000-Basic/0448 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0449 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0450 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0451 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0452 (new)
  1.1       +26 -0     exim/exim-test/scripts/0000-Basic/0453 (new)
  1.1       +25 -0     exim/exim-test/scripts/0000-Basic/0454 (new)
  1.1       +9 -0      exim/exim-test/scripts/0000-Basic/0455 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0456 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0457 (new)
  1.1       +118 -0    exim/exim-test/scripts/0000-Basic/0458 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0459 (new)
  1.1       +46 -0     exim/exim-test/scripts/0000-Basic/0460 (new)
  1.1       +71 -0     exim/exim-test/scripts/0000-Basic/0461 (new)
  1.1       +43 -0     exim/exim-test/scripts/0000-Basic/0462 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0463 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0464 (new)
  1.1       +30 -0     exim/exim-test/scripts/0000-Basic/0465 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0466 (new)
  1.1       +31 -0     exim/exim-test/scripts/0000-Basic/0467 (new)
  1.1       +14 -0     exim/exim-test/scripts/0000-Basic/0468 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0469 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0470 (new)
  1.1       +166 -0    exim/exim-test/scripts/0000-Basic/0471 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0472 (new)
  1.1       +176 -0    exim/exim-test/scripts/0000-Basic/0473 (new)
  1.1       +49 -0     exim/exim-test/scripts/0000-Basic/0474 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0475 (new)
  1.1       +24 -0     exim/exim-test/scripts/0000-Basic/0476 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0477 (new)
  1.1       +13 -0     exim/exim-test/scripts/0000-Basic/0478 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0479 (new)
  1.1       +48 -0     exim/exim-test/scripts/0000-Basic/0480 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0481 (new)
  1.1       +24 -0     exim/exim-test/scripts/0000-Basic/0482 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0483 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0484 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0485 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0486 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0487 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0488 (new)
  1.1       +18 -0     exim/exim-test/scripts/0000-Basic/0489 (new)
  1.1       +19 -0     exim/exim-test/scripts/0000-Basic/0490 (new)
  1.1       +16 -0     exim/exim-test/scripts/0000-Basic/0491 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0492 (new)
  1.1       +176 -0    exim/exim-test/scripts/0000-Basic/0493 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0494 (new)
  1.1       +219 -0    exim/exim-test/scripts/0000-Basic/0495 (new)
  1.1       +12 -0     exim/exim-test/scripts/0000-Basic/0496 (new)
  1.1       +19 -0     exim/exim-test/scripts/0000-Basic/0497 (new)
  1.1       +39 -0     exim/exim-test/scripts/0000-Basic/0498 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0499 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0500 (new)
  1.1       +6 -0      exim/exim-test/scripts/0000-Basic/0501 (new)
  1.1       +25 -0     exim/exim-test/scripts/0000-Basic/0502 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0503 (new)
  1.1       +28 -0     exim/exim-test/scripts/0000-Basic/0504 (new)
  1.1       +30 -0     exim/exim-test/scripts/0000-Basic/0505 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0506 (new)
  1.1       +58 -0     exim/exim-test/scripts/0000-Basic/0507 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0508 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0509 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0510 (new)
  1.1       +68 -0     exim/exim-test/scripts/0000-Basic/0511 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0512 (new)
  1.1       +7 -0      exim/exim-test/scripts/0000-Basic/0513 (new)
  1.1       +11 -0     exim/exim-test/scripts/0000-Basic/0514 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0515 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0516 (new)
  1.1       +15 -0     exim/exim-test/scripts/0000-Basic/0517 (new)
  1.1       +96 -0     exim/exim-test/scripts/0000-Basic/0518 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0519 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0520 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0521 (new)
  1.1       +10 -0     exim/exim-test/scripts/0000-Basic/0522 (new)
  1.1       +3 -0      exim/exim-test/scripts/0000-Basic/0523 (new)
  1.1       +17 -0     exim/exim-test/scripts/0000-Basic/0524 (new)
  1.1       +26 -0     exim/exim-test/scripts/0000-Basic/0525 (new)
  1.1       +4 -0      exim/exim-test/scripts/0000-Basic/0526 (new)
  1.1       +19 -0     exim/exim-test/scripts/0000-Basic/0527 (new)
  1.1       +8 -0      exim/exim-test/scripts/0000-Basic/0528 (new)
  1.1       +7 -0      exim/exim-test/scripts/1000-Basic-ipv6/1000 (new)
  1.1       +67 -0     exim/exim-test/scripts/1000-Basic-ipv6/1001 (new)
  1.1       +7 -0      exim/exim-test/scripts/1000-Basic-ipv6/1002 (new)
  1.1       +30 -0     exim/exim-test/scripts/1000-Basic-ipv6/1003 (new)
  1.1       +7 -0      exim/exim-test/scripts/1000-Basic-ipv6/1005 (new)
  1.1       +27 -0     exim/exim-test/scripts/1000-Basic-ipv6/1006 (new)
  1.1       +28 -0     exim/exim-test/scripts/1000-Basic-ipv6/1007 (new)
  1.1       +28 -0     exim/exim-test/scripts/1000-Basic-ipv6/1008 (new)
  1.1       +1 -0      exim/exim-test/scripts/1000-Basic-ipv6/REQUIRES (new)
  1.1       +16 -0     exim/exim-test/scripts/2000-GnuTLS/2000 (new)
  1.1       +13 -0     exim/exim-test/scripts/2000-GnuTLS/2001 (new)
  1.1       +66 -0     exim/exim-test/scripts/2000-GnuTLS/2002 (new)
  1.1       +48 -0     exim/exim-test/scripts/2000-GnuTLS/2003 (new)
  1.1       +42 -0     exim/exim-test/scripts/2000-GnuTLS/2004 (new)
  1.1       +28 -0     exim/exim-test/scripts/2000-GnuTLS/2005 (new)
  1.1       +17 -0     exim/exim-test/scripts/2000-GnuTLS/2006 (new)
  1.1       +11 -0     exim/exim-test/scripts/2000-GnuTLS/2007 (new)
  1.1       +15 -0     exim/exim-test/scripts/2000-GnuTLS/2008 (new)
  1.1       +11 -0     exim/exim-test/scripts/2000-GnuTLS/2009 (new)
  1.1       +11 -0     exim/exim-test/scripts/2000-GnuTLS/2010 (new)
  1.1       +11 -0     exim/exim-test/scripts/2000-GnuTLS/2011 (new)
  1.1       +11 -0     exim/exim-test/scripts/2000-GnuTLS/2012 (new)
  1.1       +15 -0     exim/exim-test/scripts/2000-GnuTLS/2013 (new)
  1.1       +138 -0    exim/exim-test/scripts/2000-GnuTLS/2014 (new)
  1.1       +18 -0     exim/exim-test/scripts/2000-GnuTLS/2015 (new)
  1.1       +16 -0     exim/exim-test/scripts/2000-GnuTLS/2016 (new)
  1.1       +15 -0     exim/exim-test/scripts/2000-GnuTLS/2017 (new)
  1.1       +43 -0     exim/exim-test/scripts/2000-GnuTLS/2018 (new)
  1.1       +40 -0     exim/exim-test/scripts/2000-GnuTLS/2019 (new)
  1.1       +11 -0     exim/exim-test/scripts/2000-GnuTLS/2020 (new)
  1.1       +53 -0     exim/exim-test/scripts/2000-GnuTLS/2021 (new)
  1.1       +21 -0     exim/exim-test/scripts/2000-GnuTLS/2022 (new)
  1.1       +7 -0      exim/exim-test/scripts/2000-GnuTLS/2023 (new)
  1.1       +30 -0     exim/exim-test/scripts/2000-GnuTLS/2024 (new)
  1.1       +11 -0     exim/exim-test/scripts/2000-GnuTLS/2025 (new)
  1.1       +9 -0      exim/exim-test/scripts/2000-GnuTLS/2026 (new)
  1.1       +15 -0     exim/exim-test/scripts/2000-GnuTLS/2027 (new)
  1.1       +31 -0     exim/exim-test/scripts/2000-GnuTLS/2028 (new)
  1.1       +2 -0      exim/exim-test/scripts/2000-GnuTLS/REQUIRES (new)
  1.1       +10 -0     exim/exim-test/scripts/2100-OpenSSL/2100 (new)
  1.1       +12 -0     exim/exim-test/scripts/2100-OpenSSL/2101 (new)
  1.1       +65 -0     exim/exim-test/scripts/2100-OpenSSL/2102 (new)
  1.1       +47 -0     exim/exim-test/scripts/2100-OpenSSL/2103 (new)
  1.1       +41 -0     exim/exim-test/scripts/2100-OpenSSL/2104 (new)
  1.1       +27 -0     exim/exim-test/scripts/2100-OpenSSL/2105 (new)
  1.1       +16 -0     exim/exim-test/scripts/2100-OpenSSL/2106 (new)
  1.1       +10 -0     exim/exim-test/scripts/2100-OpenSSL/2107 (new)
  1.1       +14 -0     exim/exim-test/scripts/2100-OpenSSL/2108 (new)
  1.1       +10 -0     exim/exim-test/scripts/2100-OpenSSL/2109 (new)
  1.1       +10 -0     exim/exim-test/scripts/2100-OpenSSL/2110 (new)
  1.1       +10 -0     exim/exim-test/scripts/2100-OpenSSL/2111 (new)
  1.1       +10 -0     exim/exim-test/scripts/2100-OpenSSL/2112 (new)
  1.1       +14 -0     exim/exim-test/scripts/2100-OpenSSL/2113 (new)
  1.1       +137 -0    exim/exim-test/scripts/2100-OpenSSL/2114 (new)
  1.1       +17 -0     exim/exim-test/scripts/2100-OpenSSL/2115 (new)
  1.1       +15 -0     exim/exim-test/scripts/2100-OpenSSL/2116 (new)
  1.1       +14 -0     exim/exim-test/scripts/2100-OpenSSL/2117 (new)
  1.1       +42 -0     exim/exim-test/scripts/2100-OpenSSL/2118 (new)
  1.1       +39 -0     exim/exim-test/scripts/2100-OpenSSL/2119 (new)
  1.1       +10 -0     exim/exim-test/scripts/2100-OpenSSL/2120 (new)
  1.1       +52 -0     exim/exim-test/scripts/2100-OpenSSL/2121 (new)
  1.1       +20 -0     exim/exim-test/scripts/2100-OpenSSL/2122 (new)
  1.1       +6 -0      exim/exim-test/scripts/2100-OpenSSL/2123 (new)
  1.1       +29 -0     exim/exim-test/scripts/2100-OpenSSL/2124 (new)
  1.1       +10 -0     exim/exim-test/scripts/2100-OpenSSL/2125 (new)
  1.1       +8 -0      exim/exim-test/scripts/2100-OpenSSL/2126 (new)
  1.1       +14 -0     exim/exim-test/scripts/2100-OpenSSL/2127 (new)
  1.1       +30 -0     exim/exim-test/scripts/2100-OpenSSL/2128 (new)
  1.1       +11 -0     exim/exim-test/scripts/2100-OpenSSL/2149 (new)
  1.1       +2 -0      exim/exim-test/scripts/2100-OpenSSL/REQUIRES (new)
  1.1       +41 -0     exim/exim-test/scripts/2200-dnsdb/2200 (new)
  1.1       +6 -0      exim/exim-test/scripts/2200-dnsdb/2201 (new)
  1.1       +1 -0      exim/exim-test/scripts/2200-dnsdb/REQUIRES (new)
  1.1       +6 -0      exim/exim-test/scripts/2250-dnsdb-ipv6/2250 (new)
  1.1       +2 -0      exim/exim-test/scripts/2250-dnsdb-ipv6/REQUIRES (new)
  1.1       +34 -0     exim/exim-test/scripts/2300-DBM/2300 (new)
  1.1       +1 -0      exim/exim-test/scripts/2300-DBM/REQUIRES (new)
  1.1       +11 -0     exim/exim-test/scripts/2400-cdb/2400 (new)
  1.1       +1 -0      exim/exim-test/scripts/2400-cdb/REQUIRES (new)
  1.1       +6 -0      exim/exim-test/scripts/2500-dsearch/2500 (new)
  1.1       +4 -0      exim/exim-test/scripts/2500-dsearch/2501 (new)
  1.1       +1 -0      exim/exim-test/scripts/2500-dsearch/REQUIRES (new)
  1.1       +32 -0     exim/exim-test/scripts/2600-SQLite/2600 (new)
  1.1       +1 -0      exim/exim-test/scripts/2600-SQLite/REQUIRES (new)
  1.1       +59 -0     exim/exim-test/scripts/3000-Perl/3000 (new)
  1.1       +1 -0      exim/exim-test/scripts/3000-Perl/REQUIRES (new)
  1.1       +7 -0      exim/exim-test/scripts/3100-dlfunc/3100 (new)
  1.1       +1 -0      exim/exim-test/scripts/3100-dlfunc/REQUIRES (new)
  1.1       +6 -0      exim/exim-test/scripts/3200-testdb/3200 (new)
  1.1       +5 -0      exim/exim-test/scripts/3200-testdb/3201 (new)
  1.1       +16 -0     exim/exim-test/scripts/3200-testdb/3202 (new)
  1.1       +4 -0      exim/exim-test/scripts/3200-testdb/3203 (new)
  1.1       +5 -0      exim/exim-test/scripts/3200-testdb/3204 (new)
  1.1       +11 -0     exim/exim-test/scripts/3200-testdb/3205 (new)
  1.1       +8 -0      exim/exim-test/scripts/3200-testdb/3206 (new)
  1.1       +5 -0      exim/exim-test/scripts/3200-testdb/3207 (new)
  1.1       +15 -0     exim/exim-test/scripts/3200-testdb/3208 (new)
  1.1       +6 -0      exim/exim-test/scripts/3200-testdb/3209 (new)
  1.1       +4 -0      exim/exim-test/scripts/3200-testdb/3210 (new)
  1.1       +16 -0     exim/exim-test/scripts/3200-testdb/3211 (new)
  1.1       +16 -0     exim/exim-test/scripts/3200-testdb/3212 (new)
  1.1       +8 -0      exim/exim-test/scripts/3200-testdb/3213 (new)
  1.1       +1 -0      exim/exim-test/scripts/3200-testdb/REQUIRES (new)
  1.1       +34 -0     exim/exim-test/scripts/3300-crypteq/3300 (new)
  1.1       +1 -0      exim/exim-test/scripts/3300-crypteq/REQUIRES (new)
  1.1       +218 -0    exim/exim-test/scripts/3400-plaintext/3400 (new)
  1.1       +141 -0    exim/exim-test/scripts/3400-plaintext/3401 (new)
  1.1       +13 -0     exim/exim-test/scripts/3400-plaintext/3402 (new)
  1.1       +13 -0     exim/exim-test/scripts/3400-plaintext/3403 (new)
  1.1       +73 -0     exim/exim-test/scripts/3400-plaintext/3404 (new)
  1.1       +47 -0     exim/exim-test/scripts/3400-plaintext/3405 (new)
  1.1       +21 -0     exim/exim-test/scripts/3400-plaintext/3406 (new)
  1.1       +9 -0      exim/exim-test/scripts/3400-plaintext/3407 (new)
  1.1       +23 -0     exim/exim-test/scripts/3400-plaintext/3408 (new)
  1.1       +15 -0     exim/exim-test/scripts/3400-plaintext/3409 (new)
  1.1       +30 -0     exim/exim-test/scripts/3400-plaintext/3410 (new)
  1.1       +22 -0     exim/exim-test/scripts/3400-plaintext/3411 (new)
  1.1       +24 -0     exim/exim-test/scripts/3400-plaintext/3412 (new)
  1.1       +10 -0     exim/exim-test/scripts/3400-plaintext/3413 (new)
  1.1       +38 -0     exim/exim-test/scripts/3400-plaintext/3414 (new)
  1.1       +127 -0    exim/exim-test/scripts/3400-plaintext/3415 (new)
  1.1       +1 -0      exim/exim-test/scripts/3400-plaintext/REQUIRES (new)
  1.1       +43 -0     exim/exim-test/scripts/3450-plaintext-GnuTLS/3450 (new)
  1.1       +15 -0     exim/exim-test/scripts/3450-plaintext-GnuTLS/3451 (new)
  1.1       +15 -0     exim/exim-test/scripts/3450-plaintext-GnuTLS/3452 (new)
  1.1       +44 -0     exim/exim-test/scripts/3450-plaintext-GnuTLS/3453 (new)
  1.1       +3 -0      exim/exim-test/scripts/3450-plaintext-GnuTLS/REQUIRES (new)
  1.1       +42 -0     exim/exim-test/scripts/3460-plaintext-OpenSSL/3460 (new)
  1.1       +14 -0     exim/exim-test/scripts/3460-plaintext-OpenSSL/3461 (new)
  1.1       +14 -0     exim/exim-test/scripts/3460-plaintext-OpenSSL/3462 (new)
  1.1       +43 -0     exim/exim-test/scripts/3460-plaintext-OpenSSL/3463 (new)
  1.1       +3 -0      exim/exim-test/scripts/3460-plaintext-OpenSSL/REQUIRES (new)
  1.1       +35 -0     exim/exim-test/scripts/3500-CRAM-MD5/3500 (new)
  1.1       +28 -0     exim/exim-test/scripts/3500-CRAM-MD5/3501 (new)
  1.1       +1 -0      exim/exim-test/scripts/3500-CRAM-MD5/REQUIRES (new)
  1.1       +45 -0     exim/exim-test/scripts/3600-SPA/3600 (new)
  1.1       +2 -0      exim/exim-test/scripts/3600-SPA/REQUIRES (new)
  1.1       +202 -0    exim/exim-test/scripts/4000-scanning/4000 (new)
  1.1       +3 -0      exim/exim-test/scripts/4000-scanning/REQUIRES (new)
  1.1       +9 -0      exim/exim-test/scripts/4100-iconv/4100 (new)
  1.1       +1 -0      exim/exim-test/scripts/4100-iconv/REQUIRES (new)
  1.1       +11 -0     exim/exim-test/scripts/4950-translate-ip/4950 (new)
  1.1       +1 -0      exim/exim-test/scripts/4950-translate-ip/REQUIRES (new)
  1.1       +58 -0     exim/exim-test/scripts/5000-maildir/5000 (new)
  1.1       +9 -0      exim/exim-test/scripts/5000-maildir/5001 (new)
  1.1       +41 -0     exim/exim-test/scripts/5000-maildir/5002 (new)
  1.1       +71 -0     exim/exim-test/scripts/5000-maildir/5003 (new)
  1.1       +4 -0      exim/exim-test/scripts/5000-maildir/5004 (new)
  1.1       +21 -0     exim/exim-test/scripts/5000-maildir/5005 (new)
  1.1       +5 -0      exim/exim-test/scripts/5000-maildir/5006 (new)
  1.1       +1 -0      exim/exim-test/scripts/5000-maildir/REQUIRES (new)
  1.1       +31 -0     exim/exim-test/scripts/5050-mbx/5050 (new)
  1.1       +1 -0      exim/exim-test/scripts/5050-mbx/REQUIRES (new)
  1.1       +39 -0     exim/exim-test/scripts/5100-lmtp-transport/5100 (new)
  1.1       +8 -0      exim/exim-test/scripts/5100-lmtp-transport/5101 (new)
  1.1       +77 -0     exim/exim-test/scripts/5100-lmtp-transport/5102 (new)
  1.1       +8 -0      exim/exim-test/scripts/5100-lmtp-transport/5103 (new)
  1.1       +1 -0      exim/exim-test/scripts/5100-lmtp-transport/REQUIRES (new)
  1.1       +4 -0      exim/exim-test/scripts/5200-queryprogram/5200 (new)
  1.1       +16 -0     exim/exim-test/scripts/5200-queryprogram/5201 (new)
  1.1       +9 -0      exim/exim-test/scripts/5200-queryprogram/5202 (new)
  1.1       +5 -0      exim/exim-test/scripts/5200-queryprogram/5203 (new)
  1.1       +28 -0     exim/exim-test/scripts/5200-queryprogram/5204 (new)
  1.1       +4 -0      exim/exim-test/scripts/5200-queryprogram/5205 (new)
  1.1       +4 -0      exim/exim-test/scripts/5200-queryprogram/5206 (new)
  1.1       +4 -0      exim/exim-test/scripts/5200-queryprogram/5207 (new)
  1.1       +3 -0      exim/exim-test/scripts/5200-queryprogram/5208 (new)
  1.1       +4 -0      exim/exim-test/scripts/5200-queryprogram/5209 (new)
  1.1       +1 -0      exim/exim-test/scripts/5200-queryprogram/REQUIRES (new)
  1.1       +23 -0     exim/exim-test/scripts/5300-ipliteral/5300 (new)
  1.1       +14 -0     exim/exim-test/scripts/5300-ipliteral/5301 (new)
  1.1       +1 -0      exim/exim-test/scripts/5300-ipliteral/REQUIRES (new)
  1.1       +175 -0    exim/exim-test/scripts/9000-LDAP/9000 (new)
  1.1       +3 -0      exim/exim-test/scripts/9000-LDAP/9001 (new)
  1.1       +1 -0      exim/exim-test/scripts/9000-LDAP/REQUIRES (new)
  1.1       +22 -0     exim/exim-test/scripts/9100-MySQL/9100 (new)
  1.1       +25 -0     exim/exim-test/scripts/9200-PostgreSQL/9200 (new)
  1.1       +22 -0     exim/exim-test/scripts/9300-Cyrus-SASL/9300 (new)
  1.1       +1 -0      exim/exim-test/scripts/9300-Cyrus-SASL/REQUIRES (new)
  1.1       +360 -0    exim/exim-test/scripts/9400-local_scan/9400 (new)
  1.1       +14 -0     exim/exim-test/scripts/9400-local_scan/9401 (new)
  1.1       +36 -0     exim/exim-test/scripts/9400-local_scan/9402 (new)
  1.1       +3 -0      exim/exim-test/scripts/9450-memory/9450 (new)
  1.1       +64 -0     exim/exim-test/scripts/9900-testing/9900 (new)
  1.1       +26 -0     exim/exim-test/scripts/9900-testing/9901 (new)
  1.1       +15 -0     exim/exim-test/scripts/9900-testing/9902 (new)


Index: 0001
====================================================================
# Basic configuration setting

# Check that Exim can handle settings of all the configuration options that
# are not dependent on optional features in the binary. This catches out error
# in putting new options in the wrong order. Well, sometimes it does. We get
# it to print out a sample set of configuration variables.

  exim -bP accept_8bitmime \
           bounce_message_file \
           callout_domain_negative_expire \
           daemon_smtp_ports \
           envelope_to_remove \
           finduser_retries \
           gecos_name \
           headers_charset \
           ignore_bounce_errors_after \
           keep_malformed \
           local_from_check \
           max_username_length \
           never_users \
           percent_hack_domains \
           qualify_domain \
           receive_timeout \
           sender_unqualified_hosts \
           tcp_nodelay \
           trusted_users \ 
           unknown_login \
           warn_message_file
  ****


Index: 0002
====================================================================
# Common string expansions
#
# This is the main string expansion test that tests those expansions that will
# be present in the basic Exim binary which we require in order to run these
# tests at all. Specialized expansion tests also exist for optional features
# in other test scripts.

exim -be

# These expansions can test variables in the configuration, but as there
# is no message being processed, there is no message-related data. But
# that of course gets tested in plenty of other places.

# Some fixed variables

exim_path: $exim_path
primary_hostname: $primary_hostname
primary_hostname: ${primary_hostname}
qualify_domain: $qualify_domain
bounce_return_size_limit: ${bounce_return_size_limit}
spool_directory: $spool_directory
unknown: ${unknown}
h_subject: $h_subject:(should be empty)
h_subject:$h_subject (should be empty)
header in curlies: ${header_subject:} (should fail)

# \$message_headers should be empty
message_headers: >$message_headers<

  # Continuation
  x\
  y
  x\
               y


# Overlong names and overbig numbers

+$aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+${aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
+$11111111111111111111111111111111111
+${11111111111111111111111111111111111}

# Operators

addrss: ${address:local-part@???}
addrss: ${address:Exim Person <local-part@???> (that's me)}
domain: ${domain:local-part@???}
domain: ${domain:Exim Person <local-part@???> (that's me)}
escape: ${escape:B7·F2ò}
eval: ${eval:1+1}
eval: ${eval:1+2*3}
eval: ${eval:(1+2)*3}
eval: ${eval:3/2*4}
eval: ${eval:3*4/2}
eval: ${eval:42}
eval: ${eval:}
eval: ${eval:-2}
eval: ${eval:-2 - -3}
eval: ${eval:-2 - (-3)}
eval: ${eval:-2 - (-3}
eval: ${eval:-2 - -3)}
eval: ${eval:-2 --3}
eval: ${eval:-2 -+3}
eval: ${eval:-2 -+-3}
eval: ${eval:(2*(1+1))/2 + 40K}
eval: ${eval:077}
eval: ${eval:08}
eval10: ${eval10:077}
eval10: ${eval10:08}
expand: \$primary_hostname ${expand:\$primary_hostname}
hash: ${hash_3:monty} ${hash_5:monty} ${hash_4_62:monty python}
hash: ${hash_3:abc}X ${hash_3:ab}X ${hash_3:a}X ${hash_3:}X
hex2b64:${hex2b64:12345678}
hex2b64:${hex2b64:abcdef}
hex2b64:${hex2b64:ABCDEF}
hex2b64:${hex2b64:1a2b3c4d5e6f}
hex2b64:${hex2b64:1a2b3c4d5e6}
hex2b64:${hex2b64:1a2b3c4d5e6g}
hex2b64:${hex2b64:${md5:the quick brown fox}}
hex2b64:${hex2b64:${sha1:the quick brown fox}}

The base62 operator is actually a base36 operator in the Darwin and Cygwin
environments. Write cunning tests that produce the same output in both cases,
while doing a reasonable check.

  base62:  ${if or {\
                   {eq {${base62:12345}}{0003D7}}\
                   {eq {${base62:12345}}{0009IX}}\
                   }{OK}{NOT OK}} 
  base62d: ${if or {\
                   {eq {${base62d:0003D7}}{12345}}\
                   {eq {${base62d:0009IX}}{12345}}\
                   }{OK}{NOT OK}} 
  base62d: ${if or {\
                   {eq {${base62d:3D7}}{12345}}\
                   {eq {${base62d:9IX}}{12345}}\
                   }{OK}{NOT OK}} 
  base62 error: ${base62:12345x}
  base62d error:${base62d:0003D7.}


  hmac:   ${hmac{md5}{somesecret}{mail.example.com 2002-10-17 11:30:59}}
  hmac:   ${hmac{sha1}{somesecret}{mail.example.com 2002-10-17 11:30:59}}
  md5:    ${md5:the quick brown fox jumps over the lazy dog}
  sha1:   ${sha1:}
  sha1:   ${sha1:abc}
  mask:   ${mask:192.168.10.206/28}
  mask:   ${mask:192.168.10.206/32}
  mask:   ${mask:192.168.10.206/33}
  mask:   ${mask:192.168.10.206/0}
  mask:   ${mask:192.168.10.206}
  mask:   ${mask:a.b.c.d}
  nhash:  ${nhash_24:monty} ${nhash_8_63:monty python}
  lc/uc:  ${lc:The Quick} ${uc: Brown Fox}
  length: ${length_10:The quick brown fox} ${l_10:abc}
  lclpt:  ${local_part:local-part@???}
  lclpt:  ${local_part:Exim Person <local-part@???> (that's me)}
  quote:  ${quote:aZ09_.-Q} ${quote:ab*cd} ${quote:ab\cd"ef}
  quote:  ${quote:nl(\n)}
  quote:  ${quote:cr(\r)}
  quote:  ${quote:tab(\t)}
  quote:  ${quote:xff(\xff)}
  quote:  Empty>${quote:}<
  quote_local_part: ${quote_local_part:abcd}
  quote_local_part: ${quote_local_part:O'Reilly}
  quote_local_part: ${quote_local_part:a space}
  quote_local_part: ${quote_local_part:.something}
  quote_local_part: ${quote_local_part:something.}
  quote_local_part: ${quote_local_part:joe.bloggs}
  quote_local_part: ${quote_local_part:a!b}
  quote_local_part: ${quote_local_part:x@y}
  quote_local_part: ${quote_local_part:ab*cd}
  quote_local_part: ${quote_local_part:x:y}
  quote_local_part: ${quote_local_part:ab\cd"ef}
  quote_local_part: ${quote_local_part:}
  rxquote:${rxquote:aZ09_,-Q} ${rxquote:ab*cd} ${rxquote:ab\cd"ef}
  substr: ${substr_3_2:rhubarb} ${s_-5_2:1234567} ${s_-5_2:12} ${s_-3_2:12}
  substr: ${s_3:rhubarb} ${s_-2:rhubarb}
  substr: ${s_1:}
  substr: ${substr_10:abc}
  str2b64:${str2b64:abcd}
  str2b64:${str2b64:The quick brown \n fox}
  strlen: ${strlen:}
  strlen: ${strlen:a}
  strlen: ${strlen:abcdefgh}
  time_interval: ${time_interval:0}
  time_interval: ${time_interval:44}
  time_interval: ${time_interval:999999}
  time_interval: ${time_interval:-1}
  time_interval: ${time_interval:rhubarb}


# stat is a bit tricky, but some of the fields of the aux-var directory
# should be the same on all systems

stat: ${extract{mode}{${stat:DIR/aux-var}}}
stat: ${extract{smode}{${stat:DIR/aux-var}}}
stat: ${stat:/a/non/existent/file}

# "Operators" that have expanded arguments

hash: ${hash{3}{monty}} ${hash{5}{monty}} ${hash{4}{62}{monty python}}
hash: ${hash{3}{abc}}X ${hash{3}{ab}}X ${hash{3}{a}}X ${hash{3}{}}X
nhash: ${nhash{24}{monty}} ${nhash{8}{63}{monty python}}
length: ${length{10}{The quick brown fox}} ${length{10}{abc}}
substr: ${substr{3}{2}{rhubarb}} ${substr{-5}{2}{1234567}} ${substr{-5}{2}{12}} ${substr{-3}{2}{12}}
substr: ${substr{${if eq{1}{1}{-8}}}{${if eq{1}{0}{25}{1}}}{abcde}}

# Error forms

${hash{one}}
${hash{nonnumber}{abcd}}
${hash{3}{2}{4}{abcd}}
${substr{-3}{-2}{abcd}}

# Skipped operators

  addrss: ${if eq {1}{2}{${address:invalid}}{NO}}
  domain: ${if eq {1}{2}{${domain:invalid}}{NO}}
  escape: ${if eq {1}{2}{${escape:invalid}}{NO}}
  expand: ${if eq {1}{2}{\$primary_hostname ${expand:\$invalid}}{NO}}
  hash:   ${if eq {1}{2}{${hash_3:invalid}}{NO}}
  md5:    ${if eq {1}{2}{${md5:invalid}}{NO}}
  mask:   ${if eq {1}{2}{${mask:invalid}}{NO}}


# Conditions

  2=2:    ${if ={2}{2}{y}{n}}
  2==2:   ${if =={2}{2}{y}{n}}
  3=2:    ${if ={3}{2}{y}{n}}
  2==3:   ${if =={2}{3}{y}{n}}
  !2=2:   ${if !={2}{2}{y}{n}}
  !2==2:  ${if !=={2}{2}{y}{n}}
  !3=2:   ${if !={3}{2}{y}{n}}
  !2==3:  ${if !=={2}{3}{y}{n}}
  2>3:    ${if >{2}{3}{y}{n}}
  3>3:    ${if >{3}{3}{y}{n}}
  4>3:    ${if >{4}{3}{y}{n}}
  2>=3:   ${if >={2}{3}{y}{n}}
  3>=3:   ${if >={3}{3}{y}{n}}
  4>=3:   ${if >={4}{3}{y}{n}}
  2<3:    ${if <{2}{3}{y}{n}}
  3<3:    ${if <{3}{3}{y}{n}}
  4<3:    ${if <{4}{3}{y}{n}}
  2<=3:   ${if <={2}{3}{y}{n}}
  3<=3:   ${if <={3}{3}{y}{n}}
  4<=3:   ${if <={4}{3}{y}{n}}
  5<=3:   ${if <={ 5 } { 3 } {y}{n}}


  5>3k:   ${if >{5 } {3k }{y}{n}}
  5>3m:   ${if >{5 } {3m }{y}{n}}
  5>3z:   ${if >{5 } {3z }{y}{n}}
  5>a:    ${if >{ 5 } {a}{y}{n}}


def:y ${if def:tod_log{y}{n}}
def:n ${if def:host{y}{n}}
def:f ${if def:post{y}{n}}
def:h_f ${if def:h_xxx {y}{n}}
def:h_f ${if def:h_xxx:{y}{n}}
def:d: ${if def:tod_log:{y}{n}}

exists: ${if exists{/etc/passwd}{y}{n}}
exists: ${if exists{/doesnt}{y}{n}}

  eq:     ${if eq{abc}{abc}{y}{n}}
  eq:     ${if eq{abc}{xyz}{y}{n}}
  !eq:    ${if !eq{abc}{abc}{y}{n}}
  !eq:    ${if !eq{abc}{xyz}{y}{n}}


  eqi:    ${if eqi{abc}{abc}{y}{n}}
  eqi:    ${if eqi{abc}{ABC}{y}{n}}
  eqi:    ${if eqi{abc}{xyz}{y}{n}}
  !eqi:   ${if !eqi{abc}{abc}{y}{n}}
  !eqi:   ${if !eqi{abc}{aBc}{y}{n}}
  !eqi:   ${if !eqi{abc}{xyz}{y}{n}}


  lt:     ${if lt{ABC}{abc}{y}{n}}
  lti:    ${if lti{ABC}{abc}{y}{n}}
  le:     ${if le{ABC}{abc}{y}{n}}
  lei:    ${if lei{ABC}{abc}{y}{n}}
  gt:     ${if gt{ABC}{abc}{y}{n}}
  gti:    ${if gti{ABC}{abc}{y}{n}}
  ge:     ${if ge{ABC}{abc}{y}{n}}
  gei:    ${if gei{ABC}{abc}{y}{n}}


  isip:   ${if isip {1.2.3.4}{y}{n}}  1.2.3.4
  isip4:  ${if isip4{1.2.3.4}{y}{n}}  1.2.3.4
  isip6:  ${if isip6{1.2.3.4}{y}{n}}  1.2.3.4
  isip:   ${if isip {1:2:3:4}{y}{n}}  1:2:3:4
  isip4:  ${if isip4{1:2:3:4}{y}{n}}  1:2:3:4
  isip6:  ${if isip6{1:2:3:4}{y}{n}}  1:2:3:4
  isip:   ${if isip {::1}{y}{n}}      ::1
  isip4:  ${if isip4{::1}{y}{n}}      ::1
  isip6:  ${if isip6{::1}{y}{n}}      ::1
  isip:   ${if isip {fe80::a00:20ff:fe86:a061}{y}{n}}  fe80::a00:20ff:fe86:a061
  isip4:  ${if isip4{fe80::a00:20ff:fe86:a061}{y}{n}}  fe80::a00:20ff:fe86:a061
  isip6:  ${if isip6{fe80::a00:20ff:fe86:a061}{y}{n}}  fe80::a00:20ff:fe86:a061
  isip:   ${if isip {rhubarb}{y}{n}}  rhubarb
  isip4:  ${if isip4{rhubarb}{y}{n}}  rhubarb
  isip6:  ${if isip6{rhubarb}{y}{n}}  rhubarb


match: ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
match: ${if match{abcd}{^\N([ab]+)(\w+)$\N}{$2$1}fail}
match: ${if match{abcd}{^([ab]+)(\\w+)\$}{$2$1}fail}
match: ${if match{wxyz}{^([ab]+)(\\w+)\$}{$2$1}fail}
match: ${if match{abcd}{^([ab]+)(\\w+)\$}{$2[${if match{xyz}{(.*)}{$1}fail}]$1}fail}

  match_domain:    ${if match_domain{a.b.c}{x.y.z:a.b.c:p.q.r}{yes}{no}}
  match_domain:    ${if match_domain{a.b.c}{x.y.z:p.q.r}{yes}{no}}
  match_domain:    ${if match_domain{5.aa.bb}{+dlist}{yes}{no}}
  match_domain:    ${if match_domain{xxxyz}{+dlist}{yes}{no}}
  match_domain:    ${if match_domain{xyz}{+dlist}{yes}{no}}


match_address: ${if match_address{x@???}{p@q:*@y.z}{yes}{no}}
match_address: ${if match_address{x@???}{p@q:x@*.z}{yes}{no}}

match_local_part:${if match_local_part{jo}{jack:jill:jo:john}{yes}{no}}
match_local_part:${if match_local_part{jo}{\N^\w\N}{yes}{no}}

  match_ip:        01 ${if match_ip{1.2.3.4}{4.5.6.7:1.2.3.4}}
  match_ip:        02 ${if match_ip{1.2.3.4}{4.5.6.7:1.2.3.6}}
  match_ip:        03 ${if match_ip{1.2.3.4}{4.5.6.7:1.2.3.6/24}}
  match_ip:        04 ${if match_ip{1.2.3.4}{4.5.6.7:1.2.3.6:*}}
  match_ip:        05 ${if match_ip{1.2.3.4}{4.5.6.7:1.2.3.6:name}}
  match_ip:        06 ${if match_ip{1.2.3.4}{:4.5.6.7}}
  match_ip:        07 ${if match_ip{}{:4.5.6.7}}
  match_ip:        08 ${if match_ip{V4NET.11.12.13}{+hlist}}
  match_ip:        09 ${if match_ip{V4NET.11.12.14}{+hlist}}
  match_ip:        10 ${if match_ip{192.168.3.4}{+hlist}}
  match_ip:        11 ${if match_ip{somename}{+hlist}}
  match_ip:        12 ${if match_ip{1.2.3.4}{lsearch;DIR/aux-fixed/0002.matchip}}
  match_ip:        13 ${if match_ip{1.2.3.4}{net-lsearch;DIR/aux-fixed/0002.matchip}}
  match_ip:        14 ${if match_ip{5.6.7.8}{net24-lsearch;DIR/aux-fixed/0002.matchip}}


queue_running: ${if queue_running{y}{n}}
first_delivery: ${if first_delivery{y}{n}}

queue_running after or: ${if or{{eq {0}{0}}{queue_running}}{y}{n}}
first_delivery after or: ${if or{{eq {0}{0}}{first_delivery}}{y}{n}}

# Default values for both if strings

\${if eq{1}{1}} >${if eq{1}{1}}<
\${if eq{1}{2}} >${if eq{1}{2}}<

# Lookups: DIR is the testing directory. In this test we can only use the
# lookups that are required in all cases.

${lookup{postmaster}lsearch{DIR/aux-fixed/0002.aliases}{$value}fail}

${lookup{x@y}lsearch*@{DIR/aux-fixed/0002.starat}{$value}fail}
${lookup{x@z}lsearch*{DIR/aux-fixed/0002.starat}{$value}fail}
${lookup{x@z}lsearch*@{DIR/aux-fixed/0002.starat}{$value}fail}
${lookup{x@w}lsearch*@{DIR/aux-fixed/0002.starat}{$value}fail}

${lookup{a.b.c.d}partial-lsearch{DIR/aux-fixed/0002.domains}{$value}fail}
${lookup{x.y.z}partial-lsearch{DIR/aux-fixed/0002.domains}{$value}{failed x.y.z}}
${lookup{p.q}partial-lsearch{DIR/aux-fixed/0002.domains}{$value}fail}
${lookup{o.p.q}partial-lsearch{DIR/aux-fixed/0002.domains}{$value}fail}
${lookup{m.n.o.p.q}partial-lsearch{DIR/aux-fixed/0002.domains}{$value}fail}
${lookup{x.y.z}partial1-lsearch{DIR/aux-fixed/0002.domains}{$value}fail}
${lookup{x.y.z}partial0-lsearch{DIR/aux-fixed/0002.domains}{$value}fail}

q1: ${lookup{abc}lsearch{DIR/aux-fixed/0002.quoted}}
q2: ${lookup{xyz}lsearch{DIR/aux-fixed/0002.quoted}}
q3: ${lookup{pqr}lsearch{DIR/aux-fixed/0002.quoted}}
q4: ${lookup{a:b}lsearch{DIR/aux-fixed/0002.quoted}}
q5: ${lookup{"quoted"}lsearch{DIR/aux-fixed/0002.quoted}}
q6: ${lookup{white space}lsearch{DIR/aux-fixed/0002.quoted}}
q7: ${lookup{b\\s}lsearch{DIR/aux-fixed/0002.quoted}}

abc: ${lookup{abc}wildlsearch{DIR/aux-var/0002.wild}}
a.b.c: ${lookup{a.b.c}wildlsearch{DIR/aux-var/0002.wild}}
ab.c: ${lookup{ab.c}wildlsearch{DIR/aux-var/0002.wild}}
xyz: ${lookup{xyz}wildlsearch{DIR/aux-var/0002.wild}}
Xyz: ${lookup{Xyz}wildlsearch{DIR/aux-var/0002.wild}}
Zyz: ${lookup{Zyz}wildlsearch{DIR/aux-var/0002.wild}}
a b: ${lookup{a b}wildlsearch{DIR/aux-var/0002.wild}}
a b: ${lookup{a b}wildlsearch{DIR/aux-var/0002.wild}}
a:b: ${lookup{a:b}wildlsearch{DIR/aux-var/0002.wild}}
a.b: ${lookup{a.b}wildlsearch{DIR/aux-var/0002.wild}}
a..b: ${lookup{a..b}wildlsearch{DIR/aux-var/0002.wild}}
a9b: ${lookup{a9b}wildlsearch{DIR/aux-var/0002.wild}}
a99b: ${lookup{a99b}wildlsearch{DIR/aux-var/0002.wild}}

# Should give the same results as above because expansion does nothing

abc: ${lookup{abc}nwildlsearch{DIR/aux-var/0002.wild}}
a.b.c: ${lookup{a.b.c}nwildlsearch{DIR/aux-var/0002.wild}}
ab.c: ${lookup{ab.c}nwildlsearch{DIR/aux-var/0002.wild}}
xyz: ${lookup{xyz}nwildlsearch{DIR/aux-var/0002.wild}}
Xyz: ${lookup{Xyz}nwildlsearch{DIR/aux-var/0002.wild}}
Zyz: ${lookup{Zyz}nwildlsearch{DIR/aux-var/0002.wild}}
a b: ${lookup{a b}nwildlsearch{DIR/aux-var/0002.wild}}
a b: ${lookup{a b}nwildlsearch{DIR/aux-var/0002.wild}}
a:b: ${lookup{a:b}nwildlsearch{DIR/aux-var/0002.wild}}

# Should fail because of no expansion

a.b: ${lookup{a.b}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NO}}
a..b: ${lookup{a..b}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NO}}
a9b: ${lookup{a9b}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NO}}
a99b: ${lookup{a99b}nwildlsearch{DIR/aux-var/0002.wild}{$value}{NO}}

# But these should succeed

a\\:b: ${lookup{a\\:b}nwildlsearch{DIR/aux-var/0002.wild}}
a\\:Xb: ${lookup{a\\:Xb}nwildlsearch{DIR/aux-var/0002.wild}}

# IP address (CIDR) lookups

  1.2.3.4:      ${lookup{1.2.3.4}iplsearch{DIR/aux-fixed/0002.iplsearch}}
  1.2.3.5:      ${lookup{1.2.3.5}iplsearch{DIR/aux-fixed/0002.iplsearch}}
  1.2.3.5:      ${lookup{1.2.3.5}iplsearch*{DIR/aux-fixed/0002.iplsearch}}
  abcd::cdab:   ${lookup{abcd::cdab}iplsearch{DIR/aux-fixed/0002.iplsearch}}
  192.168.1.2:  ${lookup{192.168.1.2}iplsearch{DIR/aux-fixed/0002.iplsearch}}
  192.168.5.6:  ${lookup{192.168.5.6}iplsearch{DIR/aux-fixed/0002.iplsearch}}
  abcd:abcd::   ${lookup{abcd:abcd::}iplsearch{DIR/aux-fixed/0002.iplsearch}}
  abcd:abcd:1:: ${lookup{abcd:abcd:1::}iplsearch{DIR/aux-fixed/0002.iplsearch}}
  abcd:abcd::3  ${lookup{abcd:abcd::3}iplsearch{DIR/aux-fixed/0002.iplsearch}}
  rhubarb       ${lookup{rhubarb}iplsearch{DIR/aux-fixed/0002.iplsearch}}



# Nested Lookups - style 1

${lookup{${lookup{key1}lsearch{DIR/aux-fixed/0002.rec}{$value}{key1f}}}lsearch{DIR/aux-fixed/0002.rec}{$value}fail}
${lookup{${lookup{key3}lsearch{DIR/aux-fixed/0002.rec}{$value}{key1f}}}lsearch{DIR/aux-fixed/0002.rec}{$value}fail}

# Nested Lookups - style 2

${lookup{key1}lsearch{DIR/aux-fixed/0002.rec}{${lookup{$value}lsearch{DIR/aux-fixed/0002.rec}{$value}{failed for $value}}}{failed for key1}}
${lookup{key3}lsearch{DIR/aux-fixed/0002.rec}{${lookup{$value}lsearch{DIR/aux-fixed/0002.rec}{$value}{failed for $value}}}{failed for key1}}

# Other nesting tests

${lookup{one}lsearch{DIR/aux-fixed/0002.alias1}{$value${lookup{one}lsearch{DIR/aux-fixed/0002.alias2}{,$value}}}{${lookup{one}lsearch{DIR/aux-fixed/0002.alias2}{$value}fail}}}
${lookup{two}lsearch{DIR/aux-fixed/0002.alias1}{$value${lookup{two}lsearch{DIR/aux-fixed/0002.alias2}{,$value}}}{${lookup{two}lsearch{DIR/aux-fixed/0002.alias2}{$value}fail}}}
${lookup{both}lsearch{DIR/aux-fixed/0002.alias1}{$value${lookup{both}lsearch{DIR/aux-fixed/0002.alias2}{,$value}}}{${lookup{both}lsearch{DIR/aux-fixed/0002.alias2}{$value}fail}}}
${lookup{neither}lsearch{DIR/aux-fixed/0002.alias1}{$value${lookup{neither}lsearch{DIR/aux-fixed/0002.alias2}{,$value}}}{${lookup{neither}lsearch{DIR/aux-fixed/0002.alias2}{$value}fail}}}

# Lookup quotes for standardly expected lookups

  lsearch ${quote_lsearch: !@#\$%^&*()_-+=|\\~`1234567890\{[\}]qwertyuiop:;"'asdfghjkl<,>.?/zxcvbnm}
  xxx     ${quote_xxx: !@#\$%^&*()_-+=|\\~`1234567890\{[\}]qwertyuiop:;"'asdfghjkl<,>.?/zxcvbnm}


# Extract

${extract{B}{A=1 B=2 C=3}}
${extract{ B }{A=1 B=2 C=3}{$value}{NOT FOUND}}
${extract{2}{:}{1:2:3}}
${extract{ 2 }{:}{1:2:3}{$value}{NOT FOUND}}
Empty:<${extract{D}{A=1 B=2 C=3}}>
Empty:<${extract{4}{:}{1:2:3}}>
${extract{C}{A=1 B=2 C=3}{<$value>}}
${extract{3}{:}{1:2:3}{<$value>}}
Empty:<${extract{Z}{A=1 B=2 C=3}{<$value>}}>
Empty:<${extract{4}{:}{1:2:3}{<$value>}}>
${extract{Z}{A=1 B=2 C=3}{<$value>}{no Z}}
${extract{4}{:}{1:2:3}{<$value>}{no 4}}
${extract{Z}{A=1 B=2 C=3}{<$value>}fail}
${extract{4}{:}{1:2:3}{<$value>}fail}
${extract{K4}{${sg{1=A 4=D 3=C}{(\\d+)=}{K\$1=}}}}
${extract{0}{:}{a:b:c:d:e}{$value}{FAIL}}
${extract{1}{:}{a:b:c:d:e}{$value}{FAIL}}
${extract{-1}{:}{a:b:c:d:e}{$value}{FAIL}}
${extract{-5}{:}{a:b:c:d:e}{$value}{FAIL}}
${extract{-6}{:}{a:b:c:d:e}{$value}{FAIL}}
${extract{-3}{:,}{a,,b::c}}
${extract{2}{:,}{a,,b::c}}
${extract{3}{:,}{a,,b::c}}
${extract{a-b}{X = "one two" a-b "three four" 5=99}}
${extract{}{X=3}}
${extract{ }{X=3}}
${extract{ 2 }{ }{a b c}}

# Translation

  abcdea aaa xyz ${tr{abcdea}{aaa}{xyz}}
  abcdea a   z   ${tr{abcdea}{a}{z}}
  abcdea a       ${tr{abcdea}{a}{}}
  abcdea abc z   ${tr{abcdea}{abc}{z}}


# RFC 2047

  abcd      ${rfc2047:abcd}
  <:abcd:>  ${rfc2047:<:abcd:>}
  <:ab cd:> ${rfc2047:<:ab cd:>}
  Long:     ${rfc2047: here we go: a string that is going to be encoded: it will go over the 75-char limit}
  Long:     ${rfc2047: here we go: a string that is going to be encoded: it will go over the 75-char limit by a long way; in fact this one will go over the 150 character limit}



# UTF-8

  abcd      ${from_utf8:abcd}
  aÀÿd      ${from_utf8:aÀÿd}
  toobig    ${from_utf8:aĀd}


# Substitution

  \${sg{abcdefabcdef}{abc}{xyz}}          =${sg{abcdefabcdef}{abc}{xyz}}
  \${sg{ab:xy::z}{:}{::}}                 =${sg{ab:xy::z}{:}{::}}
  \${sg{abcdefabcdef}{(..)[^c]}{>\$1<}}    =${sg{abcdefabcdef}{(..)[^c]}{>$1<}}
  \${sg{abcdefabcdef}{(..)[^c]}{>\\\$1<}}   =${sg{abcdefabcdef}{(..)[^c]}{>\$1<}}
  \${sg{abcdefabcdef}{(..)[^c]}{>\\N\$1\\N<}}=${sg{abcdefabcdef}{(..)[^c]}{>\N$1\N<}}
  \${sg{abbab}{a*}{+}}                    =${sg{abbab}{a*}{+}}


# File insertion

${readfile}
${readfile{DIR/aux-fixed/0002.readfile}}
${readfile{DIR/aux-fixed/0002.readfile}{}}
${readfile{DIR/aux-fixed/0002.readfile}{:}}
${readfile{DIR/aux-fixed/0002.readfile}{ - }}
${readfile{/non/exist/file}}
${if exists{/non/exist/file}{${readfile{/non/exist/file}}}{non-exist}}
>${readfile{DIR/aux-fixed/0002.readfile}{!}}\

      <


# Calling a command

${run{DIR/aux-fixed/0002.runfile 0}}
RC=$runrc
${run{DIR/aux-fixed/0002.runfile 0}{1}{2}}
RC=$runrc
${run{DIR/aux-fixed/0002.runfile 0}{$value}{2}}
RC=$runrc
${run{DIR/aux-fixed/0002.runfile 1}{$value}{2}}
RC=$runrc
${run{DIR/aux-fixed/0002.runfile 1}{$value}{$value}}
RC=$runrc
${run{DIR/test-nonexist}{Y}{N}}
RC=$runrc
>>${run{DIR/bin/iefbr14}}<<

RC=$runrc
${if eq{1}{2}{${run{/non/exist}}}{1!=2}}
RC=$runrc

# PRVS

${prvs{userx@???}{secret}}
${prvs{userx@???}{secret}{1}}
${prvs{userx@???}{secret}{8}}

# Syntax errors

${prvs{userx@???}{secret}{12}}
${prvs{userx@???}{secret}{rhubarb}}
${prvs{userx@???}{secret}{}}

# Correct checks; can't put explicit addresses in the tests, because they
# will change over time.

${prvscheck{${prvs{userx@???}{secret}}}{secret}}
result=$prvscheck_result

${prvscheck{${prvs{userx@???}{secret}{1}}}{secret}\
{>$prvscheck_result< >$prvscheck_address< >$prvscheck_keynum<}}
result=$prvscheck_result

${prvscheck{${prvs{userx@???}{secret}{8}}}{secret}{}}
result=$prvscheck_result

# Incorrect secret

${prvscheck{${prvs{userx@???}{secret}}}{socrot}}
result=$prvscheck_result

${prvscheck{${prvs{userx@???}{secret}}}{socrot}{$prvscheck_keynum}}
result=$prvscheck_result

# Non-prvs address

>>${prvscheck{userx@???}{secret}}<<

result=$prvscheck_result

# Syntax errors

${tod_log
${tod_log+6
${expand:abcd
${expand:abcd${tod_log}
${hmac{xxx}{a}{b}}
${if and {xyz}{a}{b}}
${if and {{xya}}{a}{b}}
${if and {{${lookup{x}lsearch{/a/b}}}}{a}{b}}
${if eq {$h_xyz}{1}{y}{n}}
${if or {eq {}{}{yes}{no}}
${if or {{eq {}{}{yes}{no}}
${if or {{eq {}{}}{yes}{no}}
${substr_1_:12345}
${substr__3:12345}

# Miscellaneous (for bug fixes, etc)

${if ={1}{1} {true}{${if ={1}{1} {true}{${if ={1}{1}{true}fail}}}}}

  ****
  # Test "escape" with print_topbitchars
  exim -be -DPTBC=print_topbitchars
  escape: ${escape:B7·F2ò}
  ****
  # Checkout expansion debugging
  exim -d-all+expand -be
  primary_hostname: $primary_hostname
  match:  ${if match{abcd}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  match:  ${if match{wxyz}{\N^([ab]+)(\w+)$\N}{$2$1}fail}
  ${if eq {1}{1}{yes}{${lookup{xx}lsearch{/non/exist}}}}
  match_address:   ${if match_address{a.b.c}{a.b.c}{yes}{no}}
  ****
  # Sender host name and address etc, all unset
  exim -be
  -oMa  sender_host_address = $sender_host_address
        sender_host_port = $sender_host_port
  -oMaa sender_host_authenticated = $sender_host_authenticated
  -oMai authenticated_id = $authenticated_id
  -oMas authenticated_sender = $authenticated_sender
  -oMi  interface_address = $interface_address
        interface_port = $interface_port
  -oMr  received_protocol = $received_protocol
  -oMs  sender_host_name = $sender_host_name
  -oMt  sender_ident = $sender_ident
  ****
  # Sender host name and address etc, all set except host name.
  exim -d-all+expand -be -oMa V4NET.0.0.1.1234 -oMaa AAA -oMai philip -oMas xx@??? -oMi 1.1.1.1.99 -oMr special -oMt me
  -oMa  sender_host_address = $sender_host_address
        sender_host_port = $sender_host_port
  -oMaa sender_host_authenticated = $sender_host_authenticated
  -oMai authenticated_id = $authenticated_id
  -oMas authenticated_sender = $authenticated_sender
  -oMi  interface_address = $interface_address
        interface_port = $interface_port
  -oMr  received_protocol = $received_protocol
  -oMt  sender_ident = $sender_ident
  ****
  # Sender host name explicitly set
  exim -be -oMa V4NET.0.0.1.1234 -oMs my.host.name
  -oMa  sender_host_address = $sender_host_address
        sender_host_port = $sender_host_port
  -oMs  sender_host_name = $sender_host_name
  ****
  # Sender host name lookup fails (V4NET.11.12.13 is not reverse registered)
  exim -be -oMa V4NET.11.12.13
  -oMs  sender_host_name = $sender_host_name
        host_lookup_failed = $host_lookup_failed
  ****
  # Sender host name and protocol set by Sendmail-compatible option
  exim -be -pspecial:host.name
  -p  received_protocol = $received_protocol
  -p  sender_host_name = $sender_host_name
  ****
  # Sender host name and address etc, all set except host name,
  # which should therefore be looked up from the address, but not if
  # we are skipping. The debug output for this test will show when
  # the lookup occurs.
  exim -d-all+host_lookup+expand -be -oMa V4NET.0.0.1.1234 -oMaa AAA -oMai philip -oMas xx@??? -oMi 1.1.1.1.99 -oMr special -oMt me
  -oMa  sender_host_address = $sender_host_address
        sender_host_port = $sender_host_port
  -oMaa sender_host_authenticated = $sender_host_authenticated
  -oMai authenticated_id = $authenticated_id
  -oMas authenticated_sender = $authenticated_sender
  -oMi  interface_address = $interface_address
        interface_port = $interface_port
  -oMr  received_protocol = $received_protocol
  ----> No lookup yet: ${if eq{black}{white}{$sender_host_name}{No}}
  -oMs  sender_host_name = $sender_host_name
  -oMt  sender_ident = $sender_ident
  ****
  # Test no auto host name lookup for query-style lookups
  exim -d -bh V4NET.0.0.1
  ****
  exim -d -bh V4NET.0.0.2
  ****
  # Test $reply_address
  exim -bh V4NET.0.0.0
  mail from:<>
  rcpt to:<some@body>
  data
  .
  mail from:<>
  rcpt to:<some@body>
  data
  From: a@b
  .
  mail from:<>
  rcpt to:<some@body>
  data
  From: a@b
  Reply-to: c@d
  .
  mail from:<>
  rcpt to:<some@body>
  data
  Reply-to:
  .
  mail from:<>
  rcpt to:<some@body>
  data
  Reply-to:
  From: x@y
  .
  quit
  ****
  # Check RFC 2047 decoding with (default) length check
  exim -bh V4NET.0.0.0
  mail from:<>
  rcpt to:<some@body>
  data
  Subject: =?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_it_will_go_over_the_75-char_limit_by_a_long_way=3B_in_fact_this_one_will_go_over_the_150_character_limit?=
  .
  quit
  ****
  # Check RFC 2047 decoding with length check disabled
  exim -DLENCHECK=check_rfc2047_length=false -bh V4NET.0.0.0
  mail from:<>
  rcpt to:<some@body>
  data
  Subject: =?iso-8859-8?Q?_here_we_go=3A_a_string_that_is_going_to_be_encoded=3A_it_will_go_over_the_75-char_limit_by_a_long_way=3B_in_fact_this_one_will_go_over_the_150_character_limit?=
  .
  quit
  ****


Index: 0003
====================================================================
# Caseless address blocking
exim -bh 1.1.1.1
mail from:<a@???>
rcpt to:<x@???>
rset
mail from:<a@???>
rcpt to:<x@???>
rset
mail from:<A@???>
rcpt to:<x@???>
rset
mail from:<A@???>
rcpt to:<x@???>
rset
mail from:<x@???>
rcpt to:<x@???>
rset
mail from:<x@???>
rcpt to:<x@???>
rset
mail from:<X@???>
rcpt to:<x@???>
rset
mail from:<X@???>
rcpt to:<x@???>
rset
mail from:<ax@???>
rcpt to:<x@???>
rset
mail from:<ay@???>
rcpt to:<x@???>
rset
mail from:<bX@???>
rcpt to:<x@???>
rset
mail from:<bY@???>
rcpt to:<x@???>
rset
mail from:<1@???>
rcpt to:<x@???>
rset
mail from:<bz@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<Q@???>
rcpt to:<x@???>
rset
mail from:<Q@???>
rcpt to:<x@???>
rset
mail from:<cc@???>
rcpt to:<x@???>
rset
mail from:<CC@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<Q@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<Pp@???>
rcpt to:<x@???>
rset
mail from:<abcd@???>
rcpt to:<x@???>
rset
mail from:<ABCD@???>
rcpt to:<x@???>
rset
mail from:<ax@???>
rcpt to:<x@???>
rset
mail from:<bX@???>
rcpt to:<x@???>
rset
mail from:<Ay@???>
rcpt to:<x@???>
rset
mail from:<BY@???>
rcpt to:<x@???>
rset
mail from:<blocked@???>
rcpt to:<x@???>
rset
mail from:<BLOCKED@???>
rcpt to:<x@???>
rset

Index: 0004
====================================================================
# Caseful address blocking
exim -bh 1.1.1.1
mail from:<a@???>
rcpt to:<x@???>
rset
mail from:<a@???>
rcpt to:<x@???>
rset
mail from:<A@???>
rcpt to:<x@???>
rset
mail from:<A@???>
rcpt to:<x@???>
rset
mail from:<x@???>
rcpt to:<x@???>
rset
mail from:<x@???>
rcpt to:<x@???>
rset
mail from:<X@???>
rcpt to:<x@???>
rset
mail from:<X@???>
rcpt to:<x@???>
rset
mail from:<ax@???>
rcpt to:<x@???>
rset
mail from:<ay@???>
rcpt to:<x@???>
rset
mail from:<bX@???>
rcpt to:<x@???>
rset
mail from:<bY@???>
rcpt to:<x@???>
rset
mail from:<1@???>
rcpt to:<x@???>
rset
mail from:<bz@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<Q@???>
rcpt to:<x@???>
rset
mail from:<Q@???>
rcpt to:<x@???>
rset
mail from:<cc@???>
rcpt to:<x@???>
rset
mail from:<CC@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<Q@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<q@???>
rcpt to:<x@???>
rset
mail from:<Pp@???>
rcpt to:<x@???>
rset
mail from:<abcd@???>
rcpt to:<x@???>
rset
mail from:<ABCD@???>
rcpt to:<x@???>
rset
mail from:<AbCd@???>
rcpt to:<x@???>
rset
mail from:<ax@???>
rcpt to:<x@???>
rset
mail from:<bX@???>
rcpt to:<x@???>
rset
mail from:<Ay@???>
rcpt to:<x@???>
rset
mail from:<BY@???>
rcpt to:<x@???>
rset
mail from:<blocked@???>
rcpt to:<x@???>
rset
mail from:<BLOCKED@???>
rcpt to:<x@???>
rset
mail from:<BlOcKeD@???>
rcpt to:<x@???>

Index: 0005
====================================================================
# -bs to simple local delivery
exim -bs -odi
mail from:someone@???
rcpt to:CALLER@HOSTNAME
data
This is a test message.
It has three lines.
This is the last line.
.
quit
****
exim -bs -odi
mail from:someone@???
rcpt to:CALLER@HOSTNAME
data
Subject: second

This is a second test message.
.
quit
****
exim_exim -bs -odq
mail from:someone@???
rcpt to:CALLER@HOSTNAME
data
Subject: third
Reply-to: some@body

This is a third test message.
.
quit
****
exim -q
****

Index: 0006
====================================================================
# -bS to several local deliveries
exim -bS -odi
mail from:someone@???
rcpt to:blackhole@HOSTNAME
data
from: me
To: blackhole

This is some text
.
mail from:CALLER@HOSTNAME
rcpt to:devnull@HOSTNAME
data
from: me
to: devnull

More text
.
MAIL From:<someone@???>
rCpT TO:<CALLER@HOSTNAME>
rcpt to:blackhole@HOSTNAME
DATA
From:<someone@???>
To: Recipients not given:;

Yet more text.
.
quit

Index: 0007
====================================================================
# -bS syntax error (1st message)
2
exim -bS -odi
mail from:someone@???<
rcpt to:blackhole@HOSTNAME
data
from: me
To: blackhole

This is some text
.
quit

Index: 0008
====================================================================
# -bS syntax error (2nd message)
1
exim -bS -odi
mail from:someone@???
rcpt to:CALLER@HOSTNAME
data
from: someone@???
To: CALLER@HOSTNAME
Subject: testing
Message-id: abcd%rxyz@???

Here is testing data
..that line started with a dot
.
mail from:someone@???<
rcpt to:blackhole@HOSTNAME
data
from: me
To: blackhole

This is some text
.
quit

Index: 0009
====================================================================
# -bS syntax error on RCPT
1
exim -bS -odi
mail from:someone@???
rcpt to:CALLER@HOSTNAME
data
from: someone@???
To: CALLER@HOSTNAME
Subject: testing

Here is testing data
..that line started with a dot
.
mail from:someone@???
rcpt to:<blackhole@HOSTNAME
data
from: me
To: blackhole

This is some text
.
quit

Index: 0010
====================================================================
# -bS Unexpected EOF in data
1
exim -bS -odi
mail from:someone@???
rcpt to:CALLER@HOSTNAME
data
from: someone@???
To: CALLER@HOSTNAME
Subject: testing

Here is testing data
..that line started with a dot
.
mail from:someone@???
rcpt to:blackhole@HOSTNAME
data
from: me
To: blackhole

Some data, but no .

Index: 0011
====================================================================
# -bS Unexpected EOF in headers
1
exim -bS -odi
mail from:someone@???
rcpt to:CALLER@HOSTNAME
data
from: someone@???
To: CALLER@HOSTNAME
Subject: testing

Here is testing data
..that line started with a dot
.
mail from:someone@???
rcpt to:blackhole@HOSTNAME
data
from: me

Index: 0012
====================================================================
# -bS Use of HELO/RSET
exim -bS -odi
HELO some.domain
mail from:someone@???
rcpt to:CALLER@HOSTNAME
RSET
mail from:someone@???
rcpt to:blackhole@HOSTNAME
data
from: me
to: the.void

This data will get slung...
.

Index: 0013
====================================================================
# Data after quoted string
no_stdout_check
1
exim -bV
****


  Index: 0014
  ====================================================================
  # Rewriting
  exim -brw userx@???
  ****
  exim -brw abcd@question
  ****
  exim -brw pqr@quiggly
  ****
  exim -brw nopqr@quince
  ****
  exim -odi userx
  From: abcd@question
  To: userx, xpqr@???
  ****
  exim -odq hhhh@???
  ****
  exim -brw root@???
  ****
  exim -brw jules@???
  ****
  exim -brw jules@???
  ****
  exim -brw jules@???
  ****
  exim -odi -f jules@??? userx
  From: jules@???
  To: userx, jules@???,
    jules@???,
    jules@??? 
  Reply-to: jules@???   
  ****
  exim -odi -bs -oMa 10.0.0.2
  mail from:<jules@???>
  rcpt to:<userx@???>
  quit
  ****
  exim -brw abc@???
  ****
  exim -brw '"abc"@???'
  ****
  exim -brw '"abc@???'
  ****
  no_msglog_check


Index: 0015
====================================================================
# local part prefix
need_ipv4
#
exim -odi page+userx
Some message text.
****
exim -odi page+ux
Some more message text.
****
exim -odi B+userx@???
Text.
****
server PORT_S
220 Server ready
EHLO
250 OK
MAIL FROM
250 OK
RCPT TO
250 OK
DATA
300 go ahead
.
250 OK
QUIT
250 OK
****
exim -odi S+userx@???
More text.
****
exim -odi userx-B@??? X+userx-B@???
****
server PORT_S
220 Server ready
EHLO
250 OK
MAIL FROM
250 OK
RCPT TO
250 OK
DATA
300 go ahead
.
250 OK
QUIT
250 OK
****
exim -odi Userx-S@???
More text.
****

Index: 0016
====================================================================
# local part suffix
exim -odi userx+page
Some message text.

Index: 0017
====================================================================
# ETRN (prohibited host)
exim -bh 1.1.1.1
etrn some.random.domain
quit
****
exim -bh 10.9.8.7
etrn some.domain
quit
****
exim -bh 10.9.8.8
etrn some.domain
quit
****

Index: 0018
====================================================================
# ETRN (permitted host)
exim -bh 127.0.0.1
etrn #some.random.domain
quit

Index: 0019
====================================================================
# SMTP syntax errors logging
exim -bh 10.10.10.10
helo !@#$%^&*(
debug
rhubarb
mail
quit
****
exim -bs
helo !@#$%^&*(
debug
rhubarb
mail
quit
****
exim -bs
etrn abc
ehlo a.b.c
rcpt to:<a@b>
mail from:<x@y>
data
rcpt to:<a@b>
rcpt to:<a@b>
rcpt to:<a@b>
rcpt to:<a@b>
rcpt to:<a@b>
rcpt to:<a@b>
rcpt to:<a@b>
etrn #abc
rset
mail from:
rset
mail from:<x@y>
mail from:<x@y>
rcpt to:
rset
quit
****

Index: 0020
====================================================================
# -bh and megahomed hosts
#
# Note that we use an explicit address in the 10.250.0.0/16 network, because
# that is what is used by the testing code in Exim when it generates 2048 IP
# addresses for the absurdly multi-homed host.
#
exim -bh 10.250.104.7
quit
****

Index: 0021
====================================================================
# Extra ACLs: not-SMTP/connect/HELO/MAIL
1
exim -odi -f userx@test1 userx
Test message 1.
.
****
exim -odi -f ok@test1 userx
Test message 2.
.
****
1
exim -odi -f ok@test2 userx
Test message 3.
.
****
exim -odi -f ok@test3 userx
Test message 4.
.
****
1
exim -odi -f ok@test4 userx
Test message 5.
.
****
exim -bs -oMa 10.9.8.7
****
exim -d-all+acl+lists -bs -oMa 10.9.8.8
mail from:<bad@test1>
mail from:<ok@test1>
rcpt to:<x@y>
rcpt to:<a@b>
quit
****
exim -bs -oMa 10.9.8.9
****
exim -bs
quit
****
exim -bs -oMa 10.9.8.10
helo x.y.z
quit
****
exim -d-all+acl+lists -odi -bs -oMa 10.9.8.8
mail from:<ok@test3>
rcpt to:<x@y>
data
Some message
.
quit
****

Index: 0022
====================================================================
# Extra ACLs: freeze/defer/drop/queue/delay/$host_data
exim -d -bh V4NET.9.8.7
mail from:<x@y>
rcpt to:<warn_empty@???>
data
Testing
.
quit
****
exim -d -bh V4NET.9.8.7
mail from:<x@y>
rcpt to:<warn_log@???>
data
Testing
.
quit
****
exim -d -bh V4NET.9.8.7
mail from:<x@y>
rcpt to:<warn_user@???>
data
Testing
.
quit
****
exim -bh V4NET.9.8.7
mail from:<x@y>
rcpt to:<defer@y>
rcpt to:<accept@y>
rcpt to:<drop@y>
rcpt to:<rhubarb@y>
quit
****
exim -bh V4NET.9.8.7
mail from:<>
rcpt to:<defer_senders@y>
quit
****
exim -bh V4NET.9.8.7
mail from:<x@y>
rcpt to:<delay_accept@y>
rcpt to:<delay_warn@y>
quit
****
exim -bh V4NET.9.8.7
mail from:<x@y>
rcpt to:<host_check@y>
rcpt to:<host_check@y>
rcpt to:<host_check2@y>
rcpt to:<host_check2@y>
quit
****
exim -bs -N -odi
mail from:<x@y>
rcpt to:<accept@y>
rcpt to:<freeze@y>
data
Testing
.
mail from:<x@y>
rcpt to:<accept@y>
data
Testing 2
.
mail from:<x@y>
rcpt to:<queue_only@y>
rcpt to:<accept@y>
data
Testing 3
.
mail from:<x@y>
rcpt to:<accept@y>
data
Testing 4
.
quit
****
exim -bh V4NET.9.8.7
mail from:<x@y>
rcpt to:<nested_drop@y>
rcpt to:<rhubarb@y>
quit
****
exim -bh V4NET.9.8.7
mail from:<x@y>
rcpt to:<nested_drop_require@y>
rcpt to:<rhubarb@y>
quit
****
exim -bp
****
exim -DSERVER=server -odq -bd -oX PORT_D
****
client -t5 127.0.0.1 PORT_D
??? 220
mail from:<x@y>
??? 250
rcpt to:<accept@y>
??? 250
rcpt to:<freeze@y>
??? 250
data
??? 354
Testing
.
??? 250
mail from:<x@y>
??? 250
rcpt to:<accept@y>
??? 250
data
??? 354
Testing 2
.
??? 250
mail from:<x@y>
??? 250
rcpt to:<queue_only@y>
??? 250
rcpt to:<accept@y>
??? 250
data
??? 354
Testing 3
.
??? 250
mail from:<x@y>
??? 250
rcpt to:<accept@y>
??? 250
data
??? 354
Testing 4
.
??? 250
mail from:<x@y>
??? 250
rcpt to:<delay_accept@y>
??? 250
quit
??? 221
****
killdaemon
exim -bp
****
no_msglog_check

Index: 0023
====================================================================
# ACL basic tests
exim -bh 1.2.3.4
mail from:<x@y>
rcpt to:<postmaster@???>
rcpt to:<z@z>
rcpt to:<x@???>
rcpt to:<userx@???>
rcpt to:<r@???>
rcpt to:<x@???>
rcpt to:<x@???>
rcpt to:<x@nopass>
rcpt to:<x@wontpass>
quit
****
exim -bh 5.6.7.8
mail from:<x@y>
rcpt to:<x@y>
rcpt to:<x@???>
rcpt to:<userx@???>
rcpt to:<spqr@???>
quit
****
exim -bh 9.9.9.9
mail from:<x@y>
rcpt to:<x@y>
rcpt to:<a@b>
quit
****
exim -bh 9.9.9.8
mail from:<x@y>
rcpt to:<x@y>
rcpt to:<a@b>
quit
****
exim -bh 9.9.9.255
mail from:<x@y>
rcpt to:<x@y>
rcpt to:<a@b>
quit
****
exim -bh 5.6.8.1
mail from:<x@y>
rcpt to:<x@y>
rcpt to:<y@x>
rset
mail from:<user1@domain1>
rcpt to:<x@y>
rset
mail from:<user2@domain1>
rcpt to:<x@y>
rset
mail from:<user1@domain2>
rcpt to:<x@y>
rset
mail from:<ok@???>
rcpt to:<x@y>
rcpt to:<y@x>
rset
quit
****
exim -bh 5.6.11.1
mail from:<x@y>
rcpt to:<x@y>
rcpt to:<x2@y>
rcpt to:<y2@y>
quit
****
exim -bh 5.6.12.1
mail from:<x@y>
rcpt to:<x@ok>
rcpt to:<x@y>
quit
****
exim -bh 5.6.12.2
mail from:<x@y>
rcpt to:<x@ok>
rcpt to:<x@y>
quit
****
exim -bh 8.8.8.8
mail from:<x@y>
rcpt to:<x@y>
quit
****
exim -bh 5.6.13.1
mail from:<x@y>
rcpt to:<x@y>
rcpt to:<x1@y>
rcpt to:<x2@y>
quit
****
exim -bh V4NET.11.12.13
mail from:<x@y>
rcpt to:<x@y>
rcpt to:<x1@y>
quit
****
exim -bh V4NET.11.12.12
mail from:<x@y>
rcpt to:<x@y>
rcpt to:<x1@y>
quit
****
exim -bh 20.20.20.20
mail from:<x@y>
rcpt to:<x1@y>
rcpt to:<x2@y>
quit
****
exim -bh 20.20.20.20
mail from:<userx@y>
rcpt to:<x1@y>
rcpt to:<userx@y>
quit
****
exim -bh 21.21.21.21
mail from:<userx@y>
rcpt to:<x1@y>
rcpt to:<userx@y>
rcpt to:<fail@y>
rset
mail from:<x@y>
rcpt to:<x1@y>
rcpt to:<x2@y>
rset
mail from:<fail@y>
rcpt to:<x@y>
quit
****
exim -bh 22.22.22.22
mail from:<userx@y>
rcpt to:<userx@y>
rcpt to:<x@y>
quit
****
exim -bh 23.23.23.0
mail from:<x@y>
rcpt to:<userx@y>
rset
mail from:<userx@y>
rcpt to:<userx@y>
quit
****
exim -bh 23.23.23.1
mail from:<x@y>
rcpt to:<userx@y>
quit
****
exim -bh 24.24.24.24
mail from:<x@y>
rcpt to:<userx@y>
quit
****
exim -bh 25.25.25.25
mail from:<x@y>
rcpt to:<x@y>
quit
****
exim -bh 26.26.26.26
mail from:<>
rcpt to:<x@y>
rcpt to:<y@y>
rcpt to:<z@y>
quit
****
exim -bh 27.27.27.27
mail from:<>
rcpt to:<x@y>
quit
****
exim -bh 28.28.28.28
mail from:<>
rcpt to:<x@y>
rset
mail from:<a@okdomain>
rcpt to:<x@y>
rset
mail from:<a@baddomain>
rcpt to:<x@y>
quit
****
exim -bh V4NET.0.0.3
mail from:<>
rcpt to:<x@y>
quit
****
exim -bh V4NET.0.0.97
mail from:<>
rcpt to:<x@y>
quit
****
exim -bh 29.29.29.29
mail from:<a@localhost>
rcpt to:<x@y>
rset
mail from:<a@elsewhere>
rcpt to:<x@y>
quit
****
exim -bh 30.30.30.30
mail from:<a@ten-1>
rcpt to:<x@y>
rset
mail from:<a@ten-2>
rcpt to:<x@y>
rset
mail from:<a@???>
rcpt to:<x@y>
quit
****
exim -bh 31.31.31.31
mail from:<x@y>
rcpt to:<x@y>
quit
****
exim -odi -bs -oMa 32.32.32.32
mail from:<userx@???>
rcpt to:<userx-vs@???>
data
Test with verify sender.
.
quit
****
exim -odi -bs -oMa 32.32.32.32
mail from:<userx@???>
rcpt to:<userx@???>
data
Test without verify sender.
.
quit
****
exim -bh 33.33.33.33
mail from:<x@y>
rcpt to:<x1@y>
rcpt to:<x2@y>
quit
****
# The 1 causes a 1-second delay in the test.again.dns lookup
exim -bh 44.44.44.1
mail from:<x@y>
rcpt to:<x@y>
quit
****
exim -odi -bs -oMa 55.55.55.55
mail from:<userx@???>
rcpt to:<userx@???>
data
ACL header adding test.
.
quit
****
exim -odi -bs -oMa 56.56.56.56
mail from:<userx@???>
rcpt to:<cond-yes@???>
data
.
mail from:<userx@???>
rcpt to:<cond-1@???>
data
.
mail from:<userx@???>
rcpt to:<cond-10@???>
data
.
mail from:<userx@???>
rcpt to:<cond-true@???>
data
.
mail from:<userx@???>
rcpt to:<cond-rhubarb@???>
data
.
mail from:<userx@???>
rcpt to:<cond-@???>
data
.
mail from:<userx@???>
rcpt to:<cond-no@???>
data
.
mail from:<userx@???>
rcpt to:<cond-0@???>
data
.
mail from:<userx@???>
rcpt to:<cond-00@???>
data
.
mail from:<userx@???>
rcpt to:<cond-false@???>
data
.
quit
****
exim -odi -bs -oMa 56.56.57.57
mail from:<userx@???>
rcpt to:<cond-yes@???>
data
.
mail from:<userx@???>
rcpt to:<cond-rhubarb@???>
quit
****
exim -DLOG_SELECTOR=log_selector=-acl_warn_skipped -odi -bs -oMa 56.56.56.56
mail from:<userx@???>
rcpt to:<cond-rhubarb@???>
data
.
quit
****
exim -odi -bs -oMa 56.56.58.58
mail from:<rcpttest@???>
rcpt to:<ok1@???>
rcpt to:<bad1@???>
rcpt to:<ok2@???>
rcpt to:<ok3@???>
rcpt to:<bad2@???>
rcpt to:<bad3@???>
data
.
quit
****
exim -odi -bs -oMa 56.56.59.59
mail from:<rcpttest@???>
rcpt to:<fail@???>
quit
****
exim -odi -bs -oMa V4NET.11.12.13
mail from:<x@y>
rcpt to:<x@y>
rcpt to:<x1@y>
quit
****

Index: 0024
====================================================================
# ACL test of "standard" configuration
#
# Not a relay host, no authentication, sender address fails to verify.
# accept postmaster@??? (postmaster at local domain)
# deny userx@??? (good address in local domain, but sender verify failed)
# deny x@y (bad address, but sender verify failed)
# deny x@??? (good relay address, but sender verify failed)
# deny x@??? (good address, but sender verify failed)
#
exim -odi -oMa V4NET.0.0.0 -bs
mail from:<x@y>
rcpt to:<postmaster@???>
rcpt to:<userx@???>
rcpt to:<x@y>
rcpt to:<x@???>
rcpt to:<x@???>
data
Message 1
.
quit
****
# Not a relay host, no authentication, sender address does verify.
# accept postmaster@??? (postmaster at local domain)
# accept userx@??? (good address in local domain)
# deny x@y (bad address)
# accept x@??? (good relay address)
# deny x@??? (good address, but not relay domain or host)
exim -odi -oMa V4NET.0.0.0 -bs
mail from:<userx@???>
rcpt to:<postmaster@???>
rcpt to:<userx@???>
rcpt to:<x@y>
rcpt to:<x@???>
rcpt to:<x@???>
data
Message 2
.
quit
****
# Relay host, no authentication, sender address does verify.
# deny bad@??? (bad address in local domain)
# deny x@y (bad address)
# accept x@??? (good relay address)
# accept x@??? (good non-relay address, relay host)
exim -odi -oMa V4NET.255.255.0 -bs
mail from:<userx@???>
rcpt to:<bad@???>
rcpt to:<x@y>
rcpt to:<x@???>
rcpt to:<x@???>
data
Message 3
.
quit
****
# Host on serious black list
# accept postmaster@??? (postmaster at local domain)
# deny anything else
exim -odi -oMa V4NET.11.12.13 -bs
mail from:<userx@???>
rcpt to:<postmaster@???>
rcpt to:<userx@???>
rcpt to:<x@???>
data
Message 4
.
quit
****
# Host on warning black list
# accept postmaster@??? (postmaster at local domain)
# deny anything else
exim -odi -oMa V4NET.11.12.16 -bs
mail from:<userx@???>
rcpt to:<postmaster@???>
rcpt to:<userx@???>
rcpt to:<x@???>
data
Message 5
.
quit
****
# Local SMTP - should accept everything
#
exim -odi -bs
mail from:<x@y>
rcpt to:<postmaster@???>
rcpt to:<userx@???>
rcpt to:<x@y>
rcpt to:<x@???>
rcpt to:<x@???>
quit
****

Index: 0025
====================================================================
# ACL with -bs
exim -odi -bs
mail from:<x@y>
rcpt to:<userx@???>
rcpt to:<x@y>
rcpt to:<x@???>
rset
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<x@y>
rcpt to:<x@???>
data
Message 1
.
quit
****

Index: 0026
====================================================================
# ACL checks after DATA
#
# Syntax OK, non-null sender => should be accepted
exim -odq -bs
mail from:<x@y>
rcpt to:<x@y>
data
Message 1
.
quit
****
# Syntax error in header => should fail
exim -odq -bs
mail from:<x@y>
rcpt to:<x@y>
data
From: @

Message 2
.
quit
****
# Syntax error in header => should fail even with null sender
exim -odq -bs
mail from:<>
rcpt to:<x@y>
data
From: <x@y>, @

Message 3
.
quit
****
# Null sender, invalid sender in header => fail
exim -odq -bs
mail from:<>
rcpt to:<x@y>
data
From: <x@y>

Message 4
.
quit
****
# Null sender, valid sender in header => accept
exim -odq -bs
mail from:<>
rcpt to:<x@y>
data
From: <postmaster@???>
Reply-to:<x@y>

Message 5
.
quit
****
# Syntax OK, non-null sender, but bad data => reject
exim -odq -bs
mail from:<x@y>
rcpt to:<x@y>
data
Message 6 contains trigger word
.
quit
****
# Syntax OK, non-null sender, good data
exim -odi -bs
mail from:<x@y>
rcpt to:<userx@???>
data
Message 7
.
quit
****
# -bh test: Syntax error in header => should fail
exim -bh 10.0.0.0
mail from:<x@y>
rcpt to:<x@y>
data
From: @

Message 8
.
quit
****
# -bh test: Syntax OK, non-null sender, but bad data => reject
exim -bh 10.0.0.0
mail from:<x@y>
rcpt to:<x@y>
data
Message 9 contains trigger word
.
quit
****
# Group syntax in reply-to header
exim -odi -bs
mail from:<x@y>
rcpt to:<userx@???>
data
to: group name: x@y, p@q;
reply-to: group name: a@b, c@d;

Message 10
.
quit
****
no_msglog_check

Index: 0027
====================================================================
# Nested ACL (per user) and ACL misconfigurations
#
# Invalid sender, should reject both
exim -bs
mail from:<x@y>
rcpt to:<userx@???>
rcpt to:<postmaster@???>
quit
****
# Valid sender, should only reject userx
exim -bs
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<postmaster@???>
quit
****
# ACL misconfigurations at RCPT time
exim -bs
mail from:<>
rcpt to:<"deny verify = header_syntax"@???>
rcpt to:<"deny verify = junk"@???>
rcpt to:<"deny vorify = junk"@???>
rcpt to:<"dony verify = junk"@???>
rcpt to:<"deny !message = abcd"@???>
quit
****
# ACL misconfiguration at DATA time
exim -bs
mail from:<>
rcpt to:<data@???>
data
Subject: data1
.
quit
****
# ACL misconfiguration at DATA time
exim -bs
mail from:<>
rcpt to:<data@???>
data
Subject: data2
.
quit
****
# ACL misconfiguration at DATA time
exim -bs
mail from:<>
rcpt to:<data@???>
data
Subject: data3
.
quit
****

Index: 0028
====================================================================
# ACL and $message_size
#
# SIZE unset - should reject at DATA time
exim -bs
mail from:<x@y>
rcpt to:<userx@???>
data
Testing, testing
.
quit
****
# SIZE set - should reject at RCPT time
exim -bs
ehlo Testing
mail from:<x@y> SIZE=100
rcpt to:<userx@???>
quit
****

Index: 0029
====================================================================
# ACL with sender=address
exim -bs
mail from:<ok@???>
rcpt to:<a@b1>
rset
mail from:<notok@???>
rcpt to:<a@b2>
rset
mail from:<notok@???>
rcpt to:<a@b3>
rset
mail from:<notok@???>
rcpt to:<a@b4>
quit
****

Index: 0030
====================================================================
# Use of $address_data in ACL
exim -bs
mail from:<>
rcpt to:<ok@???>
rcpt to:<notok@???>
quit
****

Index: 0031
====================================================================
# Hold domains
exim -odi CALLER@???
This is a test message 1.
****
exim -odi CALLER@???
This is a test message 2.
****
exim -odi CALLER@???
This is a test message 3.

Index: 0032
====================================================================
# Bounce message for MX->localhost
exim -odi userx@???
This is a test message.
****

Index: 0033
====================================================================
# one-time and -qq
need_ipv4
#
exim -odq list@???
.
****
server PORT_S
220 ESMTP
EHLO
250-OK
250-HELP
250 AUTH PLAIN
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
RCPT TO:
250 Recipient OK
DATA
354 Send data
.
250 OK
QUIT
250 OK
****
exim -q
****
exim -odq list@???
.
****
server PORT_S
220 ESMTP
EHLO
250-OK
250-HELP
250 AUTH PLAIN
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
RCPT TO:
250 Recipient OK
DATA
354 Send data
.
250 OK
QUIT
250 OK
****
exim -qq
****

Index: 0034
====================================================================
# smtp_accept_max_nonmail
1
exim -bs
rset
rset
rset
rset
rset
****
1
exim -bs
ehlo a.b.c
ehlo a.b.c
ehlo a.b.c
ehlo a.b.c
ehlo a.b.c
****
exim -bs
rset
mail from:<x@y>
rcpt to:<x@y>
data
.
rset
mail from:<x@y>
rcpt to:<x@y>
data
.
rset
mail from:<x@y>
rcpt to:<x@y>
data
.
rset
mail from:<x@y>
rcpt to:<x@y>
data
.
rset
quit
****
1
exim -bs
ehlo a.b.c
mail from:<x@y>
rcpt to:<x@y>
data
.
ehlo a.b.c
mail from:<x@y>
rcpt to:<x@y>
data
.
ehlo a.b.c
mail from:<x@y>
rcpt to:<x@y>
data
.
ehlo a.b.c
ehlo a.b.c
ehlo a.b.c
ehlo a.b.c
ehlo a.b.c
****
1
exim -bs
noop
noop
noop
noop
****
exim -bh 10.0.0.2
rset
rset
rset
rset
rset
****
exim -bh 10.0.0.1
rset
rset
rset
rset
rset
quit
****
no_msglog_check

Index: 0035
====================================================================
# control = submission (without any authentication)
need_ipv4
#
exim -DSERVER=server -bd -oX PORT_D
****
client 127.0.0.1 PORT_D
??? 220
ehlo rhu.barb
??? 250-
??? 250-
??? 250-
??? 250
mail from:<notsubmit@y>
??? 250
rcpt to:<x@y>
??? 250
data
??? 354
.
??? 250
mail from:<a@y>
??? 250
rcpt to:<x@y>
??? 250
data
??? 354
.
??? 250
mail from:<>
??? 250
rcpt to:<x@y>
??? 250
data
??? 354
.
??? 250
mail from:<notsubmit@y>
??? 250
rcpt to:<x@y>
??? 250
data
??? 354
Sender: sender@???
.
??? 250
mail from:<a@y>
??? 250
rcpt to:<x@y>
??? 250
data
??? 354
Sender: sender@???
.
??? 250
quit
??? 221
****
killdaemon
# Wait for delivery process
millisleep 500
exim -DSERVER=server -DSUBMISSION_OPTIONS=/domain=a.b.c/sender_retain -bd -oX PORT_D
****
client 127.0.0.1 PORT_D
??? 220
ehlo rhu.barb
??? 250-
??? 250-
??? 250-
??? 250
mail from:<a@y>
??? 250
rcpt to:<x@y>
??? 250
data
??? 354
Sender: sender@???
.
??? 250
quit
??? 221
****
killdaemon
# Wait for delivery process
millisleep 500
exim -DSERVER=server -DSUBMISSION_OPTIONS=/domain=a.b.c/name=SomeName -bd -oX PORT_D
****
client 127.0.0.1 PORT_D
??? 220
ehlo rhu.barb
??? 250-
??? 250-
??? 250-
??? 250
mail from:<a@y>
??? 250
rcpt to:<x@y>
??? 250
data
??? 354
Sender: sender@???
.
??? 250
quit
??? 221
****
killdaemon
exim -Mvh $msg1
****
exim -Mvh $msg2
****
exim -Mvh $msg3
****
exim -Mvh $msg4
****
exim -Mvh $msg5
****
exim -Mvh $msg6
****
exim -Mvh $msg7
****
no_msglog_check

Index: 0036
====================================================================
# Rewriting because of DNS lookup
need_ipv4
#
exim -DSERVER=server -bd -oX PORT_D
****
exim userx@??? abcd@eximtesthost
To: userx@???, abcd@eximtesthost

Test message
****
exim -qf
****
killdaemon
exim -DSERVER=server -DNOTDAEMON -qf
****

Index: 0037
====================================================================
# filter tests
#
# Create a file that is accessible only to the Exim user
sudo rm -f DIR/test-private
touch DIR/test-private
sudo chown EXIMUSER:EXIMGROUP DIR/test-private
sudo chmod 0600 DIR/test-private
#
exim -bf DIR/aux-fixed/TESTNUM.f-1 </dev/null
****
1
exim -bf DIR/aux-fixed/TESTNUM.f-2 </dev/null
****
exim -bF DIR/aux-fixed/TESTNUM.f-3 </dev/null
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 </dev/null
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
****
# Personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: CALLER@???
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: X-CALLER@???
****
# Personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: CALLER@???
Subject: north circular road
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: userx@???
Precedence: bulk
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: userx@???
Precedence: list
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: userx@???
Precedence: junk
****
# Personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: abcdefgh@???
Auto-Submitted: no
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: userx@???
Auto-Submitted: auto-replied
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: userx@???
List-Unsubscribe: xxxx
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: userx@???
From: abcd-request@???
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: userx@???
From: owner-abcd@???
****
# Not personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: userx@???
From: The list manager <majordomo@???>
****
# Personal
exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
To: abc@???, Philip <CALLER@???>, pqr@???
****
exim -bf DIR/aux-fixed/TESTNUM.f-6 </dev/null
****
exim -bf DIR/aux-var/TESTNUM.f-7 </dev/null
****
exim -odi userx
Subject: Test 1
Remove-this: should get removed
****
exim -odi userx abcd usery
Subject: should fail this

Fail this.
****
exim -odi userx
Subject: should freeze this

Freeze this.
****
exim -odi userx
Subject: reply to this

Reply to this.
****
exim -odi filter-pipe
Subject: should give filter error (1)
****
exim -odi filter-file
Subject: should give filter error (2)
****
exim -odi filter-lookup
Subject: should give filter error (3)
****
exim -odi filter-exists
Subject: should give filter error (4)
****
exim -odi filter-readfile
Subject: should give filter error (5)
****
exim -odi filter-run
Subject: should give filter error (6)
****
exim -odi filter-vacation
Subject: should give rise to vacation message
****
exim -bF DIR/aux-fixed/TESTNUM.f-5 </dev/null
****
exim -qf
****
exim -bpa
****
exim -q
****
exim -qff
****
exim -odi userx
Subject: should freeze this

Freeze this (second message).
****
exim -qqRff userx
****
exim -odi readfile
Should fail ${readfile in filter.
****
exim -bF DIR/aux-var/TESTNUM.F <DIR/aux-fixed/TESTNUM.msg
****
exim -odi deliverfromfilter
Test deliver command in system filter
****
exim -bF DIR/aux-var/TESTNUM.F
Test-headers: first one
From: x@y
Test-headers: another one
More-test-headers : yet another one
Subject: testing, testing
****
exim -odi -d-all+route filter-userx
****
exim -odi userx
Subject: should defer this

Defer this.
****
# Vacation to a sender in never_mail
exim -odi -f never_mail@??? filter-vacation
Subject: should give rise to vacation message
****
exim -odi filter-stat
Subject: should give filter error (7)
****
no_msglog_check

  Index: 0038
  ====================================================================
  # Simple ACL ratelimit test
  exim -bh V4NET.9.8.7
  ehlo test.ex
  mail from:<>
  rcpt to:<a@b>
  data
  Here is some data.
  .
  quit
  ****               
  exim -bh V4NET.9.8.7
  ehlo test.ex
  mail from:<>
  rcpt to:<a@b>
  data
  Here is some data.
  .
  quit
  ****               
  exim -bh V4NET.9.8.7 -DRRATELIMIT=0/1h/per_conn/strict -DDRATELIMIT=0/1h/per_conn/strict
  ehlo test.ex
  mail from:<>
  rcpt to:<a@b>
  data
  Here is some data.
  .
  quit
  ****               
  exim -bh V4NET.9.8.7 -DRRATELIMIT=0/1h/per_conn/strict -DDRATELIMIT=0/1h/per_conn/strict
  ehlo test.ex
  mail from:<>
  rcpt to:<a@b>
  data
  Here is some data.
  .
  quit
  ****               
  exim -bh V4NET.9.8.7 -DRRATELIMIT=0/1h/per_rcpt -DDRATELIMIT=0/1h/per_conn
  ehlo test.ex
  mail from:<>
  rcpt to:<a@b>
  rcpt to:<b@c>
  rcpt to:<e@f>
  data
  Here is some data.
  .
  quit
  ****               


Index: 0039
====================================================================
# redirect and qualify domain
exim -N -odi r1@??? r2@???
****
exim -N -DQDG=qualify_domain=qd.text.ex -odi r1@??? r2@???
****

Index: 0040
====================================================================
# Checking -oMa etc
exim -odi -f jc@rome -F 'Julius Caesar' -oMa 1.1.1.1 -oMi 2.2.2.2 -oMr latin -oMs forum.rome -oMt jc44bc userx@???
This is a test message.

Index: 0041
====================================================================
# VRFY & EXPN blocking
exim -bh 1.1.1.1
vrfy userx@???
expn postmaster
quit
****
exim -bh 2.2.2.2
expn list
quit
****
exim -bs
expn list
quit
****

Index: 0042
====================================================================
# VRFY logging failures
exim -bh 1.1.1.1
vrfy userx@???
vrfy junkjunk@???
quit

Index: 0043
====================================================================
# Sender and recipient verification
exim -bh V4NET.0.0.97
ehlo exim.test.ex
mail from:junkjunk@???
rcpt to:<postmaster@???>
rset
mail from:postmaster@???
rcpt to:postmaster@???
rcpt to:junkjunk@???
rcpt to:fail@???
quit

Index: 0044
====================================================================
# RBL blocking (unregistered host)
exim -bh V4NET.11.12.13
ehlo exim.test.ex
mail from:postmaster@???
rcpt to:<postmaster@???>
rcpt to:list@???
data
test data
.
quit
****
exim -bh V4NET.11.12.13
ehlo exim.test.ex
mail from:<myfriend@???>
rcpt to:list@???
data
test data
.
quit
****
no_msglog_check

Index: 0045
====================================================================
# MX handling
1
exim -bt userx@???
****
1
exim -bt userx@???
****
2
exim -bt userx@???
****
2
exim -bt userx@???
****
1
exim -bt userx@???
****
1
exim -bt userx@???
****
1
exim -bt userx@???
****
exim -bt userx@???
****
exim -bt userx@???
****
exim -bt userx@???
****
exim -bt userx@???
****
exim -bt userx@???

Index: 0046
====================================================================
# $message_body[_end], $message[_body]_size (delivery & filter)
exim -odi -f usery@??? userx
Date: Tue, 2 Mar 2005 09:44:33 +0000


This message has quite a short body, so both variables should end up
containing the same amount of data.
****
exim -odi -f usery@??? userx
Date: Tue, 2 Mar 2005 09:44:33 +0000

This message has a long body, more than 500 characters, so the start and end
variables should end up containing different character strings.

The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.

See! The second of those is shorter, but also contains all 26 letters of the
alphabet, and also makes some kind of sense. Now is the time for all good men
to come to the aid of the party. 'Twas brillig and the slithy toves did gyre
and gimble in the wabe, all mimsy were the borogoves, and the mome raths
outgrabe. There, that should be enough.
****
exim -bf DIR/aux-fixed/TESTNUM.filter.userx -f usery@???

This message has quite a short body, so both variables should end up
containing the same amount of data.
****
exim -bf DIR/aux-fixed/TESTNUM.filter.userx -f usery@???

This message has a long body, more than 500 characters, so the start and end
variables should end up containing different character strings.

The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.

See! The second of those is shorter, but also contains all 26 letters of the
alphabet, and also makes some kind of sense. Now is the time for all good men
to come to the aid of the party. 'Twas brillig and the slithy toves did gyre
and gimble in the wabe, all mimsy were the borogoves, and the mome raths
outgrabe. There, that should be enough.
****
exim -oi -bf DIR/aux-fixed/TESTNUM.filter.userx -f usery@???

This message has a long body, more than 500 characters, so the start and end
variables should end up containing different character strings.

The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.
.
.
See! The second of those is shorter, but also contains all 26 letters of the
alphabet, and also makes some kind of sense. Now is the time for all good men
to come to the aid of the party. 'Twas brillig and the slithy toves did gyre
and gimble in the wabe, all mimsy were the borogoves, and the mome raths
outgrabe. There, that should be enough.
****
exim -bf DIR/aux-fixed/TESTNUM.filter.userx -f usery@???

This message has a long body, more than 500 characters, so the start and end
variables should end up containing different character strings.

. The quick brown fox jumps over the lazy dog.
. Pack my box with five dozen liquor jugs.

See! The second of those is shorter, but also contains all 26 letters of the
alphabet, and also makes some kind of sense. Now is the time for all good men
to come to the aid of the party. 'Twas brillig and the slithy toves did gyre
and gimble in the wabe, all mimsy were the borogoves, and the mome raths
outgrabe. There, that should be enough.
****
exim -odi -f usery@??? userx
Here's a body with a NULL(?) in it. That should become a space.
****
exim -oi -bf DIR/aux-fixed/TESTNUM.filter.userx -f usery@???

Here's a body with a NULL(?) in it. That should become a space.
****
exim -oi -bf DIR/aux-fixed/TESTNUM.filter.userx -f usery@???

This message has a long body, more than 500 characters, so the start and end
variables should end up containing different character strings.

The quick brown fox jumps over the lazy dog. NULL(?)
Pack my box with five dozen liquor jugs. NULL(?)

See! The second of those is shorter, but also contains all 26 letters of the
alphabet, and also makes some kind of sense. Now is the time for all good men
to come to the aid of the party. 'Twas brillig and the slithy toves did gyre
and gimble in the wabe, all mimsy were the borogoves, and the mome raths
outgrabe. NULL(?) There, that should be enough.
****

Index: 0047
====================================================================
# domain matching in manualroute router
exim -bt xx@domain1
****
exim -bt xx@???
****
exim -bt xx@domain3

Index: 0048
====================================================================
# pipe transport
exim -odi pipe
Some message text.
****
exim -odi prefixed+pipe
Text
****
exim -odi pipe-suffixed
Text
****
exim -odi prefixed+pipe-suffixed
Text
****
exim -DMESSAGE_LOGS=false -odi pipe
Some message text.
****

Index: 0049
====================================================================
# Sender: header (untrusted caller)
exim -odi userx@???
Sender: Sender in original <sender@???>

This is a test message.
****
exim -odi -f userx@??? userx@???
Sender: Sender in original <sender@???>

This is a test message.
****
exim -odi -f userx@??? userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>

This is a test message.
****
exim -odi userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>

This is a test message.
****
exim -bs -odi
mail from:userx@???
rcpt to:userx@???
data
Sender: Sender in original <sender@???>

This is a test message.
.
quit
****
exim -odi userx@???
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message.
****
exim -odi -f userx@??? userx@???
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message.
****
exim -odi -f userx@??? userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message.
****
exim -odi userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message.
****
exim -bs -odi
mail from:userx@???
rcpt to:userx@???
data
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message.
.
quit


Index: 0050
====================================================================
# Sender: header (trusted caller)
exim -odi userx@???
Sender: Sender in original <sender@???>

This is a test message 1.
****
exim -odi -f userx@??? userx@???
Sender: Sender in original <sender@???>

This is a test message 2.
****
exim -odi -f userx@??? userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>

This is a test message 3.
****
exim -odi userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>

This is a test message 4.
****
exim -bs -odi
mail from:userx@???
rcpt to:userx@???
data
Sender: Sender in original <sender@???>

This is a test message 5.
.
quit
****
exim -odi userx@???
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message 6.
****
exim -odi -f userx@??? userx@???
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message 7.
****
exim -odi userx@???
From: From person <from@???>

This is a test message 8.
****
exim -odi -f userx@??? userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message 9.
****
exim -odi userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message 10.
****
exim -bs -odi
mail from:userx@???
rcpt to:userx@???
data
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message 11.
.
quit


Index: 0051
====================================================================
# Domain selection in routers
exim -odi userx@???
This is a test message 1.
****
exim -odi userx@???
This is a test message 2.
****
exim -odi userx@???
This is a test message 3.
****
exim -odi userx@???
This is a test message 4.
****
exim -odi userx@???
This is a test message 5.
****
exim -odi userx@???
This is a test message 6.
****
exim -odi userx@???
This is a test message 7.
****
exim -odi userx@???
This is a test message 8.

Index: 0052
====================================================================
# Local part selection in routers
exim -odi xx99@???
This is a test message 1.
****
exim -odi yy99@???
This is a test message 2.
****
exim -odi '!one@???'
This is a test message 3.
****
exim -odi '!two@???'
This is a test message 4.

Index: 0053
====================================================================
# Aliases including domains
exim -bt bar@???
****
2
exim -bt foobar@???

Index: 0054
====================================================================
# mx_domains
exim -bt xxx@???
****
2
exim -bt xxx@???
****

Index: 0055
====================================================================
# queue_domains and queue_smtp_domains
exim -odi -N xxx@???
****
exim -odi -N xxx@???
****
exim -odq userx@???
****
exim -ql
****
exim -q
****
exim -odi -N xxx@???
****
exim -odi -N xxx@???
****
exim -q -N
****
exim -odq xxx@???
First
****
exim -odq yyy@???
Two
****
exim -qq -N
****
exim -odi -N xxx@???
****
exim -N -M $msg1
****
exim -odi -N xxx@???
****
exim -N -M $msg1
****

Index: 0056
====================================================================
# domain list set to *
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0057
====================================================================
# domain list = !* and other ! and percent_hack domains
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
2
exim -bv userx%myhost.ex@??? userx%myhost.ex@???
****
2
exim -bv userx%myhost.ex@??? userx%myhost.ex@???
****
exim -bv userx%myhost.ex@???
****
no_msglog_check

Index: 0058
====================================================================
# Relay by hostlist *
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
data
.
mail from:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0059
====================================================================
# Relay by hostlist !*
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0060
====================================================================
# Relay by hostlist match for host name or IP address
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.2
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.5
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.6
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.255.0.1
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.255.0.2
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.255.0.3
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.255.0.4
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0061
====================================================================
# Relay by hostlist @
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.2
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0062
====================================================================
# Relay by hostlist end name match
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.2
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.3
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0063
====================================================================
# Relay by hostlist regex match
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.2
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0064
====================================================================
# Relay by hostlist lsearch
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.2
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0065
====================================================================
# Relay by hostlist matching by network
exim -bh 1.2.3.4
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 1.2.3.5
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 1.2.4.5
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 1.3.2.4
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 131.111.8.2
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 192.152.98.3
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 192.153.98.4
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0066
====================================================================
# Relay by hostlist matching host or network
exim -bh 1.2.3.4
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 1.2.3.5
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 1.2.4.5
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 1.3.2.4
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 131.111.8.2
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh 192.152.98.3
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.11.12.13
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.3
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0067
====================================================================
# sender_reject (various, including @@)
exim -bh 1.2.3.4
mail from:<userx@???>
rcpt to:<x@???>
rset
mail from:<x@???>
rcpt to:<x@???>
rset
mail from:<y@???>
rcpt to:<x@???>
rset
mail from:<philip@???>
rcpt to:<x@???>
rset
mail from:<quilt@???>
rcpt to:<x@???>
rset
mail from:<philip@???>
rcpt to:<x@???>
rset
mail from:<xx@???>
rcpt to:<x@???>
rset
mail from:<abc@???>
rcpt to:<x@???>
rset
mail from:<xyz@???>
rcpt to:<x@???>
rset
mail from:<yy@???>
rcpt to:<x@???>
rset
mail from:<abc@???>
rcpt to:<x@???>
rset
mail from:<cba@???>
rcpt to:<x@???>
rset
mail from:<xyz@???>
rcpt to:<x@???>
rset
mail from:<12345678@???>
rcpt to:<x@???>
rset
mail from:<12345678@???>
rcpt to:<x@???>
rset
mail from:<1234@???>
rcpt to:<x@???>
rset
mail from:<1234@???>
rcpt to:<userx@???>
rcpt to:<postmaster@???>
rcpt to:<postmaster@???>
rset
mail from:<rr01@???>
rcpt to:<userx@???>
rset
mail from:<qqq@???>
rcpt to:<userx@???>
rset
mail from:<qq@???>
rcpt to:<userx@???>
rset
mail from:<!excl@???>
rcpt to:<userx@???>
rset
mail from:<sh#rp@???>
rcpt to:<userx@???>
rset
mail from:<abc@???>
rcpt to:<x@???>
rset
mail from:<xyzbc@???>
rcpt to:<x@???>
rset
mail from:<aabc@???>
rcpt to:<x@???>
rset
mail from:<x@???>
rcpt to:<x@???>
rset
mail from:<y@???>
rcpt to:<x@???>
rset
mail from:<x@???>
rcpt to:<x@???>
rset
mail from:<y@???>
rcpt to:<x@???>
rset
mail from:<z@???>
rcpt to:<x@???>
rset
quit

Index: 0068
====================================================================
# recipients_max_reject
exim -bh V4NET.10.10.10
mail from:<x@y>
rcpt to:<a@b>
rcpt to:<a@b>
rcpt to:<a@b>
rcpt to:<a@b>
rcpt to:<a@b>
rcpt to:<a@b>
rcpt to:<a@b>
data
quit
****

Index: 0069
====================================================================
# +include_unknown and +ignore_unknown
exim -bh V4NET.0.0.1
mail from:<x@y>
rcpt to:<x@???>
quit
****
exim -bh V4NET.0.0.13
MAIL FROM:<userx>
rcpt to:<x@???>
quit
****
exim -bh V4NET.0.0.13
MAIL FROM:<userx@???>
rcpt to:<y@???>
quit
****
exim -bh V4NET.0.0.13
MAIL FROM:<userx@???>
rcpt to:<z@???>
quit
****
exim -bh V4NET.0.0.13 -DLOG_SELECTOR=log_selector=+unknown_in_list
MAIL FROM:<userx@???>
rcpt to:<y@???>
quit
****

Index: 0070
====================================================================
# helo_verify_hosts and helo_try_verify_hosts
exim -bh V4NET.0.0.1
mail from:<userx@???>
quit
****
exim -bh V4NET.0.0.13
mail from:<userx@???>
rcpt to:<a@b>
quit
****
exim -bh V4NET.0.0.2
helo [V4NET.0.0.1]
mail from:<a@b>
rcpt to:<c@d>
quit
****
exim -bh V4NET.0.0.2
helo [V4NET.0.0.2]
mail from:<a@b>
rcpt to:<c@d>
quit
****
exim -bh V4NET.0.0.1
helo ten-1.test.ex
quit
****
exim -bh V4NET.0.0.3
helo ten-3.test.ex
helo ten-3-alias.test.ex
helo ten-3xtra.test.ex
quit
****
exim -bh V4NET.0.0.1
ehlo rhubarb
quit
****
# This is a special IP address that provokes a temporary lookup failure
exim -DHVH=99.99.99.99 -bh 99.99.99.99
ehlo rhubarb
quit
****
exim -bh V4NET.0.0.13
helo [V4NET.0.0.99]
mail from:<a@b>
rcpt to:<c@d>
quit
****
exim -bh V4NET.0.0.13
helo [V4NET.0.0.13]
mail from:<a@b>
rcpt to:<c@d>
quit
****
# Temporary lookup when not in helo_try_verify_hosts
exim -bh 99.99.99.99
ehlo rhubarb
mail from:<a@b>
rcpt to:<c@d>
quit
****

Index: 0071
====================================================================
# pipe transport not set
exim -odi pipe
Some message text.

Index: 0072
====================================================================
# autoreply
exim -odi userx@???
Subject: first message; non-printer >
<
****
exim -odi userx@???
Subject: second message
****
exim -DONCE=once= -DRETURN=return_message -odi userx@???
Subject: third message

This has return_message set.
****
exim -DONCE= -DRETURN=return_message -DONLY=body_only -odi userx@???
Subject: third message

This has return_message set with body_only.
****
exim -DONCE= -DRETURN=return_message -DONLY=headers_only -odi userx@???
Subject: third message

This has return_message set with headers_only.
****
# This message has a From: line that is syntactically OK when encoded, but
# which isn't OK when decoded.
exim -DONCE= -odi userx@???
Subject: Encoded from
From: =?ISO-8859-1?Q?CALLER=40test=2Eex?= <CALLER@???>

This is a test for encoded headers ane $reply_address.
****
# This message has a From: line that is syntactically bad, and we process it
# with a filter.
exim -DONCE= -odi userx-filter@???
Subject: Bad from
From: "something" x@y

This is a test for a bad From: line.
****

Index: 0073
====================================================================
# autoreply with once_repeat
exim -odi userx@???
Subject: first message
****
exim -odi userx@???
Subject: second message
****
sleep 5
exim -odi userx@???
Subject: third message

  Index: 0074
  ====================================================================
  # autoreply from filter (including once_repeat)
  exim -odi userx@???
  Subject: first message
  ****
  exim -odi userx@???
  Subject: second message
  ****
  sleep 5
  exim -odi userx@???
  Subject: third message
  ****
  exim -odi userx@???
  Subject: fourth message
  X-nltest: xxxx
  ****
  exim -odi userx@???
  Subject: fifth message
  Reply-to: userx,
    abcd
  ****   


Index: 0075
====================================================================
# appendfile subdirectory with create_directory
exim -odi userx@???
Subject: first message

Index: 0076
====================================================================
# appendfile subdirectory without create_directory
exim -odi userx@???
Subject: first message

Index: 0077
====================================================================
# host_reject !@ : !localhost
exim -bh 127.0.0.1
mail from:<x@???>
rcpt to:<x@???>
quit
****
exim -bh V4NET.10.10.10
mail from:<x@???>
rcpt to:<x@???>
quit
****
exim -bh V4NET.0.0.1
mail from:<x@???>
rcpt to:<x@???>
quit

Index: 0078
====================================================================
# self and no_more
#
exim -d-all+route -bt xx@???
****
exim -d-all+route -bt myhost.test.ex@???
****
exim -d-all+route -bt xx@???
****
2
exim -d-all+route -bt xx@???

Index: 0079
====================================================================
# RBL /warn (default reject)
exim -bh V4NET.11.12.14
ehlo exim.test.ex
mail from:postmaster@???
rcpt to:<postmaster@???>
rcpt to:list@???
data
test data
.
quit
****
exim -odi -bs -oMa V4NET.11.12.13
ehlo exim.test.ex
mail from:<postmaster@???>
rcpt to:<userx@???>
data
test message data
.
quit
****
exim -odi -bs -oMa V4NET.11.12.14 -oMi 14.12.11.10.PORT_D
ehlo exim.test.ex
mail from:<postmaster@???>
rcpt to:<postmaster@???>
rcpt to:<userx@???>
data
test message data
.
quit
****
exim -odi -bs
mail from:<postmaster@???>
rcpt to:<userx@???>
data
sysmail: yes
Testing mail from system filter
.
quit
****
no_msglog_check

Index: 0080
====================================================================
# RBL /reject (default warn)
exim -bh V4NET.11.12.14
ehlo exim.test.ex
mail from:postmaster@???
rcpt to:<postmaster@???>
rcpt to:list@???
data
test data
.
quit
****
no_msglog_check

Index: 0081
====================================================================
# Concatenated headers in expansion
exim -v -odi userx
X-one: This is the first text.
To: userx
X-one: This is the second text.
From: userx
X-one: This is the third text.
Subject: testing, testing
X-one: This is the fourth text.

This is the message body.

Index: 0082
====================================================================
# -bS with -oMr
exim -bS -odi -oMr testproto
mail from:userx@???
rcpt to:userx@???
data
from: me
To: me

This is some text
.
quit

Index: 0083
====================================================================
# -bS without -oMr
exim -bS -odi
mail from:userx@???
rcpt to:userx@???
data
from: me
To: me

This is some text
.
quit

Index: 0084
====================================================================
# require_files
exim -d-all+route -bv yes@??? no@???

Index: 0085
====================================================================
# domains, local_parts, sender, and require_files expansions
2
exim -d -f abc@??? -bv x@??? x@??? x@??? x@???
****
2
exim -d -bv x@??? x@??? x@??? x@???

Index: 0086
====================================================================
# verify = header_syntax
exim -bh V4NET.10.10.10
mail from:<userx@???>
rcpt to:<userx@???>
data
From: userx@???
To: userx@???
Cc: <abcd@???
Subject: testing

.
QUIT
****
exim -bh V4NET.10.10.10
mail from:<userx@???>
rcpt to:<userx@???>
data
From: userx@???
To: userx@???
Cc: <abcd@???
Resent-From: postmaster@???
Reply-To: <xyz@???
Subject: testing

.
QUIT
****
exim -bh V4NET.10.10.10
mail from:<userx@???>
rcpt to:<userx@???>
data
From: userx@???
To: userx@???
Cc: <abcd@???>
Resent-From: postmaster@???
Resent-To: <xyz@???
Subject: testing

  .
  QUIT
  ****
  exim -bh V4NET.10.10.10
  mail from:<userx@???>
  rcpt to:<userx@???>
  data
  From: userx@???
  To: userx@???
  Cc: "abcd@??? (missing quote),
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???,   
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???,   
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???,   
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???,   
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???,   
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???,   
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???,   
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???,   
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???,   
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???,   
    longlonglonglonglong@???,
    listlistlistlistlist@???,
    ofofofofofofofofofof@???,
    addressesaddresses@???
  .
  QUIT
  ****
  exim -bh V4NET.10.10.10
  mail from:<userx@???>
  rcpt to:<userx@???>
  data
  From: userx@???
  To: userx@???
  Cc: <abcd>
  Subject: testing


.
QUIT
****
exim -bh V4NET.10.10.9
mail from:<userx@???>
rcpt to:<userx@???>
data
From: userx@???
To: userx@???
Cc: <abcd>
Subject: testing

.
QUIT
****
no_msglog_check

Index: 0087
====================================================================
# verify = header_sender
exim -bh V4NET.10.10.10
mail from:<userx@???>
rcpt to:<userx@???>
data
From: userx@???
Reply-to:
To: userx@???
Subject: testing

.
QUIT
****
exim -bh V4NET.10.10.10
mail from:<userx@???>
rcpt to:<userx@???>
data
From: <userx@???
Reply-to:
Sender: userx@???
To: userx@???
Subject: testing

.
QUIT
****
exim -bh V4NET.10.10.10
mail from:<userx@???>
rcpt to:<userx@???>
data
From: badbad@???
Sender:
To: userx@???
Subject: testing

.
QUIT
****
exim -bh V4NET.10.10.10
mail from:<userx@???>
rcpt to:<userx@???>
data
From: badbad@???, userx@???
Sender:
To: userx@???
Subject: testing

.
QUIT
****
exim -bh V4NET.10.10.10
mail from:<userx@???>
rcpt to:<userx@???>
data
From: defer@???
To: userx@???
Subject: testing

.
QUIT
****
no_msglog_check

Index: 0088
====================================================================
# hosts_treat_as_local
1
exim -bv xx@??? xx@??? xx@???

Index: 0089
====================================================================
# host and domain list caseless matching and HELO checking
#
exim -bt userx@??? userx@???
****
exim -bh V4NET.0.0.0
helo @#$%^&*()
helo abc_xyz
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
rset
quit
****
exim -bh V4NET.0.0.99
helo @#$%^&*()
mail from:<root>
rcpt to:<xx@???>
rcpt to:<yy@???>
quit
****
2
exim -bt abcd@??? ABCD@??? XYZ@??? xyz@???
****

Index: 0090
====================================================================
# address list !:
exim -odi userx
This is a test message

Index: 0091
====================================================================
# sender_verify_hosts
exim -bh V4NET.0.0.1
mail from:<junk@???>
rcpt to:<root@???>
data
From: <junk@???>
.
quit
****
exim -bh V4NET.0.0.2
mail from:<junk@???>
rcpt to:<root@???>
data
.
quit
****
exim -bh V4NET.0.0.2
mail from:<userx@???>
rcpt to:<root@???>
data
From: <junk@???>
.
quit
****
exim -bh V4NET.0.0.2
mail from:<userx@???>
rcpt to:<root@???>
data
From: <userx@???>
.
quit
****
no_msglog_check

Index: 0092
====================================================================
# SMTP incoming timeout + receive_timeout
1
3 exim -bs
****
1
3 exim -bs
mail from: userx@???
rcpt to: userx@???
data
****
1
3 exim -bh V4NET.0.0.1
****
1
3 exim -bh V4NET.0.0.1
mail from:userx@???
rcpt to:userx@???
data
The quick brown fox
****
1
3 exim userx@???
****
1
3 exim userx@???
The quick brown fox
jumps over the lazy dog.
****
1
3 exim -bh V4NET.0.0.1
mail from: userx@???
rcpt to: verify@???
****
2
3 exim -bS
****
2
3 exim -bS
mail from: userx@???
rcpt to: userx@???
data

Index: 0093
====================================================================
# expansion tests in filter testing
exim -bf DIR/aux-var/TESTNUM.f-1
From: a@b
To: c@d

  This is the body of the message.
  It has more than one line in it.
  This is the final line.
  ****
  1
  exim -bf DIR/aux-var/TESTNUM.f-2 </dev/null
  ****
  exim -bf DIR/aux-fixed/TESTNUM.f-3
  From: a@b
  Reply-to: x@y
  Repeated: this header is repeated
            and continued
  Repeated: this header is repeated
            and continued
  Repeated: this header is repeated
            and continued
  Empty:
  Repeated-empty:
  Repeated-empty:
  Repeated-empty:
  Subject: this is the subject
  ****


Index: 0094
====================================================================
# Reverse lookup failures
exim -bh V4NET.11.12.13
mail from:<userx@???>
rcpt to:<userx@???>
quit
****
exim -bh V4NET.0.0.1
mail from:<userx@???>
rcpt to:<userx@???>
quit
****
sudo exim -odi -oMa V4NET.11.12.13 -bs
mail from:<userx@???>
rcpt to:<userx@???>
data
This is a test message
.
quit
****
exim -d -bh V4NET.99.99.90
mail from:<userx@???>
rcpt to:<userx@???>
rcpt to:<userx@???>
quit
****
sudo exim -odi -oMa 99.99.99.99 -bs
mail from:<userx@???>
rcpt to:<userx@???>
data
This is a test message
.
quit
****
sudo exim -odi -oMa V4NET.99.99.96 -bs
mail from:<userx@???>
rcpt to:<userx@???>
data
This is a test message
.
quit
****

Index: 0095
====================================================================
# exim quota + warn threshold
exim -odi userx
This is a test message
****
exim -odi userx
quota: 0
threshold: 10
This is a test message
****
exim -odi userx
quota: 10K
threshold: 900
A test message
****
exim -odi userx
quota: 2200
threshold: 90%
This is a test message
****
write test-data 100x60
++++
****
exim -odi userx <test-data
****
exim -odi userx <test-data
****
millisleep 500
exim -odi usery
quota: 100
threshold: 10
This is a test message
****
exim -odi userz
threshold: 330
****

Index: 0096
====================================================================
# headers_add, headers_remove (fail, router only)
exim -odi userx@???
Subject: First message subject
****
exim -odi userx@???
X-RBL-Warning: A faked up RBL header
Subject: Second message subject

Index: 0097
====================================================================
# headers_add, headers_remove (blank, router and transport)
exim -odi userx@???
Subject: First message subject
****
exim -odi userx@???
X-RBL-Warning: A faked up RBL header
Subject: Second message subject
Tadd: to be replaced

Index: 0098
====================================================================
# warning messages
need_ipv4
#
exim -odi userx@??? defer@???
Test message
****
# -Tqt 11s/ sets the queue time for the message to 11s when deciding
# on warnings.
exim -Tqt 11s/ -odi -qf
****
exim -odi defer@??? defer@???
Test message
****
exim -Tqt 20s/13s/ -odi -qf
****
exim -odi xxxx@???
Test message
****
exim -Tqt 41s/15s/8s/ -odi -qf
****
exim -odi yyyy@???
Nother test
****
exim -Tqt 42s/16s/9s/5s/ -odi -q
****
sleep 3
exim -Tqt 42s/16s/9s/5s/ -odi -q
****
# Now test with custom file
exim -Tqt 12m/45s/45s/11s/ -DWMF=warn_message_file=DIR/aux-fixed/TESTNUM.wmf -odi -qf
****
# Remove the previous 4 messages
exim -Mrm $msg1 $msg2 $msg3 $msg4
****
# Check no warnings for non-warn domain
exim -odi defer@???
Testing
****
exim -Tqt 20s/ -odi -qf
****
no_msglog_check

Index: 0099
====================================================================
# retry data
exim -odi userx@???
Test message
****
dump retry
sleep 1
exim -odi -q
****
dump retry
sleep 3
exim -odi -q
****
dump retry
exim -brt x@???
****
exim -brt x@???
****
exim -brt x@???
****
exim -brt x@???
****
exim -brt x@???
****
exim -brt x@???
****
exim -brt x@???
****
exim -brt x@???
****
exim -brt x@???
****
exim -brt x@??? rcpt_4xx
****
exim -brt x@??? rcpt_45x
****
exim -brt x@??? rcpt_463
****
exim -f "" -brt x@???
****
exim -f "d@???" -brt x@???
****

Index: 0100
====================================================================
# appendfile body escapes (including "from hack" and "SMTP dot" tests)
need_ipv4
#
exim -odi userx@???
Test message
From the deep abyss
From
out of nowhere
Fromage please
from is case sensitive
From: is how headers start
****
exim -odi usery@???
Test message
From the deep abyss
From
out of nowhere
Fromage please
from is case sensitive
From: is how headers start
****
write test-data 128x64
++++
From Bohemia's woods and fields
****
exim -odi userx@??? <test-data
****
write test-data 127x64 1x63
++++
From Bohemia's woods and fields
****
exim -odi userx@??? <test-data
****
exim -odi userz@???
A message containing
. a line starting with a dot
.. and one starting with two dots
From should not be escaped as this is
going to be delivered using BSMTP.
****
exim -odi userw@???
A message containing
. a line starting with a dot
.. and one starting with two dots
From should not be escaped as this is
going to be delivered using BSMTP,
via a filter.
****
server PORT_S
220 ESMTP
EHLO
250 OK
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
354 Send data
.
250 OK
QUIT
250 OK
****
exim -oi -odi userx@???
.dotheader: This is perfectly legal

A message containing
. a line starting with a dot
.. and one starting with two dots
.
The previous one contains only a dot.
****
write test-data 127x64 1x62
++++
Frost isn't From.
****
exim -odi userx@??? <test-data
****
exim -odi userx@???
Last line ending without a newline and with a partial match:
From\NONL\
****
exim -odi filter-userx@???
Test message
From the deep abyss
From
out of nowhere
Fromage please
from is case sensitive
From: is how headers start
****
exim -odi filter-userx@???
Last line ending without a newline and with a partial match:
From\NONL\
****
exim -odi userx@???
Last line ending without a newline and being a single dot:
.\NONL\
****
exim -odi mmdf-userx@???
Line consisting of four ^A characters
????
That should get escaped by adding a space.
****
exim -odi batch-userx@??? batch-userz@???
A message containing
. a line starting with a dot
.. and one starting with two dots
From should be escaped as this is
going to be delivered using batch. The dots
shouldn't be escaped.
****
exim -odi userx@???
Subject: From

From is the very first word of the message.
From starts the second line.
****
server PORT_S
220 ESMTP
EHLO
250 OK
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
354 Send data
.
250 OK
QUIT
250 OK
****
exim -oi -odi userx@???
.dotheader: This is perfectly legal

A message containing
. a line starting with a dot
.. and one starting with two dots
.
The previous one contains only a dot.
****

Index: 0101
====================================================================
# pipe body escapes (including "from hack" and "SMTP dot" tests)
need_ipv4
#
exim -odi userx@???
Test message
From the deep abyss
From
out of nowhere
Fromage please
from is case sensitive
From: is how headers start
****
write test-data 128x64
++++
From Bohemia's woods and fields
****
exim -odi userx@??? <test-data
****
write test-data 127x64 1x63
++++
From Bohemia's woods and fields
****
exim -odi userx@??? <test-data
****
exim -odi userz@???
A message containing
. a line starting with a dot
.. and one starting with two dots
From should not be escaped as this is
going to be delivered using BSMTP.
****
server PORT_S
220 ESMTP
EHLO
250 OK
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
354 Send data
.
250 OK
QUIT
250 OK
****
exim -oi -odi userx@???
.dotheader: This is perfectly legal

A message containing
. a line starting with a dot
.. and one starting with two dots
.
The previous one contains only a dot.
****
write test-data 127x64 1x62
++++
Frost isn't From.
****
exim -odi userx@??? <test-data
****
exim -odi userx@???
Last line ending without a newline and with a partial match:
From\NONL\
****
exim -odi filter-userx@???
Test message
From the deep abyss
From
out of nowhere
Fromage please
from is case sensitive
From: is how headers start
****
exim -odi filter-userx@???
Last line ending without a newline and with a partial match:
From\NONL\
****
exim -odi userx@???
Last line ending without a newline and being a single dot:
.\NONL\
****
exim -odi mmdf-userx@???
Line consisting of four ^A characters
????
That should get escaped by adding a space.
****
exim -odi userx@???
Subject: From

From is the very first word of the message.
From starts the second line.

Index: 0102
====================================================================
# appendfile auto format recognition
exim -odi userx@???
Initial test message, no prefix.
****
exim -odi userx@???
Second test message, no prefix.
****
exim -odi bsmtp_usery@???
Test message with bsmtp_ prefix
****
exim -odi usery@???
Second test message, no prefix.
****
exim -odi mmdf_userz@???
Test message with mmdf_ prefix
****
exim -odi userz@???
Second test message, no prefix.
****
exim -odi userz@???
Second test message, no prefix.
****
write test-mail/tpmissing
tpmissing text at mailbox start
****
exim -odi tpmissing@???
Test message.
****
write test-mail/undefined
undefined text at mailbox start
****
exim -odi undefined@???
Test message.
****
exim -odi batch-userx
Test to batch-userx
****
exim -odi batch-userx batch-usery
Test to batch-userx and batch-usery
****

Index: 0103
====================================================================
# redirect router no_rewrite / no transport / :defer: etc
exim -odi '"xyz@???'
Message sent to "xyz@???.
****
exim -odi '"abc@???'
Message sent to "abc@???.
****
exim -odi '":blackhole:"@special'
Message sent to ":blackhole:"@special
****
exim -odi '":defer: defer message"@special'
Message sent to ":defer: defer message"@special
****
exim -odi '":fail: fail message"@special'
Message sent to ":fail: fail message"@special
****

Index: 0104
====================================================================
# source routed addresses - collapsing
exim -bt @exim.org:xxx@??? '@x.y,@a.b:xxx@???' 'abcde <@x.y,@a.b:xxx@???>'
****
exim -odi @x.y,@r.s:a.b@???
To: comment <@x.y,@r.s:a.b@???>
****
exim -odi @x.y:mmm@ten-1
To: You <@x.y:mmm@ten-1>
****

Index: 0105
====================================================================
# aliasfile with transport + smartuser with new address and transport
exim -odi firstuser
Delivered to firstuser
.
****
exim -odi seconduser@???
Delivered to seconduser
.
****
exim -odi postmaster
Delivered to default
.
****

Index: 0106
====================================================================
# SMTP outgoing timeout
need_ipv4
#
server PORT_S
220 ESMTP
EHLO
*sleep 4
****
exim -odi userx@???
.
****
sleep 1
server PORT_S
220 ESMTP
EHLO
250 OK
MAIL FROM
*sleep 4
****
exim -odi userx@???
.
****

Index: 0107
====================================================================
# create_file = belowhome
mkdir test-empty
ln -s ../test-empty test-mail/link
exim -odi userx usery userz sub1 sub2 sub3
To: userx

Testing.
****
no_message_check

Index: 0108
====================================================================
# remote_sort_domains
#
exim -odi -N xx@??? xx@??? xx@??? xx@???
****
exim -odi -N xx@??? xx@??? xx@??? xx@???
****

Index: 0109
====================================================================
# fallback hosts
need_ipv4
#
exim -odi xx@???
****

Index: 0110
====================================================================
# one_time in aliasfile
exim -odi first
****
exim -qf
****

Index: 0111
====================================================================
# check_ancestor, errors_to, headers_{add,remove} in redirect router
exim -odi userx
Remove: This header should go
****
exim -odi Philip
Remove: This header should go
****
exim -odi philip
Remove: This header should go
****

Index: 0112
====================================================================
# pipe and file deliveries from aliasfile
exim -odi pipe
Message to pipe.
****
exim -odi file
Message to file.
****

Index: 0113
====================================================================
# one_time in forwardfile
exim -odi first
****
exim -qf
****

Index: 0114
====================================================================
# pipe, file, and autoreply deliveries from forwardfile
exim -odi pipe
Message to pipe.
****
exim -odi file
Message to file.
****
exim -odi reply
Message to reply.
****
exim -odi reply
Message to reply.
****

Index: 0115
====================================================================
# forwardfile: uid and home directory tests
exim -odi userx
Message to userx.
****
exim -odi one-userx
Message to one-userx.
****
exim -odi two-userx
Message to two-userx.
****
exim -odi three-userx
Message to three-userx.
****

Index: 0116
====================================================================
# unseen (including address_data passing)
exim -odi dcopy defer
Message sent to dcopy.
****
exim -odi acopy defer
Message sent to acopy.
****
exim -qf
****

Index: 0117
====================================================================
# host in MX list more than once
#
# The different domains produce the same list of hosts, but in different
# orders, to simulate a real nameserver's round robinning.
#
exim -d-all+route -bv xxx@???
****
exim -d-all+route -bv xxx@???
****
exim -d-all+route -bv xxx@???
****

Index: 0118
====================================================================
# first_delivery and queue_running
exim -odi userx
****
exim -M $msg1
****
exim -qf
****

Index: 0119
====================================================================
# -R and -S
exim -odq postmaster
****
exim -Rpostmaster
****
exim -Rf postmaster
****
exim -R postmaster
****
exim -S postmaster
****
exim -S CALLER
****
exim -Rr p[aeiou]st
****
exim -Sr 'CALLER|^post'
****
exim -qqSr 'CALLER'
****
exim -qSr '^10'
****
exim -R postmaster -S postmaster
****
exim -S CALLER -R master
****

Index: 0120
====================================================================
# $message_age
exim -odi postmaster
****
exim -odi -qf
****
sleep 3
exim -odi -qf
****

Index: 0121
====================================================================
# Sender verification (envelope and header)
exim -bh 127.0.0.1
mail from:<unknown@???>
rcpt to:<userx@???>
rset
mail from:<userx@???>
rcpt to:<userx@???>
rset
mail from:<userx@???>
rcpt to:<userx@???>
data
From: unknown@???
.
mail from:<userx@???>
rcpt to:<userx@???>
data
From: <>
.
mail from:<defer@???>
rcpt to:<userx@???>
rset
mail from:<userx@???>
rcpt to:<userx@???>
data
from: <defer@???>
.
quit
****

Index: 0122
====================================================================
# msglog frozen messages
exim -odi freeze
****
exim -odi -f '<>' unknown
****
sudo exim -odi -f '<>' unknown
****

Index: 0123
====================================================================
# lookup_open_max
2
exim -d -bt x y z
****

Index: 0124
====================================================================
# host lookup failure error message
exim -bh V4NET.0.0.97
mail from:<userx@???>
rcpt to:<userx@???>
rset
mail from:<userx@???>
rcpt to:<userx@???>
quit
****

  Index: 0125
  ====================================================================
  # very long header line
  exim -odq userx@???
  From: userx@???
  To: 000@???, 001@???, 002@???, 003@???, 004@???,
      005@???, 006@???, 007@???, 008@???, 009@???,
      010@???, 011@???, 012@???, 013@???, 014@???,
      015@???, 016@???, 017@???, 018@???, 019@???,
      020@???, 021@???, 022@???, 023@???, 024@???,
      025@???, 026@???, 027@???, 028@???, 029@???,
      030@???, 031@???, 032@???, 033@???, 034@???,
      035@???, 036@???, 037@???, 038@???, 039@???,
      040@???, 041@???, 042@???, 043@???, 044@???,
      045@???, 046@???, 047@???, 048@???, 049@???,
      050@???, 051@???, 052@???, 053@???, 054@???,
      055@???, 056@???, 057@???, 058@???, 059@???,
      060@???, 061@???, 062@???, 063@???, 064@???,
      065@???, 066@???, 067@???, 068@???, 069@???,
      070@???, 071@???, 072@???, 073@???, 074@???,
      075@???, 076@???, 077@???, 078@???, 079@???,
      080@???, 081@???, 082@???, 083@???, 084@???,
      085@???, 086@???, 087@???, 088@???, 089@???,
      090@???, 091@???, 092@???, 093@???, 094@???,
      095@???, 096@???, 097@???, 098@???, 099@???,
      100@???, 101@???, 102@???, 103@???, 104@???,
      105@???, 106@???, 107@???, 108@???, 109@???,
      110@???, 111@???, 112@???, 113@???, 114@???,
      115@???, 116@???, 117@???, 118@???, 119@???,
      120@???, 121@???, 122@???, 123@???, 124@???,
      125@???, 126@???, 127@???, 128@???, 129@???,
      130@???, 131@???, 132@???, 133@???, 134@???,
      135@???, 136@???, 137@???, 138@???, 139@???,
      140@???, 141@???, 142@???, 143@???, 144@???,
      145@???, 146@???, 147@???, 148@???, 149@???,
      150@???, 151@???, 152@???, 153@???, 154@???,
      155@???, 156@???, 157@???, 158@???, 159@???,
      160@???, 161@???, 162@???, 163@???, 164@???,
      165@???, 166@???, 167@???, 168@???, 169@???,
      170@???, 171@???, 172@???, 173@???, 174@???,
      175@???, 176@???, 177@???, 178@???, 179@???,
      180@???, 181@???, 182@???, 183@???, 184@???,
      185@???, 186@???, 187@???, 188@???, 189@???,
      190@???, 191@???, 192@???, 193@???, 194@???,
      195@???, 196@???, 197@???, 198@???, 199@???,
      200@???, 201@???, 202@???, 203@???, 204@???,
      205@???, 206@???, 207@???, 208@???, 209@???,
      210@???, 211@???, 212@???, 213@???, 214@???,
      215@???, 216@???, 217@???, 218@???, 219@???,
      220@???, 221@???, 222@???, 223@???, 224@???,
      225@???, 226@???, 227@???, 228@???, 229@???,
      230@???, 231@???, 232@???, 233@???, 234@???,
      235@???, 236@???, 237@???, 238@???, 239@???,
      240@???, 241@???, 242@???, 243@???, 244@???,
      245@???, 246@???, 247@???, 248@???, 249@???,
      250@???, 251@???, 252@???, 253@???, 254@???,
      255@???, 256@???, 257@???, 258@???, 259@???,
      260@???, 261@???, 262@???, 263@???, 264@???,
      265@???, 266@???, 267@???, 268@???, 269@???,
      270@???, 271@???, 272@???, 273@???, 274@???,
      275@???, 276@???, 277@???, 278@???, 279@???,
      280@???, 281@???, 282@???, 283@???, 284@???,
      285@???, 286@???, 287@???, 288@???, 289@???,
      290@???, 291@???, 292@???, 293@???, 294@???,
      295@???, 296@???, 297@???, 298@???, 299@???,
      300@???, 301@???, 302@???, 303@???, 304@???,
      305@???, 306@???, 307@???, 308@???, 309@???,
      310@???, 311@???, 312@???, 313@???, 314@???,
      315@???, 316@???, 317@???, 318@???, 319@???,
      320@???, 321@???, 322@???, 323@???, 324@???,
      325@???, 326@???, 327@???, 328@???, 329@???,
      330@???, 331@???, 332@???, 333@???, 334@???,
      335@???, 336@???, 337@???, 338@???, 339@???,
      340@???, 341@???, 342@???, 343@???, 344@???,
      345@???, 346@???, 347@???, 348@???, 349@???,
      350@???, 351@???, 352@???, 353@???, 354@???,
      355@???, 356@???, 357@???, 358@???, 359@???,
      360@???, 361@???, 362@???, 363@???, 364@???,
      365@???, 366@???, 367@???, 368@???, 369@???,
      370@???, 371@???, 372@???, 373@???, 374@???,
      375@???, 376@???, 377@???, 378@???, 379@???,
      380@???, 381@???, 382@???, 383@???, 384@???,
      385@???, 386@???, 387@???, 388@???, 389@???,
      390@???, 391@???, 392@???, 393@???, 394@???,
      395@???, 396@???, 397@???, 398@???, 399@???,
      400@???, 401@???, 402@???, 403@???, 404@???,
      405@???, 406@???, 407@???, 408@???, 409@???,
      410@???, 411@???, 412@???, 413@???, 414@???,
      415@???, 416@???, 417@???, 418@???, 419@???,
      420@???, 421@???, 422@???, 423@???, 424@???,
      425@???, 426@???, 427@???, 428@???, 429@???,
      430@???, 431@???, 432@???, 433@???, 434@???,
      435@???, 436@???, 437@???, 438@???, 439@???,
      440@???, 441@???, 442@???, 443@???, 444@???,
      445@???, 446@???, 447@???, 448@???, 449@???,
      450@???, 451@???, 452@???, 453@???, 454@???,
      455@???, 456@???, 457@???, 458@???, 459@???,
      460@???, 461@???, 462@???, 463@???, 464@???,
      465@???, 466@???, 467@???, 468@???, 469@???,
      470@???, 471@???, 472@???, 473@???, 474@???,
      475@???, 476@???, 477@???, 478@???, 479@???,
      480@???, 481@???, 482@???, 483@???, 484@???,
      485@???, 486@???, 487@???, 488@???, 489@???,
      490@???, 491@???, 492@???, 493@???, 494@???,
      495@???, 496@???, 497@???, 498@???, 499@???,
      500@???, 501@???, 502@???, 503@???, 504@???,
      505@???, 506@???, 507@???, 508@???, 509@???,
      510@???, 511@???, 512@???, 513@???, 514@???,
      515@???, 516@???, 517@???, 518@???, 519@???,
      520@???, 521@???, 522@???, 523@???, 524@???,
      525@???, 526@???, 527@???, 528@???, 529@???,
      530@???, 531@???, 532@???, 533@???, 534@???,
      535@???, 536@???, 537@???, 538@???, 539@???,
      540@???, 541@???, 542@???, 543@???, 544@???,
      545@???, 546@???, 547@???, 548@???, 549@???,
      550@???, 551@???, 552@???, 553@???, 554@???,
      555@???, 556@???, 557@???, 558@???, 559@???,
      560@???, 561@???, 562@???, 563@???, 564@???,
      565@???, 566@???, 567@???, 568@???, 569@???,
      570@???, 571@???, 572@???, 573@???, 574@???,
      575@???, 576@???, 577@???, 578@???, 579@???,
      580@???, 581@???, 582@???, 583@???, 584@???,
      585@???, 586@???, 587@???, 588@???, 589@???,
      590@???, 591@???, 592@???, 593@???, 594@???,
      595@???, 596@???, 597@???, 598@???, 599@???,
      600@???, 601@???, 602@???, 603@???, 604@???,
      605@???, 606@???, 607@???, 608@???, 609@???,
      610@???, 611@???, 612@???, 613@???, 614@???,
      615@???, 616@???, 617@???, 618@???, 619@???,
      620@???, 621@???, 622@???, 623@???, 624@???,
      625@???, 626@???, 627@???, 628@???, 629@???,
      630@???, 631@???, 632@???, 633@???, 634@???,
      635@???, 636@???, 637@???, 638@???, 639@???,
      640@???, 641@???, 642@???, 643@???, 644@???,
      645@???, 646@???, 647@???, 648@???, 649@???,
      650@???, 651@???, 652@???, 653@???, 654@???,
      655@???, 656@???, 657@???, 658@???, 659@???,
      660@???, 661@???, 662@???, 663@???, 664@???,
      665@???, 666@???, 667@???, 668@???, 669@???,
      670@???, 671@???, 672@???, 673@???, 674@???,
      675@???, 676@???, 677@???, 678@???, 679@???,
      680@???, 681@???, 682@???, 683@???, 684@???,
      685@???, 686@???, 687@???, 688@???, 689@???,
      690@???, 691@???, 692@???, 693@???, 694@???,
      695@???, 696@???, 697@???, 698@???, 699@???,
      700@???, 701@???, 702@???, 703@???, 704@???,
      705@???, 706@???, 707@???, 708@???, 709@???,
      710@???, 711@???, 712@???, 713@???, 714@???,
      715@???, 716@???, 717@???, 718@???, 719@???,
      720@???, 721@???, 722@???, 723@???, 724@???,
      725@???, 726@???, 727@???, 728@???, 729@???,
      730@???, 731@???, 732@???, 733@???, 734@???,
      735@???, 736@???, 737@???, 738@???, 739@???,
      740@???, 741@???, 742@???, 743@???, 744@???,
      745@???, 746@???, 747@???, 748@???, 749@???,
      750@???, 751@???, 752@???, 753@???, 754@???,
      755@???, 756@???, 757@???, 758@???, 759@???,
      760@???, 761@???, 762@???, 763@???, 764@???,
      765@???, 766@???, 767@???, 768@???, 769@???,
      770@???, 771@???, 772@???, 773@???, 774@???,
      775@???, 776@???, 777@???, 778@???, 779@???,
      780@???, 781@???, 782@???, 783@???, 784@???,
      785@???, 786@???, 787@???, 788@???, 789@???,
      790@???, 791@???, 792@???, 793@???, 794@???,
      795@???, 796@???, 797@???, 798@???, 799@???,
      800@???, 801@???, 802@???, 803@???, 804@???,
      805@???, 806@???, 807@???, 808@???, 809@???,
      810@???, 811@???, 812@???, 813@???, 814@???,
      815@???, 816@???, 817@???, 818@???, 819@???,
      820@???, 821@???, 822@???, 823@???, 824@???,
      825@???, 826@???, 827@???, 828@???, 829@???,
      830@???, 831@???, 832@???, 833@???, 834@???,
      835@???, 836@???, 837@???, 838@???, 839@???,
      840@???, 841@???, 842@???, 843@???, 844@???,
      845@???, 846@???, 847@???, 848@???, 849@???,
      850@???, 851@???, 852@???, 853@???, 854@???,
      855@???, 856@???, 857@???, 858@???, 859@???,
      860@???, 861@???, 862@???, 863@???, 864@???,
      865@???, 866@???, 867@???, 868@???, 869@???,
      870@???, 871@???, 872@???, 873@???, 874@???,
      875@???, 876@???, 877@???, 878@???, 879@???,
      880@???, 881@???, 882@???, 883@???, 884@???,
      885@???, 886@???, 887@???, 888@???, 889@???,
      890@???, 891@???, 892@???, 893@???, 894@???,
      895@???, 896@???, 897@???, 898@???, 899@???,
      900@???, 901@???, 902@???, 903@???, 904@???,
      905@???, 906@???, 907@???, 908@???, 909@???,
      910@???, 911@???, 912@???, 913@???, 914@???,
      915@???, 916@???, 917@???, 918@???, 919@???,
      920@???, 921@???, 922@???, 923@???, 924@???,
      925@???, 926@???, 927@???, 928@???, 929@???,
      930@???, 931@???, 932@???, 933@???, 934@???,
      935@???, 936@???, 937@???, 938@???, 939@???,
      940@???, 941@???, 942@???, 943@???, 944@???,
      945@???, 946@???, 947@???, 948@???, 949@???,
      950@???, 951@???, 952@???, 953@???, 954@???,
      955@???, 956@???, 957@???, 958@???, 959@???,
      960@???, 961@???, 962@???, 963@???, 964@???,
      965@???, 966@???, 967@???, 968@???, 969@???,
      970@???, 971@???, 972@???, 973@???, 974@???,
      975@???, 976@???, 977@???, 978@???, 979@???,
      980@???, 981@???, 982@???, 983@???, 984@???,
      985@???, 986@???, 987@???, 988@???, 989@???,
      990@???, 991@???, 992@???, 993@???, 994@???,
      995@???, 996@???, 997@???, 998@???, 999@???


Here is a very short message.
.
****
no_msglog_check

Index: 0126
====================================================================
# senders precondition in router
2
exim -bt userx@???

Index: 0127
====================================================================
# Sender: header (untrusted caller with local_sender_retain)
exim -odi userx@???
Sender: Sender in original <sender@???>

This is a test message.
****
exim -odi -f userx@??? userx@???
Sender: Sender in original <sender@???>

This is a test message.
****
exim -odi -f userx@??? userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>

This is a test message.
****
exim -odi userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>

This is a test message.
****
exim -bs -odi
mail from:userx@???
rcpt to:userx@???
data
Sender: Sender in original <sender@???>

This is a test message.
.
quit
****
exim -odi userx@???
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message.
****
exim -odi -f userx@??? userx@???
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message.
****
exim -odi -f userx@??? userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message.
****
exim -odi userx@???
From userx@??? Fri Jan 5 12:35 GMT 1996
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message.
****
exim -bs -odi
mail from:userx@???
rcpt to:userx@???
data
Sender: Sender in original <sender@???>
From: From person <from@???>

This is a test message.
.
quit


Index: 0128
====================================================================
# autoreply with failing once file
exim -odi userx@???
Subject: first message; non-printer >
<
****

Index: 0129
====================================================================
# $domain_data
2
exim -v -bv xxx@??? xxx@???
****

Index: 0130
====================================================================
# remote host IP address is the local host
need_ipv4
#
exim -bh V4NET.0.0.0
mail from:<userx@???>
rcpt to:<userx@???>
quit
****
exim -odi userx@???
.
****
1
exim -bt userx@???

Index: 0131
====================================================================
# self = pass with unseen filter
exim -odi userx@???
Test message
.

Index: 0132
====================================================================
# deliver to a FIFO (nothing listening)
mkfifo -m 0600 DIR/test-fifo
exim -odi userx@???
Test message
.

Index: 0133
====================================================================
# qualify_preserve_domain
exim -odi userx@???, usery@???
Test message
.

Index: 0134
====================================================================
# $domain_data and $local_part_data and caseful $local_part handling
exim -odi unknown@???
Test message
.
****
exim -odi userx@???
Test message
.
****
exim -odi unknown@??? userx@???
Test message
.
****
exim -odi userx@???
Test message
.
****
exim -odi userx@???
Test message
.
****
exim -odi UNKNOWN@???
Test to uppercased local part UNKNOWN@???
.
****
exim -odi USERX@???
Test to uppercased local part USERX@???
.
****
exim -odi PIPE@???
Test to uppercased piped address.
.
****

Index: 0135
====================================================================
# ultimate address timeout
need_ipv4
#
exim -odq a@??? b@??? c@??? d@???
Test message
.
****
sleep 3
exim -odi -q
****
exim -odi -q
****
sleep 4
exim -odi -q
****
# Remove so that next message does not arrive before
# the time of first failure.
sudo rm DIR/spool/db/retry
exim -odq -f '<>' b@???
test 2
.
****
sleep 3
exim -odi -q
****
no_message_check

Index: 0136
====================================================================
# errors_to in user filters and bounce_return_body
exim -odi -bs
mail from:<abcd@???>
rcpt to:<forwarder@???>
rcpt to:<forwarder2@???>
data
Test message.
.
quit
****
exim -DBRB=false -odi -bs
mail from:<abcd@???>
rcpt to:<forwarder@???>
rcpt to:<forwarder2@???>
data
Test message.
Several lines.
Several lines.
.
quit
****

Index: 0137
====================================================================
# mailbox locking
exim -odi userx
Transport: local_delivery
First message.
****
exim_lock -v test-mail/userx
exim -odi userx
Transport: local_delivery
Second message
****
exim -qf
****
exim_lock -v -fcntl test-mail/userx
exim -odi userx
Transport: local_delivery_fcntl
Third message
****
exim -qf
****
exim_lock -v -fcntl test-mail/userx
exim -odi userx
Transport: local_delivery_fcntl_blocking
Fourth message
****
exim -qf
****

Index: 0138
====================================================================
# RBL /accept (default reject)
exim -bh V4NET.11.12.14
ehlo exim.test.ex
mail from:postmaster@???
rcpt to:<userx@???>
rcpt to:list@???
data
test data
.
quit
****
exim -bh V4NET.11.12.13
ehlo exim.test.ex
mail from:<postmaster@???>
rcpt to:<userx@???>
data
test message data
.
quit
****
no_msglog_check

Index: 0139
====================================================================
# RBL specific address
exim -bh V4NET.11.12.14
mail from:postmaster@???
rcpt to:<userx@???>
rcpt to:list@???
data
test data
.
quit
****
exim -bh V4NET.11.12.15
mail from:<postmaster@???>
rcpt to:<userx@???>
data
test message data
.
quit
****
exim -bh V4NET.11.12.20
mail from:<postmaster@???>
quit
****
exim -bh V4NET.11.12.21
mail from:<postmaster@???>
quit
****
no_msglog_check

Index: 0140
====================================================================
# autoreply with non-printing characters
exim -odi reply1@???
Subject: first message; non-printer >?<
****
exim -odi reply2@???
Subject: first message; non-printer >?<
****

Index: 0141
====================================================================
# -bv, -bt with trusted things
2
exim -bv -oMr prot1 xxx@???
****
2
exim -bt -oMr prot2 xxx@???
****
2
exim -bvs xxx@???
****
exim -odi -oMr prot1 xxx@???
****

Index: 0142
====================================================================
# open file descriptor test
exim -odi pipe filter
Test message
.
****

Index: 0143
====================================================================
# smtp client "interface" option
need_ipv4
#
server PORT_S
220 ESMTP
EHLO
250-OK
250-HELP
250 AUTH LOGIN
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
354 Send data
.
250 OK
QUIT
250 OK
****
exim -d-all+transport -odi userx@???
.
****

Index: 0144
====================================================================
# DNS_AGAIN in manualroute
need_ipv4
#
exim -odi x@???
****
no_msglog_check

Index: 0145
====================================================================
# MX pointing to IP address not allowed
2
exim -bt x@???
****
exim -bh V4NET.9.8.7
mail from:<x@???>
rcpt to:<x@y>
quit
****
exim -bh V4NET.9.8.7
mail from:<x@???>
rcpt to:<x@???>
quit
****

Index: 0146
====================================================================
# MX pointing to IP address allowed
exim -bt x@???
****

Index: 0147
====================================================================
# Continuation lines and long lines and macro (re)definition
need_ipv4
#
exim -bP percent_hack_domains hold_domains queue_domains host_lookup queue_smtp_domains hosts_treat_as_local ignore_fromline_hosts delay_warning_condition
****
exim -brw x@???
****
exim -brt x@???
****
exim -bP router R1
****
exim -bs
****

Index: 0148
====================================================================
# Missing quote in option value
1
exim -bP log_file_path
****

Index: 0149
====================================================================
# List delimiters
exim -d-all+route -bv x@ten y@two x@test1 x@test2 x@test3-4 x@one x@six
****

Index: 0150
====================================================================
# control of Sender: (default, includes Sender:)
exim -odi postmaster
From: not.the.login@???
Test message
.
****

Index: 0151
====================================================================
# control of Sender: (no_local_sender_check)
exim -odi postmaster
From: not.the.login@???
Test message
.
****

Index: 0152
====================================================================
# control of Sender: (local_from_{suf,pre}fix)
exim -odi postmaster
From: not.the.login@???
Test message
.
****
exim -odi postmaster
From: page+CALLER@???
Test message
.
****
exim -odi postmaster
From: call+CALLER@???
Test message
.
****
exim -odi postmaster
From: call-CALLER@???
Test message
.
****
exim -odi postmaster
From: CALLER&page@???
Test message
.
****
exim -odi postmaster
From: CALLER&call@???
Test message
.
****
exim -odi postmaster
From: CALLER=call@???
Test message
.
****
exim -odi postmaster
From: page+CALLER=call@???
Test message
.
****

Index: 0153
====================================================================
# virtual domains and mailing list basic test of no_more
2
exim -bv abcd@??? yes@??? no@??? xx@???
****
2
exim -bv yes@??? no@???
****

Index: 0154
====================================================================
# queue run in order - single spool
exim -odq a@???
****
millisleep 500
exim -odq b@???
****
millisleep 500
exim -odq c@???
****
millisleep 500
exim -odq d@???
****
millisleep 500
exim -odq e@???
****
millisleep 500
exim -odq f@???
****
millisleep 500
exim -odq g@???
****
millisleep 500
exim -odq h@???
****
millisleep 500
exim -odq i@???
****
millisleep 500
exim -odq j@???
****
exim -bp
****
exim -q
****
no_msglog_check

Index: 0155
====================================================================
# queue run in order - split spool
exim -odq a@???
****
millisleep 500
exim -odq b@???
****
millisleep 500
exim -odq c@???
****
millisleep 500
exim -odq d@???
****
millisleep 500
exim -odq e@???
****
millisleep 500
exim -odq f@???
****
millisleep 500
exim -odq g@???
****
millisleep 500
exim -odq h@???
****
millisleep 500
exim -odq i@???
****
millisleep 500
exim -odq j@???
****
exim -bp
****
exim -q
****
no_msglog_check

Index: 0156
====================================================================
# redirect router with forbids
1
exim -bt defer file include
****
exim -odi defer file include
****
2
exim -bt unknown
****
no_msglog_check

Index: 0157
====================================================================
# relay by sender and host
exim -bh V4NET.0.0.1
mail from:<x@???>
rcpt to:<a@???>
rset
mail from:<userx@???>
rcpt to:<a@???>
quit
****
exim -bh V4NET.0.0.2
mail from:<x@???>
rcpt to:<a@???>
rset
mail from:<userx@???>
rcpt to:<a@???>
quit
****
exim -bh V4NET.0.0.3
mail from:<x@???>
rcpt to:<a@???>
rset
mail from:<userx@???>
rcpt to:<a@???>
quit
****

Index: 0158
====================================================================
# deliver_drop_privilege and setuid=EXIMUSER
exim -odi CALLER
Testing
****
exim -odi EXIMUSER
Testing
****
exim_exim -odi EXIMUSER
Testing setuid EXIMUSER
****
no_msglog_check

Index: 0159
====================================================================
# recognizing IPv4 address in HELO/EHLO
need_ipv4
#
# Incoming messages will be queued; deliver by queue run at the end.
#
exim -DSERVER=server -bd -oX PORT_D
****
client HOSTIPV4 PORT_D
??? 220
ehlo [HOSTIPV4]
??? 250-
??? 250-
??? 250-
??? 250
mail from:<>
??? 250
rcpt to:<userx@???>
??? 250
data
??? 354
To: userx@???

EHLO [HOSTIPV4]
.
??? 250
ehlo [IPV4:HOSTIPV4]
??? 250-
??? 250-
??? 250-
??? 250
mail from:<>
??? 250
rcpt to:<userx@???>
??? 250
data
??? 354
To: userx@???

EHLO [IPV4:HOSTIPV4]
.
??? 250
ehlo HOSTIPV4
??? 250-
??? 250-
??? 250-
??? 250
mail from:<>
??? 250
rcpt to:<userx@???>
??? 250
data
??? 354
To: userx@???

EHLO HOSTIPV4
.
??? 250
ehlo [V4NET.1.2.3]
??? 250-
??? 250-
??? 250-
??? 250
mail from:<>
??? 250
rcpt to:<userx@???>
??? 250
data
??? 354
To: userx@???

EHLO [V4NET.1.2.3]
.
??? 250
quit
??? 221
****
killdaemon
# Wait for delivery process
millisleep 500
exim -q
****

Index: 0160
====================================================================
# queue_only is set in the configuration
need_ipv4
#
exim userx@???
.
****
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
452 Temporary error
QUIT
250 OK
****
exim -q
****
sleep 4
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
452 Temporary error
QUIT
250 OK
****
exim -q
****
exim -q
****
no_msglog_check

Index: 0161
====================================================================
# further "self" tests
need_ipv4
#
exim -d-all+route -bt xx@???
****
exim -d-all+route -bt myhost.test.ex@???
****
exim -d-all+route -bt xx@???
****
2
exim -d-all+route -bt xx@???
****
2
exim -d-all+route -bt ff@???
****
2
exim -d-all+route -bt fff@???
****

  Index: 0162
  ====================================================================
  # failing header with very long apparent address
  exim -odq -bs
  mail from:<u2@???>
  rcpt to:<u3@???>
  data
  To: <u5@???>,
    <u6@???>,
    <u7@???>,
    <u8@???>,
    <u9@???>,
    <u10@???>,
    <u11@???>,
    <u12@???>,
    <u13@???>,
    <u14@???>,
    <u15@???>,
    <u16@???>,
    <u17@???>,
    <u18@???>,
    <u19@???>,
    <u20@???>,
    <u21@???>,
    <u22@???>,
    <u23@???>,
    <u24@???>,
    <u25@???>,
    <u26@???>,
    <u27@???>,
    <u28@???>,
    <u29@???>,
    <u30@???>,
    <u31@???>,
    <u32@???>,
    <u33@???>,
    <u34@???>,
    <u35@???>,
    <u36@???>,
    <u37@???>,
    <u38@???>,
    <u39@???>,
    <u40@???>,
    <u41@???>,
    <u42@???>,
    <u43@???>,
    <u44@???>,
    <u45@???>,
    <u46@???>,
    <u47@???>,
    <u48@???>,
    <u49@???>,
    <u50@???>,
    <u51@???>,
    <u52@???>,
    <u53@???>,
    <u54@???>,
    <u55@???>,
    <u56@???>,
    <u57@???>,
    <u58@???>,
    <u59@???>,
    <u60@???>,
    <u61@???>,
    <u62@???>,
    <u63@???>,
    <u64@???>,
    <u65@???>,
    <u66@???>,
    <u67@???>,
    <u68@???>,
    <u69@???>,
    <u70@???>,
    <u71@???>,
    <u72@???>,
    <u73@???>,
    <u74@???>,
    <u75@???>,
    <u76@???>,
    <u77@???>,
    <u78@???>,
    <u79@???>,
    <u80@???>,
    <u81@???>,
    <u82@???>,
    <u83@???>,
    <u84@???>,
    <u85@???>,
    <u86@???>,
    <u87@???>,
    <u88@???>,
    <u89@???>,
    <u90@???>,
    <u91@???>,
    <u92@???>,
    <u93@???>,
    <u94@???>,
    <u95@???>,
    <u96@???>,
    <u97@???>,
    <u98@???>,
    <u99@???>,
    <u100@???>,
    <u101@???>,
    <u102@???>,
    <u103@???>,
    <u104@???>,
    <u105@???>,
    <u106@???>,
    <u107@???>,
    <u108@???>,
    <u109@???>,
    <u110@???>,
    <u111@???>,
    <u112@???>,
    <u113@???>,
    <u114@???>,
    <u115@???>,
    <u116@???>,
    <u117@???>,
    <u118@???>,
    <u119@???>,
    <u120@???>,
    <u121@???>,
    <u122@???>,
    <u123@???>,
    <u124@???>,
    <u125@???>,
    <u126@???>,
    <u127@???>,
    <u128@???>,
    <u129@???>,
    <u130@???>,
    <u131@???>,
    <u132@???>,
    <u133@???>,
    <u134@???>,
    <u135@???>,
    <u136@???>,
    <u137@???>,
    <u138@???>,
    <u139@???>,
    <u140@???>,
    <u141@???>,
    <u142@???>,
    <u143@???>,
    <u144@???>,
    <u145@???>,
    <u146@???>,
    <u147@???>,
    <u148@???>,
    <u149@???>,
    <u150@???>,
    <u151@???>,
    <u152@???>,
    <u153@???>,
    <u154@???>,
    <u155@???>,
    <u156@???>,
    <u157@???>,
    <u158@???>,
    <u159@???>,
    <u160@???>,
    <u161@???>,
    <u162@???>,
    <u163@???>,
    <u164@???>,
    <u165@???>,
    <u166@???>,
    <u167@???>,
    <u168@???>,
    <u169@???>,
    <u170@???>,
    <u171@???>,
    <u172@???>,
    <u173@???>,
    <u174@???>,
    <u175@???>,
    <u176@???>,
    <u177@???>,
    <u178@???>,
    <u179@???>,
    <u180@???>,
    <u181@???>,
    <u182@???>,
    <u183@???>,
    <u184@???>,
    <u185@???>,
    <u186@???>,
    <u187@???>,
    <u188@???>,
    <u189@???>,
    <u190@???>,
    <u191@???>,
    <u192@???>,
    <u193@???>,
    <u194@???>,
    <u195@???>,
    <u196@???>,
    <u197@???>,
    <u198@???>,
    <u199@???>,
    <u200@???>,
    <u201@???>,
    <u202@???>,
    <u203@???>,
    <u204@???>,
    <u205@???>,
    <u206@???>,
    <u207@???>,
    <u208@???>,
    <u209@???>,
    <u210@???>,
    <u211@???>,
    <u212@???">,
    <u213@???>,
    <u214@???>,
    <u215@???>,
    <u216@???>,
    <u217@???>,
    <u218@???>,
    <u219@???>,
    <u220@???>,
    <u221@???>,
    <u222@???>,
    <u223@???>,
    <u224@???>,
    <u225@???>,
    <u226@???>,
    <u227@???>,
    <u228@???>,
    <u229@???>,
    <u230@???>,
    <u231@???>,
    <u232@???>,
    <u233@???>,
    <u234@???>,
    <u235@???>,
    <u236@???>,
    <u237@???>,
    <u238@???>,
    <u239@???>,
    <u240@???>,
    <u241@???>,
    <u242@???>,
    <u243@???>,
    <u244@???>,
    <u245@???>,
    <u246@???>,
    <u247@???>,
    <u248@???>,
    <u249@???>,
    <u250@???>,
    <u251@???>,
    <u252@???>,
    <u253@???>,
    <u254@???>,
    <u255@???>,
    <u256@???>,
    <u257@???>,
    <u258@???>,
    <u259@???>,
    <u260@???>,
    <u261@???>,
    <u262@???>,
    <u263@???>,
    <u264@???>,
    <u265@???>,
    <u266@???>,
    <u267@???>,
    <u268@???>,
    <u269@???>,
    <u270@???>,
    <u271@???>,
    <u272@???>,
    <u273@???>,
    <u274@???>,
    <u275@???>,
    <u276@???>,
    <u277@???>,
    <u278@???>,
    <u279@???>,
    <u280@???>,
    <u281@???>,
    <u282@???>,
    <u283@???>,
    <u284@???>,
    <u285@???>,
    <u286@???>,
    <u287@???>,
    <u288@???>,
    <u289@???>,
    <u290@???>,
    <u291@???>,
    <u292@???>,
    <u293@???>,
    <u294@???>,
    <u295@???>,
    <u296@???>,
    <u297@???>,
    <u298@???>,
    <u299@???>,
    <u300@???>,
    <u301@???>,
    <u302@???>,
    <u303@???>,
    <u304@???>,
    <u305@???>,
    <u306@???>,
    <u307@???>,
    <u308@???>,
    <u309@???>,
    <u310@???>,
    <u311@???>,
    <u312@???>,
    <u313@???>,
    <u314@???>,
    <u315@???>,
    <u316@???>,
    <u317@???>,
    <u318@???>,
    <u319@???>,
    <u320@???>,
    <u321@???>,
    <u322@???>,
    <u323@???>,
    <u324@???>,
    <u325@???>,
    <u326@???>,
    <u327@???>,
    <u328@???>,
    <u329@???>,
    <u330@???>,
    <u331@???>,
    <u332@???>,
    <u333@???>,
    <u334@???>,
    <u335@???>,
    <u336@???>,
    <u337@???>,
    <u338@???>,
    <u339@???>,
    <u340@???>,
    <u341@???>
  Subject: New Business Opportunity
  Date: Tue, 9 May 2000 20:08:52 -0300
  MIME-Version: 1.0
  Content-Type: multipart/alternative;
     boundary="----=_NextPart_000_0004_01BFB9F2.65A80E80"
  X-Priority: 3
  X-MSMail-Priority: Normal
  X-Mailer: Microsoft Outlook Express 5.00.2314.1300
  X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
  .
  quit
  ****


Index: 0163
====================================================================
# Overlong SMTP response received
need_ipv4
#
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
550 There is a problem with the message, but this response line is over the limit for reasonable SMTP responses. 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890
QUIT
250 OK
****
exim -odi userx@???
.
****
exim -q
****
no_msglog_check

Index: 0164
====================================================================
# system filter $recipients test (no shell)
exim -odi pipe
****
exim -odi pipe another a-third
****

Index: 0165
====================================================================
# system filter $recipients test (with shell)
exim -odi pipe
****
exim -odi pipe another a-third
****

Index: 0166
====================================================================
# multiple headers_add in routers
exim -odi a

Index: 0167
====================================================================
# rewrite envelope sender or return path to null
exim -odi userx
****
exim -odi -f remove userx
****
exim -odi -f trakill userx
****
exim -brw error@???
****
exim -brw remove@???
****

Index: 0168
====================================================================
# system filter error text
exim -odi joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs joebloggs
****
no_msglog_check

Index: 0169
====================================================================
# quota warn threshold when mailbox full
exim -odi userx
This is a test message
****
exim -odi userx
quota: 0
threshold: 10
This is a test message
****
exim -odi userx
quota: 10
threshold: 100%
This is a test message
****
exim -d-all+transport -odi userx
quota: 50M
threshold: 41%
Another test
****
no_msglog_check

Index: 0170
====================================================================
# system filter to pipe without transport
exim -odi userx
This is a test message
****
no_msglog_check

Index: 0171
====================================================================
# local user home directory
exim -odi CALLER
****

Index: 0172
====================================================================
# :unknown:
2
exim -bt unknown
****

Index: 0173
====================================================================
# deliver time scan - pipe not using BSMTP
exim -odi userx
Test message
****
exim -odi userx usery userz
Another test message
****

Index: 0174
====================================================================
# deliver time scan - pipe using BSMTP
exim -odi userx
Test message
****
exim -odi userx usery userz
Another test message
****
exim -odi userx userx@???
Yet another test message
****

Index: 0175
====================================================================
# Forcing verify failures for specific senders
need_ipv4
#
exim -bh V4NET.0.0.0
mail from:<user@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.0
mail from:<user@???>
rcpt to:<userx@???>
data
.
quit
****
exim -bh V4NET.0.0.0
mail from:<user@???>
rcpt to:<userx@???>
data
.
quit
****
no_msglog_check

Index: 0176
====================================================================
# -Mg -Mf -Mt
exim -odq someone@somewhere
Some message or other.
****
exim -Mf $msg1
****
exim -Mt $msg1
****
exim -odi -Mg $msg1
****
exim -odq -f '<>' someone@somewhere
Another message or some.
****
exim -odi -Mg $msg1
****

Index: 0177
====================================================================
# Per-user system-ish filter
need_ipv4
#
exim -odi userx
Subject: fail this
This is a message to be failed.
****
exim -odi userx
Subject: freeze this (1)
This is a message to be frozen.
****
exim -odi userx
Subject: reply to this
This is a message to be replied to.
****
exim -bpa
****
exim -q
****
exim -qff
****
exim -odi userx
Subject: freeze this (2)
This is a second message to be frozen.
****
exim -qqRff userx
****
exim -odi userz
Subject: freeze this (3)
This is a third message to be frozen.
****
exim -bp
****
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
250 OK
QUIT
250 OK
****
exim -qqRff userz
****

  Index: 0178
  ====================================================================
  # log_subject
  exim -odi userx
  Subject: one-line subject
  ****
  exim -odi userx
  Subject: two-line subject,
    that is, it covers two lines
  ****
  exim -odi userx
  Subject: subject containing ????? backspaces
  ****
  exim -odi userx
  Subject: subject contains "quotes" and \backslashes\ and
    ? non-prints over multiple
    lines
  ****    
  exim -odi userx
  Subject: =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= ABCD
  ****
  no_message_check


Index: 0179
====================================================================
# -qqf
need_ipv4
#
exim -odq userx@???
.
****
exim -odq abcd@???
.
****
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
250 OK
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
250 OK
QUIT
250 OK
****
exim -odi -qqf
****

Index: 0180
====================================================================
# SIZE and check_spool_space
exim -odq -bs
EHLO some.host
MAIL FROM:<userx@???> SIZE=1000000000
RSET
MAIL FROM:<userx@???> SIZE=10
RSET
MAIL FROM:<userx@???>
RSET
MAIL FROM:<userx@???> SIZE=5000000000
QUIT
****
exim -bh 1.2.3.4
EHLO some.host
QuIt
****
exim -bh 5.6.7.8
EHLO some.host
QuIt
****
exim -DCSS= -odq -bs
EHLO some.host
MAIL FROM:<userx@???> SIZE=1000000000
RSET
MAIL FROM:<userx@???> SIZE=10
RSET
MAIL FROM:<userx@???>
RSET
MAIL FROM:<userx@???> SIZE=5000000000
RSET
MAIL FROM:<userx@???> SIZE=50000000000000000000000
QUIT
****

Index: 0181
====================================================================
# message size check without SIZE
exim -odq -bs
EHLO some.host
MAIL FROM:<userx@???>
RCPT TO:<userx@???>
Data
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
.
QUIT
****
1
exim -oep -odq userx
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
.
****
no_msglog_check

Index: 0182
====================================================================
# headers added by system filter
exim -odi userx@???
Test message.
.
****
exim -qf
****

Index: 0183
====================================================================
# caching failed DNS lookups
1
exim -d -bt userx@??? abcd@??? abcd@??? usery@??? userz@??? xyz@???
****
1
exim -d -bt userx@??? abcd@??? abcd@??? usery@??? userz@??? xyz@???
****
2
exim -d -bt userx@??? abcd@??? abcd@??? usery@??? userz@??? xyz@???
****
1
exim -d -bt srv@??? srv@???
****

  Index: 0184
  ====================================================================
  # expand very long header in user filter
  exim -odi userx@???
  From: userx@???
  To: 000@???, 001@???, 002@???, 003@???, 004@???,
      005@???, 006@???, 007@???, 008@???, 009@???,
      010@???, 011@???, 012@???, 013@???, 014@???,
      015@???, 016@???, 017@???, 018@???, 019@???,
      020@???, 021@???, 022@???, 023@???, 024@???,
      025@???, 026@???, 027@???, 028@???, 029@???,
      030@???, 031@???, 032@???, 033@???, 034@???,
      035@???, 036@???, 037@???, 038@???, 039@???,
      040@???, 041@???, 042@???, 043@???, 044@???,
      045@???, 046@???, 047@???, 048@???, 049@???,
      050@???, 051@???, 052@???, 053@???, 054@???,
      055@???, 056@???, 057@???, 058@???, 059@???,
      060@???, 061@???, 062@???, 063@???, 064@???,
      065@???, 066@???, 067@???, 068@???, 069@???,
      070@???, 071@???, 072@???, 073@???, 074@???,
      075@???, 076@???, 077@???, 078@???, 079@???,
      080@???, 081@???, 082@???, 083@???, 084@???,
      085@???, 086@???, 087@???, 088@???, 089@???,
      090@???, 091@???, 092@???, 093@???, 094@???,
      095@???, 096@???, 097@???, 098@???, 099@???,
      100@???, 101@???, 102@???, 103@???, 104@???,
      105@???, 106@???, 107@???, 108@???, 109@???,
      110@???, 111@???, 112@???, 113@???, 114@???,
      115@???, 116@???, 117@???, 118@???, 119@???,
      120@???, 121@???, 122@???, 123@???, 124@???,
      125@???, 126@???, 127@???, 128@???, 129@???,
      130@???, 131@???, 132@???, 133@???, 134@???,
      135@???, 136@???, 137@???, 138@???, 139@???,
      140@???, 141@???, 142@???, 143@???, 144@???,
      145@???, 146@???, 147@???, 148@???, 149@???,
      150@???, 151@???, 152@???, 153@???, 154@???,
      155@???, 156@???, 157@???, 158@???, 159@???,
      160@???, 161@???, 162@???, 163@???, 164@???,
      165@???, 166@???, 167@???, 168@???, 169@???,
      170@???, 171@???, 172@???, 173@???, 174@???,
      175@???, 176@???, 177@???, 178@???, 179@???,
      180@???, 181@???, 182@???, 183@???, 184@???,
      185@???, 186@???, 187@???, 188@???, 189@???,
      190@???, 191@???, 192@???, 193@???, 194@???,
      195@???, 196@???, 197@???, 198@???, 199@???,
      200@???, 201@???, 202@???, 203@???, 204@???,
      205@???, 206@???, 207@???, 208@???, 209@???,
      210@???, 211@???, 212@???, 213@???, 214@???,
      215@???, 216@???, 217@???, 218@???, 219@???,
      220@???, 221@???, 222@???, 223@???, 224@???,
      225@???, 226@???, 227@???, 228@???, 229@???,
      230@???, 231@???, 232@???, 233@???, 234@???,
      235@???, 236@???, 237@???, 238@???, 239@???,
      240@???, 241@???, 242@???, 243@???, 244@???,
      245@???, 246@???, 247@???, 248@???, 249@???,
      250@???, 251@???, 252@???, 253@???, 254@???,
      255@???, 256@???, 257@???, 258@???, 259@???,
      260@???, 261@???, 262@???, 263@???, 264@???,
      265@???, 266@???, 267@???, 268@???, 269@???,
      270@???, 271@???, 272@???, 273@???, 274@???,
      275@???, 276@???, 277@???, 278@???, 279@???,
      280@???, 281@???, 282@???, 283@???, 284@???,
      285@???, 286@???, 287@???, 288@???, 289@???,
      290@???, 291@???, 292@???, 293@???, 294@???,
      295@???, 296@???, 297@???, 298@???, 299@???,
      300@???, 301@???, 302@???, 303@???, 304@???,
      305@???, 306@???, 307@???, 308@???, 309@???,
      310@???, 311@???, 312@???, 313@???, 314@???,
      315@???, 316@???, 317@???, 318@???, 319@???,
      320@???, 321@???, 322@???, 323@???, 324@???,
      325@???, 326@???, 327@???, 328@???, 329@???,
      330@???, 331@???, 332@???, 333@???, 334@???,
      335@???, 336@???, 337@???, 338@???, 339@???,
      340@???, 341@???, 342@???, 343@???, 344@???,
      345@???, 346@???, 347@???, 348@???, 349@???,
      350@???, 351@???, 352@???, 353@???, 354@???,
      355@???, 356@???, 357@???, 358@???, 359@???,
      360@???, 361@???, 362@???, 363@???, 364@???,
      365@???, 366@???, 367@???, 368@???, 369@???,
      370@???, 371@???, 372@???, 373@???, 374@???,
      375@???, 376@???, 377@???, 378@???, 379@???,
      380@???, 381@???, 382@???, 383@???, 384@???,
      385@???, 386@???, 387@???, 388@???, 389@???,
      390@???, 391@???, 392@???, 393@???, 394@???,
      395@???, 396@???, 397@???, 398@???, 399@???,
      400@???, 401@???, 402@???, 403@???, 404@???,
      405@???, 406@???, 407@???, 408@???, 409@???,
      410@???, 411@???, 412@???, 413@???, 414@???,
      415@???, 416@???, 417@???, 418@???, 419@???,
      420@???, 421@???, 422@???, 423@???, 424@???,
      425@???, 426@???, 427@???, 428@???, 429@???,
      430@???, 431@???, 432@???, 433@???, 434@???,
      435@???, 436@???, 437@???, 438@???, 439@???,
      440@???, 441@???, 442@???, 443@???, 444@???,
      445@???, 446@???, 447@???, 448@???, 449@???,
      450@???, 451@???, 452@???, 453@???, 454@???,
      455@???, 456@???, 457@???, 458@???, 459@???,
      460@???, 461@???, 462@???, 463@???, 464@???,
      465@???, 466@???, 467@???, 468@???, 469@???,
      470@???, 471@???, 472@???, 473@???, 474@???,
      475@???, 476@???, 477@???, 478@???, 479@???,
      480@???, 481@???, 482@???, 483@???, 484@???,
      485@???, 486@???, 487@???, 488@???, 489@???,
      490@???, 491@???, 492@???, 493@???, 494@???,
      495@???, 496@???, 497@???, 498@???, 499@???,
      500@???, 501@???, 502@???, 503@???, 504@???,
      505@???, 506@???, 507@???, 508@???, 509@???,
      510@???, 511@???, 512@???, 513@???, 514@???,
      515@???, 516@???, 517@???, 518@???, 519@???,
      520@???, 521@???, 522@???, 523@???, 524@???,
      525@???, 526@???, 527@???, 528@???, 529@???,
      530@???, 531@???, 532@???, 533@???, 534@???,
      535@???, 536@???, 537@???, 538@???, 539@???,
      540@???, 541@???, 542@???, 543@???, 544@???,
      545@???, 546@???, 547@???, 548@???, 549@???,
      550@???, 551@???, 552@???, 553@???, 554@???,
      555@???, 556@???, 557@???, 558@???, 559@???,
      560@???, 561@???, 562@???, 563@???, 564@???,
      565@???, 566@???, 567@???, 568@???, 569@???,
      570@???, 571@???, 572@???, 573@???, 574@???,
      575@???, 576@???, 577@???, 578@???, 579@???,
      580@???, 581@???, 582@???, 583@???, 584@???,
      585@???, 586@???, 587@???, 588@???, 589@???,
      590@???, 591@???, 592@???, 593@???, 594@???,
      595@???, 596@???, 597@???, 598@???, 599@???,
      600@???, 601@???, 602@???, 603@???, 604@???,
      605@???, 606@???, 607@???, 608@???, 609@???,
      610@???, 611@???, 612@???, 613@???, 614@???,
      615@???, 616@???, 617@???, 618@???, 619@???,
      620@???, 621@???, 622@???, 623@???, 624@???,
      625@???, 626@???, 627@???, 628@???, 629@???,
      630@???, 631@???, 632@???, 633@???, 634@???,
      635@???, 636@???, 637@???, 638@???, 639@???,
      640@???, 641@???, 642@???, 643@???, 644@???,
      645@???, 646@???, 647@???, 648@???, 649@???,
      650@???, 651@???, 652@???, 653@???, 654@???,
      655@???, 656@???, 657@???, 658@???, 659@???,
      660@???, 661@???, 662@???, 663@???, 664@???,
      665@???, 666@???, 667@???, 668@???, 669@???,
      670@???, 671@???, 672@???, 673@???, 674@???,
      675@???, 676@???, 677@???, 678@???, 679@???,
      680@???, 681@???, 682@???, 683@???, 684@???,
      685@???, 686@???, 687@???, 688@???, 689@???,
      690@???, 691@???, 692@???, 693@???, 694@???,
      695@???, 696@???, 697@???, 698@???, 699@???,
      700@???, 701@???, 702@???, 703@???, 704@???,
      705@???, 706@???, 707@???, 708@???, 709@???,
      710@???, 711@???, 712@???, 713@???, 714@???,
      715@???, 716@???, 717@???, 718@???, 719@???,
      720@???, 721@???, 722@???, 723@???, 724@???,
      725@???, 726@???, 727@???, 728@???, 729@???,
      730@???, 731@???, 732@???, 733@???, 734@???,
      735@???, 736@???, 737@???, 738@???, 739@???,
      740@???, 741@???, 742@???, 743@???, 744@???,
      745@???, 746@???, 747@???, 748@???, 749@???,
      750@???, 751@???, 752@???, 753@???, 754@???,
      755@???, 756@???, 757@???, 758@???, 759@???,
      760@???, 761@???, 762@???, 763@???, 764@???,
      765@???, 766@???, 767@???, 768@???, 769@???,
      770@???, 771@???, 772@???, 773@???, 774@???,
      775@???, 776@???, 777@???, 778@???, 779@???,
      780@???, 781@???, 782@???, 783@???, 784@???,
      785@???, 786@???, 787@???, 788@???, 789@???,
      790@???, 791@???, 792@???, 793@???, 794@???,
      795@???, 796@???, 797@???, 798@???, 799@???,
      800@???, 801@???, 802@???, 803@???, 804@???,
      805@???, 806@???, 807@???, 808@???, 809@???,
      810@???, 811@???, 812@???, 813@???, 814@???,
      815@???, 816@???, 817@???, 818@???, 819@???,
      820@???, 821@???, 822@???, 823@???, 824@???,
      825@???, 826@???, 827@???, 828@???, 829@???,
      830@???, 831@???, 832@???, 833@???, 834@???,
      835@???, 836@???, 837@???, 838@???, 839@???,
      840@???, 841@???, 842@???, 843@???, 844@???,
      845@???, 846@???, 847@???, 848@???, 849@???,
      850@???, 851@???, 852@???, 853@???, 854@???,
      855@???, 856@???, 857@???, 858@???, 859@???,
      860@???, 861@???, 862@???, 863@???, 864@???,
      865@???, 866@???, 867@???, 868@???, 869@???,
      870@???, 871@???, 872@???, 873@???, 874@???,
      875@???, 876@???, 877@???, 878@???, 879@???,
      880@???, 881@???, 882@???, 883@???, 884@???,
      885@???, 886@???, 887@???, 888@???, 889@???,
      890@???, 891@???, 892@???, 893@???, 894@???,
      895@???, 896@???, 897@???, 898@???, 899@???,
      900@???, 901@???, 902@???, 903@???, 904@???,
      905@???, 906@???, 907@???, 908@???, 909@???,
      910@???, 911@???, 912@???, 913@???, 914@???,
      915@???, 916@???, 917@???, 918@???, 919@???,
      920@???, 921@???, 922@???, 923@???, 924@???,
      925@???, 926@???, 927@???, 928@???, 929@???,
      930@???, 931@???, 932@???, 933@???, 934@???,
      935@???, 936@???, 937@???, 938@???, 939@???,
      940@???, 941@???, 942@???, 943@???, 944@???,
      945@???, 946@???, 947@???, 948@???, 949@???,
      950@???, 951@???, 952@???, 953@???, 954@???,
      955@???, 956@???, 957@???, 958@???, 959@???,
      960@???, 961@???, 962@???, 963@???, 964@???,
      965@???, 966@???, 967@???, 968@???, 969@???,
      970@???, 971@???, 972@???, 973@???, 974@???,
      975@???, 976@???, 977@???, 978@???, 979@???,
      980@???, 981@???, 982@???, 983@???, 984@???,
      985@???, 986@???, 987@???, 988@???, 989@???,
      990@???, 991@???, 992@???, 993@???, 994@???,
      995@???, 996@???, 997@???, 998@???, 999@???


Here is a very short message.
.
****
no_msglog_check

Index: 0185
====================================================================
# More per-user system-ish filter
need_ipv4
#
exim -odi usery
Subject: freeze this
This is a message to be frozen.
****
exim -bp
****
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
250 OK
QUIT
250 OK
****
exim -qqRff usery
****

Index: 0186
====================================================================
# ignore_target_hosts (byname)
exim -bt userx@???
****
exim -bt userx@???
****

Index: 0187
====================================================================
# ignore_target_hosts (bydns)
exim -bt userx@???
****
exim -bt userx@???
****
exim -bt userx@???
****
exim -bt userx@???
****
exim -bt userx@???
****
2
exim -bt userx@localhost
****
2
exim -bt userx@???
****
2
exim -bt userx@???
****
2
exim -bt userx@???
****

Index: 0188
====================================================================
# ETRN (non-existent command)
exim -bs -oMa 127.0.0.1
etrn #some.random.domain
quit
****
sleep 1

Index: 0189
====================================================================
# Sender: from trusted caller
exim -odi userx
Sender: sender@???

This is a test message from an untrusted caller.
****
sudo exim -odi userx
Sender: sender@???

This is a test message from a trusted caller....
****

Index: 0190
====================================================================
# hosts_randomize (smtp transport and manualroute)
need_ipv4
#
server PORT_S 3
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
250 OK
QUIT
250 OK
*eof
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
250 OK
QUIT
250 OK
*eof
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
250 OK
QUIT
250 OK
****
exim -odi userx@domain1 userx@domain2 userx@domain3
Test message
****
exim -bt x@x x@y x@z
****
server PORT_S 2
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
250 OK
QUIT
250 OK
*eof
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
250 OK
QUIT
250 OK
****
exim -odi userx@adomain1 userx@adomain2 userx@adomain3
Test message
****
exim -bt x@batch y@batch z@batch x@batch2 y@batch2 x@batch3 y@batch3 x@batch4 y@batch4
****
exim -bt userx@bdomain1 userx@bdomain2 userx@bdomain3
****
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
RCPT TO:
250 Recipient OK
RCPT TO:
250 Recipient OK
DATA
350 Send message
.
250 OK
QUIT
250 OK
****
exim -odi userx@bdomain1 userx@bdomain2 userx@bdomain3
Test message
****

Index: 0191
====================================================================
# transport filter with missing final NL
need_ipv4
#
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
354 Send message
.
250 OK
QUIT
250 OK
****
exim -odi userx@domain1
Test message
****

Index: 0192
====================================================================
# alternate quota paradigm (and -F encoding)
exim -odi -F 'Phil Q. Hazel' userx
This is a test message which should get delivered.
****
exim -odi -F 'Mèé spaces: funny, char_acters' userx
This is a test message which should go over the threshold, but still
be delivered.
****
exim -odi userx
This is a test message that should fail to be delivered.
****
no_msglog_check

Index: 0193
====================================================================
# message_size_limit on batched local delivery
exim -odi userx usery userz
This is a test message.
****

Index: 0194
====================================================================
# pipe returned message for batched local delivery
exim -odi userx usery userz
This is a test message.
****
exim -odi one two three four five six seven
Here's another message.
****
exim -odi userx usery userz
ret: 75
More message
****
exim -odi userx usery userz
ret: 99
More message 99
****
no_msglog_check

Index: 0195
====================================================================
# retry times on local addresses
exim -odi userx usery userz
This is a test message.
****
dump retry
sleep 1
exim -R usery
****
dump retry
sleep 1
exim -odi usery
one-defer: set
second message
****
dump retry
sleep 1
exim -Mc $msg2
****
dump retry
sleep 1
exim -q
****
dump retry
no_msglog_check
no_message_check

Index: 0196
====================================================================
# EXPN to daemon
need_ipv4
#
exim -DSERVER=server -bd -oX PORT_D
****
client 127.0.0.1 PORT_D
??? 220
expn postmaster
??? 250-
??? 250-
??? 250
expn rhubarb
??? 553
quit
??? 221
****
killdaemon

Index: 0197
====================================================================
# Taking copies of a domain's mail
need_ipv4
#
exim -odi userx@??? usery@???
Test one.
.
****
exim -odi -bs
mail from:<doesn't@matter>
rcpt to:<x@???>
rcpt to:<y@???>
rcpt to:<z@elsewhere>
data
Test two.
.
quit
****
exim -qf
****

  Index: 0198
  ====================================================================
  # local part check before relay
  need_ipv4
  #
  exim -odi -bS
  MAIL FROM:<CALLER@???>
  RCPT TO:<userx@???>
  RCPT TO:<usery@???>
  DATA
  Received: from CALLER by the.local.host.name with local (Exim x.yz)
      (envelope-from <CALLER@???>)
      id 10HmaX-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
  Message-Id: <E10HmaX-0005vi-00@???>
  From: CALLER_NAME <CALLER@???>
  Date: Tue, 2 Mar 1999 09:44:33 +0000


  Test one.
  .
  MAIL FROM:<doesn't@matter>
  RCPT TO:<x@???>
  RCPT TO:<y@???>
  DATA
  Received: from CALLER by the.local.host.name with local-smtp (Exim x.yz)
      (envelope-from <doesn't@matter>)
      id 10HmaY-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
  Message-Id: <E10HmaY-0005vi-00@???>
  From: doesn't@matter
  Date: Tue, 2 Mar 1999 09:44:33 +0000


Test two.
.
****

Index: 0199
====================================================================
# EXPN remote address becoming local
exim -bs -oMa 127.0.0.1
expn somewhere@???
expn somewhere@???
expn xxxx@???
expn xxxx@???
quit
****

Index: 0200
====================================================================
# syntax error in host name
2
exim -bt xx@??? yy@???
****

Index: 0201
====================================================================
# non-completing transport filter
need_ipv4
#
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
DATA
351 Send more
.
250 OK
****
exim -odi userx
This is a test message.
****
no_msglog_check

Index: 0202
====================================================================
# .. in header lines (SMTP and otherwise)
exim -bs
MAIL FROM:<userx@???>
RCPT TO:<userx@???>
DATA
..: this is legal
From: me
..
This line follows ..
.
quit
****
exim -bs
MAIL FROM:<userx@???>
RCPT TO:<userx@???>
DATA
From: me

..
This line follows ..
.
quit
****
exim -oi userx@???
From: me
..: this really is legal
.. two dots
.
That was one dot with -oi
****
exim -oi userx@???
From: me
..: this really is legal

.. two dots
.
That was one dot with -oi
****
exim -qf
****

Index: 0203
====================================================================
# Error for 2nd message down one SMTP connection
need_ipv4
#
exim -odq userx@domain1
Test message 1
****
exim -odq userx@domain1
Test message 2
****
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL
250 OK
RCPT
250 OK
DATA
354 More...
.
250 OK
MAIL
550 Don't like that sender
QUIT
220 OK
****
exim -qqf
****
no_msglog_check

Index: 0204
====================================================================
# -N
exim -odi -N userx@???
Lost
****
exim -N -odq userx@???
Should be lost
****
exim -qf
****

Index: 0205
====================================================================
# percent hack
2
exim -bt
x%y@???
x%y@???
x%y%testhack2.test.ex@???
X%test.ex@???
****
exim -odi x%testhack.test.ex@??? x@???
****
exim -odi redirect@???
****

Index: 0206
====================================================================
# timeout_frozen_after with ignore_bounce_errors_after
sudo exim -odi -f unknown@??? nonexist@??? freeze@???
****
sleep 2
sudo exim -Mf $msg1
****
exim -qf
****
sleep 2
exim -q
****
no_msglog_check

Index: 0207
====================================================================
# timeout_frozen_after without ignore_bounce_errors_after
sudo exim -odi -f unknown@??? nonexist@??? freeze@???
****
sudo exim -Mf $msg1
****
sleep 2
exim -q
****
no_msglog_check

Index: 0208
====================================================================
# msglog: success, defer, and failure messages
need_ipv4
#
server PORT_S
220 Welcome
EHLO
250 OK
MAIL
250 OK
RCPT
550 Recipient refused
QUIT
250 OK
****
exim -odi ok defer fail.transport fail.direct fail.route@???
****
server PORT_S
220 Welcome
EHLO
250 OK
MAIL
250 OK
RCPT
550 Recipient refused
QUIT
250 OK
****
exim -DMESSAGE_LOGS=false -odi ok defer fail.transport fail.direct fail.route@???
****

Index: 0209
====================================================================
# re-use of SMTP channel after 450 error
need_ipv4
#
exim -odi -odqs userz@domain1
Test message 1
****
exim -odi -odqs userz@domain1
Test message 2
****
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
450 Temporary error
QUIT
250 OK
****
exim -q
****
exim -Mrm $msg1 $msg2
****
exim -odi -odqs userx@domain1 usery@domain1
Test message 1
****
exim -odi -odqs userx@domain1 usery@domain1
Test message 2
****
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
450 Temporary error
RCPT TO:
250 OK
DATA
354 Go ahead
.
250 OK
MAIL FROM:
250 Sender OK
RCPT TO:
450 Temporary error
RCPT TO:
250 OK
DATA
354 Go ahead
.
250 OK
MAIL FROM:
250 Sender OK
RCPT TO:
450 Temporary error
QUIT
250 OK
****
exim -q
****
exim -q
****
exim -q $msg2 $msg2
****
exim -Mc $msg1
****
no_msglog_check

Index: 0210
====================================================================
# Unprivileged use of -f <>
need_ipv4
#
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 OK
DATA
345 Send it
.
250 OK
QUIT
250 OK
****
exim -odi -f '<>' file@??? pipe@??? smtp@???
This is a test message.
****

Index: 0211
====================================================================
# SMTP connection & EHLO/HELO error responses (+log_sender_on_delivery)
need_ipv4
#
server PORT_S
450 I'm busy
QUIT
250 OK
****
exim -odi userx@domain1
Test message 1
****
server PORT_S
220 Connected OK
EHLO
450 I'm busy
HELO
450 I'm busy
QUIT
250 OK
****
exim -qf
****
server PORT_S
550 Go away
QUIT
250 OK
****
exim -qf
****
server PORT_S
220 Connected OK
EHLO
550 Go away
HELO
550 Go away
QUIT
250 OK
****
exim -odi userx@domain1 usery@domain2
Test message 2
****

Index: 0212
====================================================================
# verifying aliases with one or more generated addresses
2
exim -bv
a
b
f
p
x
y
pipe
file
"smartuser.a@???
"smartuser.b@???
"smartuser.b@???
****
exim -bs -oMa V4NET.0.0.0
mail from:<userx@???>
rcpt to:<a@???>
rcpt to:<b@???>
rcpt to:<f@???>
rcpt to:<p@???>
rcpt to:<x@???>
rcpt to:<y@???>
rcpt to:<pipe@???>
rcpt to:<file@???>
rcpt to:<"smartuser.a@???>
rcpt to:<"smartuser.b@???>
rcpt to:<"smartuser.b@???>
rset
vrfy <a@???>
vrfy <b@???>
vrfy <f@???>
vrfy <p@???>
vrfy <x@???>
vrfy <y@???>
vrfy <pipe@???>
vrfy <file@???>
vrfy <"smartuser.a@???>
vrfy <"smartuser.b@???>
vrfy <"smartuser.b@???>
quit
****

Index: 0213
====================================================================
# retry data with ginormous 550 error
need_ipv4
#
server PORT_S
220 ESMTP
EHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
550 The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. The answer is no, but I am going to make sure it is a very long answer. Each line is at least 100 chars. I said NO!
QUIT
250 OK
****
exim -odi userx@domain1
Test message 1
****
dump retry
no_msglog_check

  Index: 0214
  ====================================================================
  # Overlong header lines and SMTP errors
  need_ipv4
  #
  exim -DSERVER=server -bd -oX PORT_D
  ****
  client 127.0.0.1 PORT_D
  ??? 220
  mail from:<x@???>
  ??? 250
  rcpt to:<x@???>
  ??? 250
  data
  ??? 354
  From: Me <x@???>
  Comment: This was really seen!
  To: bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      bad@address;bad@address;bad@address;bad@address;bad@address;bad@address;
      END
  .
  ??? 550
  quit
  ??? 221
  ****
  killdaemon


Index: 0215
====================================================================
# LMTP over TCP/IP (with log_sender_on_delivery)
need_ipv4
#
server PORT_S
220 ESMTP
LHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Receiver OK
DATA
354 Send it
.
250 OK
QUIT
250 OK
****
exim -odi userx
This is a test message.
****
server PORT_S
220 ESMTP
LHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
DATA
354 Send it
.
250 OK
440 Temporary error
550 Bad user
250 OK
440 Temporary error
550 Bad user
QUIT
250 OK
****
exim -odi userx userxx userxy userxz useryx useryy
This is a test message.
****
exim -Mrm $msg1
****
# This is a repeat of the previous test, but with pauses between the
# final responses, so they go out in separate packets, and some multilines.
server PORT_S
220 ESMTP
LHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
DATA
354 Send it
.
250 OK
440 Temporary error
550-I don't like this user
*sleep 1
550 Bad user
250-This one's OK
250 OK
440-Here's a whole long message, in several lines,
*sleep 1
440-just for testing that nothing breaks when
440-we do this
440 Temporary error
550 Bad user
QUIT
250 OK
****
exim -odi userx userxx userxy userxz useryx useryy
This is a test message.
****
exim -Mrm $msg1
****
# This is another repeat of the previous test, but this time some addresses
# get bounced at RCPT time.
server PORT_S
220 ESMTP
LHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
550 Receiver BAD
RCPT TO:
250 Receiver OK
RCPT TO:
450 Receiver temporarily bad
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
550 Receiver BAD
DATA
354 Send it
.
440 Temporary error
550-I don't like this user
550 Bad user
250-This one's OK
250 OK
QUIT
250 OK
****
exim -odi userx userxx userxy userxz useryx useryy
This is a test message.
****
# This is to test the ignore_quota feature; first time we don't support it.
server PORT_S
220 ESMTP
LHLO
250-OK
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
DATA
354 Send it
.
250 OK
250 OK
250 OK
QUIT
250 OK
****
exim -odi -DIGNORE_QUOTA=true userxx userxy userxz
This is a test message.
****
# This is to test the ignore_quota feature; second time we do support it
server PORT_S
220 ESMTP
LHLO
250-OK
250-IGNOREQUOTA
250 HELP
MAIL FROM:
250 Sender OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
RCPT TO:
250 Receiver OK
DATA
354 Send it
.
250 OK
250 OK
250 OK
QUIT
250 OK
****
exim -odi -DIGNORE_QUOTA=true userxx userxy userxz
This is a test message.
****
no_msglog_check

  Index: 0216
  ====================================================================
  # PIPELINING (server and client, lots of addresses)
  need_ipv4
  #
  exim -DSERVER=server -bd -oX PORT_D
  ****
  exim -t
  To: a000@???,a001@???,a002@???,a003@???,a004@???,
      a005@???,a006@???,a007@???,a008@???,a009@???,
      a010@???,a011@???,a012@???,a013@???,a014@???,
      a015@???,a016@???,a017@???,a018@???,a019@???,
      a020@???,a021@???,a022@???,a023@???,a024@???,
      a025@???,a026@???,a027@???,a028@???,a029@???,
      a030@???,a031@???,a032@???,a033@???,a034@???,
      a035@???,a036@???,a037@???,a038@???,a039@???,
      a040@???,a041@???,a042@???,a043@???,a044@???,
      a045@???,a046@???,a047@???,a048@???,a049@???,
      a050@???,a051@???,a052@???,a053@???,a054@???,
      a055@???,a056@???,a057@???,a058@???,a059@???,
      a060@???,a061@???,a062@???,a063@???,a064@???,
      a065@???,a066@???,a067@???,a068@???,a069@???,
      a070@???,a071@???,a072@???,a073@???,a074@???,
      a075@???,a076@???,a077@???,a078@???,a079@???,
      a080@???,a081@???,a082@???,a083@???,a084@???,
      a085@???,a086@???,a087@???,a088@???,a089@???,
      a090@???,a091@???,a092@???,a093@???,a094@???,
      a095@???,a096@???,a097@???,a098@???,a099@???,
      a100@???,a101@???,a102@???,a103@???,a104@???,
      a105@???,a106@???,a107@???,a108@???,a109@???,
      a110@???,a111@???,a112@???,a113@???,a114@???,
      a115@???,a116@???,a117@???,a118@???,a119@???,
      a120@???,a121@???,a122@???,a123@???,a124@???,
      a125@???,a126@???,a127@???,a128@???,a129@???,
      a130@???,a131@???,a132@???,a133@???,a134@???,
      a135@???,a136@???,a137@???,a138@???,a139@???,
      a140@???,a141@???,a142@???,a143@???,a144@???,
      a145@???,a146@???,a147@???,a148@???,a149@???,
      a150@???,a151@???,a152@???,a153@???,a154@???,
      a155@???,a156@???,a157@???,a158@???,a159@???,
      a160@???,a161@???,a162@???,a163@???,a164@???,
      a165@???,a166@???,a167@???,a168@???,a169@???,
      a170@???,a171@???,a172@???,a173@???,a174@???,
      a175@???,a176@???,a177@???,a178@???,a179@???,
      a180@???,a181@???,a182@???,a183@???,a184@???,
      a185@???,a186@???,a187@???,a188@???,a189@???,
      a190@???,a191@???,a192@???,a193@???,a194@???,
      a195@???,a196@???,a197@???,a198@???,a199@???,
      a200@???,a201@???,a202@???,a203@???,a204@???,
      a205@???,a206@???,a207@???,a208@???,a209@???,
      a210@???,a211@???,a212@???,a213@???,a214@???,
      a215@???,a216@???,a217@???,a218@???,a219@???,
      a220@???,a221@???,a222@???,a223@???,a224@???,
      a225@???,a226@???,a227@???,a228@???,a229@???,
      a230@???,a231@???,a232@???,a233@???,a234@???,
      a235@???,a236@???,a237@???,a238@???,a239@???,
      a240@???,a241@???,a242@???,a243@???,a244@???,
      a245@???,a246@???,a247@???,a248@???,a249@???,
      a250@???,a251@???,a252@???,a253@???,a254@???,
      a255@???,a256@???,a257@???,a258@???,a259@???,
      a260@???,a261@???,a262@???,a263@???,a264@???,
      a265@???,a266@???,a267@???,a268@???,a269@???,
      a270@???,a271@???,a272@???,a273@???,a274@???,
      a275@???,a276@???,a277@???,a278@???,a279@???,
      a280@???,a281@???,a282@???,a283@???,a284@???,
      a285@???,a286@???,a287@???,a288@???,a289@???,
      a290@???,a291@???,a292@???,a293@???,a294@???,
      a295@???,a296@???,a297@???,a298@???,a299@???,
      a300@???,a301@???,a302@???,a303@???,a304@???,
      a305@???,a306@???,a307@???,a308@???,a309@???,
      a310@???,a311@???,a312@???,a313@???,a314@???,
      a315@???,a316@???,a317@???,a318@???,a319@???,
      a320@???,a321@???,a322@???,a323@???,a324@???,
      a325@???,a326@???,a327@???,a328@???,a329@???,
      a330@???,a331@???,a332@???,a333@???,a334@???,
      a335@???,a336@???,a337@???,a338@???,a339@???,
      a340@???,a341@???,a342@???,a343@???,a344@???,
      a345@???,a346@???,a347@???,a348@???,a349@???,
      a350@???,a351@???,a352@???,a353@???,a354@???,
      a355@???,a356@???,a357@???,a358@???,a359@???,
      a360@???,a361@???,a362@???,a363@???,a364@???,
      a365@???,a366@???,a367@???,a368@???,a369@???,
      a370@???,a371@???,a372@???,a373@???,a374@???,
      a375@???,a376@???,a377@???,a378@???,a379@???,
      a380@???,a381@???,a382@???,a383@???,a384@???,
      a385@???,a386@???,a387@???,a388@???,a389@???,
      a390@???,a391@???,a392@???,a393@???,a394@???,
      a395@???,a396@???,a397@???,a398@???,a399@???,
      a400@???,a401@???,a402@???,a403@???,a404@???,
      a405@???,a406@???,a407@???,a408@???,a409@???,
      a410@???,a411@???,a412@???,a413@???,a414@???,
      a415@???,a416@???,a417@???,a418@???,a419@???,
      a420@???,a421@???,a422@???,a423@???,a424@???,
      a425@???,a426@???,a427@???,a428@???,a429@???,
      a430@???,a431@???,a432@???,a433@???,a434@???,
      a435@???,a436@???,a437@???,a438@???,a439@???,
      a440@???,a441@???,a442@???,a443@???,a444@???,
      a445@???,a446@???,a447@???,a448@???,a449@???,
      a450@???,a451@???,a452@???,a453@???,a454@???,
      a455@???,a456@???,a457@???,a458@???,a459@???,
      a460@???,a461@???,a462@???,a463@???,a464@???,
      a465@???,a466@???,a467@???,a468@???,a469@???,
      a470@???,a471@???,a472@???,a473@???,a474@???,
      a475@???,a476@???,a477@???,a478@???,a479@???,
      a480@???,a481@???,a482@???,a483@???,a484@???,
      a485@???,a486@???,a487@???,a488@???,a489@???,
      a490@???,a491@???,a492@???,a493@???,a494@???,
      a495@???,a496@???,a497@???,a498@???,a499@???


Testing
****
exim -M $msg1
****
killdaemon
no_msglog_check

Index: 0217
====================================================================
# PIPELINING (client: errors, etc)
need_ipv4
#
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
451 Temp error
RCPT TO
550 Perm error
RCPT TO
250 OK
DATA
351 Send more
.
250 OK
****
exim -odi a b c d
.
****
# Response timeout
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
*sleep 2
****
exim -odi a b c
.
****
# Temp error on MAIL
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
451 Temp error
RCPT TO
503 No sender given
RCPT TO
503 No sender given
DATA
503 No envelope
QUIT
250 OK
****
exim -odi a b
.
****
# Perm error on MAIL
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
550 Perm error
RCPT TO
503 No sender given
RCPT TO
503 No sender given
DATA
503 No envelope
QUIT
250 OK
****
exim -odi a b
.
****
# All get temp errors
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
451 Temp error 1
RCPT TO
451 Temp error 2
DATA
503 No recipients
QUIT
250 OK
****
exim -odi a b
.
****
# All get perm errors
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
551 Perm error 1
RCPT TO
551 Perm error 2
DATA
503 No recipients
QUIT
250 OK
****
exim -odi a b
.
****
# Mixed temp and perm
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
451 Temp error 1
RCPT TO
551 Perm error 2
DATA
503 No recipients
QUIT
250 OK
****
exim -odi a b
.
****
# Perm error on DATA after good recipients
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
DATA
503 Sorry perm data error
QUIT
250 OK
****
exim -odi a b
.
****
# Temp error on DATA after good recipients
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
DATA
403 Sorry temp data error
QUIT
250 OK
****
exim -odi a b
.
****
# Temp error on DATA after good recipients, but in first block of a
# multi-block interaction
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
DATA
403 Sorry temp data error
QUIT
250 OK
****
exim -v -odi a b c d e f g h i j k l m n o p q r s t u v w x y z aa bb cc dd ee ff gg hh ii jj kk ll mm nn oo pp qq rr ss tt uu vv ww xx yy zz
.
****
# Server drops connection after some responses
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
550 NO
****
exim -odi a b c d e
.
****
no_msglog_check

Index: 0218
====================================================================
# PIPELINING (client: multiple messages, with log_sender_on_delivery)
need_ipv4
#
exim a
Message 1
****
exim b
Message 2
****
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
DATA
351 Send more
.
250 OK
MAIL FROM
250 OK
RCPT TO
250 OK
DATA
351 Send more
.
250 OK
QUIT
250 OK
****
exim -d-all+queue_run -v -qq
.
****
# This time, the first one gets a MAIL error. As the message makes no
# progress, the second one runs separately, and gets a refused connection.
exim a
Message 1
****
exim b
Message 2
****
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
550 NO
RCPT TO
503 Unexpected RCPT
DATA
503 Unexpected DATA
QUIT
250 OK
****
exim -d-all+queue_run -v -qq
.
****
# One message and an error message were left on the queue. Add a new
# message and try again; this time the first message gets a recipient error.
exim c
Message 3
****
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
550 Unknown
DATA
503 Unexpected DATA
RSET
250 OK
MAIL FROM
250 OK
RCPT TO
250 OK
DATA
351 OK
.
250 OK
QUIT
250 OK
****
exim -d-all+ident -v -qqf
.
****
no_msglog_check

Index: 0219
====================================================================
# -be and file permissions
touch DIR/test-private
sudo chown EXIMUSER DIR/test-private
sudo chmod 0600 DIR/test-private
#
exim -be
${lookup{junk}lsearch{DIR/test-private}{$value}fail}
****

Index: 0220
====================================================================
# untrusted_set_sender: TRUE
exim -odi -f foo@bar userx
****
exim -odi userx
From foo@bar Fri Jan 5 12:35 GMT 1996
****
exim -odi -bs
MAIL FROM:<foo@bar>
RCPT TO:<userx@???>
DATA
.
QUIT
****
exim -odi -f foo@bar userx
From: foobydooby <foo@bar>
****
1
exim -odi -f '<>' userx
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
****
exim -odq -f '' userx
****
exim -odq -f foo@bar userx
****
sudo exim -odq -f "<>" userx
****
exim -bp
****
exim -odi -f bar@foo userx
****
exim -odq -f userx-something@??? userx
****
exim -odq -f usery-something@??? userx
****
no_msglog_check

Index: 0221
====================================================================
# untrusted_set_sender: FALSE
exim -odi -f foo@bar userx
****
exim -odi userx
From foo@bar Fri Jan 5 12:35 GMT 1996
****
exim -odi -bs
MAIL FROM:<foo@bar>
RCPT TO:<userx@???>
DATA
.
QUIT
****
exim -odi -f foo@bar userx
From: foobydooby <foo@bar>
****
1
exim -odi -f '<>' userx
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
This message is going to be too large. Create a few lines to make it so.
****
exim -odq -f '<>' userx
****
exim -odq -f foo@bar userx
****
sudo exim -odq -f "<>" userx
****
exim -bp
****
no_msglog_check

Index: 0222
====================================================================
# autoreply and once and once_file_size
exim -odi -f foo1 userx
****
exim -odi -f foo1 userx
****
exim -odi -f foo2 userx
****
exim -odi -f foo2 userx
****
exim -odi -f foo3 userx
****
exim -odi -f foo3 userx
****
exim -odi -f foo1 userx
****

Index: 0223
====================================================================
# autoreply with once_repeat and once_file_size
exim -odi userx@???
Subject: first message
****
exim -odi userx@???
Subject: second message
****
sleep 5
exim -odi userx@???
Subject: third message

Index: 0224
====================================================================
# child addresses in bounce and delay messages
exim -odi userxx@??? useryx@???
Subject: first message
****
exim -odi userxy@??? useryy@??? file@???
Subject: second message
****
sleep 1
exim -odi -qf
****
no_msglog_check

Index: 0225
====================================================================
# self = pass and unseen
exim -odi copy@localhost
Original message
****
no_message_check

Index: 0226
====================================================================
# redirect: file and pipe addresses
exim -odi /a/b/c@??? '|/p/q/r'@???
Message 1
****
exim -odi DIR/test-mail/file@??? '|DIR/aux-fixed/showenv'@???
Message 2
****
no_msglog_check

Index: 0227
====================================================================
# callout verification (no caching)
need_ipv4
#
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
250 OK
RCPT TO
250 OK
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.1
MAIL FROM:<ok@localhost>
RCPT TO:<z@???>
QUIT
****
sudo exim -v -bs -oMa V4NET.0.0.2
MAIL FROM:<unchecked@localhost>
RCPT TO:<z@???>
QUIT
****
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
250 OK
RCPT TO
550 Unknown user
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.1
MAIL FROM:<bad@localhost>
RCPT TO:<z@???>
QUIT
****
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
250 OK
RCPT TO
450 Temporary error
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.1
MAIL FROM:<uncheckable@localhost1>
RCPT TO:<z@???>
QUIT
****
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
550 Error for <>
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.1
MAIL FROM:<uncheckable2@localhost1>
RCPT TO:<z@???>
QUIT
****
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
550-Multiline error for <>
550 Here's the second line
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.1
MAIL FROM:<uncheckable@localhost1>
RCPT TO:<z@???>
QUIT
****
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
250 OK
RCPT TO
550 Recipient not liked
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.3
MAIL FROM:<uncheckable@localhost1>
RCPT TO:<z@???>
QUIT
****
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
250 OK
RCPT TO
550-Recipient not liked on two lines
550 Here's the second
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.3
MAIL FROM:<uncheckable@localhost1>
RCPT TO:<z@???>
QUIT
****
sudo exim -v -bs -oMa V4NET.0.0.3
MAIL FROM:<uncheckable@localhost1>
RCPT TO:<z@???>
QUIT
****
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
250 OK
RCPT TO
550 Not liked
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.4
MAIL FROM:<uncheckable@localhost1>
RCPT TO:<z@???>
DATA
From: abcd@???
.
QUIT
****
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
250 OK
RCPT TO
550 Not liked
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.4
MAIL FROM:<uncheckable@localhost1>
RCPT TO:<z@???>
DATA
From: abcd@???
.
QUIT
****
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
250 OK
RCPT TO
250 OK
RSET
250 OK
MAIL FROM
250 OK
RCPT TO
250 OK
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.5
MAIL FROM:<ok@localhost1>
RCPT TO:<z@???>
QUIT
****
server PORT_S
220 Server ready
HELO
250 OK
MAIL FROM
250 OK
RCPT TO
250 OK
RSET
250 OK
MAIL FROM
250 OK
RCPT TO
550 Don't like postmaster
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.5
MAIL FROM:<ok@localhost1>
RCPT TO:<z@???>
QUIT
****
server PORT_S
220 Server ready
LHLO
250 OK
MAIL FROM
250 OK
RCPT TO
550 Recipient not liked
QUIT
250 OK
****
sudo exim -v -bs -oMa V4NET.0.0.3
MAIL FROM:<uncheckable@localhost1>
RCPT TO:<z@???>
QUIT
****
server PORT_S
****
sudo exim -v -bs -oMa V4NET.0.0.1
MAIL FROM:<bad@localhost1>
RCPT TO:<z@???>
QUIT
****
sudo exim -v -bs -oMa V4NET.0.0.1
MAIL FROM:<bad@localhost1>
RCPT TO:<z@???>
QUIT
****

Index: 0228
====================================================================
# fallback hosts and self=send on manualroute
need_ipv4
#
exim -odi abcd@???
****
no_msglog_check

Index: 0229
====================================================================
# hosts_max_try
need_ipv4
#
exim -odi a@???
****
no_msglog_check

Index: 0230
====================================================================
# log_incoming_port and log_incoming_interface and -oMa/-bh with ports
need_ipv4
#
exim -DSERVER=server -bd -oX PORT_D
****
client HOSTIPV4 PORT_D
??? 220
mail from:<x@???>
??? 250
rcpt to:<x@???>
??? 250
data
??? 354
.
??? 250
quit
??? 221
+++ 1
****
client 127.0.0.1 PORT_D
??? 220
mail from:<x@???>
??? 250
rcpt to:<x@???>
??? 250
data
??? 354
.
??? 250
quit
??? 221
+++ 1
****
client HOSTIPV4 PORT_D
??? 220
helo rhubarb
??? 250
mail from:<x@???>
??? 250
rcpt to:<x@???>
??? 250
data
??? 354
.
??? 250
quit
??? 221
****
killdaemon
sudo exim -bs -oMa V4NET.9.8.7.1234
mail from:<x@???>
rcpt to:<x@???>
data
-oMa message
.
quit
****
exim -odi -qf
****
exim -bh 192.168.1.2.99
quit
****

  Index: 0231
  ====================================================================
  # rewriting at transport time
  need_ipv4
  #
  server PORT_S
  220 OK
  EHLO
  250 OK
  MAIL
  250 OK
  RCPT
  250 OK
  RCPT
  250 OK
  RCPT
  250 OK
  RCPT
  250 OK
  DATA
  354 OK
  .
  250 OK
  QUIT
  220 OK
  ****
  exim -odi a@???  b@???  a@domain1  b@domain1  a@domain3  b@domain3
  From:     a@???, b@???, a@domain1, b@domain1, a@domain3, b@domain3
  To:       a@???, b@???, a@domain1, b@domain1, a@domain3, b@domain3
  Reply-to: a@???, b@???, a@domain1, b@domain1, a@domain3, b@domain3
  ****


Index: 0232
====================================================================
# Inline filter text
exim -bt filter1.test.ex
****

Index: 0233
====================================================================
# freeze_tell & system filter & ACL
exim -odi userx
Rhubarb
****
exim -odi -bs
mail from:<a@???>
rcpt to:<usery@???>
data
Should be frozen
.
quit
****

Index: 0234
====================================================================
# @mx_any
need_ipv4
#
exim -bh V4NET.0.0.0
mail from:<a@b>
rcpt to:<c@d>
rcpt to:<e@???>
rcpt to:<f@???>
quit
****
sudo exim -bs -oMa V4NET.0.0.0
mail from:<a@b>
rcpt to:<c@d>
rcpt to:<e@???>
rcpt to:<f@???>
rcpt to:<g@???>
quit
****

Index: 0235
====================================================================
# redirect with forced lookup fail and no_more
2
exim -bt xxx
****

Index: 0236
====================================================================
# Macro name longer than 63 characters
1
exim -bP qualify_domain
****

Index: 0237
====================================================================
# redirect: file and pipe addresses with hide_child_in_errmsg
exim -odi /a/b/c@??? '|/p/q/r'@???
Message 1
****
exim -odi DIR/test-mail/file@??? '|DIR/aux-fixed/showenv'@???
Message 2
****
no_msglog_check

Index: 0238
====================================================================
# require_files with failing expansion or relative path
need_ipv4
#
1
exim -bt userx@???
****
1
exim -bt xxx@???
****

Index: 0239
====================================================================
# host list in verify output when routing to a local transport
exim -v -bv userx@localhost
****
exim -bv userx@localhost
****
exim -v -bt userx@localhost
****
exim -bt userx@localhost
****
exim -v -bt userx@smtp
****

Index: 0240
====================================================================
# create_directory and directory_mode
exim -odi userx@???
****
ls -ld DIR/test-mail/subdir | cut -f 1 -d ' '

Index: 0241
====================================================================
# filter freeze + send message fails
exim -odq userx@???
****
exim -qf
****
exim -Mt $msg1
****
exim -qf
****
no_msglog_check

Index: 0242
====================================================================
# message with no terminating LF
need_ipv4
#
server PORT_S
220 Server ready
EHLO
250 OK
MAIL FROM
250 OK
RCPT TO
250 OK
DATA
354 Send more
.
250 OK
QUIT
250 OK
****
exim -odi abc@???
Test message\NONL\
****
server PORT_S
220 Server ready
EHLO
250 OK
MAIL FROM
250 OK
RCPT TO
250 OK
DATA
354 Send more
.
250 OK
QUIT
250 OK
****
exim -odi abc@???
Subject: Test message\NONL\
****

Index: 0243
====================================================================
# autoreply with unseen
exim -odi faq@???
Test message
****
exim -bh 1.2.3.4
ehlo xxxx
mail from:<abcd@???>
rcpt to:<faq@???>
quit
****

Index: 0244
====================================================================
# skipping in expansions
exim -be
${if eq {0}{0}{OK}{${lookup{x}lsearch{/x/y}}}}
${if eq {0}{0}{OK}{${extract{key}{${lookup{x}lsearch{/x/y}}}}}}
${if eq {0}{0}{OK}{${tr{${extract{key}{${lookup{x}lsearch{/x/y}}}}}{x}{y}}}}
${if eq {0}{0}{OK}{${sg{${extract{key}{${lookup{x}lsearch{/x/y}}}}}{x}{y}}}}
****

  Index: 0245
  ====================================================================
  # -t with newline in address; also spaces after a "final" dot
  exim -odq -t
  To: <"abc
     def"@test.ex>, xxx@yyy
  Bcc: aaa@bbb    
  .    
  ****
  exim -bp
  ****
  exim -Mvh $msg1
  ****
  no_msglog_check


Index: 0246
====================================================================
# forbid lookup/exists in filter - with autoreply
exim -odi filter
.
****

Index: 0247
====================================================================
# :blackhole: with deferred other address
exim -odi blackhole devnull other
.
****
exim -q
****

Index: 0248
====================================================================
# humungous "freeze" message in system filter
exim -odi xxxx
X-Long:
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed-------
This is a very very long header line indeed----End
.
****
no_msglog_check

Index: 0249
====================================================================
# local part case in rewrites
exim -brw User@???
****
exim -d-all+rewrite -brw User@???
****

Index: 0250
====================================================================
# From: and Sender: and rewriting
exim -odq SomeOne
From: userx@???
****
exim -Mvh $msg1
****
exim -odq OtherOne
From: usery@???
****
exim -Mvh $msg2
****
exim -odq ThirdOne
****
exim -Mvh $msg3
****
no_msglog_check

Index: 0251
====================================================================
# senders check while verifying
need_ipv4
#
exim -bh V4NET.0.0.0
mail from:<ok@sender>
rcpt to:<oklist@???>
rset
mail from:<bad@sender>
rcpt to:<oklist@???>
quit
****
exim -DSERVER=server -bd -oX PORT_D
****
client HOSTIPV4 PORT_D
??? 220
mail from:<ok@sender>
??? 250
rcpt to:<oklist@???>
??? 250
rset
??? 250
mail from:<bad@sender>
??? 250
rcpt to:<oklist@???>
??? 250
quit
??? 221
****
killdaemon

Index: 0252
====================================================================
# errors_to and unseen
exim -odi -f abc@??? userx
Test message
****
exim -odi -f pqr@??? alias
Test message
****
exim -odi -f gfh@??? forward
Test message
****
exim -odi -f mno@??? smart
Test message
****

Index: 0253
====================================================================
# return_path on appendfile and smtp transports
need_ipv4
#
exim -odi -f abc@??? userx
Test message
****
exim -odi -f xyz@??? userx
Test message 2
****
server PORT_S 3
220 ESMTP
EHLO
250-OK
250-HELP
250 PIPELINING
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
354 Go ahead
.
250 OK
QUIT
250 OK
*eof
220 ESMTP
EHLO
250-OK
250-HELP
250 PIPELINING
MAIL FROM:
250 Sender OK
RCPT TO:
250 Recipient OK
DATA
354 Go ahead
.
250 OK
QUIT
250 OK
*eof
220 ESMTP
EHLO
250 OK
MAIL FROM:
250 Sender OK
RCPT TO:
550 Recipient not OK
QUIT
250 OK
****
exim -odi -f pqr@??? userx phil fail
Test message 3
****

Index: 0254
====================================================================
# resent headers
exim -odq userx
From: f
To: t
Date: d
Subject: s
Resent-From: f
Resent-To: t
Resent-Date: d
Resent-Subject: should not exist
****
exim -Mvh $msg1
****
exim -odq userx
From: f
Resent-From: f
****
exim -Mvh $msg2
****
exim -odq userx
From: userx
To: xx@yy
Resent-From: userx
Resent-To: xx@yy
****
exim -Mvh $msg3
****
no_msglog_check

Index: 0255
====================================================================
# repeated unknown SMTP commands
exim -bs
one
two
three
four
five
six
****
exim -bh V4NET.0.0.0
one
two
three
four
five
six
****
exim -DOPTION=smtp_max_unknown_commands=1 -bh V4NET.0.0.0
one
two
****

Index: 0256
====================================================================
# errors_copy
exim -odi unknown
.
****

Index: 0257
====================================================================
# fallback hosts on transport with dnslookup using A record
need_ipv4
#
exim -odi abcd@???
****
no_msglog_check

Index: 0258
====================================================================
# CRs in messages
exim -odi userx
crheader: includes <
> and ends CRLF

Subject: this is still a header

Text includes <
> and ends CRLF

Text includes <
> and ends CRLF

CR-dot-CR in body:
.
line continues
.
****
exim -i -odi userx
crheader: includes <
> and ends CRLF


Text includes <
> and ends CRLF

Text includes <
> and ends CRLF

CR-dot-CR in body:
.
line continues
.
****
exim -odi userx
crheader: includes <
> and ends CRLF


Text includes <
> and ends CRLF

Text includes <
> and ends CRLF

CR-dot-CR in body:
.
line continues
.
****
exim -odi userx <DIR/aux-fixed/TESTNUM.m1
****
exim -odi userx <DIR/aux-fixed/TESTNUM.m2
****
exim -i -odi userx <DIR/aux-fixed/TESTNUM.m1
****
exim -i -odi userx <DIR/aux-fixed/TESTNUM.m2
****
exim -odi userx
.dotheader: header line starts with a dot
xxx: dot bare CR:.
xyz
.
weird header line
Not: a header line
****
exim -odi -bs <DIR/aux-fixed/TESTNUM.m3
****
exim -odi -bs <DIR/aux-fixed/TESTNUM.m4
****

Index: 0259
====================================================================
# ident queries
need_ipv4
#
server 1413
<999 , 25
>999 , 25 : USERID : UNIX :abcd

****
exim -bh 127.0.0.1 -oMa 127.0.0.1.999 -oMi '[127.0.0.1]:25'
helo a.b.c
quit
****
# No CRLF send with output
server 1413
<999 , 25
>>999 , 25 : USERID : UNIX :abcd

****
exim -bh 127.0.0.1 -oMa '[127.0.0.1]:999' -oMi 127.0.0.1.25
helo a.b.c
quit
****
# Non-printing characters
server 1413
<999 , 25
>999 , 25 : USERID : UNIX :ab

cd
****
exim -bh 127.0.0.1 -oMa 127.0.0.1.999 -oMi 127.0.0.1.25
helo a.b.c
quit
****
# More than 127 but less than 2K
server 1413
<999 , 25
>999 , 25 : USERID : UNIX :abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++<<<

****
exim -bh 127.0.0.1 -oMa 127.0.0.1.999 -oMi 127.0.0.1.25
helo a.b.c
quit
****
# More than 2K
server 1413
<999 , 25
>999 , 25 : USERID : UNIX :abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++abcdefghijklmnopqrstuvwxyz++++

****
exim -bh 127.0.0.1 -oMa 127.0.0.1.999 -oMi 127.0.0.1.25
helo a.b.c
quit
****
# Different spacing in the returned identity (1)
server 1413
<999 , 25
>999, 25 : USERID : UNIX :abcd

****
exim -bh 127.0.0.1 -oMa 127.0.0.1.999 -oMi 127.0.0.1.25
helo a.b.c
quit
****
# Different spacing in the returned identity (2)
server 1413
<999 , 25
>999,25 : USERID : UNIX :abcd

****
exim -bh 127.0.0.1 -oMa 127.0.0.1.999 -oMi 127.0.0.1.25
helo a.b.c
quit
****

Index: 0260
====================================================================
# local delivery config problems
exim -odi bad.return bad.return2 bad.uid exp.fail userx
****
exim -qf
****
no_msglog_check

Index: 0261
====================================================================
# remote delivery config problems
need_ipv4
#
exim -N -odi bad.return bad.return2 no.hosts userx
****
exim -qf
****
no_msglog_check

Index: 0262
====================================================================
# too many environment settings in pipe
exim -odi userx
****
no_msglog_check

Index: 0263
====================================================================
# pass_router
need_ipv4
#
2
exim -bt x@domain0 x@domain1 x@domain2

Index: 0264
====================================================================
# retry rules and local parts
exim -odi userx@???
****
dump retry
exim -odi usery@???
****
exim -odq userz@???
****
exim -q
****
exim -odi notuser@???
****
dump retry
exim -odi notuser2@???
****
exim -odq notuser3@???
****
exim -q
****
exim -Mrm $msg1 $msg2 $msg3 $msg4
****
exim -odi r3.a@outside
****
exim -odq r3.b@outside
****
exim -q
****
exim -Mrm $msg1 $msg2
****
exim -odi r4.a@outside
****
exim -odq r4.b@outside
****
exim -q
****
exim -odi r5.a@???
****
no_msglog_check
no_message_check

Index: 0265
====================================================================
# error message when filter disabled
1
exim -bt userx@???

Index: 0266
====================================================================
# skip_syntax_errors and syntax_errors_to
exim -odi list@???
****
exim -odi list2@???
Message to list2.
****
exim -odi filter@???
****
exim -odi nmlist@???
Message to nmlist.
****
exim -odi filter2@???
Message to filter2.
****
exim -odi filter3@???
Message to filter3.
****
no_msglog_check

Index: 0267
====================================================================
# prefix/suffix when router skipped
2
exim -bt pre-x@??? x-post@??? pre-z@???
****

Index: 0268
====================================================================
# redirect and owners/owngroups/modemask
cp DIR/aux-fixed/TESTNUM.exim DIR/test-owned-by-exim
sudo chown EXIMUSER:EXIMGROUP DIR/test-owned-by-exim
2
exim -bt CALLER@r1 CALLER@r2 CALLER@r3 CALLER@r4 CALLER@r5 CALLER@r6 CALLER@r7 CALLER@r8
****
2
exim -bt CALLER@r9 CALLER@r10 CALLER@r11
****

Index: 0269
====================================================================
# error message when filter disabled
1
exim -bt userx@???

Index: 0270
====================================================================
# skip_syntax_errors and syntax_errors_to
touch DIR/test-private
sudo chown EXIMUSER DIR/test-private
sudo chmod 0600 DIR/test-private
#
exim -odi list@???
****
exim -odi list2@???
Message to list2.
****
exim -odi filter@???
****
exim -odi nmlist@???
Message to nmlist.

----------------------------------------------
Diff block truncated. (Max lines = 10000)
----------------------------------------------