Routing: for efficiency, avoid complexifying the "condition" string until the second...
[users/jgh/exim.git] / test / scripts / 0000-Basic / 0300
1 # SMTP synchronization checks, with and without PIPELINING
2 need_ipv4
3 munge sync_check_data
4 #
5 exim -DSERVER=server -bd -oX PORT_D
6 ****
7 client 127.0.0.1 PORT_D
8 ??? 220
9 ehlo abcd\r\nmail from:<userx@test.ex>
10 ??? 554
11 ****
12 # The pause (+++ 1) in the middle of this is to be sure the first message is
13 # delivered before generating the sync error; without it, there's a race.
14 client 127.0.0.1 PORT_D
15 ??? 220
16 ehlo abcd
17 ??? 250-
18 ??? 250-
19 ??? 250-
20 ??? 250-
21 ??? 250
22 rset\r\nmail from:<userx@test.ex>\r\nrcpt to:<userx@test.ex>\r\ndata
23 ??? 250
24 ??? 250
25 ??? 250
26 ??? 354
27 the message
28 .\r\nmail from:<userx@test.ex>
29 +++ 1
30 rcpt to:<userx@test.ex>\r\ndata\r\nthe message\r\nsecond line
31 ??? 250
32 ??? 250
33 ??? 250
34 ??? 554
35 ****
36 sleep 1
37 # This time, don't send EHLO
38 client 127.0.0.1 PORT_D
39 ??? 220
40 helo abcd
41 ??? 250
42 mail from:<userx@test.ex>\r\nrcpt to:<userx@test.ex>
43 ??? 554
44 ****
45 # This shouldn't get advertised pipelining
46 client HOSTIPV4 PORT_D
47 ??? 220
48 ehlo abcd
49 ??? 250-
50 ??? 250-
51 ??? 250-
52 ??? 250
53 mail from:<userx@test.ex>\r\nrcpt to:<userx@test.ex>
54 ??? 554
55 ****
56 # Check on unrecognized commands
57 client HOSTIPV4 PORT_D
58 ??? 220
59 junk0
60 ??? 500
61 junk1\r\njunk2
62 ??? 554
63 ****
64 # Check on RSET and QUIT
65 client 127.0.0.1 PORT_D
66 ??? 220
67 ehlo abcd
68 ??? 250-
69 ??? 250-
70 ??? 250-
71 ??? 250-
72 ??? 250
73 rset\r\nquit
74 ??? 250
75 ??? 221
76 ****
77 # Check on RSET and QUIT
78 client HOSTIPV4 PORT_D
79 ??? 220
80 ehlo abcd
81 ??? 250-
82 ??? 250-
83 ??? 250-
84 ??? 250
85 rset\r\nquit
86 ??? 554
87 ****
88 # This one disables the check dynamically
89 client 127.0.0.1 PORT_D
90 ??? 220
91 ehlo dis.able
92 ??? 250-
93 ??? 250-
94 ??? 250-
95 ??? 250-
96 ??? 250
97 mail from:<userx@test.ex>\r\nrcpt to:<userx@test.ex>\r\ndata\r\nthe message\r\nsecond line
98 .
99 ??? 250
100 ??? 250
101 ??? 354
102 ??? 250
103 quit
104 ??? 221
105 ****
106 killdaemon
107 # In these next tests, PIPELINING is not advertised, and the server delays for
108 # 1s before trying to send the banner to give the client time to send input.
109 exim -DPAH= -DDELAY=1s -DSERVER=server -bd -oX PORT_D
110 ****
111 # Send HELO without waiting for greeting
112 client -t2 127.0.0.1 PORT_D
113 helo abcd
114 ??? 554
115 ****
116 # Disconnect without waiting for the greeting. This should 
117 # test the check for input that happens before sending the
118 # banner (there was a bug at one point; missing error check).
119 client -t2 127.0.0.1 PORT_D
120 ****
121 killdaemon