Hintsdb sqlite: use transaction rather than file lock
[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 ??? 250
23 rset\r\nmail from:<userx@test.ex>\r\nrcpt to:<userx@test.ex>\r\ndata
24 ??? 250
25 ??? 250
26 ??? 250
27 ??? 354
28 the message
29 .\r\nmail from:<userx@test.ex>
30 +++ 1
31 rcpt to:<userx@test.ex>\r\ndata\r\nthe message\r\nsecond line
32 ??? 250
33 ??? 250
34 ??? 250
35 ??? 554
36 ****
37 sleep 1
38 # This time, don't send EHLO
39 client 127.0.0.1 PORT_D
40 ??? 220
41 helo abcd
42 ??? 250
43 mail from:<userx@test.ex>\r\nrcpt to:<userx@test.ex>
44 ??? 554
45 ****
46 # This shouldn't get advertised pipelining
47 client HOSTIPV4 PORT_D
48 ??? 220
49 ehlo abcd
50 ??? 250-
51 ??? 250-
52 ??? 250-
53 ??? 250-
54 ??? 250
55 mail from:<userx@test.ex>\r\nrcpt to:<userx@test.ex>
56 ??? 554
57 ****
58 # Check on unrecognized commands
59 client HOSTIPV4 PORT_D
60 ??? 220
61 junk0
62 ??? 500
63 junk1\r\njunk2
64 ??? 554
65 ****
66 # Check on RSET and QUIT
67 client 127.0.0.1 PORT_D
68 ??? 220
69 ehlo abcd
70 ??? 250-
71 ??? 250-
72 ??? 250-
73 ??? 250-
74 ??? 250-
75 ??? 250
76 rset\r\nquit
77 ??? 250
78 ??? 221
79 ****
80 # Check on RSET and QUIT
81 client HOSTIPV4 PORT_D
82 ??? 220
83 ehlo abcd
84 ??? 250-
85 ??? 250-
86 ??? 250-
87 ??? 250-
88 ??? 250
89 rset\r\nquit
90 ??? 554
91 ****
92 # This one disables the check dynamically
93 client 127.0.0.1 PORT_D
94 ??? 220
95 ehlo dis.able
96 ??? 250-
97 ??? 250-
98 ??? 250-
99 ??? 250-
100 ??? 250-
101 ??? 250
102 mail from:<userx@test.ex>\r\nrcpt to:<userx@test.ex>\r\ndata\r\nthe message\r\nsecond line
103 .
104 ??? 250
105 ??? 250
106 ??? 354
107 ??? 250
108 quit
109 ??? 221
110 ****
111 killdaemon
112 # In these next tests, PIPELINING is not advertised, and the server delays for
113 # 1s before trying to send the banner to give the client time to send input.
114 exim -DPAH= -DDELAY=1s -DSERVER=server -bd -oX PORT_D
115 ****
116 # Send HELO without waiting for greeting
117 client -t2 127.0.0.1 PORT_D
118 helo abcd
119 ??? 554
120 ****
121 # Disconnect without waiting for the greeting. This should 
122 # test the check for input that happens before sending the
123 # banner (there was a bug at one point; missing error check).
124 client -t2 127.0.0.1 PORT_D
125 ****
126 killdaemon