On Wed, 12 Jan 2005, Florian Weimer wrote:
> Currently, a "QUIT" before the greeting message, caused by a command
> like this:
>
> printf "QUIT\r\n" | socket mail.enyo.de 25
>
> results in the following log message:
>
> 2005-01-12 18:32:09 SMTP protocol violation: synchronization error
> (input sent without waiting for greeting): rejected connection from
> H=deneb.enyo.de [212.9.189.171]
It seems to me that that is absolutely correct. It describes exactly
what you have done. You sent QUIT without waiting for the greeting from
the server. That violates RFC (2)821.
> This message is misleading because it is often triggered by a timeout
> on the client side.
Eh? What exactly do you mean? Do you mean that the client tries to
connect, fails to receive the greeting in a certain time, and then sends
QUIT? I think that is broken behaviour.
> Therefore, the message should be special-cased
> for the QUIT command (or the next input should be included, like it is
> for other synchronization errors).
>
> This was discovered by Debian folks, see the following bug report:
>
> <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=289458>
Sorry, I don't see how that report relates to what you have described
above. That report is talking about verifying the sender address. The
start of a connection is long before it receives a sender address. What
have I misunderstood?
I agree, however, that it would be nice if the error message included
the next input, as it does for other errors. This may or may not be easy
to add. I've noted the point.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book: http://www.uit.co.uk/exim-book