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