[ietf-nntp] RE: How to organize the base NNTP draft

Ken Murchison ken at oceana.com
Fri Jun 11 09:39:22 PDT 2004


Clive D.W. Feather wrote:

> Ken Murchison said:
> 
>>Here's what I currently have base on 23pre3.  Comments?

> Fine. Except can I suggest:
> 
>        sasl-initial-response = base64-opt
> 
> and then in the generic section:
> 
>        base64-opt = "=" / base64
> 
> (and if you reject that, still note that those parentheses aren't needed).


I'm trying to keep the grammar as close to that used in RFC 1734bis and 
RFC 2554bis, so I'd rather keep it as base64.


> 
> 
>>3.2. Command Continuation
>>
>>     This syntax extends the non-terminal "command-continuation", which
>>     represents the further material sent by the client in the case of
>>     multi-stage commands.
>>
>>     command-continuation /= authinfo-sasl-continuation
>>     authinfo-sasl-continuation = *([sasl-client-response] CRLF)
>>           ; client waits for a "383" response from the server before
>>           ; sending each line
>>     sasl-client-response = ("*" / base64)
> 
> 
> I would take the view that each command-continuation is one step in the
> back-and-fro discussion. So I would have:
> 
>        command-continuation /= authinfo-sasl-continuation
>        authinfo-sasl-continuation = ["*" / base64-opt] CRLF

The *() syntax is also used by the POP3 and SMTP docs, but I'll defer to 
whatever consensus we arrive at.

> 

> I don't think the extra indirection is of use here. I thought that "=" was
> valid here, so we need base64-opt rather than just base64.

"=" isn't necessary because we CAN define an empty client response as 
"\r\n".


>>3.5. General non-terminals
>>
>>     sasl-mechanism-mame = 1*20sasl-mech-char
>>     sasl-mech-char = %x41-5A / DIGIT / "-" / "_"
>>           ; mechanism names restricted to uppercase letters,
>>           ; digits, "-" and "_"
> 
> 
> I take it something else sets that restriction.

RFC2222bis


> 
> 
>>     base64 = *(4base64-char) [base64-terminal]
>>     base64-terminal = (2base64-char "==") / (3base64-char "=")
> 
> 
> Those parentheses aren't needed (the ones in base64 are). Or just:
> 
>        base64 = *(4base64-char) [2base64-char "==" / 3base64-char "="]
> 
> 
>>     base64-char = ALPHA / DIGIT / "+" / "/"
>>           ; case sensitive

Again, taken verbatim from the POP3 and SMTP AUTH drafts.


> 
> We don't have ALPHA anywhere in the syntax. I'd suggest:
> 
>        base64-char = UPPER / LOWER / DIGIT / "+" / "/"
>        LOWER = %x61-7A
> 
> which has the added advantage of making the case-sensitivity clearer.

OK.


-- 
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp



More information about the ietf-nntp mailing list