On Wed, 9 Jul 2003, Richard Gilbert wrote:
> My guess is that the remote end was applying a delay to the response to a
> bad recipient and the timer at both ends expired simultaneously so that
> the RSET was sent from my end just as the delayed 550 response was being
> sent from the remote end.
I haven't checked this by experiment, but reading the code of Exim 4.20
shows that it doesn't send RSET if there's a timeout after RCPT. It just
closes the socket. The only time Exim sends RSET is when it is about to
try to send another message on the same connection, after the previous
one was aborted (e.g. all recipients rejected).
Er, hang on. You are talking about callouts here. They are a bit
different ... read, read, read ... ah, yes, the code is different there.
It really should pay some attention to the timeout, I think. It
currently doesn't, exactly as you suggest.
> Apologies if I have got the wrong end of the stick.
No apology needed, I picked up the wrong end! I think you have diagnosed
an infelicity in the code. I'll do something about it in due course.
Thanks,
Philip
--
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