# CHUNKING transmission, short messages, PIPELINING
#
# Pipelined cases
#
# Basic short message
server PORT_S
220 Greetings
EHLO
250-Hello there
250-PIPELINING
250 CHUNKING
MAIL FROM
RCPT TO
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:<a@test.ex>
DATA
Subject: foo

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:<b@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
server PORT_S
220 Greetings
EHLO
250-Hello there
250-PIPELINING
250 CHUNKING
MAIL FROM
RCPT TO
BDAT 345 LAST
*data 344
250 OK mail
250 OK rcpt
250 OK bdat
QUIT
225 OK
****
sudo exim -odf -bS
EHLO test
MAIL FROM:<sender@source.dom>
RCPT TO:<c@test.ex>
DATA
Subject: foo

data
.
QUIT
****
#
# server rejects MAIL cmd
# transport coding does not handle the possible RSET-and-another transaction,
# but always QUITs
server PORT_S
220 Greetings
EHLO
250-Hello there
250-PIPELINING
250 CHUNKING
MAIL FROM
RCPT TO
BDAT 345 LAST
*data 345
550 unacceptable mail-from
550 rcpt ungood lacking mail-from
500 bdat ungood lacking mail-from
QUIT
225 OK
****
sudo exim -odf -bS
EHLO test
MAIL FROM:<sender@source.dom>
RCPT TO:<d@test.ex>
DATA
Subject: foo

data
.
QUIT
****
#
# server tmp-rejects MAIL cmd
server PORT_S
220 Greetings
EHLO
250-Hello there
250-PIPELINING
250 CHUNKING
MAIL FROM
RCPT TO
BDAT 346 LAST
*data 346
450 greylisted mail-from
550 rcpt ungood lacking mail-from
500 bdat ungood lacking mail-from
QUIT
225 OK
****
sudo exim -odf -bS
EHLO test
MAIL FROM:<sender@source.dom>
RCPT TO:<c1@test.ex>
DATA
Subject: foo

data
.
QUIT
****
#
# server rejects RCPT cmd
server PORT_S
220 Greetings
EHLO
250-Hello there
250-PIPELINING
250 CHUNKING
MAIL FROM
RCPT TO
BDAT 345 LAST
*data 345
250 OK mail
550 no such recipient
500 oops bdat
QUIT
225 OK
****
sudo exim -odf -bS
EHLO test
MAIL FROM:<sender@source.dom>
RCPT TO:<e@test.ex>
DATA
Subject: foo

data
.
QUIT
****
#
#
# server rejects BDAT cmd
server PORT_S
220 Greetings
EHLO
250-Hello there
250-PIPELINING
250 CHUNKING
MAIL FROM
RCPT TO
BDAT 345 LAST
*data 345
250 OK mail
250 OK rcpt
500 oops bdat
QUIT
225 OK
****
sudo exim -odf -bS
EHLO test
MAIL FROM:<sender@source.dom>
RCPT TO:<g@test.ex>
DATA
Subject: foo

data
.
QUIT
****
#
# server tmp-rejects BDAT cmd
server PORT_S
220 Greetings
EHLO
250-Hello there
250-PIPELINING
250 CHUNKING
MAIL FROM
RCPT TO
BDAT 345 LAST
*data 345
250 OK mail
250 OK rcpt
400 not right now bdat
QUIT
225 OK
****
sudo exim -odf -bS
EHLO test
MAIL FROM:<sender@source.dom>
RCPT TO:<h@test.ex>
DATA
Subject: foo

data
.
QUIT
****
#
#
no_msglog_check
