[Exim] Opinions wanted: should client wait after sending QUI…

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Philip Hazel
日付:  
To: exim-users
題目: [Exim] Opinions wanted: should client wait after sending QUIT?
I have just received a bug report that requests reversal of a change to
Exim that was made in 1998 after discussion on the list. I don't want to
reverse this change without further consultation. What are people's
views? Particularly people who understand TCP/IP and people who run
large, busy servers.

THE BUG REPORT

> (The bug itself: Exim closes the connection after a QUIT, not waiting
> for the response from my server. I think this is against the RFCs, Exim
> is the only MTA that does this and it causes harmless but annoying
> errors in maillogs of others).


WHAT I RESPONDED TO THE SENDER:

The oldest source of Exim that I have *does* wait for a response to
QUIT. This was changed for release 2.02 (August 1998), with the
following entry in the ChangeLog:

    13. As a result of some net.discussion, cease waiting for a response to the
    QUIT command when sending out SMTP. This has the benefit of transferring the
    TCP/IP TIME_WAIT state to the client.


I cannot remember the details of the discussion, I'm afraid. However, it
was the case that people who know more about the TCP/IP protocol than I
do persuaded me that this was a useful thing to do. I think the idea was
to reduce the resources used by servers.

What RFC 2821 says (and this is much the same as 821):

     The sender MUST NOT intentionally close the transmission
     channel until it sends a QUIT command and SHOULD wait until it
     receives the reply (even if there was an error response to a previous
     command).


So Exim is violating a SHOULD, not a MUST.

I certainly do not want to change this back again without discussing it
on the mailing list and getting people's opinions. I will post something
on the list and see what people think.

Regards,
Philip

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