Re: [Exim] SMTP protocol violation complaint -- false positi…

Top Page
Delete this message
Reply to this message
Author: David Woodhouse
Date:  
To: Matthew Byng-Maddick
CC: exim-users
Subject: Re: [Exim] SMTP protocol violation complaint -- false positives.
On Sat, 2003-12-13 at 13:02 +0000, Matthew Byng-Maddick wrote:
> I have produced a patch, available at
> http://colon.colondot.net/~mbm/exim_pipeline.patch


There's still a possibility of the same false positives, although I'm
not sure how _likely_ it is.

You can't assume, as you now do at line 520 in smtp_read_command(), that
if smtp_inptr == smtp_inend, then you've reached the end of a group of
commands sent by the client. The client could have sent the next command
in the same write() call, but all kinds of things could have conspired
to mean you haven't got the second half of that original write() yet. It
could have just happened to be split into multiple TCP packets on a
command boundary, it could have been split due to a short write() on the
client side, due to buffer space shortage, etc...

You may feel the likelihood, and the severity, of this false positive
are sufficiently low that it's not worth bothering to do anything more
-- the alternative would be to assume pipelining in all cases and
_always_ return the less severe error if EHLO was used and the host is
in pipelining_advertise_hosts. But it at least wants commenting that
it's not a perfect test.

--
dwmw2