Subject: ABNF for option-param/cmd-specific

From: [email-masked]
Date: Wed, 6 Nov 2002 19:04:35 -0500

The ABNF for option-param is malformed IMHNO.  It is currently:

   option-param     = ";" "OPTIONS" "=" cmd-specific

   cmd-specific     = ; The value supplied is dependent on the
                      ; CMD value. See the specific CMDs below
                      ; for the correct values to use for each
                      ; CMD

Problem #1: There are NO subsequent defintions of any CMD specific values. 
 They should be under each command in an ABNF form of:

   cmd-specific     /= "BLECH" | "YAWN"
                      ; The IDENTITY value "BLECH" means you want to
                      ; become an Anonymous CU.  "YAWN" means you do not
                      ; wish to assume any particular identity....

utlizing the '/=' notation from the ABNF RFC.  Go see the partstatparam in 
2445 if you need more help here.

Problem #2: There is no way to differentiate between option-param (as 
defined) and anything that follows after it.  For example:

   deleteparam  = *(
[Snip]
                / option-param "MARK"

or

        identifyparam   = *(
[Snip]
                        ; The value is the UPN of the requested
                        ; identity. If not supplied it is a request
                        ; to return to the original authenticated 
identity.

                        / option-param upn

   upn        = "@"
                 / [ dot-atom-text ] "@" dot-atom-text
                   ; dot-atom-text is defined in RFC 2822

[The upn ABNF is inserted simply as reference for analysis]

So in a DELETE, how does one delimit where the "cmd-specific" value ends 
and the "MARK" begins?  There needs to be some kind of delimiter between 
them.  The same goes for the IDENTITY command, how does one differentiate 
between the option-param and the upn.

>From looking @ the examples (Oh, bad bad man...) it appears that the 
intent was to make upn the 'cmd-specific' part of the option-param for 
IDENTITY.  That is, in the identifyparam ABNF, 'cmd-specific' is NULL and 
'upn' is always there.

Hmm, now that I dive more perhaps its just an oversight and the example is 
bad.  The single example is, in part:

      C: CMD;ID=unique-per-cua-999;OPTIONS=newUserId:IDENTIFY

so I would think that cmd-specific would be "newUserId" and that there is 
_no_ upn part.  Thats because "newUserId" does not adhere to the 
definition of UPN in Section 1.3 where it says that its bascially "User" 
'@' "Realm"...  Im too tired to dive more but it looks as if there is some 
ABNF cleanup in order (and a fixed example too?)...

Bruce
===========================================================================
Bruce Kahn                                INet: 
[email-masked]
Messaging & Collaboration                 Phone: 978.399.6496
IBM Software Group                         FAX: and nothing but the FAX...
Standard disclaimers apply, even where prohibited by law...