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