# PIPELINING (client: errors, etc)
munge peer_terminated_conn
need_ipv4
#
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
451 Temp error
RCPT TO
550 Perm error
RCPT TO
250 OK
DATA
351 Send more
.
250 OK
****
exim -odi a b c d
.
****
# Response timeout
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
*sleep 2
****
exim -odi e f g
.
****
# Temp error on MAIL
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
451 Temp error
RCPT TO
503 No sender given
RCPT TO
503 No sender given
DATA
503 No envelope
QUIT
250 OK
****
exim -odi h i
.
****
# Perm error on MAIL
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
550 Perm error
RCPT TO
503 No sender given
RCPT TO
503 No sender given
DATA
503 No envelope
QUIT
250 OK
****
exim -odi j k
.
****
# All get temp errors
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
451 Temp error 1
RCPT TO
451 Temp error 2
DATA
503 No recipients
QUIT
250 OK
****
exim -odi l m
.
****
# All get perm errors
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
551 Perm error 1
RCPT TO
551 Perm error 2
DATA
503 No recipients
QUIT
250 OK
****
exim -odi n o
.
****
# Mixed temp and perm
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
451 Temp error 1
RCPT TO
551 Perm error 2
DATA
503 No recipients
QUIT
250 OK
****
exim -odi p q
.
****
# Perm error on DATA after good recipients
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
DATA
503 Sorry perm data error
QUIT
250 OK
****
exim -odi r s
.
****
# Temp error on DATA after good recipients
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
DATA
403 Sorry temp data error
QUIT
250 OK
****
exim -odi t u
.
****
# Temp error on DATA after good recipients, but in first block of a
# multi-block interaction
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
RCPT TO
550 NO
DATA
403 Sorry temp data error
QUIT
250 OK
****
exim -v -odi yes n00 n01 n02 n03 n04 n05 n06 n07 n08 n09 n10 n11 n12 n13 n14 n15 n16 n17 n18 n19 n20 n21 n22 n23 n24 n25 n26 n27 n28 n29 n30 n31 n32 n33 n34 n35 n36 n37 n38 n39 n40 n41 n42 n43 n44 n45 n46 n47 n48 n49 n50 n51 n52 n53 n54 n55 n56 n57 n58 n59 n60 n61 n62 n63 n64 n65 n66 n67 n68 n69 n70 n71 n72 n73 n74 n75 n76 n77 n78 n79 n80 n81 n82 n83 n84 n85 n86 n87 n88 n89 n90 n91 n92 n93 n94 n95 n96 n97 n98 n99 n100 n101 n102 n103 n104 n105 n106 n107 n108 n109 n110 n111 n112 n113 n114 n115 n116 n117 n118 n119 n120 n121 n122 n123 n124 n125 n126 n127 n128 n129 n130 n131 n132 n133 n134 n135 n136 n137 n138 n139 n140 n141 n142 n143 n144 n145 n146 n147 n148 n149 n150 n151 n152 n153 n154 n155 n156 n157 n158 n159 n160 n161 n162 n163 n164 n165 n166 n167 n168 n169 n170 n171 n172 n173 n174 n175 n176 n177 n178 n179 n180 n181 n182 n183 n184 n185 n186 n187 n188 n189 n190 n191 n192 n193 n194 n195 n196 n197 n198 n199
.
****
# Server drops connection after some responses
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
550 NO
****
exim -odi a b c d e 
.
****
# Discard retry data
sudo rm DIR/spool/db/*
#
# Test hosts_avoid_pipelining
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
DATA
351 Send more
.
250 OK
****
exim -v -odi -DHAP=hosts_avoid_pipelining=127.0.0.1 w x y z
****
# Server says 452 excess-rcpts temp error after first 50
# Exim client checks after 100
sudo rm -fr DIR/spool/input
server PORT_S
220 Server ready
EHLO
250-OK
250 PIPELINING
MAIL FROM
250 OK
RCPT TO
250 OK 0
RCPT TO
250 OK 1
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK 49
RCPT TO
452 excess 50
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess
RCPT TO
452 excess 99
RCPT TO
452 excess 100
DATA
354 go
.
250 msg accepted
MAIL FROM
250 good mail
RCPT TO
250 OK 50
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO
250 OK
RCPT TO:<n99
250 OK 99-2
RCPT TO
452 excess 100
DATA
354 go
.
250 mesg 2 accepted
MAIL FROM
250 good mail
RCPT TO
250 OK 100
DATA
354 go
.
250 mesg 3 accepted
QUIT
250 OK
****
exim -odi y00 y01 y02 y03 y04 y05 y06 y07 y08 y09 y10 y11 y12 y13 y14 y15 y16 y17 y18 y19 y20 y21 y22 y23 y24 y25 y26 y27 y28 y29 y30 y31 y32 y33 y34 y35 y36 y37 y38 y39 y40 y41 y42 y43 y44 y45 y46 y47 y48 y49 n50 n51 n52 n53 n54 n55 n56 n57 n58 n59 n60 n61 n62 n63 n64 n65 n66 n67 n68 n69 n70 n71 n72 n73 n74 n75 n76 n77 n78 n79 n80 n81 n82 n83 n84 n85 n86 n87 n88 n89 n90 n91 n92 n93 n94 n95 n96 n97 n98 n99 n100
.
****
no_msglog_check
