Re: bug #1 in draft-ietf-sip-outbound-16 grammar

Rohan Mahy <[email protected]>
Newsgroups gmane.ietf.sip
Message-ID <[email protected]>
Hi Florian,

I think the intent of RFC3261 should have been to allow optional  
whitespace at the end of a quoted-string:

Currently in RFC 3261:
quoted-string = SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE

Probably should have been in RFC 3261:
quoted-string = LDQUOT *(qdtext / quoted-pair ) RDQUOT

However, that is water under the bridge, so I have no objection  
changing the c-p-instance production to look like this:

c-p-instance = "+sip.instance" EQUAL DQUOTE "<" instance-val ">" DQUOTE

If you are responsible for an implementation however, I urge you to be  
generous in what you receive in this regard. Please ignore extraneous  
whitespace unless the spec gives it some special semantic meaning (ex:  
inside a quoted string).

thanks,
-rohan



On Apr 13, 2009, at 1:50 PM, Florian Zumbiehl wrote:
> Hi,
>
> in case you've read my bug report concerning draft-ietf-sip-gruu-15
> from this morning, the short version: draft-ietf-sip-outbound-16 is
> affected by the same problem.
>
> The complete version:
>
> draft-ietf-sip-outbound-16 contains (amongst others) these ABNF rules:
>
> | contact-params =/ c-p-reg / c-p-instance
> | c-p-instance   =  "+sip.instance" EQUAL
> |                   LDQUOT "<" instance-val ">" RDQUOT
>
> which, when adding them to the grammar from RFC 3261, would produce
> from <Contact> a language that's a superset of the language that would
> be produced by <Contact> from RFC 3261-only.
>
> In particular, the language produced by <foo> is a subset of the
> "outbound extended" language, but not of the RFC 3261-only one:
>
> | foo = "m: <sip:[email protected]>;+sip.instance=" DQUOTE "x" DQUOTE SP CRLF
>
> To put it in more practical terms: the <RDQUOT> in <c-p-instance>
> allows for trailing <LWS>, which <contact-extension> does not,
> so an implementation conforming to draft-ietf-sip-outbound-16 could
> produce a Contact header that potentially could not be parsable
> (except as an <extension-header>) by an implementation conforming
> to RFC 3261.
>
> Thus, I would suggest to replace the rules quoted above by:
>
> | contact-params =/ c-p-reg / c-p-instance
> | c-p-instance   =  "+sip.instance" EQUAL
> |                   LDQUOT "<" instance-val ">" DQUOTE
>
> This produces the same language, maybe it's a more consistent
> replacement:
>
> | contact-params =/ c-p-reg / c-p-instance
> | c-p-instance   =  "+sip.instance" EQUAL
> |                   DQUOTE "<" instance-val ">" DQUOTE
>
> Florian

_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email protected] for questions on current sip
Use [email protected] for new developments on the application of sip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.