Pipeline QUIT after data
[users/heiko/exim.git] / test / scripts / 0000-Basic / 0904
index 2157e61a87a061e31d39f2c4e9190eaf2dabe93e..9f09a84ef8e7144263e80de54a2ae47d8294d53e 100644 (file)
@@ -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:<sender@source.dom>
-RCPT TO:<p@test.ex>
+RCPT TO:<ebad@test.ex>
 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
@@ -190,13 +185,18 @@ EHLO
 MAIL FROM
 RCPT TO
 BDAT 329 LAST
-*data 330
-250 good mail cmd
+*data 329
+250 OK mail
+250 OK rcpt
+250 OK bdat
+QUIT
+225 OK
+*eof
 ****
 sudo exim -odf -bS
 EHLO test
 MAIL FROM:<sender@source.dom>
-RCPT TO:<q@test.ex>
+RCPT TO:<p@test.ex>
 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 329 LAST
+#*data 330
+#250 good mail cmd
+#****
+#sudo exim -odf -bS
+#EHLO test
+#MAIL FROM:<sender@source.dom>
+#RCPT TO:<q@test.ex>
+#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