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

diff --git a/test/scripts/0000-Basic/0001 b/test/scripts/0000-Basic/0001
new file mode 100644 (file)
index 0000000..039c7a6
--- /dev/null
@@ -0,0 +1,29 @@
+# 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
+****
diff --git a/test/scripts/0000-Basic/0002 b/test/scripts/0000-Basic/0002
new file mode 100644 (file)
index 0000000..eaa0dd8
--- /dev/null
@@ -0,0 +1,678 @@
+# 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@dom.ain}
+addrss: ${address:Exim Person <local-part@dom.ain> (that's me)}
+domain: ${domain:local-part@dom.ain}
+domain: ${domain:Exim Person <local-part@dom.ain> (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@dom.ain}
+lclpt:  ${local_part:Exim Person <local-part@dom.ain> (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@y.z}{p@q:*@y.z}{yes}{no}}
+match_address:   ${if match_address{x@y.z}{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Ã\80ÿ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@test.ex}{secret}}
+${prvs{userx@test.ex}{secret}{1}}
+${prvs{userx@test.ex}{secret}{8}}
+
+# Syntax errors
+
+${prvs{userx@test.ex}{secret}{12}}
+${prvs{userx@test.ex}{secret}{rhubarb}}
+${prvs{userx@test.ex}{secret}{}}
+
+# Correct checks; can't put explicit addresses in the tests, because they
+# will change over time. 
+
+${prvscheck{${prvs{userx@test.ex}{secret}}}{secret}}
+result=$prvscheck_result
+
+${prvscheck{${prvs{userx@test.ex}{secret}{1}}}{secret}\
+{>$prvscheck_result< >$prvscheck_address< >$prvscheck_keynum<}}
+result=$prvscheck_result
+
+${prvscheck{${prvs{userx@test.ex}{secret}{8}}}{secret}{}}
+result=$prvscheck_result
+
+# Incorrect secret
+
+${prvscheck{${prvs{userx@test.ex}{secret}}}{socrot}}
+result=$prvscheck_result
+
+${prvscheck{${prvs{userx@test.ex}{secret}}}{socrot}{$prvscheck_keynum}}
+result=$prvscheck_result
+
+# Non-prvs address
+
+>>${prvscheck{userx@test.ex}{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@yy.zz -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@yy.zz -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
+****
diff --git a/test/scripts/0000-Basic/0003 b/test/scripts/0000-Basic/0003
new file mode 100644 (file)
index 0000000..58868bb
--- /dev/null
@@ -0,0 +1,101 @@
+# Caseless address blocking
+exim -bh 1.1.1.1
+mail from:<a@b.c>
+rcpt to:<x@test.ex>
+rset
+mail from:<a@B.C>
+rcpt to:<x@test.ex>
+rset
+mail from:<A@b.c>
+rcpt to:<x@test.ex>
+rset
+mail from:<A@B.C>
+rcpt to:<x@test.ex>
+rset
+mail from:<x@y.z>
+rcpt to:<x@test.ex>
+rset
+mail from:<x@Y.Z>
+rcpt to:<x@test.ex>
+rset
+mail from:<X@y.z>
+rcpt to:<x@test.ex>
+rset
+mail from:<X@Y.Z>
+rcpt to:<x@test.ex>
+rset
+mail from:<ax@e.f>
+rcpt to:<x@test.ex>
+rset
+mail from:<ay@g.h>
+rcpt to:<x@test.ex>
+rset
+mail from:<bX@E.F>
+rcpt to:<x@test.ex>
+rset
+mail from:<bY@G.H>
+rcpt to:<x@test.ex>
+rset
+mail from:<1@e.f>
+rcpt to:<x@test.ex>
+rset
+mail from:<bz@e.f>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@aa.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@AA.COM>
+rcpt to:<x@test.ex>
+rset
+mail from:<Q@bb.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<Q@BB.Com>
+rcpt to:<x@test.ex>
+rset
+mail from:<cc@dd.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<CC@DD.COM>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@Dd.Com>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@nn.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<Q@NN.COM>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@MM.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<Pp@Qq.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<abcd@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<ABCD@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<ax@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<bX@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<Ay@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<BY@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<blocked@xy.zz>
+rcpt to:<x@test.ex>
+rset
+mail from:<BLOCKED@zz.xy>
+rcpt to:<x@test.ex>
+rset
diff --git a/test/scripts/0000-Basic/0004 b/test/scripts/0000-Basic/0004
new file mode 100644 (file)
index 0000000..2732d00
--- /dev/null
@@ -0,0 +1,109 @@
+# Caseful address blocking
+exim -bh 1.1.1.1
+mail from:<a@b.c>
+rcpt to:<x@test.ex>
+rset
+mail from:<a@B.C>
+rcpt to:<x@test.ex>
+rset
+mail from:<A@b.c>
+rcpt to:<x@test.ex>
+rset
+mail from:<A@B.C>
+rcpt to:<x@test.ex>
+rset
+mail from:<x@y.z>
+rcpt to:<x@test.ex>
+rset
+mail from:<x@Y.Z>
+rcpt to:<x@test.ex>
+rset
+mail from:<X@y.z>
+rcpt to:<x@test.ex>
+rset
+mail from:<X@Y.Z>
+rcpt to:<x@test.ex>
+rset
+mail from:<ax@e.f>
+rcpt to:<x@test.ex>
+rset
+mail from:<ay@g.h>
+rcpt to:<x@test.ex>
+rset
+mail from:<bX@E.F>
+rcpt to:<x@test.ex>
+rset
+mail from:<bY@G.H>
+rcpt to:<x@test.ex>
+rset
+mail from:<1@e.f>
+rcpt to:<x@test.ex>
+rset
+mail from:<bz@e.f>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@aa.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@AA.COM>
+rcpt to:<x@test.ex>
+rset
+mail from:<Q@bb.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<Q@BB.Com>
+rcpt to:<x@test.ex>
+rset
+mail from:<cc@dd.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<CC@DD.COM>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@Dd.Com>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@nn.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<Q@NN.COM>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@MM.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<q@mm.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<Pp@Qq.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<abcd@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<ABCD@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<AbCd@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<ax@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<bX@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<Ay@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<BY@aa.bb>
+rcpt to:<x@test.ex>
+rset
+mail from:<blocked@xy.zz>
+rcpt to:<x@test.ex>
+rset
+mail from:<BLOCKED@zz.xy>
+rcpt to:<x@test.ex>
+rset
+mail from:<BlOcKeD@zz.xy>
+rcpt to:<x@test.ex>
diff --git a/test/scripts/0000-Basic/0005 b/test/scripts/0000-Basic/0005
new file mode 100644 (file)
index 0000000..8e7b0d8
--- /dev/null
@@ -0,0 +1,34 @@
+# -bs to simple local delivery
+exim -bs -odi
+mail from:someone@some.domain
+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@some.domain
+rcpt to:CALLER@HOSTNAME
+data
+Subject: second
+
+This is a second test message.
+.
+quit
+****
+exim_exim -bs -odq
+mail from:someone@some.domain
+rcpt to:CALLER@HOSTNAME
+data
+Subject: third
+Reply-to: some@body
+
+This is a third test message.
+.
+quit
+****
+exim -q
+****
diff --git a/test/scripts/0000-Basic/0006 b/test/scripts/0000-Basic/0006
new file mode 100644 (file)
index 0000000..6db44fb
--- /dev/null
@@ -0,0 +1,28 @@
+# -bS to several local deliveries
+exim -bS -odi
+mail from:someone@some.where
+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@some.where>
+rCpT TO:<CALLER@HOSTNAME>
+rcpt to:blackhole@HOSTNAME
+DATA
+From:<someone@some.where>
+To: Recipients not given:;
+
+Yet more text.
+.
+quit
diff --git a/test/scripts/0000-Basic/0007 b/test/scripts/0000-Basic/0007
new file mode 100644 (file)
index 0000000..c129b76
--- /dev/null
@@ -0,0 +1,12 @@
+# -bS syntax error (1st message)
+2
+exim -bS -odi
+mail from:someone@some.where<
+rcpt to:blackhole@HOSTNAME
+data
+from: me
+To: blackhole
+
+This is some text
+.
+quit
diff --git a/test/scripts/0000-Basic/0008 b/test/scripts/0000-Basic/0008
new file mode 100644 (file)
index 0000000..a77bf01
--- /dev/null
@@ -0,0 +1,23 @@
+# -bS syntax error (2nd message)
+1
+exim -bS -odi
+mail from:someone@some.where
+rcpt to:CALLER@HOSTNAME
+data
+from: someone@some.where
+To: CALLER@HOSTNAME
+Subject: testing
+Message-id: abcd%rxyz@p.q.r
+
+Here is testing data
+..that line started with a dot
+.
+mail from:someone@some.where<
+rcpt to:blackhole@HOSTNAME
+data
+from: me
+To: blackhole
+
+This is some text
+.
+quit
diff --git a/test/scripts/0000-Basic/0009 b/test/scripts/0000-Basic/0009
new file mode 100644 (file)
index 0000000..b4c3025
--- /dev/null
@@ -0,0 +1,22 @@
+# -bS syntax error on RCPT
+1
+exim -bS -odi
+mail from:someone@some.where
+rcpt to:CALLER@HOSTNAME
+data
+from: someone@some.where
+To: CALLER@HOSTNAME
+Subject: testing
+
+Here is testing data
+..that line started with a dot
+.
+mail from:someone@some.where
+rcpt to:<blackhole@HOSTNAME
+data
+from: me
+To: blackhole
+
+This is some text
+.
+quit
diff --git a/test/scripts/0000-Basic/0010 b/test/scripts/0000-Basic/0010
new file mode 100644 (file)
index 0000000..a533635
--- /dev/null
@@ -0,0 +1,20 @@
+# -bS Unexpected EOF in data
+1
+exim -bS -odi
+mail from:someone@some.where
+rcpt to:CALLER@HOSTNAME
+data
+from: someone@some.where
+To: CALLER@HOSTNAME
+Subject: testing
+
+Here is testing data
+..that line started with a dot
+.
+mail from:someone@some.where
+rcpt to:blackhole@HOSTNAME
+data
+from: me
+To: blackhole
+
+Some data, but no .
diff --git a/test/scripts/0000-Basic/0011 b/test/scripts/0000-Basic/0011
new file mode 100644 (file)
index 0000000..2a9412f
--- /dev/null
@@ -0,0 +1,17 @@
+# -bS Unexpected EOF in headers
+1
+exim -bS -odi
+mail from:someone@some.where
+rcpt to:CALLER@HOSTNAME
+data
+from: someone@some.where
+To: CALLER@HOSTNAME
+Subject: testing
+
+Here is testing data
+..that line started with a dot
+.
+mail from:someone@some.where
+rcpt to:blackhole@HOSTNAME
+data
+from: me
diff --git a/test/scripts/0000-Basic/0012 b/test/scripts/0000-Basic/0012
new file mode 100644 (file)
index 0000000..e810823
--- /dev/null
@@ -0,0 +1,14 @@
+# -bS Use of HELO/RSET
+exim -bS -odi
+HELO some.domain
+mail from:someone@some.where
+rcpt to:CALLER@HOSTNAME
+RSET
+mail from:someone@some.where
+rcpt to:blackhole@HOSTNAME
+data
+from: me
+to: the.void
+
+This data will get slung...
+.
diff --git a/test/scripts/0000-Basic/0013 b/test/scripts/0000-Basic/0013
new file mode 100644 (file)
index 0000000..b2c9b63
--- /dev/null
@@ -0,0 +1,6 @@
+# Data after quoted string
+no_stdout_check
+1
+exim -bV
+****
+
diff --git a/test/scripts/0000-Basic/0014 b/test/scripts/0000-Basic/0014
new file mode 100644 (file)
index 0000000..a3c939a
--- /dev/null
@@ -0,0 +1,42 @@
+# Rewriting
+exim -brw userx@myhost.test.ex
+****
+exim -brw abcd@question
+****
+exim -brw pqr@quiggly
+****
+exim -brw nopqr@quince
+****
+exim -odi userx
+From: abcd@question
+To: userx, xpqr@query.query
+****
+exim -odq hhhh@h.h.h.h
+****
+exim -brw root@box1.plc.example
+****
+exim -brw jules@box1.plc.example
+****
+exim -brw jules@box2.plc.example
+****
+exim -brw jules@box3.plc.example
+****
+exim -odi -f jules@box1.plc.example userx
+From: jules@box1.plc.example
+To: userx, jules@box1.plc.example,
+  jules@box2.plc.example,
+  jules@box3.plc.example 
+Reply-to: jules@box3.plc.example   
+****
+exim -odi -bs -oMa 10.0.0.2
+mail from:<jules@box3.plc.example>
+rcpt to:<userx@test.ex>
+quit
+****
+exim -brw abc@X.one.two
+****
+exim -brw '"abc"@X.one.two'
+****
+exim -brw '"abc@xyz"@X.one.two'
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0015 b/test/scripts/0000-Basic/0015
new file mode 100644 (file)
index 0000000..4c8c5e7
--- /dev/null
@@ -0,0 +1,50 @@
+# local part prefix
+need_ipv4
+#
+exim -odi page+userx
+Some message text.
+****
+exim -odi page+ux
+Some more message text.
+****
+exim -odi B+userx@Test.Ex
+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@Test.Ex
+More text.
+****
+exim -odi userx-B@Test.Ex X+userx-B@Test.Ex
+****
+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@Test.Ex
+More text.
+****
diff --git a/test/scripts/0000-Basic/0016 b/test/scripts/0000-Basic/0016
new file mode 100644 (file)
index 0000000..d2b07d2
--- /dev/null
@@ -0,0 +1,3 @@
+# local part suffix
+exim -odi userx+page
+Some message text.
diff --git a/test/scripts/0000-Basic/0017 b/test/scripts/0000-Basic/0017
new file mode 100644 (file)
index 0000000..7523c7f
--- /dev/null
@@ -0,0 +1,13 @@
+# 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
+****
diff --git a/test/scripts/0000-Basic/0018 b/test/scripts/0000-Basic/0018
new file mode 100644 (file)
index 0000000..a6857ae
--- /dev/null
@@ -0,0 +1,4 @@
+# ETRN (permitted host)
+exim -bh 127.0.0.1
+etrn #some.random.domain
+quit
diff --git a/test/scripts/0000-Basic/0019 b/test/scripts/0000-Basic/0019
new file mode 100644 (file)
index 0000000..fd646eb
--- /dev/null
@@ -0,0 +1,38 @@
+# 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
+****
diff --git a/test/scripts/0000-Basic/0020 b/test/scripts/0000-Basic/0020
new file mode 100644 (file)
index 0000000..55f4c94
--- /dev/null
@@ -0,0 +1,9 @@
+# -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
+****
diff --git a/test/scripts/0000-Basic/0021 b/test/scripts/0000-Basic/0021
new file mode 100644 (file)
index 0000000..2ec354f
--- /dev/null
@@ -0,0 +1,50 @@
+# 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
+****
diff --git a/test/scripts/0000-Basic/0022 b/test/scripts/0000-Basic/0022
new file mode 100644 (file)
index 0000000..92d9551
--- /dev/null
@@ -0,0 +1,146 @@
+# Extra ACLs: freeze/defer/drop/queue/delay/$host_data
+exim -d -bh V4NET.9.8.7
+mail from:<x@y>
+rcpt to:<warn_empty@test.ex>
+data
+Testing
+.
+quit
+****
+exim -d -bh V4NET.9.8.7
+mail from:<x@y>
+rcpt to:<warn_log@test.ex>
+data
+Testing
+.
+quit
+****
+exim -d -bh V4NET.9.8.7
+mail from:<x@y>
+rcpt to:<warn_user@test.ex>
+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
diff --git a/test/scripts/0000-Basic/0023 b/test/scripts/0000-Basic/0023
new file mode 100644 (file)
index 0000000..1f9cb2e
--- /dev/null
@@ -0,0 +1,333 @@
+# ACL basic tests
+exim -bh 1.2.3.4
+mail from:<x@y>
+rcpt to:<postmaster@test.ex>
+rcpt to:<z@z>
+rcpt to:<x@test.ex>
+rcpt to:<userx@test.ex>
+rcpt to:<r@relay.test.ex>
+rcpt to:<x@deny.test.ex>
+rcpt to:<x@refuse.test.ex>
+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@test.ex>
+rcpt to:<userx@test.ex>
+rcpt to:<spqr@test.ex>
+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@ok.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@13.12.11.V4NET.rbl>
+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@test.ex>
+rcpt to:<userx-vs@test.ex>
+data
+Test with verify sender.
+.
+quit
+****
+exim -odi -bs -oMa 32.32.32.32
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+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@test.ex>
+rcpt to:<userx@test.ex>
+data
+ACL header adding test.
+.
+quit
+****
+exim -odi -bs -oMa 56.56.56.56
+mail from:<userx@test.ex>
+rcpt to:<cond-yes@test.ex>
+data
+.
+mail from:<userx@test.ex>
+rcpt to:<cond-1@test.ex>
+data
+.
+mail from:<userx@test.ex>
+rcpt to:<cond-10@test.ex>
+data
+.
+mail from:<userx@test.ex>
+rcpt to:<cond-true@test.ex>
+data
+.
+mail from:<userx@test.ex>
+rcpt to:<cond-rhubarb@test.ex>
+data
+.
+mail from:<userx@test.ex>
+rcpt to:<cond-@test.ex>
+data
+.
+mail from:<userx@test.ex>
+rcpt to:<cond-no@test.ex>
+data
+.
+mail from:<userx@test.ex>
+rcpt to:<cond-0@test.ex>
+data
+.
+mail from:<userx@test.ex>
+rcpt to:<cond-00@test.ex>
+data
+.
+mail from:<userx@test.ex>
+rcpt to:<cond-false@test.ex>
+data
+.
+quit
+****
+exim -odi -bs -oMa 56.56.57.57
+mail from:<userx@test.ex>
+rcpt to:<cond-yes@test.ex>
+data
+.
+mail from:<userx@test.ex>
+rcpt to:<cond-rhubarb@test.ex>
+quit
+****
+exim -DLOG_SELECTOR=log_selector=-acl_warn_skipped -odi -bs -oMa 56.56.56.56
+mail from:<userx@test.ex>
+rcpt to:<cond-rhubarb@test.ex>
+data
+.
+quit
+****
+exim -odi -bs -oMa 56.56.58.58
+mail from:<rcpttest@test.ex>
+rcpt to:<ok1@test.ex>
+rcpt to:<bad1@test.ex>
+rcpt to:<ok2@test.ex>
+rcpt to:<ok3@test.ex>
+rcpt to:<bad2@test.ex>
+rcpt to:<bad3@test.ex>
+data
+.
+quit
+****
+exim -odi -bs -oMa 56.56.59.59
+mail from:<rcpttest@test.ex>
+rcpt to:<fail@test.ex>
+quit
+****
+exim -odi -bs -oMa V4NET.11.12.13
+mail from:<x@y>
+rcpt to:<x@y>
+rcpt to:<x1@y>
+quit
+****
diff --git a/test/scripts/0000-Basic/0024 b/test/scripts/0000-Basic/0024
new file mode 100644 (file)
index 0000000..ca6a2b4
--- /dev/null
@@ -0,0 +1,92 @@
+# ACL test of "standard" configuration
+#
+# Not a relay host, no authentication, sender address fails to verify.
+# accept postmaster@test.ex (postmaster at local domain)
+# deny   userx@test.ex (good address in local domain, but sender verify failed)
+# deny   x@y (bad address, but sender verify failed)
+# deny   x@ten-1.test.ex (good relay address, but sender verify failed)
+# deny   x@ten-2.test.ex (good address, but sender verify failed)
+#
+exim -odi -oMa V4NET.0.0.0 -bs
+mail from:<x@y>
+rcpt to:<postmaster@test.ex>
+rcpt to:<userx@test.ex>
+rcpt to:<x@y>
+rcpt to:<x@ten-1.test.ex>
+rcpt to:<x@ten-2.test.ex>
+data
+Message 1
+.
+quit
+****
+# Not a relay host, no authentication, sender address does verify.
+# accept postmaster@test.ex (postmaster at local domain)
+# accept userx@test.ex (good address in local domain)
+# deny   x@y (bad address)
+# accept x@ten-1.test.ex (good relay address)
+# deny   x@ten-2.test.ex (good address, but not relay domain or host)
+exim -odi -oMa V4NET.0.0.0 -bs
+mail from:<userx@test.ex>
+rcpt to:<postmaster@test.ex>
+rcpt to:<userx@test.ex>
+rcpt to:<x@y>
+rcpt to:<x@ten-1.test.ex>
+rcpt to:<x@ten-2.test.ex>
+data
+Message 2
+.
+quit
+****
+# Relay host, no authentication, sender address does verify.
+# deny   bad@test.ex (bad address in local domain)
+# deny   x@y (bad address)
+# accept x@ten-1.test.ex (good relay address)
+# accept x@ten-2.test.ex (good non-relay address, relay host)
+exim -odi -oMa V4NET.255.255.0 -bs
+mail from:<userx@test.ex>
+rcpt to:<bad@test.ex>
+rcpt to:<x@y>
+rcpt to:<x@ten-1.test.ex>
+rcpt to:<x@ten-2.test.ex>
+data
+Message 3
+.
+quit
+****
+# Host on serious black list
+# accept postmaster@test.ex (postmaster at local domain)
+# deny   anything else
+exim -odi -oMa V4NET.11.12.13 -bs
+mail from:<userx@test.ex>
+rcpt to:<postmaster@test.ex>
+rcpt to:<userx@test.ex>
+rcpt to:<x@ten-1.test.ex>
+data
+Message 4
+.
+quit
+****
+# Host on warning black list
+# accept postmaster@test.ex (postmaster at local domain)
+# deny   anything else
+exim -odi -oMa V4NET.11.12.16 -bs
+mail from:<userx@test.ex>
+rcpt to:<postmaster@test.ex>
+rcpt to:<userx@test.ex>
+rcpt to:<x@ten-1.test.ex>
+data
+Message 5
+.
+quit
+****
+# Local SMTP - should accept everything
+#
+exim -odi -bs
+mail from:<x@y>
+rcpt to:<postmaster@test.ex>
+rcpt to:<userx@test.ex>
+rcpt to:<x@y>
+rcpt to:<x@ten-1.test.ex>
+rcpt to:<x@ten-2.test.ex>
+quit
+****
diff --git a/test/scripts/0000-Basic/0025 b/test/scripts/0000-Basic/0025
new file mode 100644 (file)
index 0000000..8d5e005
--- /dev/null
@@ -0,0 +1,16 @@
+# ACL with -bs
+exim -odi -bs
+mail from:<x@y>
+rcpt to:<userx@test.ex>
+rcpt to:<x@y>
+rcpt to:<x@ten-1.test.ex>
+rset
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+rcpt to:<x@y>
+rcpt to:<x@ten-1.test.ex>
+data
+Message 1
+.
+quit
+****
diff --git a/test/scripts/0000-Basic/0026 b/test/scripts/0000-Basic/0026
new file mode 100644 (file)
index 0000000..e81e0d9
--- /dev/null
@@ -0,0 +1,107 @@
+# 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@test.ex>
+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@test.ex>
+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@test.ex>
+data
+to: group name: x@y, p@q;
+reply-to: group name: a@b, c@d;
+
+Message 10
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0027 b/test/scripts/0000-Basic/0027
new file mode 100644 (file)
index 0000000..606c109
--- /dev/null
@@ -0,0 +1,53 @@
+# Nested ACL (per user) and ACL misconfigurations
+#
+# Invalid sender, should reject both
+exim -bs
+mail from:<x@y>
+rcpt to:<userx@test.ex>
+rcpt to:<postmaster@test.ex>
+quit
+****
+# Valid sender, should only reject userx
+exim -bs
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+rcpt to:<postmaster@test.ex>
+quit
+****
+# ACL misconfigurations at RCPT time
+exim -bs
+mail from:<>
+rcpt to:<"deny verify = header_syntax"@test.ex>
+rcpt to:<"deny verify = junk"@test.ex>
+rcpt to:<"deny vorify = junk"@test.ex>
+rcpt to:<"dony verify = junk"@test.ex>
+rcpt to:<"deny !message = abcd"@test.ex>
+quit
+****
+# ACL misconfiguration at DATA time
+exim -bs
+mail from:<>
+rcpt to:<data@test.ex>
+data
+Subject: data1
+.
+quit
+****
+# ACL misconfiguration at DATA time
+exim -bs
+mail from:<>
+rcpt to:<data@test.ex>
+data
+Subject: data2
+.
+quit
+****
+# ACL misconfiguration at DATA time
+exim -bs
+mail from:<>
+rcpt to:<data@test.ex>
+data
+Subject: data3
+.
+quit
+****
diff --git a/test/scripts/0000-Basic/0028 b/test/scripts/0000-Basic/0028
new file mode 100644 (file)
index 0000000..4cf458d
--- /dev/null
@@ -0,0 +1,18 @@
+# ACL and $message_size
+#
+# SIZE unset - should reject at DATA time
+exim -bs
+mail from:<x@y>
+rcpt to:<userx@test.ex>
+data
+Testing, testing
+.
+quit
+****
+# SIZE set - should reject at RCPT time
+exim -bs
+ehlo Testing
+mail from:<x@y> SIZE=100
+rcpt to:<userx@test.ex>
+quit
+****
diff --git a/test/scripts/0000-Basic/0029 b/test/scripts/0000-Basic/0029
new file mode 100644 (file)
index 0000000..d1f297e
--- /dev/null
@@ -0,0 +1,15 @@
+# ACL with sender=address
+exim -bs
+mail from:<ok@test.ex>
+rcpt to:<a@b1>
+rset
+mail from:<notok@test.ex>
+rcpt to:<a@b2>
+rset
+mail from:<notok@abc.test.ex>
+rcpt to:<a@b3>
+rset
+mail from:<notok@xyz.test.ex>
+rcpt to:<a@b4>
+quit
+****
diff --git a/test/scripts/0000-Basic/0030 b/test/scripts/0000-Basic/0030
new file mode 100644 (file)
index 0000000..b200e27
--- /dev/null
@@ -0,0 +1,7 @@
+# Use of $address_data in ACL
+exim -bs
+mail from:<>
+rcpt to:<ok@test.ex>
+rcpt to:<notok@test.ex>
+quit
+****
diff --git a/test/scripts/0000-Basic/0031 b/test/scripts/0000-Basic/0031
new file mode 100644 (file)
index 0000000..8c05fbb
--- /dev/null
@@ -0,0 +1,9 @@
+# Hold domains
+exim -odi CALLER@one.test.ex
+This is a test message 1.
+****
+exim -odi CALLER@two.test.ex
+This is a test message 2.
+****
+exim -odi CALLER@myhost.ex
+This is a test message 3.
diff --git a/test/scripts/0000-Basic/0032 b/test/scripts/0000-Basic/0032
new file mode 100644 (file)
index 0000000..d25c95d
--- /dev/null
@@ -0,0 +1,4 @@
+# Bounce message for MX->localhost
+exim -odi userx@mxt1.test.ex
+This is a test message.
+****
diff --git a/test/scripts/0000-Basic/0033 b/test/scripts/0000-Basic/0033
new file mode 100644 (file)
index 0000000..8c188c9
--- /dev/null
@@ -0,0 +1,51 @@
+# one-time and -qq
+need_ipv4
+#
+exim -odq list@test.ex
+.
+****
+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@test.ex
+.
+****
+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
+****
diff --git a/test/scripts/0000-Basic/0034 b/test/scripts/0000-Basic/0034
new file mode 100644 (file)
index 0000000..1c8c380
--- /dev/null
@@ -0,0 +1,87 @@
+# 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
diff --git a/test/scripts/0000-Basic/0035 b/test/scripts/0000-Basic/0035
new file mode 100644 (file)
index 0000000..8a49f94
--- /dev/null
@@ -0,0 +1,121 @@
+# 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@some.where
+.
+??? 250
+mail from:<a@y>
+??? 250
+rcpt to:<x@y>
+??? 250
+data
+??? 354
+Sender: sender@some.where
+.
+??? 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@some.where
+.
+??? 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@some.where
+.
+??? 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
diff --git a/test/scripts/0000-Basic/0036 b/test/scripts/0000-Basic/0036
new file mode 100644 (file)
index 0000000..b4155ac
--- /dev/null
@@ -0,0 +1,15 @@
+# Rewriting because of DNS lookup
+need_ipv4
+#
+exim -DSERVER=server -bd -oX PORT_D
+****
+exim userx@alias-eximtesthost.test.ex abcd@eximtesthost
+To: userx@alias-eximtesthost.test.ex, abcd@eximtesthost
+
+Test message
+****
+exim -qf
+****
+killdaemon
+exim -DSERVER=server -DNOTDAEMON -qf
+****
diff --git a/test/scripts/0000-Basic/0037 b/test/scripts/0000-Basic/0037
new file mode 100644 (file)
index 0000000..be3aa94
--- /dev/null
@@ -0,0 +1,174 @@
+# 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@test.ex
+****
+# Not personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: X-CALLER@test.ex
+****
+# Personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: CALLER@test.ex
+Subject: north circular road
+****
+# Not personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: userx@test.ex
+Precedence: bulk
+****
+# Not personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: userx@test.ex
+Precedence: list
+****
+# Not personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: userx@test.ex
+Precedence: junk
+****
+# Personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: abcdefgh@bzzzt.fix.no
+Auto-Submitted: no
+****
+# Not personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: userx@test.ex
+Auto-Submitted: auto-replied
+****
+# Not personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: userx@test.ex
+List-Unsubscribe: xxxx
+****
+# Not personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: userx@test.ex
+From: abcd-request@some.domain
+****
+# Not personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: userx@test.ex
+From: owner-abcd@some.domain
+****
+# Not personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: userx@test.ex
+From: The list manager <majordomo@some.domain>
+****
+# Personal
+exim -bf DIR/aux-fixed/TESTNUM.f-4 -f anon@ymous
+To: abc@xyz.com, Philip <CALLER@test.ex>, pqr@xyz.com
+****
+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@test.ex filter-vacation
+Subject: should give rise to vacation message
+****
+exim -odi filter-stat
+Subject: should give filter error (7)
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0038 b/test/scripts/0000-Basic/0038
new file mode 100644 (file)
index 0000000..6ba85d3
--- /dev/null
@@ -0,0 +1,48 @@
+# 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
+****               
diff --git a/test/scripts/0000-Basic/0039 b/test/scripts/0000-Basic/0039
new file mode 100644 (file)
index 0000000..4c99629
--- /dev/null
@@ -0,0 +1,5 @@
+# redirect and qualify domain
+exim -N -odi r1@test.ex r2@test.ex
+****
+exim -N -DQDG=qualify_domain=qd.text.ex -odi r1@test.ex r2@test.ex
+****
diff --git a/test/scripts/0000-Basic/0040 b/test/scripts/0000-Basic/0040
new file mode 100644 (file)
index 0000000..3353ec2
--- /dev/null
@@ -0,0 +1,3 @@
+# 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@test.ex
+This is a test message.
diff --git a/test/scripts/0000-Basic/0041 b/test/scripts/0000-Basic/0041
new file mode 100644 (file)
index 0000000..5601d65
--- /dev/null
@@ -0,0 +1,14 @@
+# VRFY & EXPN blocking
+exim -bh 1.1.1.1
+vrfy userx@test.ex
+expn postmaster
+quit
+****
+exim -bh 2.2.2.2
+expn list
+quit
+****
+exim -bs
+expn list
+quit
+****
diff --git a/test/scripts/0000-Basic/0042 b/test/scripts/0000-Basic/0042
new file mode 100644 (file)
index 0000000..a0b2e4f
--- /dev/null
@@ -0,0 +1,5 @@
+# VRFY logging failures
+exim -bh 1.1.1.1
+vrfy userx@test.ex
+vrfy junkjunk@test.ex
+quit
diff --git a/test/scripts/0000-Basic/0043 b/test/scripts/0000-Basic/0043
new file mode 100644 (file)
index 0000000..63a0f99
--- /dev/null
@@ -0,0 +1,11 @@
+# Sender and recipient verification
+exim -bh V4NET.0.0.97
+ehlo exim.test.ex
+mail from:junkjunk@exim.test.ex
+rcpt to:<postmaster@exim.test.ex>
+rset
+mail from:postmaster@exim.test.ex
+rcpt to:postmaster@exim.test.ex
+rcpt to:junkjunk@exim.test.ex
+rcpt to:fail@exim.test.ex
+quit
diff --git a/test/scripts/0000-Basic/0044 b/test/scripts/0000-Basic/0044
new file mode 100644 (file)
index 0000000..90870b7
--- /dev/null
@@ -0,0 +1,21 @@
+# RBL blocking (unregistered host)
+exim -bh V4NET.11.12.13
+ehlo exim.test.ex
+mail from:postmaster@exim.test.ex
+rcpt to:<postmaster@exim.test.ex>
+rcpt to:list@exim.test.ex
+data
+test data
+.
+quit
+****
+exim -bh V4NET.11.12.13
+ehlo exim.test.ex
+mail from:<myfriend@there.test.ex>
+rcpt to:list@exim.test.ex
+data
+test data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0045 b/test/scripts/0000-Basic/0045
new file mode 100644 (file)
index 0000000..1b3aae0
--- /dev/null
@@ -0,0 +1,31 @@
+# MX handling
+1
+exim -bt userx@eximtesthost.test.ex
+****
+1
+exim -bt userx@mxt1.test.ex
+****
+2
+exim -bt userx@mxt2.test.ex
+****
+2
+exim -bt userx@mxt3.test.ex
+****
+1
+exim -bt userx@mxt4.test.ex
+****
+1
+exim -bt userx@mxt5.test.ex
+****
+1
+exim -bt userx@mxt5.test.ex
+****
+exim -bt userx@mxt6.test.ex
+****
+exim -bt userx@mxt7.test.ex
+****
+exim -bt userx@mxt7.test.ex
+****
+exim -bt userx@mxt8.test.ex
+****
+exim -bt userx@mxt8.test.ex
diff --git a/test/scripts/0000-Basic/0046 b/test/scripts/0000-Basic/0046
new file mode 100644 (file)
index 0000000..62d7ec8
Binary files /dev/null and b/test/scripts/0000-Basic/0046 differ
diff --git a/test/scripts/0000-Basic/0047 b/test/scripts/0000-Basic/0047
new file mode 100644 (file)
index 0000000..86a40fb
--- /dev/null
@@ -0,0 +1,6 @@
+# domain matching in manualroute router
+exim -bt xx@domain1
+****
+exim -bt xx@route1.ex
+****
+exim -bt xx@domain3
diff --git a/test/scripts/0000-Basic/0048 b/test/scripts/0000-Basic/0048
new file mode 100644 (file)
index 0000000..47815e8
--- /dev/null
@@ -0,0 +1,16 @@
+# 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.
+****
diff --git a/test/scripts/0000-Basic/0049 b/test/scripts/0000-Basic/0049
new file mode 100644 (file)
index 0000000..e3146a0
--- /dev/null
@@ -0,0 +1,70 @@
+# Sender: header (untrusted caller)
+exim -odi userx@test.ex
+Sender: Sender in original <sender@original.ex>
+
+This is a test message.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+Sender: Sender in original <sender@original.ex>
+
+This is a test message.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+
+This is a test message.
+****
+exim -odi userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+
+This is a test message.
+****
+exim -bs -odi
+mail from:userx@cus.cam.ac.uk
+rcpt to:userx@test.ex
+data
+Sender: Sender in original <sender@original.ex>
+
+This is a test message.
+.
+quit
+****
+exim -odi userx@test.ex
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message.
+****
+exim -odi userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message.
+****
+exim -bs -odi
+mail from:userx@somehost.test.ex
+rcpt to:userx@test.ex
+data
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message.
+.
+quit
+
diff --git a/test/scripts/0000-Basic/0050 b/test/scripts/0000-Basic/0050
new file mode 100644 (file)
index 0000000..82e5cad
--- /dev/null
@@ -0,0 +1,75 @@
+# Sender: header (trusted caller)
+exim -odi userx@test.ex
+Sender: Sender in original <sender@original.ex>
+
+This is a test message 1.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+Sender: Sender in original <sender@original.ex>
+
+This is a test message 2.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+
+This is a test message 3.
+****
+exim -odi userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+
+This is a test message 4.
+****
+exim -bs -odi
+mail from:userx@cus.cam.ac.uk
+rcpt to:userx@test.ex
+data
+Sender: Sender in original <sender@original.ex>
+
+This is a test message 5.
+.
+quit
+****
+exim -odi userx@test.ex
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message 6.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message 7.
+****
+exim -odi userx@test.ex
+From: From person <from@some.where>
+
+This is a test message 8.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message 9.
+****
+exim -odi userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message 10.
+****
+exim -bs -odi
+mail from:userx@somehost.test.ex
+rcpt to:userx@test.ex
+data
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message 11.
+.
+quit
+
diff --git a/test/scripts/0000-Basic/0051 b/test/scripts/0000-Basic/0051
new file mode 100644 (file)
index 0000000..2651d99
--- /dev/null
@@ -0,0 +1,24 @@
+# Domain selection in routers
+exim -odi userx@test.ex
+This is a test message 1.
+****
+exim -odi userx@bad.ex
+This is a test message 2.
+****
+exim -odi userx@badbad.ex
+This is a test message 3.
+****
+exim -odi userx@domain1.ex
+This is a test message 4.
+****
+exim -odi userx@domain4.ex
+This is a test message 5.
+****
+exim -odi userx@domain2.ex
+This is a test message 6.
+****
+exim -odi userx@xx.domain5.ex
+This is a test message 7.
+****
+exim -odi userx@domain6.yy.ex
+This is a test message 8.
diff --git a/test/scripts/0000-Basic/0052 b/test/scripts/0000-Basic/0052
new file mode 100644 (file)
index 0000000..279a823
--- /dev/null
@@ -0,0 +1,12 @@
+# Local part selection in routers
+exim -odi xx99@test.ex
+This is a test message 1.
+****
+exim -odi yy99@test.ex
+This is a test message 2.
+****
+exim -odi '!one@test.ex'
+This is a test message 3.
+****
+exim -odi '!two@test.ex'
+This is a test message 4.
diff --git a/test/scripts/0000-Basic/0053 b/test/scripts/0000-Basic/0053
new file mode 100644 (file)
index 0000000..b35a94c
--- /dev/null
@@ -0,0 +1,5 @@
+# Aliases including domains
+exim -bt bar@domain1.ex
+****
+2
+exim -bt foobar@domain1.ex
diff --git a/test/scripts/0000-Basic/0054 b/test/scripts/0000-Basic/0054
new file mode 100644 (file)
index 0000000..703779c
--- /dev/null
@@ -0,0 +1,6 @@
+# mx_domains
+exim -bt xxx@ten-1.test.ex
+****
+2
+exim -bt xxx@ten-2.test.ex
+****
diff --git a/test/scripts/0000-Basic/0055 b/test/scripts/0000-Basic/0055
new file mode 100644 (file)
index 0000000..cc06129
--- /dev/null
@@ -0,0 +1,33 @@
+# queue_domains and queue_smtp_domains
+exim -odi -N xxx@unknown.test.ex
+****
+exim -odi -N xxx@local.test.ex
+****
+exim -odq userx@myhost.ex
+****
+exim -ql
+****
+exim -q
+****
+exim -odi -N xxx@ten-1.test.ex
+****
+exim -odi -N xxx@ten-2.test.ex
+****
+exim -q -N
+****
+exim -odq xxx@ten-1.test.ex
+First
+****
+exim -odq yyy@ten-1.test.ex
+Two
+****
+exim -qq -N
+****
+exim -odi -N xxx@ten-2.test.ex
+****
+exim -N -M $msg1
+****
+exim -odi -N xxx@local.test.ex
+****
+exim -N -M $msg1
+****
diff --git a/test/scripts/0000-Basic/0056 b/test/scripts/0000-Basic/0056
new file mode 100644 (file)
index 0000000..5e033ce
--- /dev/null
@@ -0,0 +1,11 @@
+# domain list set to *
+exim -bh V4NET.0.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@otherhost.example.com>
+rcpt to:<userx@3rdhost.example.com>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0057 b/test/scripts/0000-Basic/0057
new file mode 100644 (file)
index 0000000..0c39e13
--- /dev/null
@@ -0,0 +1,19 @@
+# domain list = !* and other ! and percent_hack domains
+exim -bh V4NET.0.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+rcpt to:<userx@3rdhost.example.com>
+data
+.
+quit
+****
+2
+exim -bv userx%myhost.ex@a.test.ex userx%myhost.ex@b.test.ex 
+****
+2
+exim -bv userx%myhost.ex@d.test.ex userx%myhost.ex@d.test.ex 
+****
+exim -bv userx%myhost.ex@z.test.ex
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0058 b/test/scripts/0000-Basic/0058
new file mode 100644 (file)
index 0000000..4b07714
--- /dev/null
@@ -0,0 +1,13 @@
+# Relay by hostlist *
+exim -bh V4NET.0.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0059 b/test/scripts/0000-Basic/0059
new file mode 100644 (file)
index 0000000..85c9716
--- /dev/null
@@ -0,0 +1,10 @@
+# Relay by hostlist !*
+exim -bh V4NET.0.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0060 b/test/scripts/0000-Basic/0060
new file mode 100644 (file)
index 0000000..8798104
--- /dev/null
@@ -0,0 +1,66 @@
+# Relay by hostlist match for host name or IP address
+exim -bh V4NET.0.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.2
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.5
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.6
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.255.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.255.0.2
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.255.0.3
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.255.0.4
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0061 b/test/scripts/0000-Basic/0061
new file mode 100644 (file)
index 0000000..5177f8e
--- /dev/null
@@ -0,0 +1,18 @@
+# Relay by hostlist @
+exim -bh V4NET.0.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.2
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0062 b/test/scripts/0000-Basic/0062
new file mode 100644 (file)
index 0000000..b5802a0
--- /dev/null
@@ -0,0 +1,26 @@
+# Relay by hostlist end name match
+exim -bh V4NET.0.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.2
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.3
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0063 b/test/scripts/0000-Basic/0063
new file mode 100644 (file)
index 0000000..61abb6e
--- /dev/null
@@ -0,0 +1,18 @@
+# Relay by hostlist regex match
+exim -bh V4NET.0.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.2
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0064 b/test/scripts/0000-Basic/0064
new file mode 100644 (file)
index 0000000..a6ff0df
--- /dev/null
@@ -0,0 +1,18 @@
+# Relay by hostlist lsearch
+exim -bh V4NET.0.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.2
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0065 b/test/scripts/0000-Basic/0065
new file mode 100644 (file)
index 0000000..d786200
--- /dev/null
@@ -0,0 +1,58 @@
+# Relay by hostlist matching by network
+exim -bh 1.2.3.4
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 1.2.3.5
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 1.2.4.5
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 1.3.2.4
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 131.111.8.2
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 192.152.98.3
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 192.153.98.4
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0066 b/test/scripts/0000-Basic/0066
new file mode 100644 (file)
index 0000000..cb4492e
--- /dev/null
@@ -0,0 +1,74 @@
+# Relay by hostlist matching host or network
+exim -bh 1.2.3.4
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 1.2.3.5
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 1.2.4.5
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 1.3.2.4
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 131.111.8.2
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh 192.152.98.3
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.1
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.11.12.13
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.3
+mail from:<userx@somehost.example.com>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@anotherhost.example.com>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0067 b/test/scripts/0000-Basic/0067
new file mode 100644 (file)
index 0000000..5212719
--- /dev/null
@@ -0,0 +1,95 @@
+# sender_reject (various, including @@)
+exim -bh 1.2.3.4
+mail from:<userx@somehost.example.com>
+rcpt to:<x@test.ex>
+rset
+mail from:<x@b.c>
+rcpt to:<x@test.ex>
+rset
+mail from:<y@b.c>
+rcpt to:<x@test.ex>
+rset
+mail from:<philip@xy.z>
+rcpt to:<x@test.ex>
+rset
+mail from:<quilt@patch.work>
+rcpt to:<x@test.ex>
+rset
+mail from:<philip@a.b.c>
+rcpt to:<x@test.ex>
+rset
+mail from:<xx@abc.def>
+rcpt to:<x@test.ex>
+rset
+mail from:<abc@d.e.f>
+rcpt to:<x@test.ex>
+rset
+mail from:<xyz@d.e.f>
+rcpt to:<x@test.ex>
+rset
+mail from:<yy@abc.def>
+rcpt to:<x@test.ex>
+rset
+mail from:<abc@z.z>
+rcpt to:<x@test.ex>
+rset
+mail from:<cba@z.z>
+rcpt to:<x@test.ex>
+rset
+mail from:<xyz@z.z>
+rcpt to:<x@test.ex>
+rset
+mail from:<12345678@p.q.r>
+rcpt to:<x@test.ex>
+rset
+mail from:<12345678@z.z>
+rcpt to:<x@test.ex>
+rset
+mail from:<1234@p.q.r>
+rcpt to:<x@test.ex>
+rset
+mail from:<1234@m.n.o>
+rcpt to:<userx@test.ex>
+rcpt to:<postmaster@test.ex>
+rcpt to:<postmaster@myhost.ex>
+rset
+mail from:<rr01@a.b.c>
+rcpt to:<userx@test.ex>
+rset
+mail from:<qqq@a.b.c>
+rcpt to:<userx@test.ex>
+rset
+mail from:<qq@a.b.c>
+rcpt to:<userx@test.ex>
+rset
+mail from:<!excl@z.z>
+rcpt to:<userx@test.ex>
+rset
+mail from:<sh#rp@y.p.s>
+rcpt to:<userx@test.ex>
+rset
+mail from:<abc@xx.yy>
+rcpt to:<x@test.ex>
+rset
+mail from:<xyzbc@xx.yy>
+rcpt to:<x@test.ex>
+rset
+mail from:<aabc@xx.yy>
+rcpt to:<x@test.ex>
+rset
+mail from:<x@bb.cc>
+rcpt to:<x@test.ex>
+rset
+mail from:<y@bb.cc>
+rcpt to:<x@test.ex>
+rset
+mail from:<x@bbb.ccc>
+rcpt to:<x@test.ex>
+rset
+mail from:<y@bbb.ccc>
+rcpt to:<x@test.ex>
+rset
+mail from:<z@bbb.ccc>
+rcpt to:<x@test.ex>
+rset
+quit
diff --git a/test/scripts/0000-Basic/0068 b/test/scripts/0000-Basic/0068
new file mode 100644 (file)
index 0000000..dd8cce0
--- /dev/null
@@ -0,0 +1,13 @@
+# 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
+****
diff --git a/test/scripts/0000-Basic/0069 b/test/scripts/0000-Basic/0069
new file mode 100644 (file)
index 0000000..5afefce
--- /dev/null
@@ -0,0 +1,26 @@
+# +include_unknown and +ignore_unknown
+exim -bh V4NET.0.0.1
+mail from:<x@y>
+rcpt to:<x@test.ex>
+quit
+****
+exim -bh V4NET.0.0.13
+MAIL FROM:<userx>
+rcpt to:<x@test.ex>
+quit
+****
+exim -bh V4NET.0.0.13
+MAIL FROM:<userx@test.ex>
+rcpt to:<y@test.ex>
+quit
+****
+exim -bh V4NET.0.0.13
+MAIL FROM:<userx@test.ex>
+rcpt to:<z@test.ex>
+quit
+****
+exim -bh V4NET.0.0.13 -DLOG_SELECTOR=log_selector=+unknown_in_list
+MAIL FROM:<userx@test.ex>
+rcpt to:<y@test.ex>
+quit
+****
diff --git a/test/scripts/0000-Basic/0070 b/test/scripts/0000-Basic/0070
new file mode 100644 (file)
index 0000000..67d53b8
--- /dev/null
@@ -0,0 +1,60 @@
+# helo_verify_hosts and helo_try_verify_hosts
+exim -bh V4NET.0.0.1
+mail from:<userx@cus.cam.ac.uk>
+quit
+****
+exim -bh V4NET.0.0.13
+mail from:<userx@cus.cam.ac.uk>
+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
+****
diff --git a/test/scripts/0000-Basic/0071 b/test/scripts/0000-Basic/0071
new file mode 100644 (file)
index 0000000..5cfb609
--- /dev/null
@@ -0,0 +1,3 @@
+# pipe transport not set
+exim -odi pipe
+Some message text.
diff --git a/test/scripts/0000-Basic/0072 b/test/scripts/0000-Basic/0072
new file mode 100644 (file)
index 0000000..14bc9f4
--- /dev/null
@@ -0,0 +1,38 @@
+# autoreply
+exim -odi userx@test.ex
+Subject: first message; non-printer >\r<
+****
+exim -odi userx@test.ex
+Subject: second message
+****
+exim -DONCE=once= -DRETURN=return_message -odi userx@test.ex
+Subject: third message
+
+This has return_message set.
+****
+exim -DONCE= -DRETURN=return_message -DONLY=body_only -odi userx@test.ex
+Subject: third message
+
+This has return_message set with body_only.
+****
+exim -DONCE= -DRETURN=return_message -DONLY=headers_only -odi userx@test.ex
+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@test.ex
+Subject: Encoded from
+From: =?ISO-8859-1?Q?CALLER=40test=2Eex?= <CALLER@test.ex>
+
+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@test.ex
+Subject: Bad from
+From: "something" x@y
+
+This is a test for a bad From: line.
+****
diff --git a/test/scripts/0000-Basic/0073 b/test/scripts/0000-Basic/0073
new file mode 100644 (file)
index 0000000..346bc0f
--- /dev/null
@@ -0,0 +1,10 @@
+# autoreply with once_repeat
+exim -odi userx@test.ex
+Subject: first message
+****
+exim -odi userx@test.ex
+Subject: second message
+****
+sleep 5
+exim -odi userx@test.ex
+Subject: third message
diff --git a/test/scripts/0000-Basic/0074 b/test/scripts/0000-Basic/0074
new file mode 100644 (file)
index 0000000..04923ef
--- /dev/null
@@ -0,0 +1,20 @@
+# autoreply from filter (including once_repeat)
+exim -odi userx@test.ex
+Subject: first message
+****
+exim -odi userx@test.ex
+Subject: second message
+****
+sleep 5
+exim -odi userx@test.ex
+Subject: third message
+****
+exim -odi userx@test.ex
+Subject: fourth message
+X-nltest: xxxx
+****
+exim -odi userx@test.ex
+Subject: fifth message
+Reply-to: userx,
+  abcd
+****   
diff --git a/test/scripts/0000-Basic/0075 b/test/scripts/0000-Basic/0075
new file mode 100644 (file)
index 0000000..b28b4d2
--- /dev/null
@@ -0,0 +1,3 @@
+# appendfile subdirectory with create_directory
+exim -odi userx@test.ex
+Subject: first message
diff --git a/test/scripts/0000-Basic/0076 b/test/scripts/0000-Basic/0076
new file mode 100644 (file)
index 0000000..9e6f311
--- /dev/null
@@ -0,0 +1,3 @@
+# appendfile subdirectory without create_directory
+exim -odi userx@test.ex
+Subject: first message
diff --git a/test/scripts/0000-Basic/0077 b/test/scripts/0000-Basic/0077
new file mode 100644 (file)
index 0000000..715bd28
--- /dev/null
@@ -0,0 +1,15 @@
+# host_reject !@ : !localhost
+exim -bh 127.0.0.1
+mail from:<x@test.ex>
+rcpt to:<x@test.ex>
+quit
+****
+exim -bh V4NET.10.10.10
+mail from:<x@test.ex>
+rcpt to:<x@test.ex>
+quit
+****
+exim -bh V4NET.0.0.1
+mail from:<x@test.ex>
+rcpt to:<x@test.ex>
+quit
diff --git a/test/scripts/0000-Basic/0078 b/test/scripts/0000-Basic/0078
new file mode 100644 (file)
index 0000000..0333aa3
--- /dev/null
@@ -0,0 +1,10 @@
+# self and no_more
+#
+exim -d-all+route -bt xx@mxt6.test.ex
+****
+exim -d-all+route -bt myhost.test.ex@mxt1.test.ex
+****
+exim -d-all+route -bt xx@mxt1.test.ex
+****
+2
+exim -d-all+route -bt xx@not.exist
diff --git a/test/scripts/0000-Basic/0079 b/test/scripts/0000-Basic/0079
new file mode 100644 (file)
index 0000000..0875ed0
--- /dev/null
@@ -0,0 +1,40 @@
+# RBL /warn (default reject)
+exim -bh V4NET.11.12.14
+ehlo exim.test.ex
+mail from:postmaster@exim.test.ex
+rcpt to:<postmaster@exim.test.ex>
+rcpt to:list@exim.test.ex
+data
+test data
+.
+quit
+****
+exim -odi -bs -oMa V4NET.11.12.13
+ehlo exim.test.ex
+mail from:<postmaster@exim.test.ex>
+rcpt to:<userx@exim.test.ex>
+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@exim.test.ex>
+rcpt to:<postmaster@exim.test.ex>
+rcpt to:<userx@exim.test.ex>
+data
+test message data
+.
+quit
+****
+exim -odi -bs
+mail from:<postmaster@exim.test.ex>
+rcpt to:<userx@exim.test.ex>
+data
+sysmail: yes
+Testing mail from system filter
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0080 b/test/scripts/0000-Basic/0080
new file mode 100644 (file)
index 0000000..12a7de2
--- /dev/null
@@ -0,0 +1,12 @@
+# RBL /reject (default warn)
+exim -bh V4NET.11.12.14
+ehlo exim.test.ex
+mail from:postmaster@exim.test.ex
+rcpt to:<postmaster@exim.test.ex>
+rcpt to:list@exim.test.ex
+data
+test data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0081 b/test/scripts/0000-Basic/0081
new file mode 100644 (file)
index 0000000..a392fd1
--- /dev/null
@@ -0,0 +1,11 @@
+# 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.
diff --git a/test/scripts/0000-Basic/0082 b/test/scripts/0000-Basic/0082
new file mode 100644 (file)
index 0000000..77bcdbf
--- /dev/null
@@ -0,0 +1,11 @@
+# -bS with -oMr
+exim -bS -odi -oMr testproto
+mail from:userx@cus.cam.ac.uk
+rcpt to:userx@test.ex
+data
+from: me
+To: me
+
+This is some text
+.
+quit
diff --git a/test/scripts/0000-Basic/0083 b/test/scripts/0000-Basic/0083
new file mode 100644 (file)
index 0000000..0aa9d93
--- /dev/null
@@ -0,0 +1,11 @@
+# -bS without -oMr
+exim -bS -odi
+mail from:userx@cus.cam.ac.uk
+rcpt to:userx@test.ex
+data
+from: me
+To: me
+
+This is some text
+.
+quit
diff --git a/test/scripts/0000-Basic/0084 b/test/scripts/0000-Basic/0084
new file mode 100644 (file)
index 0000000..4227199
--- /dev/null
@@ -0,0 +1,2 @@
+# require_files
+exim -d-all+route -bv yes@myhost.test.ex no@myhost.test.ex
diff --git a/test/scripts/0000-Basic/0085 b/test/scripts/0000-Basic/0085
new file mode 100644 (file)
index 0000000..3d0f513
--- /dev/null
@@ -0,0 +1,6 @@
+# domains, local_parts, sender, and require_files expansions
+2
+exim -d -f abc@d.e.f -bv x@y.z x@smart.domain x@test.ex x@myhost.test.ex
+****
+2
+exim -d -bv x@y.z x@smart.domain x@test.ex x@myhost.test.ex
diff --git a/test/scripts/0000-Basic/0086 b/test/scripts/0000-Basic/0086
new file mode 100644 (file)
index 0000000..0a7582e
--- /dev/null
@@ -0,0 +1,120 @@
+# verify = header_syntax
+exim -bh V4NET.10.10.10
+mail from:<userx@exim.test.ex>
+rcpt to:<userx@test.ex>
+data
+From: userx@exim.test.ex
+To: userx@test.ex
+Cc: <abcd@x.y.z
+Subject: testing
+
+.
+QUIT
+****
+exim -bh V4NET.10.10.10
+mail from:<userx@exim.test.ex>
+rcpt to:<userx@test.ex>
+data
+From: userx@exim.test.ex
+To: userx@test.ex
+Cc: <abcd@x.y.z
+Resent-From: postmaster@x.y.z
+Reply-To: <xyz@a.b.c.d
+Subject: testing
+
+.
+QUIT
+****
+exim -bh V4NET.10.10.10
+mail from:<userx@exim.test.ex>
+rcpt to:<userx@test.ex>
+data
+From: userx@exim.test.ex
+To: userx@test.ex
+Cc: <abcd@x.y.z>
+Resent-From: postmaster@x.y.z
+Resent-To: <xyz@a.b.c.d
+Subject: testing
+
+.
+QUIT
+****
+exim -bh V4NET.10.10.10
+mail from:<userx@exim.test.ex>
+rcpt to:<userx@test.ex>
+data
+From: userx@exim.test.ex
+To: userx@test.ex
+Cc: "abcd@x.y.z (missing quote),
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses,   
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses,   
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses,   
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses,   
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses,   
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses,   
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses,   
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses,   
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses,   
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses,   
+  longlonglonglonglong@long.long.long.long.long.long.long.long,
+  listlistlistlistlist@list.list.list.list.list.list.list.list,
+  ofofofofofofofofofof@of.of.of.of.of.of.of.of.of.of.of.of.of,
+  addressesaddresses@addresses.addresses.addresses.addresses
+.
+QUIT
+****
+exim -bh V4NET.10.10.10
+mail from:<userx@exim.test.ex>
+rcpt to:<userx@test.ex>
+data
+From: userx@exim.test.ex
+To: userx@test.ex
+Cc: <abcd>
+Subject: testing
+
+.
+QUIT
+****
+exim -bh V4NET.10.10.9
+mail from:<userx@exim.test.ex>
+rcpt to:<userx@test.ex>
+data
+From: userx@exim.test.ex
+To: userx@test.ex
+Cc: <abcd>
+Subject: testing
+
+.
+QUIT
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0087 b/test/scripts/0000-Basic/0087
new file mode 100644 (file)
index 0000000..c77b69c
--- /dev/null
@@ -0,0 +1,62 @@
+# verify = header_sender
+exim -bh V4NET.10.10.10
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+From: userx@test.ex
+Reply-to:
+To: userx@test.ex
+Subject: testing
+
+.
+QUIT
+****
+exim -bh V4NET.10.10.10
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+From: <userx@test.ex
+Reply-to:
+Sender: userx@test.ex
+To: userx@test.ex
+Subject: testing
+
+.
+QUIT
+****
+exim -bh V4NET.10.10.10
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+From: badbad@test.ex
+Sender:
+To: userx@test.ex
+Subject: testing
+
+.
+QUIT
+****
+exim -bh V4NET.10.10.10
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+From: badbad@test.ex, userx@test.ex
+Sender:
+To: userx@test.ex
+Subject: testing
+
+.
+QUIT
+****
+exim -bh V4NET.10.10.10
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+From: defer@test.ex
+To: userx@test.ex
+Subject: testing
+
+.
+QUIT
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0088 b/test/scripts/0000-Basic/0088
new file mode 100644 (file)
index 0000000..63f3f0f
--- /dev/null
@@ -0,0 +1,3 @@
+# hosts_treat_as_local
+1
+exim -bv xx@ten-1.test.ex xx@ten-99.test.ex xx@mxcased.test.ex
diff --git a/test/scripts/0000-Basic/0089 b/test/scripts/0000-Basic/0089
new file mode 100644 (file)
index 0000000..d7ddbd6
--- /dev/null
@@ -0,0 +1,23 @@
+# host and domain list caseless matching and HELO checking
+#
+exim -bt userx@test.ex userx@myhost.test.ex
+****
+exim -bh V4NET.0.0.0
+helo @#$%^&*()
+helo abc_xyz
+mail from:<userx@cus.cam.ac.uk>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@else.where>
+rset
+quit
+****
+exim -bh V4NET.0.0.99
+helo @#$%^&*()
+mail from:<root>
+rcpt to:<xx@reLAY.ONE.ex>
+rcpt to:<yy@relay.two.ex>
+quit
+****
+2
+exim -bt abcd@test.ex ABCD@test.ex XYZ@ten-1.test.ex xyz@ten-1.test.ex
+****
diff --git a/test/scripts/0000-Basic/0090 b/test/scripts/0000-Basic/0090
new file mode 100644 (file)
index 0000000..c99777f
--- /dev/null
@@ -0,0 +1,3 @@
+# address list !:
+exim -odi userx
+This is a test message
diff --git a/test/scripts/0000-Basic/0091 b/test/scripts/0000-Basic/0091
new file mode 100644 (file)
index 0000000..89025e7
--- /dev/null
@@ -0,0 +1,33 @@
+# sender_verify_hosts
+exim -bh V4NET.0.0.1
+mail from:<junk@jink.jonk.test.ex>
+rcpt to:<root@test.ex>
+data
+From: <junk@jink.jonk.test.ex>
+.
+quit
+****
+exim -bh V4NET.0.0.2
+mail from:<junk@jink.jonk.test.ex>
+rcpt to:<root@test.ex>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.2
+mail from:<userx@test.ex>
+rcpt to:<root@test.ex>
+data
+From: <junk@jink.jonk.test.ex>
+.
+quit
+****
+exim -bh V4NET.0.0.2
+mail from:<userx@test.ex>
+rcpt to:<root@test.ex>
+data
+From: <userx@test.ex>
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0092 b/test/scripts/0000-Basic/0092
new file mode 100644 (file)
index 0000000..78c713e
--- /dev/null
@@ -0,0 +1,41 @@
+# SMTP incoming timeout + receive_timeout
+1
+3 exim -bs
+****
+1
+3 exim -bs
+mail from: userx@test.ex
+rcpt to: userx@test.ex
+data
+****
+1
+3 exim -bh V4NET.0.0.1
+****
+1
+3 exim -bh V4NET.0.0.1
+mail from:userx@test.ex
+rcpt to:userx@test.ex
+data
+The quick brown fox
+****
+1
+3 exim userx@test.ex
+****
+1
+3 exim userx@test.ex
+The quick brown fox
+jumps over the lazy dog.
+****
+1
+3 exim -bh V4NET.0.0.1
+mail from: userx@test.ex
+rcpt to: verify@test.ex
+**** 
+2
+3 exim -bS
+****
+2
+3 exim -bS
+mail from: userx@test.ex
+rcpt to: userx@test.ex
+data
diff --git a/test/scripts/0000-Basic/0093 b/test/scripts/0000-Basic/0093
new file mode 100644 (file)
index 0000000..576e738
--- /dev/null
@@ -0,0 +1,27 @@
+# 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
+****
diff --git a/test/scripts/0000-Basic/0094 b/test/scripts/0000-Basic/0094
new file mode 100644 (file)
index 0000000..9a915e0
--- /dev/null
@@ -0,0 +1,41 @@
+# Reverse lookup failures
+exim -bh V4NET.11.12.13
+mail from:<userx@cam.ac.uk>
+rcpt to:<userx@cam.ac.uk>
+quit
+****
+exim -bh V4NET.0.0.1
+mail from:<userx@cam.ac.uk>
+rcpt to:<userx@cam.ac.uk>
+quit
+****
+sudo exim -odi -oMa V4NET.11.12.13 -bs
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+This is a test message
+.
+quit
+****
+exim -d -bh V4NET.99.99.90
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+rcpt to:<userx@cam.ac.uk>
+quit
+****
+sudo exim -odi -oMa 99.99.99.99 -bs
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+This is a test message
+.
+quit
+****
+sudo exim -odi -oMa V4NET.99.99.96 -bs
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+This is a test message
+.
+quit
+****
diff --git a/test/scripts/0000-Basic/0095 b/test/scripts/0000-Basic/0095
new file mode 100644 (file)
index 0000000..45b6a70
--- /dev/null
@@ -0,0 +1,35 @@
+# 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
+****
diff --git a/test/scripts/0000-Basic/0096 b/test/scripts/0000-Basic/0096
new file mode 100644 (file)
index 0000000..935f91f
--- /dev/null
@@ -0,0 +1,7 @@
+# headers_add, headers_remove (fail, router only)
+exim -odi userx@test.ex
+Subject: First message subject
+****
+exim -odi userx@test.ex
+X-RBL-Warning: A faked up RBL header
+Subject: Second message subject
diff --git a/test/scripts/0000-Basic/0097 b/test/scripts/0000-Basic/0097
new file mode 100644 (file)
index 0000000..2470159
--- /dev/null
@@ -0,0 +1,8 @@
+# headers_add, headers_remove (blank, router and transport)
+exim -odi userx@test.ex
+Subject: First message subject
+****
+exim -odi userx@test.ex
+X-RBL-Warning: A faked up RBL header
+Subject: Second message subject
+Tadd: to be replaced
diff --git a/test/scripts/0000-Basic/0098 b/test/scripts/0000-Basic/0098
new file mode 100644 (file)
index 0000000..18f3487
--- /dev/null
@@ -0,0 +1,41 @@
+# warning messages
+need_ipv4
+#
+exim -odi userx@test.ex defer@test.ex
+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@test.ex defer@another.test.ex
+Test message
+****
+exim -Tqt 20s/13s/ -odi -qf
+****
+exim -odi xxxx@some.domain
+Test message
+****
+exim -Tqt 41s/15s/8s/ -odi -qf
+****
+exim -odi yyyy@connection.refused
+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@another.test.ex
+Testing
+****
+exim -Tqt 20s/ -odi -qf
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0099 b/test/scripts/0000-Basic/0099
new file mode 100644 (file)
index 0000000..d770eef
--- /dev/null
@@ -0,0 +1,41 @@
+# retry data
+exim -odi userx@far.away.ex
+Test message
+****
+dump retry
+sleep 1
+exim -odi -q
+****
+dump retry
+sleep 3
+exim -odi -q
+****
+dump retry
+exim -brt x@dark.star.ex
+****
+exim -brt x@a.b.c
+****
+exim -brt x@x.y.z
+****
+exim -brt x@9CDE.ex
+****
+exim -brt x@Q.abcd.ex
+****
+exim -brt x@literal.ex
+****
+exim -brt x@look.up
+****
+exim -brt x@[127.0.0.1]
+****
+exim -brt x@primary.test.ex
+****
+exim -brt x@rcpt4xx.test.ex rcpt_4xx
+****
+exim -brt x@rcpt45x.test.ex rcpt_45x
+****
+exim -brt x@rcpt463.test.ex rcpt_463
+****
+exim -f "" -brt x@Q.abcd.ex
+****
+exim -f "d@e.f" -brt x@Q.abcd.ex
+****
diff --git a/test/scripts/0000-Basic/0100 b/test/scripts/0000-Basic/0100
new file mode 100644 (file)
index 0000000..a8cf686
--- /dev/null
@@ -0,0 +1,142 @@
+# appendfile body escapes (including "from hack" and "SMTP dot" tests)
+need_ipv4
+#
+exim -odi userx@test.ex
+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.ex
+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.ex <test-data
+****
+write test-data 127x64 1x63
+++++
+From Bohemia's woods and fields
+****
+exim -odi userx@test.ex <test-data
+****
+exim -odi userz@test.ex
+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@test.ex
+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@domain.com
+.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.ex <test-data
+****
+exim -odi userx@test.ex
+Last line ending without a newline and with a partial match: 
+From\NONL\
+****
+exim -odi filter-userx@test.ex
+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@test.ex
+Last line ending without a newline and with a partial match: 
+From\NONL\
+****
+exim -odi userx@test.ex
+Last line ending without a newline and being a single dot:
+.\NONL\
+****
+exim -odi mmdf-userx@test.ex
+Line consisting of four ^A characters
+\ 1\ 1\ 1\ 1
+That should get escaped by adding a space.
+****
+exim -odi batch-userx@test.ex batch-userz@test.ex
+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@test.ex
+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@filtered.com
+.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.
+****
diff --git a/test/scripts/0000-Basic/0101 b/test/scripts/0000-Basic/0101
new file mode 100644 (file)
index 0000000..12f73c0
--- /dev/null
@@ -0,0 +1,92 @@
+# pipe body escapes (including "from hack" and "SMTP dot" tests)
+need_ipv4
+#
+exim -odi userx@test.ex
+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.ex <test-data
+****
+write test-data 127x64 1x63
+++++
+From Bohemia's woods and fields
+****
+exim -odi userx@test.ex <test-data
+****
+exim -odi userz@test.ex
+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@domain.com
+.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.ex <test-data
+****
+exim -odi userx@test.ex
+Last line ending without a newline and with a partial match: 
+From\NONL\
+****
+exim -odi filter-userx@test.ex
+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@test.ex
+Last line ending without a newline and with a partial match: 
+From\NONL\
+****
+exim -odi userx@test.ex
+Last line ending without a newline and being a single dot:
+.\NONL\
+****
+exim -odi mmdf-userx@test.ex
+Line consisting of four ^A characters
+\ 1\ 1\ 1\ 1
+That should get escaped by adding a space.
+****
+exim -odi userx@test.ex
+Subject: From
+
+From is the very first word of the message.
+From starts the second line.
diff --git a/test/scripts/0000-Basic/0102 b/test/scripts/0000-Basic/0102
new file mode 100644 (file)
index 0000000..a6a6f6e
--- /dev/null
@@ -0,0 +1,40 @@
+# appendfile auto format recognition
+exim -odi userx@test.ex
+Initial test message, no prefix.
+****
+exim -odi userx@test.ex
+Second test message, no prefix.
+****
+exim -odi bsmtp_usery@test.ex
+Test message with bsmtp_ prefix
+****
+exim -odi usery@test.ex
+Second test message, no prefix.
+****
+exim -odi mmdf_userz@test.ex
+Test message with mmdf_ prefix
+****
+exim -odi userz@test.ex
+Second test message, no prefix.
+****
+exim -odi userz@test.ex
+Second test message, no prefix.
+****
+write test-mail/tpmissing
+tpmissing text at mailbox start
+****
+exim -odi tpmissing@test.ex
+Test message.
+****
+write test-mail/undefined
+undefined text at mailbox start
+****
+exim -odi undefined@test.ex
+Test message.
+****
+exim -odi batch-userx
+Test to batch-userx
+****
+exim -odi batch-userx batch-usery
+Test to batch-userx and batch-usery
+****
diff --git a/test/scripts/0000-Basic/0103 b/test/scripts/0000-Basic/0103
new file mode 100644 (file)
index 0000000..13c9918
--- /dev/null
@@ -0,0 +1,16 @@
+# redirect router no_rewrite / no transport / :defer: etc
+exim -odi '"xyz@x.y.z"@test.ex'
+Message sent to "xyz@x.y.z"@test.ex.
+****
+exim -odi '"abc@x.y.z"@test.ex'
+Message sent to "abc@x.y.z"@test.ex.
+****
+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
+****
diff --git a/test/scripts/0000-Basic/0104 b/test/scripts/0000-Basic/0104
new file mode 100644 (file)
index 0000000..f4f9026
--- /dev/null
@@ -0,0 +1,9 @@
+# source routed addresses - collapsing
+exim -bt @exim.org:xxx@test.ex '@x.y,@a.b:xxx@test.ex' 'abcde <@x.y,@a.b:xxx@test.ex>'
+****
+exim -odi @x.y,@r.s:a.b@p.q
+To: comment <@x.y,@r.s:a.b@p.q>
+****
+exim -odi @x.y:mmm@ten-1
+To: You <@x.y:mmm@ten-1>
+****
diff --git a/test/scripts/0000-Basic/0105 b/test/scripts/0000-Basic/0105
new file mode 100644 (file)
index 0000000..156ed6c
--- /dev/null
@@ -0,0 +1,13 @@
+# aliasfile with transport + smartuser with new address and transport
+exim -odi firstuser
+Delivered to firstuser
+.
+****
+exim -odi seconduser@test.ex
+Delivered to seconduser
+.
+****
+exim -odi postmaster
+Delivered to default
+.
+****
diff --git a/test/scripts/0000-Basic/0106 b/test/scripts/0000-Basic/0106
new file mode 100644 (file)
index 0000000..e829b7c
--- /dev/null
@@ -0,0 +1,22 @@
+# SMTP outgoing timeout
+need_ipv4
+#
+server PORT_S
+220 ESMTP
+EHLO
+*sleep 4
+****
+exim -odi userx@domain1.com
+.
+****
+sleep 1
+server PORT_S
+220 ESMTP
+EHLO
+250 OK
+MAIL FROM
+*sleep 4
+****
+exim -odi userx@domain2.com
+.
+****
diff --git a/test/scripts/0000-Basic/0107 b/test/scripts/0000-Basic/0107
new file mode 100644 (file)
index 0000000..1dd0f52
--- /dev/null
@@ -0,0 +1,9 @@
+# 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
diff --git a/test/scripts/0000-Basic/0108 b/test/scripts/0000-Basic/0108
new file mode 100644 (file)
index 0000000..ffe9f66
--- /dev/null
@@ -0,0 +1,6 @@
+# remote_sort_domains
+#
+exim -odi -N xx@ten-1.net xx@black.com xx@other.edu xx@myhost.com
+****
+exim -odi -N xx@myhost.com xx@ten-1.net xx@other.edu xx@black.com 
+****
diff --git a/test/scripts/0000-Basic/0109 b/test/scripts/0000-Basic/0109
new file mode 100644 (file)
index 0000000..97b7d1f
--- /dev/null
@@ -0,0 +1,5 @@
+# fallback hosts
+need_ipv4
+#
+exim -odi xx@non-exist.test.ex
+****
diff --git a/test/scripts/0000-Basic/0110 b/test/scripts/0000-Basic/0110
new file mode 100644 (file)
index 0000000..8b0d331
--- /dev/null
@@ -0,0 +1,5 @@
+# one_time in aliasfile
+exim -odi first
+****
+exim -qf
+****
diff --git a/test/scripts/0000-Basic/0111 b/test/scripts/0000-Basic/0111
new file mode 100644 (file)
index 0000000..053d40b
--- /dev/null
@@ -0,0 +1,10 @@
+# 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
+****
diff --git a/test/scripts/0000-Basic/0112 b/test/scripts/0000-Basic/0112
new file mode 100644 (file)
index 0000000..947ea24
--- /dev/null
@@ -0,0 +1,7 @@
+# pipe and file deliveries from aliasfile
+exim -odi pipe
+Message to pipe.
+****
+exim -odi file
+Message to file.
+****
diff --git a/test/scripts/0000-Basic/0113 b/test/scripts/0000-Basic/0113
new file mode 100644 (file)
index 0000000..1779abc
--- /dev/null
@@ -0,0 +1,5 @@
+# one_time in forwardfile
+exim -odi first
+****
+exim -qf
+****
diff --git a/test/scripts/0000-Basic/0114 b/test/scripts/0000-Basic/0114
new file mode 100644 (file)
index 0000000..b41b7c3
--- /dev/null
@@ -0,0 +1,13 @@
+# 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.
+****
diff --git a/test/scripts/0000-Basic/0115 b/test/scripts/0000-Basic/0115
new file mode 100644 (file)
index 0000000..5a94670
--- /dev/null
@@ -0,0 +1,13 @@
+# 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.
+****
diff --git a/test/scripts/0000-Basic/0116 b/test/scripts/0000-Basic/0116
new file mode 100644 (file)
index 0000000..839e0cb
--- /dev/null
@@ -0,0 +1,9 @@
+# unseen (including address_data passing)
+exim -odi dcopy defer
+Message sent to dcopy.
+****
+exim -odi acopy defer
+Message sent to acopy.
+****
+exim -qf
+****
diff --git a/test/scripts/0000-Basic/0117 b/test/scripts/0000-Basic/0117
new file mode 100644 (file)
index 0000000..8c11969
--- /dev/null
@@ -0,0 +1,11 @@
+# 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@mxt9.test.ex
+****
+exim -d-all+route -bv xxx@mxt9a.test.ex
+****
+exim -d-all+route -bv xxx@mxt9b.test.ex
+****
diff --git a/test/scripts/0000-Basic/0118 b/test/scripts/0000-Basic/0118
new file mode 100644 (file)
index 0000000..76f94e3
--- /dev/null
@@ -0,0 +1,7 @@
+# first_delivery and queue_running
+exim -odi userx
+****
+exim -M $msg1
+****
+exim -qf
+****
diff --git a/test/scripts/0000-Basic/0119 b/test/scripts/0000-Basic/0119
new file mode 100644 (file)
index 0000000..01b111f
--- /dev/null
@@ -0,0 +1,25 @@
+# -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
+****
diff --git a/test/scripts/0000-Basic/0120 b/test/scripts/0000-Basic/0120
new file mode 100644 (file)
index 0000000..a40e7cd
--- /dev/null
@@ -0,0 +1,8 @@
+# $message_age
+exim -odi postmaster
+****
+exim -odi -qf
+****
+sleep 3
+exim -odi -qf
+****
diff --git a/test/scripts/0000-Basic/0121 b/test/scripts/0000-Basic/0121
new file mode 100644 (file)
index 0000000..4bcb99b
--- /dev/null
@@ -0,0 +1,28 @@
+# Sender verification (envelope and header)
+exim -bh 127.0.0.1
+mail from:<unknown@test.ex>
+rcpt to:<userx@test.ex>
+rset
+mail from:<userx@unknown.dom.ain>
+rcpt to:<userx@test.ex>
+rset
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+From: unknown@test.ex
+.
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+From: <>
+.
+mail from:<defer@test.ex>
+rcpt to:<userx@test.ex>
+rset
+mail from:<userx@test.ex>
+rcpt to:<userx@test.ex>
+data
+from: <defer@test.ex>
+.
+quit
+****
diff --git a/test/scripts/0000-Basic/0122 b/test/scripts/0000-Basic/0122
new file mode 100644 (file)
index 0000000..baa8e0b
--- /dev/null
@@ -0,0 +1,7 @@
+# msglog frozen messages
+exim -odi freeze
+****
+exim -odi -f '<>' unknown
+****
+sudo exim -odi -f '<>' unknown
+****
diff --git a/test/scripts/0000-Basic/0123 b/test/scripts/0000-Basic/0123
new file mode 100644 (file)
index 0000000..9f5aac0
--- /dev/null
@@ -0,0 +1,4 @@
+# lookup_open_max
+2
+exim -d -bt x y z
+****
diff --git a/test/scripts/0000-Basic/0124 b/test/scripts/0000-Basic/0124
new file mode 100644 (file)
index 0000000..fccedda
--- /dev/null
@@ -0,0 +1,9 @@
+# host lookup failure error message
+exim -bh V4NET.0.0.97
+mail from:<userx@test.ex>
+rcpt to:<userx@external.test.ex>
+rset
+mail from:<userx@test.ex>
+rcpt to:<userx@external.test.ex>
+quit
+****
diff --git a/test/scripts/0000-Basic/0125 b/test/scripts/0000-Basic/0125
new file mode 100644 (file)
index 0000000..0741f30
--- /dev/null
@@ -0,0 +1,208 @@
+# very long header line
+exim -odq userx@test.ex
+From: userx@test.ex
+To: 000@test.ex, 001@test.ex, 002@test.ex, 003@test.ex, 004@test.ex,
+    005@test.ex, 006@test.ex, 007@test.ex, 008@test.ex, 009@test.ex,
+    010@test.ex, 011@test.ex, 012@test.ex, 013@test.ex, 014@test.ex,
+    015@test.ex, 016@test.ex, 017@test.ex, 018@test.ex, 019@test.ex,
+    020@test.ex, 021@test.ex, 022@test.ex, 023@test.ex, 024@test.ex,
+    025@test.ex, 026@test.ex, 027@test.ex, 028@test.ex, 029@test.ex,
+    030@test.ex, 031@test.ex, 032@test.ex, 033@test.ex, 034@test.ex,
+    035@test.ex, 036@test.ex, 037@test.ex, 038@test.ex, 039@test.ex,
+    040@test.ex, 041@test.ex, 042@test.ex, 043@test.ex, 044@test.ex,
+    045@test.ex, 046@test.ex, 047@test.ex, 048@test.ex, 049@test.ex,
+    050@test.ex, 051@test.ex, 052@test.ex, 053@test.ex, 054@test.ex,
+    055@test.ex, 056@test.ex, 057@test.ex, 058@test.ex, 059@test.ex,
+    060@test.ex, 061@test.ex, 062@test.ex, 063@test.ex, 064@test.ex,
+    065@test.ex, 066@test.ex, 067@test.ex, 068@test.ex, 069@test.ex,
+    070@test.ex, 071@test.ex, 072@test.ex, 073@test.ex, 074@test.ex,
+    075@test.ex, 076@test.ex, 077@test.ex, 078@test.ex, 079@test.ex,
+    080@test.ex, 081@test.ex, 082@test.ex, 083@test.ex, 084@test.ex,
+    085@test.ex, 086@test.ex, 087@test.ex, 088@test.ex, 089@test.ex,
+    090@test.ex, 091@test.ex, 092@test.ex, 093@test.ex, 094@test.ex,
+    095@test.ex, 096@test.ex, 097@test.ex, 098@test.ex, 099@test.ex,
+    100@test.ex, 101@test.ex, 102@test.ex, 103@test.ex, 104@test.ex,
+    105@test.ex, 106@test.ex, 107@test.ex, 108@test.ex, 109@test.ex,
+    110@test.ex, 111@test.ex, 112@test.ex, 113@test.ex, 114@test.ex,
+    115@test.ex, 116@test.ex, 117@test.ex, 118@test.ex, 119@test.ex,
+    120@test.ex, 121@test.ex, 122@test.ex, 123@test.ex, 124@test.ex,
+    125@test.ex, 126@test.ex, 127@test.ex, 128@test.ex, 129@test.ex,
+    130@test.ex, 131@test.ex, 132@test.ex, 133@test.ex, 134@test.ex,
+    135@test.ex, 136@test.ex, 137@test.ex, 138@test.ex, 139@test.ex,
+    140@test.ex, 141@test.ex, 142@test.ex, 143@test.ex, 144@test.ex,
+    145@test.ex, 146@test.ex, 147@test.ex, 148@test.ex, 149@test.ex,
+    150@test.ex, 151@test.ex, 152@test.ex, 153@test.ex, 154@test.ex,
+    155@test.ex, 156@test.ex, 157@test.ex, 158@test.ex, 159@test.ex,
+    160@test.ex, 161@test.ex, 162@test.ex, 163@test.ex, 164@test.ex,
+    165@test.ex, 166@test.ex, 167@test.ex, 168@test.ex, 169@test.ex,
+    170@test.ex, 171@test.ex, 172@test.ex, 173@test.ex, 174@test.ex,
+    175@test.ex, 176@test.ex, 177@test.ex, 178@test.ex, 179@test.ex,
+    180@test.ex, 181@test.ex, 182@test.ex, 183@test.ex, 184@test.ex,
+    185@test.ex, 186@test.ex, 187@test.ex, 188@test.ex, 189@test.ex,
+    190@test.ex, 191@test.ex, 192@test.ex, 193@test.ex, 194@test.ex,
+    195@test.ex, 196@test.ex, 197@test.ex, 198@test.ex, 199@test.ex,
+    200@test.ex, 201@test.ex, 202@test.ex, 203@test.ex, 204@test.ex,
+    205@test.ex, 206@test.ex, 207@test.ex, 208@test.ex, 209@test.ex,
+    210@test.ex, 211@test.ex, 212@test.ex, 213@test.ex, 214@test.ex,
+    215@test.ex, 216@test.ex, 217@test.ex, 218@test.ex, 219@test.ex,
+    220@test.ex, 221@test.ex, 222@test.ex, 223@test.ex, 224@test.ex,
+    225@test.ex, 226@test.ex, 227@test.ex, 228@test.ex, 229@test.ex,
+    230@test.ex, 231@test.ex, 232@test.ex, 233@test.ex, 234@test.ex,
+    235@test.ex, 236@test.ex, 237@test.ex, 238@test.ex, 239@test.ex,
+    240@test.ex, 241@test.ex, 242@test.ex, 243@test.ex, 244@test.ex,
+    245@test.ex, 246@test.ex, 247@test.ex, 248@test.ex, 249@test.ex,
+    250@test.ex, 251@test.ex, 252@test.ex, 253@test.ex, 254@test.ex,
+    255@test.ex, 256@test.ex, 257@test.ex, 258@test.ex, 259@test.ex,
+    260@test.ex, 261@test.ex, 262@test.ex, 263@test.ex, 264@test.ex,
+    265@test.ex, 266@test.ex, 267@test.ex, 268@test.ex, 269@test.ex,
+    270@test.ex, 271@test.ex, 272@test.ex, 273@test.ex, 274@test.ex,
+    275@test.ex, 276@test.ex, 277@test.ex, 278@test.ex, 279@test.ex,
+    280@test.ex, 281@test.ex, 282@test.ex, 283@test.ex, 284@test.ex,
+    285@test.ex, 286@test.ex, 287@test.ex, 288@test.ex, 289@test.ex,
+    290@test.ex, 291@test.ex, 292@test.ex, 293@test.ex, 294@test.ex,
+    295@test.ex, 296@test.ex, 297@test.ex, 298@test.ex, 299@test.ex,
+    300@test.ex, 301@test.ex, 302@test.ex, 303@test.ex, 304@test.ex,
+    305@test.ex, 306@test.ex, 307@test.ex, 308@test.ex, 309@test.ex,
+    310@test.ex, 311@test.ex, 312@test.ex, 313@test.ex, 314@test.ex,
+    315@test.ex, 316@test.ex, 317@test.ex, 318@test.ex, 319@test.ex,
+    320@test.ex, 321@test.ex, 322@test.ex, 323@test.ex, 324@test.ex,
+    325@test.ex, 326@test.ex, 327@test.ex, 328@test.ex, 329@test.ex,
+    330@test.ex, 331@test.ex, 332@test.ex, 333@test.ex, 334@test.ex,
+    335@test.ex, 336@test.ex, 337@test.ex, 338@test.ex, 339@test.ex,
+    340@test.ex, 341@test.ex, 342@test.ex, 343@test.ex, 344@test.ex,
+    345@test.ex, 346@test.ex, 347@test.ex, 348@test.ex, 349@test.ex,
+    350@test.ex, 351@test.ex, 352@test.ex, 353@test.ex, 354@test.ex,
+    355@test.ex, 356@test.ex, 357@test.ex, 358@test.ex, 359@test.ex,
+    360@test.ex, 361@test.ex, 362@test.ex, 363@test.ex, 364@test.ex,
+    365@test.ex, 366@test.ex, 367@test.ex, 368@test.ex, 369@test.ex,
+    370@test.ex, 371@test.ex, 372@test.ex, 373@test.ex, 374@test.ex,
+    375@test.ex, 376@test.ex, 377@test.ex, 378@test.ex, 379@test.ex,
+    380@test.ex, 381@test.ex, 382@test.ex, 383@test.ex, 384@test.ex,
+    385@test.ex, 386@test.ex, 387@test.ex, 388@test.ex, 389@test.ex,
+    390@test.ex, 391@test.ex, 392@test.ex, 393@test.ex, 394@test.ex,
+    395@test.ex, 396@test.ex, 397@test.ex, 398@test.ex, 399@test.ex,
+    400@test.ex, 401@test.ex, 402@test.ex, 403@test.ex, 404@test.ex,
+    405@test.ex, 406@test.ex, 407@test.ex, 408@test.ex, 409@test.ex,
+    410@test.ex, 411@test.ex, 412@test.ex, 413@test.ex, 414@test.ex,
+    415@test.ex, 416@test.ex, 417@test.ex, 418@test.ex, 419@test.ex,
+    420@test.ex, 421@test.ex, 422@test.ex, 423@test.ex, 424@test.ex,
+    425@test.ex, 426@test.ex, 427@test.ex, 428@test.ex, 429@test.ex,
+    430@test.ex, 431@test.ex, 432@test.ex, 433@test.ex, 434@test.ex,
+    435@test.ex, 436@test.ex, 437@test.ex, 438@test.ex, 439@test.ex,
+    440@test.ex, 441@test.ex, 442@test.ex, 443@test.ex, 444@test.ex,
+    445@test.ex, 446@test.ex, 447@test.ex, 448@test.ex, 449@test.ex,
+    450@test.ex, 451@test.ex, 452@test.ex, 453@test.ex, 454@test.ex,
+    455@test.ex, 456@test.ex, 457@test.ex, 458@test.ex, 459@test.ex,
+    460@test.ex, 461@test.ex, 462@test.ex, 463@test.ex, 464@test.ex,
+    465@test.ex, 466@test.ex, 467@test.ex, 468@test.ex, 469@test.ex,
+    470@test.ex, 471@test.ex, 472@test.ex, 473@test.ex, 474@test.ex,
+    475@test.ex, 476@test.ex, 477@test.ex, 478@test.ex, 479@test.ex,
+    480@test.ex, 481@test.ex, 482@test.ex, 483@test.ex, 484@test.ex,
+    485@test.ex, 486@test.ex, 487@test.ex, 488@test.ex, 489@test.ex,
+    490@test.ex, 491@test.ex, 492@test.ex, 493@test.ex, 494@test.ex,
+    495@test.ex, 496@test.ex, 497@test.ex, 498@test.ex, 499@test.ex,
+    500@test.ex, 501@test.ex, 502@test.ex, 503@test.ex, 504@test.ex,
+    505@test.ex, 506@test.ex, 507@test.ex, 508@test.ex, 509@test.ex,
+    510@test.ex, 511@test.ex, 512@test.ex, 513@test.ex, 514@test.ex,
+    515@test.ex, 516@test.ex, 517@test.ex, 518@test.ex, 519@test.ex,
+    520@test.ex, 521@test.ex, 522@test.ex, 523@test.ex, 524@test.ex,
+    525@test.ex, 526@test.ex, 527@test.ex, 528@test.ex, 529@test.ex,
+    530@test.ex, 531@test.ex, 532@test.ex, 533@test.ex, 534@test.ex,
+    535@test.ex, 536@test.ex, 537@test.ex, 538@test.ex, 539@test.ex,
+    540@test.ex, 541@test.ex, 542@test.ex, 543@test.ex, 544@test.ex,
+    545@test.ex, 546@test.ex, 547@test.ex, 548@test.ex, 549@test.ex,
+    550@test.ex, 551@test.ex, 552@test.ex, 553@test.ex, 554@test.ex,
+    555@test.ex, 556@test.ex, 557@test.ex, 558@test.ex, 559@test.ex,
+    560@test.ex, 561@test.ex, 562@test.ex, 563@test.ex, 564@test.ex,
+    565@test.ex, 566@test.ex, 567@test.ex, 568@test.ex, 569@test.ex,
+    570@test.ex, 571@test.ex, 572@test.ex, 573@test.ex, 574@test.ex,
+    575@test.ex, 576@test.ex, 577@test.ex, 578@test.ex, 579@test.ex,
+    580@test.ex, 581@test.ex, 582@test.ex, 583@test.ex, 584@test.ex,
+    585@test.ex, 586@test.ex, 587@test.ex, 588@test.ex, 589@test.ex,
+    590@test.ex, 591@test.ex, 592@test.ex, 593@test.ex, 594@test.ex,
+    595@test.ex, 596@test.ex, 597@test.ex, 598@test.ex, 599@test.ex,
+    600@test.ex, 601@test.ex, 602@test.ex, 603@test.ex, 604@test.ex,
+    605@test.ex, 606@test.ex, 607@test.ex, 608@test.ex, 609@test.ex,
+    610@test.ex, 611@test.ex, 612@test.ex, 613@test.ex, 614@test.ex,
+    615@test.ex, 616@test.ex, 617@test.ex, 618@test.ex, 619@test.ex,
+    620@test.ex, 621@test.ex, 622@test.ex, 623@test.ex, 624@test.ex,
+    625@test.ex, 626@test.ex, 627@test.ex, 628@test.ex, 629@test.ex,
+    630@test.ex, 631@test.ex, 632@test.ex, 633@test.ex, 634@test.ex,
+    635@test.ex, 636@test.ex, 637@test.ex, 638@test.ex, 639@test.ex,
+    640@test.ex, 641@test.ex, 642@test.ex, 643@test.ex, 644@test.ex,
+    645@test.ex, 646@test.ex, 647@test.ex, 648@test.ex, 649@test.ex,
+    650@test.ex, 651@test.ex, 652@test.ex, 653@test.ex, 654@test.ex,
+    655@test.ex, 656@test.ex, 657@test.ex, 658@test.ex, 659@test.ex,
+    660@test.ex, 661@test.ex, 662@test.ex, 663@test.ex, 664@test.ex,
+    665@test.ex, 666@test.ex, 667@test.ex, 668@test.ex, 669@test.ex,
+    670@test.ex, 671@test.ex, 672@test.ex, 673@test.ex, 674@test.ex,
+    675@test.ex, 676@test.ex, 677@test.ex, 678@test.ex, 679@test.ex,
+    680@test.ex, 681@test.ex, 682@test.ex, 683@test.ex, 684@test.ex,
+    685@test.ex, 686@test.ex, 687@test.ex, 688@test.ex, 689@test.ex,
+    690@test.ex, 691@test.ex, 692@test.ex, 693@test.ex, 694@test.ex,
+    695@test.ex, 696@test.ex, 697@test.ex, 698@test.ex, 699@test.ex,
+    700@test.ex, 701@test.ex, 702@test.ex, 703@test.ex, 704@test.ex,
+    705@test.ex, 706@test.ex, 707@test.ex, 708@test.ex, 709@test.ex,
+    710@test.ex, 711@test.ex, 712@test.ex, 713@test.ex, 714@test.ex,
+    715@test.ex, 716@test.ex, 717@test.ex, 718@test.ex, 719@test.ex,
+    720@test.ex, 721@test.ex, 722@test.ex, 723@test.ex, 724@test.ex,
+    725@test.ex, 726@test.ex, 727@test.ex, 728@test.ex, 729@test.ex,
+    730@test.ex, 731@test.ex, 732@test.ex, 733@test.ex, 734@test.ex,
+    735@test.ex, 736@test.ex, 737@test.ex, 738@test.ex, 739@test.ex,
+    740@test.ex, 741@test.ex, 742@test.ex, 743@test.ex, 744@test.ex,
+    745@test.ex, 746@test.ex, 747@test.ex, 748@test.ex, 749@test.ex,
+    750@test.ex, 751@test.ex, 752@test.ex, 753@test.ex, 754@test.ex,
+    755@test.ex, 756@test.ex, 757@test.ex, 758@test.ex, 759@test.ex,
+    760@test.ex, 761@test.ex, 762@test.ex, 763@test.ex, 764@test.ex,
+    765@test.ex, 766@test.ex, 767@test.ex, 768@test.ex, 769@test.ex,
+    770@test.ex, 771@test.ex, 772@test.ex, 773@test.ex, 774@test.ex,
+    775@test.ex, 776@test.ex, 777@test.ex, 778@test.ex, 779@test.ex,
+    780@test.ex, 781@test.ex, 782@test.ex, 783@test.ex, 784@test.ex,
+    785@test.ex, 786@test.ex, 787@test.ex, 788@test.ex, 789@test.ex,
+    790@test.ex, 791@test.ex, 792@test.ex, 793@test.ex, 794@test.ex,
+    795@test.ex, 796@test.ex, 797@test.ex, 798@test.ex, 799@test.ex,
+    800@test.ex, 801@test.ex, 802@test.ex, 803@test.ex, 804@test.ex,
+    805@test.ex, 806@test.ex, 807@test.ex, 808@test.ex, 809@test.ex,
+    810@test.ex, 811@test.ex, 812@test.ex, 813@test.ex, 814@test.ex,
+    815@test.ex, 816@test.ex, 817@test.ex, 818@test.ex, 819@test.ex,
+    820@test.ex, 821@test.ex, 822@test.ex, 823@test.ex, 824@test.ex,
+    825@test.ex, 826@test.ex, 827@test.ex, 828@test.ex, 829@test.ex,
+    830@test.ex, 831@test.ex, 832@test.ex, 833@test.ex, 834@test.ex,
+    835@test.ex, 836@test.ex, 837@test.ex, 838@test.ex, 839@test.ex,
+    840@test.ex, 841@test.ex, 842@test.ex, 843@test.ex, 844@test.ex,
+    845@test.ex, 846@test.ex, 847@test.ex, 848@test.ex, 849@test.ex,
+    850@test.ex, 851@test.ex, 852@test.ex, 853@test.ex, 854@test.ex,
+    855@test.ex, 856@test.ex, 857@test.ex, 858@test.ex, 859@test.ex,
+    860@test.ex, 861@test.ex, 862@test.ex, 863@test.ex, 864@test.ex,
+    865@test.ex, 866@test.ex, 867@test.ex, 868@test.ex, 869@test.ex,
+    870@test.ex, 871@test.ex, 872@test.ex, 873@test.ex, 874@test.ex,
+    875@test.ex, 876@test.ex, 877@test.ex, 878@test.ex, 879@test.ex,
+    880@test.ex, 881@test.ex, 882@test.ex, 883@test.ex, 884@test.ex,
+    885@test.ex, 886@test.ex, 887@test.ex, 888@test.ex, 889@test.ex,
+    890@test.ex, 891@test.ex, 892@test.ex, 893@test.ex, 894@test.ex,
+    895@test.ex, 896@test.ex, 897@test.ex, 898@test.ex, 899@test.ex,
+    900@test.ex, 901@test.ex, 902@test.ex, 903@test.ex, 904@test.ex,
+    905@test.ex, 906@test.ex, 907@test.ex, 908@test.ex, 909@test.ex,
+    910@test.ex, 911@test.ex, 912@test.ex, 913@test.ex, 914@test.ex,
+    915@test.ex, 916@test.ex, 917@test.ex, 918@test.ex, 919@test.ex,
+    920@test.ex, 921@test.ex, 922@test.ex, 923@test.ex, 924@test.ex,
+    925@test.ex, 926@test.ex, 927@test.ex, 928@test.ex, 929@test.ex,
+    930@test.ex, 931@test.ex, 932@test.ex, 933@test.ex, 934@test.ex,
+    935@test.ex, 936@test.ex, 937@test.ex, 938@test.ex, 939@test.ex,
+    940@test.ex, 941@test.ex, 942@test.ex, 943@test.ex, 944@test.ex,
+    945@test.ex, 946@test.ex, 947@test.ex, 948@test.ex, 949@test.ex,
+    950@test.ex, 951@test.ex, 952@test.ex, 953@test.ex, 954@test.ex,
+    955@test.ex, 956@test.ex, 957@test.ex, 958@test.ex, 959@test.ex,
+    960@test.ex, 961@test.ex, 962@test.ex, 963@test.ex, 964@test.ex,
+    965@test.ex, 966@test.ex, 967@test.ex, 968@test.ex, 969@test.ex,
+    970@test.ex, 971@test.ex, 972@test.ex, 973@test.ex, 974@test.ex,
+    975@test.ex, 976@test.ex, 977@test.ex, 978@test.ex, 979@test.ex,
+    980@test.ex, 981@test.ex, 982@test.ex, 983@test.ex, 984@test.ex,
+    985@test.ex, 986@test.ex, 987@test.ex, 988@test.ex, 989@test.ex,
+    990@test.ex, 991@test.ex, 992@test.ex, 993@test.ex, 994@test.ex,
+    995@test.ex, 996@test.ex, 997@test.ex, 998@test.ex, 999@test.ex
+
+Here is a very short message.
+.
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0126 b/test/scripts/0000-Basic/0126
new file mode 100644 (file)
index 0000000..3a2ca26
--- /dev/null
@@ -0,0 +1,3 @@
+# senders precondition in router
+2
+exim -bt userx@test.ex
diff --git a/test/scripts/0000-Basic/0127 b/test/scripts/0000-Basic/0127
new file mode 100644 (file)
index 0000000..430d425
--- /dev/null
@@ -0,0 +1,70 @@
+# Sender: header (untrusted caller with local_sender_retain)
+exim -odi userx@test.ex
+Sender: Sender in original <sender@original.ex>
+
+This is a test message.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+Sender: Sender in original <sender@original.ex>
+
+This is a test message.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+
+This is a test message.
+****
+exim -odi userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+
+This is a test message.
+****
+exim -bs -odi
+mail from:userx@cus.cam.ac.uk
+rcpt to:userx@test.ex
+data
+Sender: Sender in original <sender@original.ex>
+
+This is a test message.
+.
+quit
+****
+exim -odi userx@test.ex
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message.
+****
+exim -odi -f userx@outside.ex userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message.
+****
+exim -odi userx@test.ex
+From userx@elsewhere.ex Fri Jan  5 12:35 GMT 1996 
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message.
+****
+exim -bs -odi
+mail from:userx@cus.cam.ac.uk
+rcpt to:userx@test.ex
+data
+Sender: Sender in original <sender@original.ex>
+From: From person <from@some.where>
+
+This is a test message.
+.
+quit
+
diff --git a/test/scripts/0000-Basic/0128 b/test/scripts/0000-Basic/0128
new file mode 100644 (file)
index 0000000..bb6a686
--- /dev/null
@@ -0,0 +1,4 @@
+# autoreply with failing once file
+exim -odi userx@test.ex
+Subject: first message; non-printer >\r<
+****
diff --git a/test/scripts/0000-Basic/0129 b/test/scripts/0000-Basic/0129
new file mode 100644 (file)
index 0000000..96491ba
--- /dev/null
@@ -0,0 +1,4 @@
+# $domain_data
+2
+exim -v -bv xxx@test.ex xxx@one.test.ex
+****
diff --git a/test/scripts/0000-Basic/0130 b/test/scripts/0000-Basic/0130
new file mode 100644 (file)
index 0000000..11f0fb7
--- /dev/null
@@ -0,0 +1,13 @@
+# remote host IP address is the local host
+need_ipv4
+#
+exim -bh V4NET.0.0.0
+mail from:<userx@test.ex>
+rcpt to:<userx@not.test.ex>
+quit
+****
+exim -odi userx@not.test.ex
+.
+****
+1
+exim -bt userx@not.test.ex
diff --git a/test/scripts/0000-Basic/0131 b/test/scripts/0000-Basic/0131
new file mode 100644 (file)
index 0000000..1a1fad3
--- /dev/null
@@ -0,0 +1,4 @@
+# self = pass with unseen filter
+exim -odi userx@not.test.ex
+Test message
+.
diff --git a/test/scripts/0000-Basic/0132 b/test/scripts/0000-Basic/0132
new file mode 100644 (file)
index 0000000..6f81d5f
--- /dev/null
@@ -0,0 +1,5 @@
+# deliver to a FIFO (nothing listening)
+mkfifo -m 0600 DIR/test-fifo
+exim -odi userx@test.ex
+Test message
+.
diff --git a/test/scripts/0000-Basic/0133 b/test/scripts/0000-Basic/0133
new file mode 100644 (file)
index 0000000..da78486
--- /dev/null
@@ -0,0 +1,4 @@
+# qualify_preserve_domain
+exim -odi userx@a.test.ex, usery@b.test.ex
+Test message
+.
diff --git a/test/scripts/0000-Basic/0134 b/test/scripts/0000-Basic/0134
new file mode 100644 (file)
index 0000000..76c1f82
--- /dev/null
@@ -0,0 +1,33 @@
+# $domain_data and $local_part_data and caseful $local_part handling
+exim -odi unknown@test.ex
+Test message
+.
+****
+exim -odi userx@unknown.test.ex
+Test message
+.
+****
+exim -odi unknown@test.ex userx@test.ex 
+Test message
+.
+****
+exim -odi userx@unknown.domain
+Test message
+.
+****
+exim -odi userx@known.domain
+Test message
+.
+****
+exim -odi UNKNOWN@KNOWN.DOMAIN
+Test to uppercased local part UNKNOWN@KNOWN.DOMAIN
+.
+****
+exim -odi USERX@KNOWN.DOMAIN
+Test to uppercased local part USERX@KNOWN.DOMAIN
+.
+****
+exim -odi PIPE@PIPE.DOMAIN
+Test to uppercased piped address.
+.
+****
diff --git a/test/scripts/0000-Basic/0135 b/test/scripts/0000-Basic/0135
new file mode 100644 (file)
index 0000000..f8f661a
--- /dev/null
@@ -0,0 +1,26 @@
+# ultimate address timeout
+need_ipv4
+#
+exim -odq a@unknown.ex b@known.ex c@test.ex d@test.ex
+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@known.ex
+test 2
+.
+****
+sleep 3
+exim -odi -q
+****
+no_message_check
diff --git a/test/scripts/0000-Basic/0136 b/test/scripts/0000-Basic/0136
new file mode 100644 (file)
index 0000000..61afd6d
--- /dev/null
@@ -0,0 +1,21 @@
+# errors_to in user filters and bounce_return_body
+exim -odi -bs
+mail from:<abcd@x.y.z>
+rcpt to:<forwarder@test.ex>
+rcpt to:<forwarder2@test.ex>
+data
+Test message.
+.
+quit
+****
+exim -DBRB=false -odi -bs
+mail from:<abcd@x.y.z>
+rcpt to:<forwarder@test.ex>
+rcpt to:<forwarder2@test.ex>
+data
+Test message.
+Several lines.
+Several lines.
+.
+quit
+****
diff --git a/test/scripts/0000-Basic/0137 b/test/scripts/0000-Basic/0137
new file mode 100644 (file)
index 0000000..0335afe
--- /dev/null
@@ -0,0 +1,26 @@
+# 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
+****
diff --git a/test/scripts/0000-Basic/0138 b/test/scripts/0000-Basic/0138
new file mode 100644 (file)
index 0000000..66719f6
--- /dev/null
@@ -0,0 +1,21 @@
+# RBL /accept (default reject)
+exim -bh V4NET.11.12.14
+ehlo exim.test.ex
+mail from:postmaster@exim.test.ex
+rcpt to:<userx@exim.test.ex>
+rcpt to:list@exim.test.ex
+data
+test data
+.
+quit
+****
+exim -bh V4NET.11.12.13
+ehlo exim.test.ex
+mail from:<postmaster@exim.test.ex>
+rcpt to:<userx@exim.test.ex>
+data
+test message data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0139 b/test/scripts/0000-Basic/0139
new file mode 100644 (file)
index 0000000..6d613a7
--- /dev/null
@@ -0,0 +1,27 @@
+# RBL specific address
+exim -bh V4NET.11.12.14
+mail from:postmaster@exim.test.ex
+rcpt to:<userx@exim.test.ex>
+rcpt to:list@exim.test.ex
+data
+test data
+.
+quit
+****
+exim -bh V4NET.11.12.15
+mail from:<postmaster@exim.test.ex>
+rcpt to:<userx@exim.test.ex>
+data
+test message data
+.
+quit
+****
+exim -bh V4NET.11.12.20
+mail from:<postmaster@exim.test.ex>
+quit
+****
+exim -bh V4NET.11.12.21
+mail from:<postmaster@exim.test.ex>
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0140 b/test/scripts/0000-Basic/0140
new file mode 100644 (file)
index 0000000..74de75b
--- /dev/null
@@ -0,0 +1,7 @@
+# autoreply with non-printing characters
+exim -odi reply1@test.ex
+Subject: first message; non-printer >\b<
+****
+exim -odi reply2@test.ex
+Subject: first message; non-printer >\b<
+****
diff --git a/test/scripts/0000-Basic/0141 b/test/scripts/0000-Basic/0141
new file mode 100644 (file)
index 0000000..1c22139
--- /dev/null
@@ -0,0 +1,12 @@
+# -bv, -bt with trusted things
+2
+exim -bv -oMr prot1 xxx@test.ex
+****
+2
+exim -bt -oMr prot2 xxx@test.ex
+****
+2
+exim -bvs xxx@test.ex
+****
+exim -odi -oMr prot1 xxx@test.ex
+****
diff --git a/test/scripts/0000-Basic/0142 b/test/scripts/0000-Basic/0142
new file mode 100644 (file)
index 0000000..f43ae68
--- /dev/null
@@ -0,0 +1,5 @@
+# open file descriptor test
+exim -odi pipe filter
+Test message
+.
+****
diff --git a/test/scripts/0000-Basic/0143 b/test/scripts/0000-Basic/0143
new file mode 100644 (file)
index 0000000..41596d6
--- /dev/null
@@ -0,0 +1,23 @@
+# 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@domain.com
+.
+****
diff --git a/test/scripts/0000-Basic/0144 b/test/scripts/0000-Basic/0144
new file mode 100644 (file)
index 0000000..39701f1
--- /dev/null
@@ -0,0 +1,6 @@
+# DNS_AGAIN in manualroute
+need_ipv4
+#
+exim -odi x@remote.domain
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0145 b/test/scripts/0000-Basic/0145
new file mode 100644 (file)
index 0000000..44a37c3
--- /dev/null
@@ -0,0 +1,14 @@
+# MX pointing to IP address not allowed
+2
+exim -bt x@mxt10.test.ex
+****
+exim -bh V4NET.9.8.7
+mail from:<x@mxt10.test.ex>
+rcpt to:<x@y>
+quit
+****
+exim -bh V4NET.9.8.7
+mail from:<x@ten-1.test.ex>
+rcpt to:<x@mxt10.test.ex>
+quit
+****
diff --git a/test/scripts/0000-Basic/0146 b/test/scripts/0000-Basic/0146
new file mode 100644 (file)
index 0000000..1fb8c2d
--- /dev/null
@@ -0,0 +1,3 @@
+# MX pointing to IP address allowed
+exim -bt x@mxt10.test.ex
+****
diff --git a/test/scripts/0000-Basic/0147 b/test/scripts/0000-Basic/0147
new file mode 100644 (file)
index 0000000..aa3b8f6
--- /dev/null
@@ -0,0 +1,13 @@
+# 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@junk.junk
+****
+exim -brt x@junk.junk
+****
+exim -bP router R1
+****
+exim -bs
+****
diff --git a/test/scripts/0000-Basic/0148 b/test/scripts/0000-Basic/0148
new file mode 100644 (file)
index 0000000..2ac079d
--- /dev/null
@@ -0,0 +1,4 @@
+# Missing quote in option value
+1
+exim -bP log_file_path
+****
diff --git a/test/scripts/0000-Basic/0149 b/test/scripts/0000-Basic/0149
new file mode 100644 (file)
index 0000000..3b31116
--- /dev/null
@@ -0,0 +1,3 @@
+# List delimiters
+exim -d-all+route -bv x@ten y@two x@test1 x@test2 x@test3-4 x@one x@six
+****
diff --git a/test/scripts/0000-Basic/0150 b/test/scripts/0000-Basic/0150
new file mode 100644 (file)
index 0000000..0b3e6eb
--- /dev/null
@@ -0,0 +1,6 @@
+# control of Sender: (default, includes Sender:)
+exim -odi postmaster
+From: not.the.login@test.ex
+Test message
+.
+****
diff --git a/test/scripts/0000-Basic/0151 b/test/scripts/0000-Basic/0151
new file mode 100644 (file)
index 0000000..0b83c71
--- /dev/null
@@ -0,0 +1,6 @@
+# control of Sender: (no_local_sender_check)
+exim -odi postmaster
+From: not.the.login@test.ex
+Test message
+.
+****
diff --git a/test/scripts/0000-Basic/0152 b/test/scripts/0000-Basic/0152
new file mode 100644 (file)
index 0000000..e5915d1
--- /dev/null
@@ -0,0 +1,41 @@
+# control of Sender: (local_from_{suf,pre}fix)
+exim -odi postmaster
+From: not.the.login@test.ex
+Test message
+.
+****
+exim -odi postmaster
+From: page+CALLER@test.ex
+Test message
+.
+****
+exim -odi postmaster
+From: call+CALLER@test.ex
+Test message
+.
+****
+exim -odi postmaster
+From: call-CALLER@test.ex
+Test message
+.
+****
+exim -odi postmaster
+From: CALLER&page@test.ex
+Test message
+.
+****
+exim -odi postmaster
+From: CALLER&call@test.ex
+Test message
+.
+****
+exim -odi postmaster
+From: CALLER=call@test.ex
+Test message
+.
+****
+exim -odi postmaster
+From: page+CALLER=call@test.ex
+Test message
+.
+****
diff --git a/test/scripts/0000-Basic/0153 b/test/scripts/0000-Basic/0153
new file mode 100644 (file)
index 0000000..4415eb7
--- /dev/null
@@ -0,0 +1,7 @@
+# virtual domains and mailing list basic test of no_more
+2
+exim -bv abcd@test.ex yes@exists.virt.test.ex no@exists.virt.test.ex xx@notexists.virt.test.ex
+****
+2
+exim -bv yes@list.test.ex no@list.test.ex
+****
diff --git a/test/scripts/0000-Basic/0154 b/test/scripts/0000-Basic/0154
new file mode 100644 (file)
index 0000000..2a7e199
--- /dev/null
@@ -0,0 +1,35 @@
+# queue run in order - single spool
+exim -odq a@test.ex
+****
+millisleep 500
+exim -odq b@test.ex
+****
+millisleep 500
+exim -odq c@test.ex
+****
+millisleep 500
+exim -odq d@test.ex
+****
+millisleep 500
+exim -odq e@test.ex
+****
+millisleep 500
+exim -odq f@test.ex
+****
+millisleep 500
+exim -odq g@test.ex
+****
+millisleep 500
+exim -odq h@test.ex
+****
+millisleep 500
+exim -odq i@test.ex
+****
+millisleep 500
+exim -odq j@test.ex
+****
+exim -bp
+****
+exim -q
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0155 b/test/scripts/0000-Basic/0155
new file mode 100644 (file)
index 0000000..3cf45f8
--- /dev/null
@@ -0,0 +1,35 @@
+# queue run in order - split spool
+exim -odq a@test.ex
+****
+millisleep 500
+exim -odq b@test.ex
+****
+millisleep 500
+exim -odq c@test.ex
+****
+millisleep 500
+exim -odq d@test.ex
+****
+millisleep 500
+exim -odq e@test.ex
+****
+millisleep 500
+exim -odq f@test.ex
+****
+millisleep 500
+exim -odq g@test.ex
+****
+millisleep 500
+exim -odq h@test.ex
+****
+millisleep 500
+exim -odq i@test.ex
+****
+millisleep 500
+exim -odq j@test.ex
+****
+exim -bp
+****
+exim -q
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0156 b/test/scripts/0000-Basic/0156
new file mode 100644 (file)
index 0000000..4a51ff5
--- /dev/null
@@ -0,0 +1,10 @@
+# redirect router with forbids
+1
+exim -bt defer file include
+****
+exim -odi defer file include
+****
+2
+exim -bt unknown
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0157 b/test/scripts/0000-Basic/0157
new file mode 100644 (file)
index 0000000..03d3978
--- /dev/null
@@ -0,0 +1,25 @@
+# relay by sender and host
+exim -bh V4NET.0.0.1
+mail from:<x@y.z>
+rcpt to:<a@b.c>
+rset
+mail from:<userx@test.ex>
+rcpt to:<a@b.c>
+quit
+****
+exim -bh V4NET.0.0.2
+mail from:<x@y.z>
+rcpt to:<a@b.c>
+rset
+mail from:<userx@test.ex>
+rcpt to:<a@b.c>
+quit
+****
+exim -bh V4NET.0.0.3
+mail from:<x@y.z>
+rcpt to:<a@b.c>
+rset
+mail from:<userx@test.ex>
+rcpt to:<a@b.c>
+quit
+****
diff --git a/test/scripts/0000-Basic/0158 b/test/scripts/0000-Basic/0158
new file mode 100644 (file)
index 0000000..740bf4a
--- /dev/null
@@ -0,0 +1,11 @@
+# deliver_drop_privilege and setuid=EXIMUSER
+exim -odi CALLER
+Testing
+****
+exim -odi EXIMUSER
+Testing
+****
+exim_exim -odi EXIMUSER
+Testing setuid EXIMUSER
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0159 b/test/scripts/0000-Basic/0159
new file mode 100644 (file)
index 0000000..adadf2d
--- /dev/null
@@ -0,0 +1,81 @@
+# 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@test.ex>
+??? 250
+data
+??? 354
+To: userx@test.ex
+
+EHLO [HOSTIPV4]
+.
+??? 250
+ehlo [IPV4:HOSTIPV4]
+??? 250-
+??? 250-
+??? 250-
+??? 250
+mail from:<>
+??? 250
+rcpt to:<userx@test.ex>
+??? 250
+data
+??? 354
+To: userx@test.ex
+
+EHLO [IPV4:HOSTIPV4]
+.
+??? 250
+ehlo HOSTIPV4
+??? 250-
+??? 250-
+??? 250-
+??? 250
+mail from:<>
+??? 250
+rcpt to:<userx@test.ex>
+??? 250
+data
+??? 354
+To: userx@test.ex
+
+EHLO HOSTIPV4
+.
+??? 250
+ehlo [V4NET.1.2.3]
+??? 250-
+??? 250-
+??? 250-
+??? 250
+mail from:<>
+??? 250
+rcpt to:<userx@test.ex>
+??? 250
+data
+??? 354
+To: userx@test.ex
+
+EHLO [V4NET.1.2.3]
+.
+??? 250
+quit
+??? 221
+****
+killdaemon
+# Wait for delivery process
+millisleep 500
+exim -q
+****
diff --git a/test/scripts/0000-Basic/0160 b/test/scripts/0000-Basic/0160
new file mode 100644 (file)
index 0000000..0c699ce
--- /dev/null
@@ -0,0 +1,38 @@
+# queue_only is set in the configuration
+need_ipv4
+#
+exim userx@domain.com
+.
+****
+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
diff --git a/test/scripts/0000-Basic/0161 b/test/scripts/0000-Basic/0161
new file mode 100644 (file)
index 0000000..0d453ea
--- /dev/null
@@ -0,0 +1,18 @@
+# further "self" tests
+need_ipv4
+#
+exim -d-all+route -bt xx@mxt6.test.ex
+****
+exim -d-all+route -bt myhost.test.ex@mxt1.test.ex
+****
+exim -d-all+route -bt xx@mxt1.test.ex
+****
+2
+exim -d-all+route -bt xx@not.exist
+****
+2
+exim -d-all+route -bt ff@mxt1.test.ex
+****
+2
+exim -d-all+route -bt fff@mxt1.test.ex
+****
diff --git a/test/scripts/0000-Basic/0162 b/test/scripts/0000-Basic/0162
new file mode 100644 (file)
index 0000000..6b24b20
--- /dev/null
@@ -0,0 +1,354 @@
+# failing header with very long apparent address
+exim -odq -bs
+mail from:<u2@test.ex>
+rcpt to:<u3@test.ex>
+data
+To: <u5@compuserve.com>,
+  <u6@emory.org>,
+  <u7@hotmail.com>,
+  <u8@olympus.ics.uci.edu>,
+  <u9@diana.ics.uci.edu>,
+  <u10@ics.uci.edu>,
+  <u11@hera.ics.uci.edu>,
+  <u12@isdtcp3.hwc.ca>,
+  <u13@hotmail.com>,
+  <u14@harris.com>,
+  <u15@texaco.com>,
+  <u16@compuserve.com>,
+  <u17@compuserve.com>,
+  <u18@mines.edu>,
+  <u19@pmc-sierra.com>,
+  <u20@cc.umanitoba.ca>,
+  <u21@vt.edu>,
+  <u22@cesani.newforce.ca>,
+  <u23@hermes.cam.ac.uk>,
+  <u24@io.org>,
+  <u25@acsu.buffalo.edu>,
+  <u26@acsu.buffalo.edu>,
+  <u27@terraport.net>,
+  <u28@freenet.carleton.ca>,
+  <u29@tsluk.com>,
+  <u30@aol.com>,
+  <u31@bellsouth.net>,
+  <u32@mailexcite.com>,
+  <u33@gpu.srv.ualberta.ca>,
+  <u34@auvm.american.edu>,
+  <u35@maspar.com>,
+  <u36@vm.cc.famu.edu>,
+  <u37@sympatico.ca>,
+  <u38@gsalink.com>,
+  <u39@hp.com>,
+  <u40@eudoramail.com>,
+  <u41@aol.com>,
+  <u42@cadvision.com>,
+  <u43@switchboardmail.com>,
+  <u44@geocities.com>,
+  <u45@mailexcite.com>,
+  <u46@injapan.net>,
+  <u47@mailexcite.com>,
+  <u48@hotmail.com>,
+  <u49@hotmail.com>,
+  <u50@redshift.com>,
+  <u51@ix.netcom.com>,
+  <u52@ix.netcom.com>,
+  <u53@oe.fau.edu>,
+  <u54@worldnet.att.net>,
+  <u55@ix.netcom.com>,
+  <u56@capecod.net>,
+  <u57@nol.net>,
+  <u58@ux1.cso.uiuc.edu>,
+  <u59@hotmail.com>,
+  <u60@compuserve.com>,
+  <u61@aol.com>,
+  <u62@hotmail.com>,
+  <u63@hpb.hwc.ca>,
+  <u64@hotmail.com>,
+  <u65@hotmail.com>,
+  <u66@alcor.concordia.ca>,
+  <u67@compuserve.com>,
+  <u68@tstt.net.tt>,
+  <u69@luccpua.it.luc.edu>,
+  <u70@super.zippo.com>,
+  <u71@sirius.com>,
+  <u72@craft.clarkson.edu>,
+  <u73@hotmail.com>,
+  <u74@iprolink.co.nz>,
+  <u75@dircon.co.uk>,
+  <u76@stratis-caribbean.com>,
+  <u77@aol.com>,
+  <u78@hotmail.com>,
+  <u79@webtv.net>,
+  <u80@unbsj.ca>,
+  <u81@caribsurf.com>,
+  <u82@shaw.wave.ca>,
+  <u83@aol.com>,
+  <u84@prodigy.net>,
+  <u85@mailexcite.com>,
+  <u86@pegasus.cc.ucf.edu>,
+  <u87@aol.com>,
+  <u88@angelfire.com>,
+  <u89@tibco.com>,
+  <u90@mailexcite.com>,
+  <u91@angelfire.com>,
+  <u92@worldnet.att.net>,
+  <u93@pacebell.net>,
+  <u94@msn.com>,
+  <u95@voicenet.com>,
+  <u96@compuserve.com>,
+  <u97@gpu.srv.ualberta.ca>,
+  <u98@cam.ac.uk>,
+  <u99@syr.edu>,
+  <u100@hotmail.com>,
+  <u101@sjumusic.stjohns.edu>,
+  <u102@aol.com>,
+  <u103@compuserve.com>,
+  <u104@compuserve.com>,
+  <u105@compuserve.com>,
+  <u106@wpg.ramp.net>,
+  <u107@webtv.net>,
+  <u108@compuserve.com>,
+  <u109@aol.com>,
+  <u110@compuserve.com>,
+  <u111@hotmail.com>,
+  <u112@yahoo.co.uk>,
+  <u113@bigfoot.com>,
+  <u114@nl2k.ab.ca>,
+  <u115@caribsurf.com>,
+  <u116@guyana.net.gy>,
+  <u117@hotmail.com>,
+  <u118@hotmail.com>,
+  <u119@webstersite.com>,
+  <u120@nortel.ca>,
+  <u121@snet.net>,
+  <u122@mailcity.com>,
+  <u123@aol.com>,
+  <u124@ucla.edu>,
+  <u125@compuserve.com>,
+  <u126@mailexcite.com>,
+  <u127@vax2.concordia.ca>,
+  <u128@wpo.it.luc.edu>,
+  <u129@ori.org>,
+  <u130@hpwinh43.uksr.hp.com>,
+  <u131@umbc2.umbc.edu>,
+  <u132@mailexcite.com>,
+  <u133@compuserve.com>,
+  <u134@marge.cs.mcgill.ca>,
+  <u135@homemail.com>,
+  <u136@idirect.com>,
+  <u137@mailcity.com>,
+  <u138@myworldmail.com>,
+  <u139@compuserve.com>,
+  <u140@thedoghousemail.com>,
+  <u141@compuserve.com>,
+  <u142@prodigy.com>,
+  <u143@compuserve.com>,
+  <u144@compuserve.com>,
+  <u145@istar.ca>,
+  <u146@hotmail.com>,
+  <u147@isdtcp3.hwc.ca>,
+  <u148@isdtcp3.hwc.ca>,
+  <u149@isdtcp3.hwc.ca>,
+  <u150@hotmail.com>,
+  <u151@sjumusic.stjohns.edu>,
+  <u152@is2.nyu.edu>,
+  <u153@email.psu.edu>,
+  <u154@hotmail.com>,
+  <u155@inet.lasierra.edu>,
+  <u156@angelfire.com>,
+  <u157@mailexcite.com>,
+  <u158@sunbeach.net>,
+  <u159@hotmail.com>,
+  <u160@hotmail.com>,
+  <u161@rfhsm.ac.uk>,
+  <u162@worldnet.att.net>,
+  <u163@hotmail.com>,
+  <u164@hotmail.com>,
+  <u165@sunbeach.net>,
+  <u166@sunbeach.net>,
+  <u167@mailcity.com>,
+  <u168@mailexcite.com>,
+  <u169@angelfire.com>,
+  <u170@mailexcite.com>,
+  <u171@mailexcite.com>,
+  <u172@mailexcite.com>,
+  <u173@mailexcite.com>,
+  <u174@gurlmail.com>,
+  <u175@webtv.net>,
+  <u176@zelacom.com>,
+  <u177@hotmail.com>,
+  <u178@hotmail.com>,
+  <u179@hotmail.com>,
+  <u180@ic.ac.uk>,
+  <u181@hotmail.com>,
+  <u182@compuserve.com>,
+  <u183@hotmail.com>,
+  <u184@barnard.columbia.edu>,
+  <u185@hotmail.com>,
+  <u186@compuserve.com>,
+  <u187@hotmail.com>,
+  <u188@hotmail.com>,
+  <u189@bigfoot.com>,
+  <u190@yahoo.com>,
+  <u191@frontiernet.net>,
+  <u192@mailexcite.com>,
+  <u193@pilot.msu.edu>,
+  <u194@pilot.msu.edu>,
+  <u195@eudoramail.com>,
+  <u196@hotmail.com>,
+  <u197@angelfire.com>,
+  <u198@angelfire.com>,
+  <u199@acsu.buffalo.edu>,
+  <u200@mailexcite.com>,
+  <u201@caribsurf.com>,
+  <u202@hotmail.com>,
+  <u203@gsaix2.cc.gasou.edu>,
+  <u204@gsaix2.cc.gas>,
+  <u205@hotmail.com>,
+  <u206@ubvms.cc.buffalo.edu>,
+  <u207@hotmail.com>,
+  <u208@hotmail.com>,
+  <u209@hotmail.com>,
+  <u210@worldnet.att.net>,
+  <u211@hotmail.com>,
+  <u212@shrike.depaul.edu">,
+  <u213@shrike.depaul.edu>,
+  <u214@hotmail.com>,
+  <u215@hotmail.com>,
+  <u216@hotmail.com>,
+  <u217@hotmail.com>,
+  <u218@hotmail.com>,
+  <u219@angelfire.com>,
+  <u220@chickmail.com>,
+  <u221@excite.com>,
+  <u222@chickmail.com>,
+  <u223@eudoramail.com>,
+  <u224@alleyne.demon.co.uk>,
+  <u225@dial.pipex.com>,
+  <u226@hotmail.com>,
+  <u227@gpu.srv.ualberta.ca>,
+  <u228@ulst.ac.uk>,
+  <u229@worldnet.att.net>,
+  <u230@hotmail.com>,
+  <u231@careerbuildermail.com>,
+  <u232@MSN.COM>,
+  <u233@angelfire.com>,
+  <u234@hotmail.com>,
+  <u235@hotmail.com>,
+  <u236@compuserve.com>,
+  <u237@compuserve.com>,
+  <u238@hotmail.com>,
+  <u239@bellsouth.net>,
+  <u240@n64rocks.com>,
+  <u241@mailexcite.com>,
+  <u242@mailexcite.com>,
+  <u243@mailcity.com>,
+  <u244@bigfoot.com>,
+  <u245@sunbeach.net>,
+  <u246@mailcity.com>,
+  <u247@pacbell.net>,
+  <u248@hotmail.com>,
+  <u249@worldnet.att.net>,
+  <u250@bigfoot.com>,
+  <u251@mailexcite.com>,
+  <u252@netnoir.net>,
+  <u253@cablecomm1.pcs.mot.com>,
+  <u254@compuserve.com>,
+  <u255@hertscc.gov.uk>,
+  <u256@aol.com>,
+  <u257@bigfoot.com>,
+  <u258@hotmail.com>,
+  <u259@email.psu.edu>,
+  <u260@hotmail.com>,
+  <u261@hotmail.com>,
+  <u262@hotmail.com>,
+  <u263@compuserve.com>,
+  <u264@compuserve.com>,
+  <u265@compuserve.com>,
+  <u266@ucl.ac.uk>,
+  <u267@hotmail.com>,
+  <u268@hotmail.com>,
+  <u269@hotmail.com>,
+  <u270@worldnet.att.net>,
+  <u271@hotmail.com>,
+  <u272@hotmail.com>,
+  <u273@hotmail.com>,
+  <u274@hotmail.com>,
+  <u275@hotmail.com>,
+  <u276@hotmail.com>,
+  <u277@bris.ac.uk>,
+  <u278@cornell.edu>,
+  <u279@hotmail.com>,
+  <u280@luccpua.it.luc.edu>,
+  <u281@hotmail.com>,
+  <u282@hotmail.com>,
+  <u283@hotmail.com>,
+  <u284@bigfoot.com>,
+  <u285@online.no>,
+  <u286@mars.rowan.edu>,
+  <u287@gwis2.circ.gwu.edu>,
+  <u288@hotmail.com>,
+  <u289@hotmail.com>,
+  <u290@hotmail.com>,
+  <u291@hotmail.com>,
+  <u292@hotmail.com>,
+  <u293@hotmail.com>,
+  <u294@hotmail.com>,
+  <u295@hotmail.com>,
+  <u296@bradford.ac.uk>,
+  <u297@hotmail.com>,
+  <u298@bigfoot.com>,
+  <u299@tstt.net.tt>,
+  <u300@hotmail.com>,
+  <u301@hotmail.com>,
+  <u302@aol.com>,
+  <u303@worldnet.att.net>,
+  <u304@hotmail.com>,
+  <u305@hotmail.com>,
+  <u306@sjumusic.stjohns.edu>,
+  <u307@compuserve.com>,
+  <u308@bigfoot.com>,
+  <u309@netstarsolutions.co.uk>,
+  <u310@hotmail.com>,
+  <u311@aol.com>,
+  <u312@law.ucla.edu>,
+  <u313@hotmail.com>,
+  <u314@hotmail.com>,
+  <u315@aol.com>,
+  <u316@gmu.edu>,
+  <u317@compuserve.com>,
+  <u318@hotmail.com>,
+  <u319@hotmail.com>,
+  <u320@compuserve.com>,
+  <u321@sjumusic.stjohns.edu>,
+  <u322@hotmail.com>,
+  <u323@cornell.edu>,
+  <u324@bham.ac.uk>,
+  <u325@hotmail.com>,
+  <u326@cu.nih.gov>,
+  <u327@oswego.edu>,
+  <u328@hotmail.com>,
+  <u329@worldnet.att.net>,
+  <u330@cdvfs01.cdv.nyu.edu>,
+  <u331@worldnet.att.net>,
+  <u332@compuserve.com>,
+  <u333@hotmail.com>,
+  <u334@hotmail.com>,
+  <u335@stud.man.ac.uk>,
+  <u336@virginia.edu>,
+  <u337@columbia.edu>,
+  <u338@hotmail.com>,
+  <u339@hotmail.com>,
+  <u340@compuserve.com>,
+  <u341@compuserve.com>
+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
+****
diff --git a/test/scripts/0000-Basic/0163 b/test/scripts/0000-Basic/0163
new file mode 100644 (file)
index 0000000..c450083
--- /dev/null
@@ -0,0 +1,25 @@
+# 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@domain.com
+.
+****
+exim -q
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0164 b/test/scripts/0000-Basic/0164
new file mode 100644 (file)
index 0000000..1524f9b
--- /dev/null
@@ -0,0 +1,5 @@
+# system filter $recipients test (no shell)
+exim -odi pipe
+****
+exim -odi pipe another a-third
+****
diff --git a/test/scripts/0000-Basic/0165 b/test/scripts/0000-Basic/0165
new file mode 100644 (file)
index 0000000..09c1eac
--- /dev/null
@@ -0,0 +1,5 @@
+# system filter $recipients test (with shell)
+exim -odi pipe
+****
+exim -odi pipe another a-third
+****
diff --git a/test/scripts/0000-Basic/0166 b/test/scripts/0000-Basic/0166
new file mode 100644 (file)
index 0000000..effc4fe
--- /dev/null
@@ -0,0 +1,2 @@
+# multiple headers_add in routers
+exim -odi a
diff --git a/test/scripts/0000-Basic/0167 b/test/scripts/0000-Basic/0167
new file mode 100644 (file)
index 0000000..2ec274a
--- /dev/null
@@ -0,0 +1,11 @@
+# rewrite envelope sender or return path to null
+exim -odi userx
+****
+exim -odi -f remove userx
+****
+exim -odi -f trakill userx
+****
+exim -brw error@test.ex
+****
+exim -brw remove@test.ex
+****
diff --git a/test/scripts/0000-Basic/0168 b/test/scripts/0000-Basic/0168
new file mode 100644 (file)
index 0000000..16a2756
--- /dev/null
@@ -0,0 +1,4 @@
+# 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
diff --git a/test/scripts/0000-Basic/0169 b/test/scripts/0000-Basic/0169
new file mode 100644 (file)
index 0000000..38a49e7
--- /dev/null
@@ -0,0 +1,20 @@
+# 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
diff --git a/test/scripts/0000-Basic/0170 b/test/scripts/0000-Basic/0170
new file mode 100644 (file)
index 0000000..059cb6e
--- /dev/null
@@ -0,0 +1,5 @@
+# system filter to pipe without transport
+exim -odi userx
+This is a test message
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0171 b/test/scripts/0000-Basic/0171
new file mode 100644 (file)
index 0000000..b1a4d72
--- /dev/null
@@ -0,0 +1,3 @@
+# local user home directory
+exim -odi CALLER
+****
diff --git a/test/scripts/0000-Basic/0172 b/test/scripts/0000-Basic/0172
new file mode 100644 (file)
index 0000000..becfd5f
--- /dev/null
@@ -0,0 +1,4 @@
+# :unknown:
+2
+exim -bt unknown
+****
diff --git a/test/scripts/0000-Basic/0173 b/test/scripts/0000-Basic/0173
new file mode 100644 (file)
index 0000000..485bcd5
--- /dev/null
@@ -0,0 +1,7 @@
+# deliver time scan - pipe not using BSMTP
+exim -odi userx
+Test message
+****
+exim -odi userx usery userz
+Another test message
+****
diff --git a/test/scripts/0000-Basic/0174 b/test/scripts/0000-Basic/0174
new file mode 100644 (file)
index 0000000..8ee2d1a
--- /dev/null
@@ -0,0 +1,10 @@
+# deliver time scan - pipe using BSMTP
+exim -odi userx
+Test message
+****
+exim -odi userx usery userz
+Another test message
+****
+exim -odi userx userx@non-local.example
+Yet another test message
+****
diff --git a/test/scripts/0000-Basic/0175 b/test/scripts/0000-Basic/0175
new file mode 100644 (file)
index 0000000..ef40985
--- /dev/null
@@ -0,0 +1,25 @@
+# Forcing verify failures for specific senders
+need_ipv4
+#
+exim -bh V4NET.0.0.0
+mail from:<user@bad.domain>
+rcpt to:<userx@test.ex>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.0
+mail from:<user@bad.domain2>
+rcpt to:<userx@test.ex>
+data
+.
+quit
+****
+exim -bh V4NET.0.0.0
+mail from:<user@ten-1.test.ex>
+rcpt to:<userx@test.ex>
+data
+.
+quit
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0176 b/test/scripts/0000-Basic/0176
new file mode 100644 (file)
index 0000000..077f1d0
--- /dev/null
@@ -0,0 +1,15 @@
+# -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
+****
diff --git a/test/scripts/0000-Basic/0177 b/test/scripts/0000-Basic/0177
new file mode 100644 (file)
index 0000000..bfdf091
--- /dev/null
@@ -0,0 +1,51 @@
+# 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
+****
diff --git a/test/scripts/0000-Basic/0178 b/test/scripts/0000-Basic/0178
new file mode 100644 (file)
index 0000000..36f2762
--- /dev/null
@@ -0,0 +1,20 @@
+# 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 \b\b\b\b\b backspaces
+****
+exim -odi userx
+Subject: subject contains "quotes" and \backslashes\ and
+  \a non-prints over multiple
+  lines
+****    
+exim -odi userx
+Subject: =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= ABCD
+****
+no_message_check
diff --git a/test/scripts/0000-Basic/0179 b/test/scripts/0000-Basic/0179
new file mode 100644 (file)
index 0000000..58d869b
--- /dev/null
@@ -0,0 +1,35 @@
+# -qqf 
+need_ipv4
+#
+exim -odq userx@domain.com
+.
+****
+exim -odq abcd@domain.com
+.
+****
+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
+****
diff --git a/test/scripts/0000-Basic/0180 b/test/scripts/0000-Basic/0180
new file mode 100644 (file)
index 0000000..2dbfee7
--- /dev/null
@@ -0,0 +1,33 @@
+# SIZE and check_spool_space
+exim -odq -bs
+EHLO some.host
+MAIL FROM:<userx@test.ex> SIZE=1000000000
+RSET
+MAIL FROM:<userx@test.ex> SIZE=10
+RSET
+MAIL FROM:<userx@test.ex>
+RSET
+MAIL FROM:<userx@test.ex> 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@test.ex> SIZE=1000000000
+RSET
+MAIL FROM:<userx@test.ex> SIZE=10
+RSET
+MAIL FROM:<userx@test.ex>
+RSET
+MAIL FROM:<userx@test.ex> SIZE=5000000000
+RSET
+MAIL FROM:<userx@test.ex> SIZE=50000000000000000000000
+QUIT
+****
diff --git a/test/scripts/0000-Basic/0181 b/test/scripts/0000-Basic/0181
new file mode 100644 (file)
index 0000000..cf1cb05
--- /dev/null
@@ -0,0 +1,23 @@
+# message size check without SIZE
+exim -odq -bs
+EHLO some.host
+MAIL FROM:<userx@test.ex>
+RCPT TO:<userx@test.ex>
+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
diff --git a/test/scripts/0000-Basic/0182 b/test/scripts/0000-Basic/0182
new file mode 100644 (file)
index 0000000..126dc9d
--- /dev/null
@@ -0,0 +1,7 @@
+# headers added by system filter
+exim -odi userx@test.ex
+Test message.
+.
+****
+exim -qf
+****
diff --git a/test/scripts/0000-Basic/0183 b/test/scripts/0000-Basic/0183
new file mode 100644 (file)
index 0000000..7dd6ff5
--- /dev/null
@@ -0,0 +1,13 @@
+# caching failed DNS lookups
+1
+exim -d -bt userx@test.again.dns abcd@test.again.dns abcd@ten-1.test.ex usery@test.again.dns userz@test.again.dns xyz@ten-1.test.ex
+****
+1 
+exim -d -bt userx@test.fail.dns abcd@test.fail.dns abcd@ten-1.test.ex usery@test.fail.dns userz@test.fail.dns xyz@ten-1.test.ex
+****
+2 
+exim -d -bt userx@nonexist.test.ex abcd@nonexist.test.ex abcd@ten-1.test.ex usery@nonexist.test.ex userz@nonexist.test.ex xyz@ten-1.test.ex
+****
+1
+exim -d -bt srv@test.again.dns srv@test.fail.dns
+****
diff --git a/test/scripts/0000-Basic/0184 b/test/scripts/0000-Basic/0184
new file mode 100644 (file)
index 0000000..4110cb1
--- /dev/null
@@ -0,0 +1,208 @@
+# expand very long header in user filter
+exim -odi userx@test.ex
+From: userx@test.ex
+To: 000@test.ex, 001@test.ex, 002@test.ex, 003@test.ex, 004@test.ex,
+    005@test.ex, 006@test.ex, 007@test.ex, 008@test.ex, 009@test.ex,
+    010@test.ex, 011@test.ex, 012@test.ex, 013@test.ex, 014@test.ex,
+    015@test.ex, 016@test.ex, 017@test.ex, 018@test.ex, 019@test.ex,
+    020@test.ex, 021@test.ex, 022@test.ex, 023@test.ex, 024@test.ex,
+    025@test.ex, 026@test.ex, 027@test.ex, 028@test.ex, 029@test.ex,
+    030@test.ex, 031@test.ex, 032@test.ex, 033@test.ex, 034@test.ex,
+    035@test.ex, 036@test.ex, 037@test.ex, 038@test.ex, 039@test.ex,
+    040@test.ex, 041@test.ex, 042@test.ex, 043@test.ex, 044@test.ex,
+    045@test.ex, 046@test.ex, 047@test.ex, 048@test.ex, 049@test.ex,
+    050@test.ex, 051@test.ex, 052@test.ex, 053@test.ex, 054@test.ex,
+    055@test.ex, 056@test.ex, 057@test.ex, 058@test.ex, 059@test.ex,
+    060@test.ex, 061@test.ex, 062@test.ex, 063@test.ex, 064@test.ex,
+    065@test.ex, 066@test.ex, 067@test.ex, 068@test.ex, 069@test.ex,
+    070@test.ex, 071@test.ex, 072@test.ex, 073@test.ex, 074@test.ex,
+    075@test.ex, 076@test.ex, 077@test.ex, 078@test.ex, 079@test.ex,
+    080@test.ex, 081@test.ex, 082@test.ex, 083@test.ex, 084@test.ex,
+    085@test.ex, 086@test.ex, 087@test.ex, 088@test.ex, 089@test.ex,
+    090@test.ex, 091@test.ex, 092@test.ex, 093@test.ex, 094@test.ex,
+    095@test.ex, 096@test.ex, 097@test.ex, 098@test.ex, 099@test.ex,
+    100@test.ex, 101@test.ex, 102@test.ex, 103@test.ex, 104@test.ex,
+    105@test.ex, 106@test.ex, 107@test.ex, 108@test.ex, 109@test.ex,
+    110@test.ex, 111@test.ex, 112@test.ex, 113@test.ex, 114@test.ex,
+    115@test.ex, 116@test.ex, 117@test.ex, 118@test.ex, 119@test.ex,
+    120@test.ex, 121@test.ex, 122@test.ex, 123@test.ex, 124@test.ex,
+    125@test.ex, 126@test.ex, 127@test.ex, 128@test.ex, 129@test.ex,
+    130@test.ex, 131@test.ex, 132@test.ex, 133@test.ex, 134@test.ex,
+    135@test.ex, 136@test.ex, 137@test.ex, 138@test.ex, 139@test.ex,
+    140@test.ex, 141@test.ex, 142@test.ex, 143@test.ex, 144@test.ex,
+    145@test.ex, 146@test.ex, 147@test.ex, 148@test.ex, 149@test.ex,
+    150@test.ex, 151@test.ex, 152@test.ex, 153@test.ex, 154@test.ex,
+    155@test.ex, 156@test.ex, 157@test.ex, 158@test.ex, 159@test.ex,
+    160@test.ex, 161@test.ex, 162@test.ex, 163@test.ex, 164@test.ex,
+    165@test.ex, 166@test.ex, 167@test.ex, 168@test.ex, 169@test.ex,
+    170@test.ex, 171@test.ex, 172@test.ex, 173@test.ex, 174@test.ex,
+    175@test.ex, 176@test.ex, 177@test.ex, 178@test.ex, 179@test.ex,
+    180@test.ex, 181@test.ex, 182@test.ex, 183@test.ex, 184@test.ex,
+    185@test.ex, 186@test.ex, 187@test.ex, 188@test.ex, 189@test.ex,
+    190@test.ex, 191@test.ex, 192@test.ex, 193@test.ex, 194@test.ex,
+    195@test.ex, 196@test.ex, 197@test.ex, 198@test.ex, 199@test.ex,
+    200@test.ex, 201@test.ex, 202@test.ex, 203@test.ex, 204@test.ex,
+    205@test.ex, 206@test.ex, 207@test.ex, 208@test.ex, 209@test.ex,
+    210@test.ex, 211@test.ex, 212@test.ex, 213@test.ex, 214@test.ex,
+    215@test.ex, 216@test.ex, 217@test.ex, 218@test.ex, 219@test.ex,
+    220@test.ex, 221@test.ex, 222@test.ex, 223@test.ex, 224@test.ex,
+    225@test.ex, 226@test.ex, 227@test.ex, 228@test.ex, 229@test.ex,
+    230@test.ex, 231@test.ex, 232@test.ex, 233@test.ex, 234@test.ex,
+    235@test.ex, 236@test.ex, 237@test.ex, 238@test.ex, 239@test.ex,
+    240@test.ex, 241@test.ex, 242@test.ex, 243@test.ex, 244@test.ex,
+    245@test.ex, 246@test.ex, 247@test.ex, 248@test.ex, 249@test.ex,
+    250@test.ex, 251@test.ex, 252@test.ex, 253@test.ex, 254@test.ex,
+    255@test.ex, 256@test.ex, 257@test.ex, 258@test.ex, 259@test.ex,
+    260@test.ex, 261@test.ex, 262@test.ex, 263@test.ex, 264@test.ex,
+    265@test.ex, 266@test.ex, 267@test.ex, 268@test.ex, 269@test.ex,
+    270@test.ex, 271@test.ex, 272@test.ex, 273@test.ex, 274@test.ex,
+    275@test.ex, 276@test.ex, 277@test.ex, 278@test.ex, 279@test.ex,
+    280@test.ex, 281@test.ex, 282@test.ex, 283@test.ex, 284@test.ex,
+    285@test.ex, 286@test.ex, 287@test.ex, 288@test.ex, 289@test.ex,
+    290@test.ex, 291@test.ex, 292@test.ex, 293@test.ex, 294@test.ex,
+    295@test.ex, 296@test.ex, 297@test.ex, 298@test.ex, 299@test.ex,
+    300@test.ex, 301@test.ex, 302@test.ex, 303@test.ex, 304@test.ex,
+    305@test.ex, 306@test.ex, 307@test.ex, 308@test.ex, 309@test.ex,
+    310@test.ex, 311@test.ex, 312@test.ex, 313@test.ex, 314@test.ex,
+    315@test.ex, 316@test.ex, 317@test.ex, 318@test.ex, 319@test.ex,
+    320@test.ex, 321@test.ex, 322@test.ex, 323@test.ex, 324@test.ex,
+    325@test.ex, 326@test.ex, 327@test.ex, 328@test.ex, 329@test.ex,
+    330@test.ex, 331@test.ex, 332@test.ex, 333@test.ex, 334@test.ex,
+    335@test.ex, 336@test.ex, 337@test.ex, 338@test.ex, 339@test.ex,
+    340@test.ex, 341@test.ex, 342@test.ex, 343@test.ex, 344@test.ex,
+    345@test.ex, 346@test.ex, 347@test.ex, 348@test.ex, 349@test.ex,
+    350@test.ex, 351@test.ex, 352@test.ex, 353@test.ex, 354@test.ex,
+    355@test.ex, 356@test.ex, 357@test.ex, 358@test.ex, 359@test.ex,
+    360@test.ex, 361@test.ex, 362@test.ex, 363@test.ex, 364@test.ex,
+    365@test.ex, 366@test.ex, 367@test.ex, 368@test.ex, 369@test.ex,
+    370@test.ex, 371@test.ex, 372@test.ex, 373@test.ex, 374@test.ex,
+    375@test.ex, 376@test.ex, 377@test.ex, 378@test.ex, 379@test.ex,
+    380@test.ex, 381@test.ex, 382@test.ex, 383@test.ex, 384@test.ex,
+    385@test.ex, 386@test.ex, 387@test.ex, 388@test.ex, 389@test.ex,
+    390@test.ex, 391@test.ex, 392@test.ex, 393@test.ex, 394@test.ex,
+    395@test.ex, 396@test.ex, 397@test.ex, 398@test.ex, 399@test.ex,
+    400@test.ex, 401@test.ex, 402@test.ex, 403@test.ex, 404@test.ex,
+    405@test.ex, 406@test.ex, 407@test.ex, 408@test.ex, 409@test.ex,
+    410@test.ex, 411@test.ex, 412@test.ex, 413@test.ex, 414@test.ex,
+    415@test.ex, 416@test.ex, 417@test.ex, 418@test.ex, 419@test.ex,
+    420@test.ex, 421@test.ex, 422@test.ex, 423@test.ex, 424@test.ex,
+    425@test.ex, 426@test.ex, 427@test.ex, 428@test.ex, 429@test.ex,
+    430@test.ex, 431@test.ex, 432@test.ex, 433@test.ex, 434@test.ex,
+    435@test.ex, 436@test.ex, 437@test.ex, 438@test.ex, 439@test.ex,
+    440@test.ex, 441@test.ex, 442@test.ex, 443@test.ex, 444@test.ex,
+    445@test.ex, 446@test.ex, 447@test.ex, 448@test.ex, 449@test.ex,
+    450@test.ex, 451@test.ex, 452@test.ex, 453@test.ex, 454@test.ex,
+    455@test.ex, 456@test.ex, 457@test.ex, 458@test.ex, 459@test.ex,
+    460@test.ex, 461@test.ex, 462@test.ex, 463@test.ex, 464@test.ex,
+    465@test.ex, 466@test.ex, 467@test.ex, 468@test.ex, 469@test.ex,
+    470@test.ex, 471@test.ex, 472@test.ex, 473@test.ex, 474@test.ex,
+    475@test.ex, 476@test.ex, 477@test.ex, 478@test.ex, 479@test.ex,
+    480@test.ex, 481@test.ex, 482@test.ex, 483@test.ex, 484@test.ex,
+    485@test.ex, 486@test.ex, 487@test.ex, 488@test.ex, 489@test.ex,
+    490@test.ex, 491@test.ex, 492@test.ex, 493@test.ex, 494@test.ex,
+    495@test.ex, 496@test.ex, 497@test.ex, 498@test.ex, 499@test.ex,
+    500@test.ex, 501@test.ex, 502@test.ex, 503@test.ex, 504@test.ex,
+    505@test.ex, 506@test.ex, 507@test.ex, 508@test.ex, 509@test.ex,
+    510@test.ex, 511@test.ex, 512@test.ex, 513@test.ex, 514@test.ex,
+    515@test.ex, 516@test.ex, 517@test.ex, 518@test.ex, 519@test.ex,
+    520@test.ex, 521@test.ex, 522@test.ex, 523@test.ex, 524@test.ex,
+    525@test.ex, 526@test.ex, 527@test.ex, 528@test.ex, 529@test.ex,
+    530@test.ex, 531@test.ex, 532@test.ex, 533@test.ex, 534@test.ex,
+    535@test.ex, 536@test.ex, 537@test.ex, 538@test.ex, 539@test.ex,
+    540@test.ex, 541@test.ex, 542@test.ex, 543@test.ex, 544@test.ex,
+    545@test.ex, 546@test.ex, 547@test.ex, 548@test.ex, 549@test.ex,
+    550@test.ex, 551@test.ex, 552@test.ex, 553@test.ex, 554@test.ex,
+    555@test.ex, 556@test.ex, 557@test.ex, 558@test.ex, 559@test.ex,
+    560@test.ex, 561@test.ex, 562@test.ex, 563@test.ex, 564@test.ex,
+    565@test.ex, 566@test.ex, 567@test.ex, 568@test.ex, 569@test.ex,
+    570@test.ex, 571@test.ex, 572@test.ex, 573@test.ex, 574@test.ex,
+    575@test.ex, 576@test.ex, 577@test.ex, 578@test.ex, 579@test.ex,
+    580@test.ex, 581@test.ex, 582@test.ex, 583@test.ex, 584@test.ex,
+    585@test.ex, 586@test.ex, 587@test.ex, 588@test.ex, 589@test.ex,
+    590@test.ex, 591@test.ex, 592@test.ex, 593@test.ex, 594@test.ex,
+    595@test.ex, 596@test.ex, 597@test.ex, 598@test.ex, 599@test.ex,
+    600@test.ex, 601@test.ex, 602@test.ex, 603@test.ex, 604@test.ex,
+    605@test.ex, 606@test.ex, 607@test.ex, 608@test.ex, 609@test.ex,
+    610@test.ex, 611@test.ex, 612@test.ex, 613@test.ex, 614@test.ex,
+    615@test.ex, 616@test.ex, 617@test.ex, 618@test.ex, 619@test.ex,
+    620@test.ex, 621@test.ex, 622@test.ex, 623@test.ex, 624@test.ex,
+    625@test.ex, 626@test.ex, 627@test.ex, 628@test.ex, 629@test.ex,
+    630@test.ex, 631@test.ex, 632@test.ex, 633@test.ex, 634@test.ex,
+    635@test.ex, 636@test.ex, 637@test.ex, 638@test.ex, 639@test.ex,
+    640@test.ex, 641@test.ex, 642@test.ex, 643@test.ex, 644@test.ex,
+    645@test.ex, 646@test.ex, 647@test.ex, 648@test.ex, 649@test.ex,
+    650@test.ex, 651@test.ex, 652@test.ex, 653@test.ex, 654@test.ex,
+    655@test.ex, 656@test.ex, 657@test.ex, 658@test.ex, 659@test.ex,
+    660@test.ex, 661@test.ex, 662@test.ex, 663@test.ex, 664@test.ex,
+    665@test.ex, 666@test.ex, 667@test.ex, 668@test.ex, 669@test.ex,
+    670@test.ex, 671@test.ex, 672@test.ex, 673@test.ex, 674@test.ex,
+    675@test.ex, 676@test.ex, 677@test.ex, 678@test.ex, 679@test.ex,
+    680@test.ex, 681@test.ex, 682@test.ex, 683@test.ex, 684@test.ex,
+    685@test.ex, 686@test.ex, 687@test.ex, 688@test.ex, 689@test.ex,
+    690@test.ex, 691@test.ex, 692@test.ex, 693@test.ex, 694@test.ex,
+    695@test.ex, 696@test.ex, 697@test.ex, 698@test.ex, 699@test.ex,
+    700@test.ex, 701@test.ex, 702@test.ex, 703@test.ex, 704@test.ex,
+    705@test.ex, 706@test.ex, 707@test.ex, 708@test.ex, 709@test.ex,
+    710@test.ex, 711@test.ex, 712@test.ex, 713@test.ex, 714@test.ex,
+    715@test.ex, 716@test.ex, 717@test.ex, 718@test.ex, 719@test.ex,
+    720@test.ex, 721@test.ex, 722@test.ex, 723@test.ex, 724@test.ex,
+    725@test.ex, 726@test.ex, 727@test.ex, 728@test.ex, 729@test.ex,
+    730@test.ex, 731@test.ex, 732@test.ex, 733@test.ex, 734@test.ex,
+    735@test.ex, 736@test.ex, 737@test.ex, 738@test.ex, 739@test.ex,
+    740@test.ex, 741@test.ex, 742@test.ex, 743@test.ex, 744@test.ex,
+    745@test.ex, 746@test.ex, 747@test.ex, 748@test.ex, 749@test.ex,
+    750@test.ex, 751@test.ex, 752@test.ex, 753@test.ex, 754@test.ex,
+    755@test.ex, 756@test.ex, 757@test.ex, 758@test.ex, 759@test.ex,
+    760@test.ex, 761@test.ex, 762@test.ex, 763@test.ex, 764@test.ex,
+    765@test.ex, 766@test.ex, 767@test.ex, 768@test.ex, 769@test.ex,
+    770@test.ex, 771@test.ex, 772@test.ex, 773@test.ex, 774@test.ex,
+    775@test.ex, 776@test.ex, 777@test.ex, 778@test.ex, 779@test.ex,
+    780@test.ex, 781@test.ex, 782@test.ex, 783@test.ex, 784@test.ex,
+    785@test.ex, 786@test.ex, 787@test.ex, 788@test.ex, 789@test.ex,
+    790@test.ex, 791@test.ex, 792@test.ex, 793@test.ex, 794@test.ex,
+    795@test.ex, 796@test.ex, 797@test.ex, 798@test.ex, 799@test.ex,
+    800@test.ex, 801@test.ex, 802@test.ex, 803@test.ex, 804@test.ex,
+    805@test.ex, 806@test.ex, 807@test.ex, 808@test.ex, 809@test.ex,
+    810@test.ex, 811@test.ex, 812@test.ex, 813@test.ex, 814@test.ex,
+    815@test.ex, 816@test.ex, 817@test.ex, 818@test.ex, 819@test.ex,
+    820@test.ex, 821@test.ex, 822@test.ex, 823@test.ex, 824@test.ex,
+    825@test.ex, 826@test.ex, 827@test.ex, 828@test.ex, 829@test.ex,
+    830@test.ex, 831@test.ex, 832@test.ex, 833@test.ex, 834@test.ex,
+    835@test.ex, 836@test.ex, 837@test.ex, 838@test.ex, 839@test.ex,
+    840@test.ex, 841@test.ex, 842@test.ex, 843@test.ex, 844@test.ex,
+    845@test.ex, 846@test.ex, 847@test.ex, 848@test.ex, 849@test.ex,
+    850@test.ex, 851@test.ex, 852@test.ex, 853@test.ex, 854@test.ex,
+    855@test.ex, 856@test.ex, 857@test.ex, 858@test.ex, 859@test.ex,
+    860@test.ex, 861@test.ex, 862@test.ex, 863@test.ex, 864@test.ex,
+    865@test.ex, 866@test.ex, 867@test.ex, 868@test.ex, 869@test.ex,
+    870@test.ex, 871@test.ex, 872@test.ex, 873@test.ex, 874@test.ex,
+    875@test.ex, 876@test.ex, 877@test.ex, 878@test.ex, 879@test.ex,
+    880@test.ex, 881@test.ex, 882@test.ex, 883@test.ex, 884@test.ex,
+    885@test.ex, 886@test.ex, 887@test.ex, 888@test.ex, 889@test.ex,
+    890@test.ex, 891@test.ex, 892@test.ex, 893@test.ex, 894@test.ex,
+    895@test.ex, 896@test.ex, 897@test.ex, 898@test.ex, 899@test.ex,
+    900@test.ex, 901@test.ex, 902@test.ex, 903@test.ex, 904@test.ex,
+    905@test.ex, 906@test.ex, 907@test.ex, 908@test.ex, 909@test.ex,
+    910@test.ex, 911@test.ex, 912@test.ex, 913@test.ex, 914@test.ex,
+    915@test.ex, 916@test.ex, 917@test.ex, 918@test.ex, 919@test.ex,
+    920@test.ex, 921@test.ex, 922@test.ex, 923@test.ex, 924@test.ex,
+    925@test.ex, 926@test.ex, 927@test.ex, 928@test.ex, 929@test.ex,
+    930@test.ex, 931@test.ex, 932@test.ex, 933@test.ex, 934@test.ex,
+    935@test.ex, 936@test.ex, 937@test.ex, 938@test.ex, 939@test.ex,
+    940@test.ex, 941@test.ex, 942@test.ex, 943@test.ex, 944@test.ex,
+    945@test.ex, 946@test.ex, 947@test.ex, 948@test.ex, 949@test.ex,
+    950@test.ex, 951@test.ex, 952@test.ex, 953@test.ex, 954@test.ex,
+    955@test.ex, 956@test.ex, 957@test.ex, 958@test.ex, 959@test.ex,
+    960@test.ex, 961@test.ex, 962@test.ex, 963@test.ex, 964@test.ex,
+    965@test.ex, 966@test.ex, 967@test.ex, 968@test.ex, 969@test.ex,
+    970@test.ex, 971@test.ex, 972@test.ex, 973@test.ex, 974@test.ex,
+    975@test.ex, 976@test.ex, 977@test.ex, 978@test.ex, 979@test.ex,
+    980@test.ex, 981@test.ex, 982@test.ex, 983@test.ex, 984@test.ex,
+    985@test.ex, 986@test.ex, 987@test.ex, 988@test.ex, 989@test.ex,
+    990@test.ex, 991@test.ex, 992@test.ex, 993@test.ex, 994@test.ex,
+    995@test.ex, 996@test.ex, 997@test.ex, 998@test.ex, 999@test.ex
+
+Here is a very short message.
+.
+****
+no_msglog_check
diff --git a/test/scripts/0000-Basic/0185 b/test/scripts/0000-Basic/0185
new file mode 100644 (file)
index 0000000..