Re: [Exim] Two local_scan functions - request for comments.

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Matthew Byng-Maddick
CC: exim-users
Subject: Re: [Exim] Two local_scan functions - request for comments.
On Tue, 26 Mar 2002, Matthew Byng-Maddick wrote:

> On Tue, Mar 26, 2002 at 11:05:04AM +0100, Patrick von der Hagen wrote:
> > But second, I'd expect exim to detect a timeout and react accordingly.
> > Since TCP is no stateless connection, the sending of a 250-message to
> > accept a mail should return an error-code. I'd be very surprised if
> > Phil did not check this error code.
>
> This would potentially break reliable mail delivery. Think about the
> situation where it's actually the link that's gone down in between the
> two machines, and you don't know at what time the other end has stopped
> being able to see your machines. By the time you send 250, the message
> should be queued for delivery.


Indeed. Exim cannot know if its message has got back to the sending
client. In fact, it never checks any writing to the TCP/IP socket - it
detects errors when it fails to *read* from the client. In this endgame
situation, if local_scan() says "ok", it takes responsibility for the
message whatever happens about sending a response.


--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.