Pipeline QUIT after data
[users/heiko/exim.git] / test / scripts / 0000-Basic / 0904
1 # CHUNKING transmission, short messages
2 #
3 # Start with non-pipelined cases
4 #
5 # Basic short message
6 server PORT_S
7 220 Greetings
8 EHLO
9 250-Hello there
10 250 CHUNKING
11 MAIL FROM
12 250 OK
13 RCPT TO
14 250 OK
15 BDAT 329 LAST
16 *data 329
17 250 OK
18 QUIT
19 225 OK
20 *eof
21 ****
22 sudo exim -odf -bS
23 EHLO test
24 MAIL FROM:<sender@source.dom>
25 RCPT TO:<a@test.ex>
26 DATA
27 Subject: foo
28
29 data
30 .
31 QUIT
32 ****
33 #
34 # Error case: server wrongly expected more data, client gets timeout for data-ack
35 server PORT_S
36 220 Greetings
37 EHLO
38 250-Hello there
39 250 CHUNKING
40 MAIL FROM
41 250 good mail cmd
42 RCPT TO
43 250 acceptable rcpt cmd
44 BDAT 329 LAST
45 *data 330
46 250 OK got that data
47 QUIT
48 225 OK quitting
49 ****
50 sudo exim -odf -bS
51 EHLO test
52 MAIL FROM:<sender@source.dom>
53 RCPT TO:<b@test.ex>
54 DATA
55 Subject: foo
56
57 data
58 .
59 QUIT
60 ****
61 #
62 # Error case: server wrongly expected less data
63 # client get the data-ack, sends quit - but server
64 # sees a munged quit due to the outstanding data tail
65 server PORT_S
66 220 Greetings
67 EHLO
68 250-Hello there
69 250 CHUNKING
70 MAIL FROM
71 250 OK
72 RCPT TO
73 250 OK
74 BDAT 329 LAST
75 *data 328
76 250 OK
77 QUIT
78 225 OK
79 ****
80 sudo exim -odf -bS
81 EHLO test
82 MAIL FROM:<sender@source.dom>
83 RCPT TO:<c@test.ex>
84 DATA
85 Subject: foo
86
87 data
88 .
89 QUIT
90 ****
91 #
92 # server rejects BDAT cmd
93 server PORT_S
94 220 Greetings
95 EHLO
96 250-Hello there
97 250 CHUNKING
98 MAIL FROM
99 250 OK
100 RCPT TO
101 250 OK
102 BDAT 329 LAST
103 *data 329
104 500 oops
105 QUIT
106 225 OK
107 ****
108 sudo exim -odf -bS
109 EHLO test
110 MAIL FROM:<sender@source.dom>
111 RCPT TO:<d@test.ex>
112 DATA
113 Subject: foo
114
115 data
116 .
117 QUIT
118 ****
119 #
120 # server tmp-rejects BDAT cmd
121 server PORT_S
122 220 Greetings
123 EHLO
124 250-Hello there
125 250 CHUNKING
126 MAIL FROM
127 250 OK
128 RCPT TO
129 250 OK
130 BDAT 329 LAST
131 *data 329
132 400 not right now
133 QUIT
134 225 OK
135 ****
136 sudo exim -odf -bS
137 EHLO test
138 MAIL FROM:<sender@source.dom>
139 RCPT TO:<e@test.ex>
140 DATA
141 Subject: foo
142
143 data
144 .
145 QUIT
146 ****
147 #
148 #
149 # Server rejects RCPT.  Client should not proceed to BDAT.
150 server PORT_S
151 220 Greetings
152 EHLO
153 250-Hello there
154 250 CHUNKING
155 MAIL FROM
156 250 OK
157 RCPT TO
158 550 sorry, no
159 QUIT
160 ****
161 sudo exim -odf -bS
162 EHLO test
163 MAIL FROM:<sender@source.dom>
164 RCPT TO:<ebad@test.ex>
165 DATA
166 Subject: foo
167
168 data
169 .
170 QUIT
171 ****
172 #
173 #
174 ###################################################
175 #
176 # Pipelined cases
177 #
178 # Basic short message
179 server PORT_S
180 220 Greetings
181 EHLO
182 250-Hello there
183 250-PIPELINING
184 250 CHUNKING
185 MAIL FROM
186 RCPT TO
187 BDAT 329 LAST
188 *data 329
189 250 OK mail
190 250 OK rcpt
191 250 OK bdat
192 QUIT
193 225 OK
194 *eof
195 ****
196 sudo exim -odf -bS
197 EHLO test
198 MAIL FROM:<sender@source.dom>
199 RCPT TO:<p@test.ex>
200 DATA
201 Subject: foo
202
203 data
204 .
205 QUIT
206 ****
207 #
208 # Error case: server wrongly expected more data, client gets timeout for data-ack
209 # XXX This is a problem with data/quit pipelining.  The succeeding SMTP command cannot
210 # be distinguished from the data, by the errroneous server.
211 # Of course, we could avoid such pipelining on the client side, when BDAT is used.
212 # But - is this any worse than a server failing to spot the data-dot under DATA?
213 # I think not; both are culpable, and there is only so much the client can do.
214 #server PORT_S
215 #220 Greetings
216 #EHLO
217 #250-Hello there
218 #250-PIPELINING
219 #250 CHUNKING
220 #MAIL FROM
221 #RCPT TO
222 #BDAT 329 LAST
223 #*data 330
224 #250 good mail cmd
225 #****
226 #sudo exim -odf -bS
227 #EHLO test
228 #MAIL FROM:<sender@source.dom>
229 #RCPT TO:<q@test.ex>
230 #DATA
231 #Subject: foo
232 #
233 #data
234 #.
235 #QUIT
236 #****
237 #
238 # Error case: server wrongly expected less data
239 # client get the data-ack, sends quit - but server
240 # sees a munged quit due to the outstanding data tail
241 server PORT_S
242 220 Greetings
243 EHLO
244 250-Hello there
245 250-PIPELINING
246 250 CHUNKING
247 MAIL FROM
248 RCPT TO
249 BDAT 329 LAST
250 *data 328
251 250 OK mail
252 250 OK rcpt
253 250 OK bdat
254 QUIT
255 225 OK
256 ****
257 sudo exim -odf -bS
258 EHLO test
259 MAIL FROM:<sender@source.dom>
260 RCPT TO:<r@test.ex>
261 DATA
262 Subject: foo
263
264 data
265 .
266 QUIT
267 ****
268 #
269 # server rejects MAIL cmd
270 # transport coding does not handle the possible RSET-and-another transaction,
271 # but always QUITs
272 server PORT_S
273 220 Greetings
274 EHLO
275 250-Hello there
276 250-PIPELINING
277 250 CHUNKING
278 MAIL FROM
279 RCPT TO
280 BDAT 329 LAST
281 *data 329
282 550 unacceptable mail-from
283 550 rcpt ungood lacking mail-from
284 500 bdat ungood lacking mail-from
285 QUIT
286 225 OK
287 ****
288 sudo exim -odf -bS
289 EHLO test
290 MAIL FROM:<sender@source.dom>
291 RCPT TO:<s@test.ex>
292 DATA
293 Subject: foo
294
295 data
296 .
297 QUIT
298 ****
299 #
300 # server tmp-rejects MAIL cmd
301 server PORT_S
302 220 Greetings
303 EHLO
304 250-Hello there
305 250-PIPELINING
306 250 CHUNKING
307 MAIL FROM
308 RCPT TO
309 BDAT 330 LAST
310 *data 330
311 450 greylisted mail-from
312 550 rcpt ungood lacking mail-from
313 500 bdat ungood lacking mail-from
314 QUIT
315 225 OK
316 ****
317 sudo exim -odf -bS
318 EHLO test
319 MAIL FROM:<sender@source.dom>
320 RCPT TO:<s1@test.ex>
321 DATA
322 Subject: foo
323
324 data
325 .
326 QUIT
327 ****
328 #
329 # server rejects RCPT cmd
330 server PORT_S
331 220 Greetings
332 EHLO
333 250-Hello there
334 250-PIPELINING
335 250 CHUNKING
336 MAIL FROM
337 RCPT TO
338 BDAT 329 LAST
339 *data 329
340 250 OK mail
341 550 no such recipient
342 500 oops bdat
343 QUIT
344 225 OK
345 ****
346 sudo exim -odf -bS
347 EHLO test
348 MAIL FROM:<sender@source.dom>
349 RCPT TO:<t@test.ex>
350 DATA
351 Subject: foo
352
353 data
354 .
355 QUIT
356 ****
357 #
358 # server rejects BDAT cmd
359 server PORT_S
360 220 Greetings
361 EHLO
362 250-Hello there
363 250-PIPELINING
364 250 CHUNKING
365 MAIL FROM
366 RCPT TO
367 BDAT 329 LAST
368 *data 329
369 250 OK mail
370 250 OK rcpt
371 500 oops bdat
372 QUIT
373 225 OK
374 ****
375 sudo exim -odf -bS
376 EHLO test
377 MAIL FROM:<sender@source.dom>
378 RCPT TO:<u@test.ex>
379 DATA
380 Subject: foo
381
382 data
383 .
384 QUIT
385 ****
386 #
387 # server tmp-rejects BDAT cmd
388 server PORT_S
389 220 Greetings
390 EHLO
391 250-Hello there
392 250-PIPELINING
393 250 CHUNKING
394 MAIL FROM
395 RCPT TO
396 BDAT 329 LAST
397 *data 329
398 250 OK mail
399 250 OK rcpt
400 400 not right now bdat
401 QUIT
402 225 OK
403 ****
404 sudo exim -odf -bS
405 EHLO test
406 MAIL FROM:<sender@source.dom>
407 RCPT TO:<v@test.ex>
408 DATA
409 Subject: foo
410
411 data
412 .
413 QUIT
414 ****
415 #
416 #
417 no_msglog_check