Subject: [MMUSIC] RID Open Issue #3: Escaping in Extension Parameters

From: Adam Roach <[email-masked]>
Date: Fri, 11 Mar 2016 12:46:04 -0600

I'm putting up the open issues in the RID draft that haven't had 
dedicated threads yet for a final round of discussion.

For this one, see 
https://tools.ietf.org/html/draft-ietf-mmusic-rid-04#section-10

    The constraints on an "a=rid:" line are extensible.  The syntax for
    these is:

    rid-param-other = 1*(alpha-numeric / "-") [ "=" param-val ]

    param-val         = *( %x20-58 / %x60-7E )
                        ; Any printable character except semicolon

    If an extension has values that can contain semicolons, they need an
    escaping mechanism.  Note that this is not an issue for any currently
    defined constraints, as they all take numeric values only.

    1.  Change extension syntax to only allow numeric values

    2.  Define a universal escaping mechanism for all extensions to use

    3.  Leave this problem for the first extension constraints - if any -
        to define value in a way that might allow a semicolon.  Note that
        this approach would allow the use of percent-style escaping
        (e.g., "%3B") but not backslash-style escaping (e.g., "\;"), as
        parsers that do not support the new constraint would interpret
        the embedded semicolon as a separator.

    PROPOSAL: Option #3

Previous discussion of this resulted in two comments: one agreeing with 
the proposal, and one which resulted in pointing out that 
backslash-style escaping cannot be employed if we choose this path.

If you disagree with the proposal, please send email in the next few 
days with an alternate proposal.

Thanks!

/a