Testsuite: support "anything but" returncode script lines
[exim.git] / test / scripts / 0000-Basic / 0904
index 2157e61a87a061e31d39f2c4e9190eaf2dabe93e..b505836d3bd4c9166a261763b6fce6838ef4f963 100644 (file)
@@ -12,8 +12,8 @@ MAIL FROM
 250 OK
 RCPT TO
 250 OK
-BDAT 329 LAST
-*data 329
+BDAT 345 LAST
+*data 345
 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 345 LAST
+*data 346
 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 345 LAST
+*data 344
 250 OK
 QUIT
 225 OK
@@ -99,8 +99,8 @@ MAIL FROM
 250 OK
 RCPT TO
 250 OK
-BDAT 329 LAST
-*data 329
+BDAT 345 LAST
+*data 345
 500 oops
 QUIT
 225 OK
@@ -127,8 +127,8 @@ MAIL FROM
 250 OK
 RCPT TO
 250 OK
-BDAT 329 LAST
-*data 329
+BDAT 345 LAST
+*data 345
 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:<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
@@ -189,14 +184,19 @@ EHLO
 250 CHUNKING
 MAIL FROM
 RCPT TO
-BDAT 329 LAST
-*data 330
-250 good mail cmd
+BDAT 345 LAST
+*data 345
+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 345 LAST
+#*data 346
+#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
@@ -216,8 +246,8 @@ EHLO
 250 CHUNKING
 MAIL FROM
 RCPT TO
-BDAT 329 LAST
-*data 328
+BDAT 345 LAST
+*data 344
 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 345 LAST
+*data 345
 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 346 LAST
+*data 346
 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 345 LAST
+*data 345
 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 345 LAST
+*data 345
 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 345 LAST
+*data 345
 250 OK mail
 250 OK rcpt
 400 not right now bdat