<process hat on>
Can we please stop this? You are both right. The spec is inconsistent,
and depending on how you interpret it, you get different answers. No,
the code is not broken. Yes, the code is broken.
Our job here is make the spec better. Let's stop blaming people, their
code or how they interpreted the spec. Casting aspersions helps no one.
Instead, let's put the blame where it truly lies: on shortcomings in the
spec. And then let's work on fixing that spec to eliminate the
</process hat off>
<spec writer hat on>
Section 4.2 clearly says that a server response may be single line or
multiline, and all commands are expected to be able to receive either
one. It then goes on to define (in the text and ABNF) the format of the
single line response, and punts to section 4.2.1 for the definition of
the multiline format. Unfortunately, section 4.2.1 only uses a textual
description for the multiline response and does NOT give the
corresponding ABNF to match.
There are several ways of remedying this. The suggestion below to
augment the ABNF in section 4.2 is a perfectly reasonable way to do it.
</spec writer hat off>
Hector Santos wrote:
David F. Skoll wrote:
Hector Santos wrote:
You are correct. Exim is broken!! <g> but I guess will correct that to
make it unbroken by changing the specification.
Why do you contend that it is broken? Seriously, if you're going to
claim that an implementation is broken, you have to point to something in
the RFC that the implementation violates (a MUST or a MUST NOT).
The ABNF says:
Reply-line = Reply-code [ SP text ] CRLF
it does not say:
Reply-line = Reply-code [ SP | "-" text ] CRLF
nor does it say:
Reply-line = Reply-code
Now of course, if you are going kludge an endorsement by changing the
Reply-line = *( Reply-code "-" [ text ] CRLF ) /
Reply-code [ SP text ] CRLF
Reply-code = %x31-35 %x30-35 %x30-39
in order to make BROKEN behavior officially compliant in 2821bis, then
hey, more power to you.
Unless you can point to something that says an implementation MUST NOT
use the reply code in the first line of a multiline reply,
stop claiming that Exim or Qmail are broken because they use the first
I understand the truth something does hurt. Its BROKEN CODE - PERIOD!