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

Ken Murchison ken at oceana.com
Tue Jun 8 12:27:53 PDT 2004


Clive D.W. Feather wrote:

> Ken Murchison said:
> 
>>>I'm revisiting the ABNF in the core document in response to your query the
>>>other day. Hopefully I will have something for you later.
> 
> 
> Have a look at the draft 23 pre 3 I've just posted.

Here's what I currently have base on 23pre3.  Comments?


3. Augmented BNF Syntax for the AUTHINFO Extension

      This section describes the syntax of the AUTHINFO extension.  It
      extends the syntax in [NNTP], and non-terminals not defined in this
      document are defined there.

3.1. Commands

      This syntax extends the non-terminal "command", which represents an
      NNTP command.

      command /= authinfo-user-command /
                 authinfo-pass-command /
                 authinfo-sasl-command

      authinfo-user-command = "AUTHINFO" WS "USER" WS username
      authinfo-pass-command = "AUTHINFO" WS "PASS" WS password
      authinfo-sasl-command = "AUTHINFO" WS "SASL" WS sasl-mechanism-name
            [WS sasl-initial-response]

      username = 1*P-CHAR
      password = 1*P-CHAR
      sasl-initial-response = ("=" / 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)

3.3. Responses

      This syntax extends the non-terminal "response", which represents
      what is sent from the server to the client in response to a command
      or command-continuation.

      argument /= sasl-server-challenge
      sasl-server-challenge = ("=" / base64)

3.4. LIST EXTENSIONS responses

      This syntax defines the specific LIST EXTENSIONS responses for the
      AUTHINFO extension.

      extension-descriptor /= authinfo-extension
      authinfo-extension = %x41.55.54.48.49.4E.46.4F  ; "AUTHINFO"
            *(SPA authinfo-extension-arg)
      authinfo-extension-arg = "USER" /
            ("SASL:" sasl-mechanism-name *("," sasl-mechanism-name))

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 "_"

      base64 = *(4base64-char) [base64-terminal]
      base64-terminal = (2base64-char "==") / (3base64-char "=")
      base64-char = ALPHA / DIGIT / "+" / "/"
            ; case sensitive


-- 
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