# CHUNKING transmission, short messages, no PIPELINING
#
# Basic short message
server PORT_S
220 Greetings
EHLO
250-Hello there
250 CHUNKING
MAIL FROM
250 OK
RCPT TO
250 OK
BDAT 345 LAST
*data 345
250 OK
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
server PORT_S
220 Greetings
EHLO
250-Hello there
250 CHUNKING
MAIL FROM
250 good mail cmd
RCPT TO
250 acceptable rcpt cmd
BDAT 345 LAST
*data 346
250 OK got that data
QUIT
225 OK quitting
****
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 CHUNKING
MAIL FROM
250 OK
RCPT TO
250 OK
BDAT 345 LAST
*data 344
250 OK
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 BDAT cmd
server PORT_S
220 Greetings
EHLO
250-Hello there
250 CHUNKING
MAIL FROM
250 OK
RCPT TO
250 OK
BDAT 345 LAST
*data 345
500 oops
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 BDAT cmd
server PORT_S
220 Greetings
EHLO
250-Hello there
250 CHUNKING
MAIL FROM
250 OK
RCPT TO
250 OK
BDAT 345 LAST
*data 345
400 not right now
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 RCPT.  Client should not proceed to BDAT.
server PORT_S
220 Greetings
EHLO
250-Hello there
250 CHUNKING
MAIL FROM
250 OK
RCPT TO
550 sorry, no
QUIT
****
sudo exim -odf -bS
EHLO test
MAIL FROM:<sender@source.dom>
RCPT TO:<ebad@test.ex>
DATA
Subject: foo

data
.
QUIT
****
#
#
no_msglog_check
