Re: [exim] Lost connection during delay

Top Page
Delete this message
Reply to this message
Author: Florian Weimer
Date:  
To: Nigel Metheringham
CC: exim-users, Philip Hazel, Sam Michaels
Subject: Re: [exim] Lost connection during delay
* Nigel Metheringham:

> Null packets? On a textual command stream within TCP?
>
> I guess you could try emitting continuation type SMTP error codes - so
> if you were going to emit a 200 code you do
>     while(within_timeout()) {
>         wait(partial_timeout)
>         emit("200-We'll get there in the end")
>         check_status
>     }


Hmm. You could send a a partial "200-" response, and wait for a read
event using select(2). If pipelining is off, any read event would
indicate a connection teardown or a protocol error.

I wouldn't be surprised if multi-line responses split across multiple
TCP packets would cause severe interoperability issues. RFC-compliant
clients can handle this, of course, but the real world with its
firewalls is probably quite different.