X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/d5c0d8c9374623620844d539d4810da63e9abca1..7bdf04110b214bd964cd1b99894c42d089f40851:/test/scripts/0000-Basic/0904 diff --git a/test/scripts/0000-Basic/0904 b/test/scripts/0000-Basic/0904 index 2157e61a8..270a1167c 100644 --- a/test/scripts/0000-Basic/0904 +++ b/test/scripts/0000-Basic/0904 @@ -12,8 +12,8 @@ MAIL FROM 250 OK RCPT TO 250 OK -BDAT 329 LAST -*data 329 +BDAT 331 LAST +*data 331 250 OK QUIT 225 OK @@ -41,8 +41,8 @@ MAIL FROM 250 good mail cmd RCPT TO 250 acceptable rcpt cmd -BDAT 329 LAST -*data 330 +BDAT 331 LAST +*data 332 250 OK got that data QUIT 225 OK quitting @@ -71,8 +71,8 @@ MAIL FROM 250 OK RCPT TO 250 OK -BDAT 329 LAST -*data 328 +BDAT 331 LAST +*data 330 250 OK QUIT 225 OK @@ -99,8 +99,8 @@ MAIL FROM 250 OK RCPT TO 250 OK -BDAT 329 LAST -*data 329 +BDAT 331 LAST +*data 331 500 oops QUIT 225 OK @@ -127,8 +127,8 @@ MAIL FROM 250 OK RCPT TO 250 OK -BDAT 329 LAST -*data 329 +BDAT 331 LAST +*data 331 400 not right now QUIT 225 OK @@ -146,32 +146,22 @@ QUIT **** # # -################################################### -# -# Pipelined cases -# -# Basic short message +# Server rejects RCPT. Client should not proceed to BDAT. server PORT_S 220 Greetings EHLO 250-Hello there -250-PIPELINING 250 CHUNKING MAIL FROM +250 OK RCPT TO -BDAT 329 LAST -*data 329 -250 OK mail -250 OK rcpt -250 OK bdat +550 sorry, no QUIT -225 OK -*eof **** sudo exim -odf -bS EHLO test MAIL FROM: -RCPT TO: +RCPT TO: DATA Subject: foo @@ -180,7 +170,12 @@ data QUIT **** # -# Error case: server wrongly expected more data, client gets timeout for data-ack +# +################################################### +# +# Pipelined cases +# +# Basic short message server PORT_S 220 Greetings EHLO @@ -189,14 +184,19 @@ EHLO 250 CHUNKING MAIL FROM RCPT TO -BDAT 329 LAST -*data 330 -250 good mail cmd +BDAT 331 LAST +*data 331 +250 OK mail +250 OK rcpt +250 OK bdat +QUIT +225 OK +*eof **** sudo exim -odf -bS EHLO test MAIL FROM: -RCPT TO: +RCPT TO: DATA Subject: foo @@ -205,6 +205,36 @@ data QUIT **** # +# Error case: server wrongly expected more data, client gets timeout for data-ack +# XXX This is a problem with data/quit pipelining. The succeeding SMTP command cannot +# be distinguished from the data, by the errroneous server. +# Of course, we could avoid such pipelining on the client side, when BDAT is used. +# But - is this any worse than a server failing to spot the data-dot under DATA? +# I think not; both are culpable, and there is only so much the client can do. +#server PORT_S +#220 Greetings +#EHLO +#250-Hello there +#250-PIPELINING +#250 CHUNKING +#MAIL FROM +#RCPT TO +#BDAT 331 LAST +#*data 332 +#250 good mail cmd +#**** +#sudo exim -odf -bS +#EHLO test +#MAIL FROM: +#RCPT TO: +#DATA +#Subject: foo +# +#data +#. +#QUIT +#**** +# # Error case: server wrongly expected less data # client get the data-ack, sends quit - but server # sees a munged quit due to the outstanding data tail @@ -216,8 +246,8 @@ EHLO 250 CHUNKING MAIL FROM RCPT TO -BDAT 329 LAST -*data 328 +BDAT 331 LAST +*data 330 250 OK mail 250 OK rcpt 250 OK bdat @@ -247,8 +277,8 @@ EHLO 250 CHUNKING MAIL FROM RCPT TO -BDAT 329 LAST -*data 329 +BDAT 331 LAST +*data 331 550 unacceptable mail-from 550 rcpt ungood lacking mail-from 500 bdat ungood lacking mail-from @@ -276,8 +306,8 @@ EHLO 250 CHUNKING MAIL FROM RCPT TO -BDAT 330 LAST -*data 330 +BDAT 332 LAST +*data 332 450 greylisted mail-from 550 rcpt ungood lacking mail-from 500 bdat ungood lacking mail-from @@ -305,8 +335,8 @@ EHLO 250 CHUNKING MAIL FROM RCPT TO -BDAT 329 LAST -*data 329 +BDAT 331 LAST +*data 331 250 OK mail 550 no such recipient 500 oops bdat @@ -334,8 +364,8 @@ EHLO 250 CHUNKING MAIL FROM RCPT TO -BDAT 329 LAST -*data 329 +BDAT 331 LAST +*data 331 250 OK mail 250 OK rcpt 500 oops bdat @@ -363,8 +393,8 @@ EHLO 250 CHUNKING MAIL FROM RCPT TO -BDAT 329 LAST -*data 329 +BDAT 331 LAST +*data 331 250 OK mail 250 OK rcpt 400 not right now bdat