| 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 |