ietf-smtp
[Top] [All Lists]

Re: rfc2821bis-02 Issue 24 (was: Re: rfc2821bis-01 Issue 18: Usability of 1yz replies)

2007-04-24 11:26:59

(moving threads)

--On Monday, 23 April, 2007 17:05 -0600 Philip Guenther
<guenther+smtp(_at_)sendmail(_dot_)com> wrote:

On Mon, 23 Apr 2007, John C Klensin wrote:
...
Assuming that, by "the suggestion below", you meant

   Reply-line     = *( Reply-code "-" [ text ] CRLF ) /
                  Reply-code [ SP text ] CRLF

Uh, what's that "/" doing there?  Shouldn't it just read:

     Reply-line     = *( Reply-code "-" [ text ] CRLF )
                    Reply-code [ SP text ] CRLF

("zero or more continuation lines, followed by a
non-continuation line")

The "/" is gone from the working draft.  Thanks to you and
others.
 
I would also tend to just call that "Reply" instead of
"Reply-line", given that it can be multiple lines.

(I'm not trying to start the ABNF bashing early, but better to
avoid errors as close to when they occur...)

This is another example of why I'm getting cold feet about doing
a significant ABNF overhaul.  The advantage of "Reply-line" over
"reply" is that the former is easily found by searching the
text, while "reply" is used all over the place.   If we had an
index to productions, possibly with numbered productions, I
might feel differently about that, but we aren't going to get
that for this version (too much work and incompatible with the
tools).    I think that, if this were being done to my personal
taste, we'd probably end up with

   Reply-sequence = *( Reply-continuation-line ) Reply-line
   Reply-continuation-line =  Reply-code "-" [ text ] CRLF
   Reply-line = Reply-code [ SP text ] CRLF

or even

   Reply-sequence = [ Reply-continuation-lines ] Reply-line
   Reply-continuation-lines = 1*Reply-continuation-line
   Reply-continuation-line =  Reply-code "-" [ text ] CRLF
   Reply-line = Reply-code [ SP text ] CRLF

either of which I think is more clear because they are less
subtle. But, probably fortunately, we are not.

       john


<Prev in Thread] Current Thread [Next in Thread>