Subject: [Simple] ABNF Issues in draft-ietf-simple-message-sessions-08.txt

From: "Peter Ridler" <[email-masked]>
Date: Fri, 27 Aug 2004 11:10:49 -0400

Hi all,

I still see a lot of issues in the new
draft-ietf-simple-message-sessions-08.txt for ABNF Syntax.  My ABNF Compiler
throws out a lot of errors still.  Here is may list (going from top
down).....

1) Missing x on "mSend" and "mREPORT" rules (should be)

mSEND = %x53.45.4e.44 ; SEND in caps

mREPORT = %x52.45.50.4f.52.54; REPORT in caps

2) Grouping not required on "headers" rule (nit)

3) Section 5 defines the MSRP URL with ABNF but not present in Section 8
(shown here with corrections)

; "userinfo", "hostport", and "unreserved" are detailed in RFC2396

MSRP-url = msrp-scheme "://" [userinfo "@"] hostport ["/" resource] ";"
transport

msrp-scheme = "msrp" / "msrps"

resource = 1*unreserved

transport = "tcp" / ALPHANUM

4) "To-Path" and "From-Path" use "URL" should be "MSRP-url" as follows

To-Path = "To-Path:" SP MSRP-url *( SP MSRP-url )

From-Path = "From-Path:" SP MSRP-url *( SP MSRP-url )

5)"namespace", "short-status" and "text-reason" are undefined could be...

namespace = "000"

short-status = "200"  ; OK
             / "400"  ; Bad Request
             / "403"  ; Forbidden
             / "415"  ; Unsupported Media Type
             / "426"  ; Request is only allowed over TLS
             / "481"  ; Session Does Not Exist
             / "506"  ; Request already bound on another connection

text-reason = *(VCHAR / WSP)	; All visible charcters / SP / HTAB (defined
in RFC2234 CORE)

6) Rule "DUmMy" should maybe labled "Status" !

Status = "Status:" SP namespace SP short-status [SP text-reason]

7) "alphanum" on rule "ident-char" should be "ALPHANUM"  (nit)

ident-char = ALPHANUM / "." / "-" / "+" / "%" / "="

8) Double x on second range on rule "token"

token = 1*(%x21 / %x23-27 / %x2A-2B / %x2D-2E / %x30-39 / %x41-5A / %x5E-7E)

9) "HT" is defined in RFC2234 CORE as "HTAB"

qdtext = SP / HTAB / %x21 / %x23-5B / %x5D-7E / UTF8-NONASCII

10) "DQUOTE", "CRLF" , "HT" as "HTAB", "SP", "DIGIT" are defined in RFC2234
CORE.  Should NOT redefine them.

11) "LOWALPH" not really used, "ALPHAHUM" can be defined as: (nit)

ALPHAHUM = ALPHA / DIGIT

12) "Content-ID" and "Content-Description" NOT defined in RFC2045
    "Content-Disposition" NOT defined in RFC2183
    "mime-extension-field" should be defined as "MIME-extension-field" for
RFC2045 (nit)

Other-Mime-Header = id                    ; Content-ID defined in RFC2045
                  / description           ; Content-Description defined in
RFC2045
                  / disposition           ; Content-Disposition defined in
RFC2183
                  / MIME-extension-field  ; defined in RFC2045

13) On rule "hname", "alpha" should in uppercase (nit)

hname = ALPHA *token

14) On rule "utf8text" should use "HTAB" insead of "HT" (RFC2234 CORE)

utf8text = *(HTAB / %x20-7E / UTF8-NONASCII)

15) The definition of "data" states ZERO to INFINITY, and assuming that we
have defined a MSRP message limit, then data will eat up all the bytes of
information AND the CRLF of "content-stuff" as well as the "end-line"
message as well.  "data" must have some bounds defined for it!

Here is a suggestion to make "data" more clear (and conform to ABNF RFC2234
logic rules)

a) You could use "text" as defined in RFC2822 (because of
MSRP->RFC2183->RFC2045->RFC2822)

data = *text    ; defined in RFC2822

---- OR ------

b) You could use "ptext" as defined in RFC2045.  This allows for escaped
bytes using "=" (hex-octet)

data = *ptext    ; defined in RFC2045

---- OR ------

c) Just define our own type (similar to text in RFC2822)

data = *(%x01-09 / %x0B-0C / %x0E-7F)	; Characters excluding CR and LF

---------------

I like point #b, but could live with any of them.....

---Peter

_______________________________________________
Simple mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/simple