At 0:02 +0100 2003/03/15, Florian Weimer wrote:
>Exim doesn't react gracefully to an initial 554 greeting:
[...]
>Is this really the right thing to do? There are primary MXes out
>there that send a 554 greeting. While this is certainly very
>impolite, it's explicitely mentioned in RFC 2821 (although the
>semantics are not quite clear).
>
>I don't feel very strong about this issue. I need to change this code
>snippet at work, I think, but I'm not sure if I'd want to force this
>change on all Exim users.
Seems clear to me:
The SMTP protocol allows a server to formally reject a transaction
while still allowing the initial connection as follows: a 554
response MAY be given in the initial connection opening message
instead of the 220. A server taking this approach MUST still wait
for the client to send a QUIT (see section 4.1.1.10) before closing
the connection and SHOULD respond to any intervening commands with
"503 bad sequence of commands". Since an attempt to make an SMTP
connection to such a system is probably in error, a server returning
a 554 response on connection opening SHOULD provide enough
information in the reply text to facilitate debugging of the sending
system.
and further down:
554 Transaction failed (Or, in the case of a connection-opening
response, "No SMTP service here")
from the snippet you posted I cannot tell, but I guess exim will send
a QUIT after a 554 response at connection. Perhaps it could try
anothe MX, but when to stop? I think that this is a rare situation of
misconfigured DNS and exim is rightly failing.
What I am less sure about is if it is appropriate to fail all
addresses when the 5XX error (504, 550) is in response to the HELO.
Then again I haven't studied the source.
Giuliano