Re: [sipcore] WGLC: draft-ietf-sipcore-name-addr-guidance

Robert Sparks <rjsparks@nostrum.com> Mon, 01 May 2017 19:25 UTC

Return-Path: <rjsparks@nostrum.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 59733129AB2 for <sipcore@ietfa.amsl.com>; Mon, 1 May 2017 12:25:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.879
X-Spam-Level:
X-Spam-Status: No, score=-1.879 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.001, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8zeUv4x9VnGq for <sipcore@ietfa.amsl.com>; Mon, 1 May 2017 12:25:45 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5B61D129505 for <sipcore@ietf.org>; Mon, 1 May 2017 12:22:24 -0700 (PDT)
Received: from unescapeable.local ([47.186.26.91]) (authenticated bits=0) by nostrum.com (8.15.2/8.15.2) with ESMTPSA id v41JMMPp027619 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Mon, 1 May 2017 14:22:22 -0500 (CDT) (envelope-from rjsparks@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host [47.186.26.91] claimed to be unescapeable.local
To: Yehoshua Gev <yoshigev@gmail.com>
References: <CAF_j7yae5+izSSkB7dK6+F5WJGBO=fFePRb9MqaBP3L=x8kzOw@mail.gmail.com> <87mvc3iym3.fsf@hobgoblin.ariadne.com> <CAF_j7yYz+68ps2-0vOMG6PQzFCb868h7V3beOVyaxe40MiHXgw@mail.gmail.com> <6c99cbac-212e-dbc0-5328-57222e8547b7@nostrum.com> <CAF_j7ybaeraC=MTbCekrXDoHZYuJcXoyMR14AfgVd_DsxaivKQ@mail.gmail.com>
Cc: sipcore <sipcore@ietf.org>
From: Robert Sparks <rjsparks@nostrum.com>
Message-ID: <a799edc2-8357-c775-2260-c96996a6df53@nostrum.com>
Date: Mon, 01 May 2017 14:22:22 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <CAF_j7ybaeraC=MTbCekrXDoHZYuJcXoyMR14AfgVd_DsxaivKQ@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------D87F6094A1F083772BE56F53"
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/4GTRRItJQY3eoTVjgFyUvNY8BSg>
Subject: Re: [sipcore] WGLC: draft-ietf-sipcore-name-addr-guidance
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sipcore/>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 May 2017 19:25:47 -0000

Hi Yehoshua -

It was that last paragraph of the introduction to section 20 that I was 
pointing to. The change made by this document doesn't take those 
sentences away.

I still don't agree that new normative text is the necessary (I actually 
feel it's dangerous - it adds yet another opportunity for 
misinterpretation).

But I re-read the end of the introduction to section 20 with the changes 
this document specifies applied to it, and I think I see an improvement 
that might ease the discomfort you're feeling with it.

Section 2 currently says this:

> 2. Updates to RFC3261
>
>     This text from the introduction to section 20 of [RFC3261]:
>
>       The Contact, From, and To header fields contain a URI.  If the URI
>       contains a comma, question mark or semicolon, the URI MUST be
>       enclosed in angle brackets (< and >).
>
>     is replaced with:
>
>       When constructing the value of any SIP header field whose grammar
>       allows choosing between name-addr and addr-spec, such as those
>       that use the form '(name-addr / addr-spec)', the "addr-spec" form
>       MUST NOT be used if its value would contain a comma, semicolon,
>       or question mark.
>
>       The header fields defined in this specification that allow this
>       choice are "To", "From", "Contact",  and "Reply-To".
We could change it to say this (being more explicit with what happens to 
the rest of the paragraph being operated on).

> 2. Updates to RFC3261
>
>     This text from the introduction to section 20 of [RFC3261]:
>
>       The Contact, From, and To header fields contain a URI.  If the URI
>       contains a comma, question mark or semicolon, the URI MUST be
>       enclosed in angle brackets (< and >).  Any URI parameters are
>       contained within these brackets.  If the URI is not enclosed in angle
>       brackets, any semicolon-delimited parameters are header-parameters,
>       not URI parameters.
>
>
>     is replaced with:
>
>       When constructing the value of any SIP header field whose grammar
>       allows choosing between name-addr and addr-spec, such as those
>       that use the form '(name-addr / addr-spec)', the "addr-spec" form
>       MUST NOT be used if its value would contain a comma, semicolon,
>       or question mark.
>       When a URI appears in such a header field, any URI parameters are
>       contained within these brackets.  If the URI is not enclosed in angle
>       brackets, any semicolon-delimited parameters are header-parameters,
>       not URI parameters.
>       The header fields defined in this specification that allow this
>       choice are "To", "From", "Contact",  and "Reply-To".

Does that ease your concern?

RjS

On 4/18/17 2:42 AM, Yehoshua Gev wrote:
> Hi Robert,
> Can you point me to the text on 3261 that has the disambiguation rule?
> I could only find it in the last paragraph of section 20, which only 
> speaks about "Contact, From, and To".
> I believe the intention of this draft is to expand this paragraph to 
> cover all other "problematic" headers,
> so it should also expand the disambiguation rule to the other headers.
> Thanks,
> Yehoshua
> On Fri, Apr 14, 2017 at 12:43 AM, Robert Sparks <rjsparks@nostrum.com 
> <mailto:rjsparks@nostrum.com>> wrote:
>
>     Hi Yehoshua -
>
>     On 3/30/17 5:57 AM, Yehoshua Gev wrote:
>>     On Thu, Mar 30, 2017 at 12:04 AM, Dale R. Worley
>>     <worley@ariadne.com <mailto:worley@ariadne.com>> wrote:
>>
>>         Yehoshua Gev <yoshigev@gmail.com <mailto:yoshigev@gmail.com>>
>>         writes: >> > The examples of: >> >    Refer-To:
>>         sip:123@host?Replaces=1111 >> >    Refer-To:
>>         sip:123@host;user=phone?Replaces=1111 > So, the interpreting
>>         the string "sip:123@host" as the addr-spec alone, > renders
>>         the > header non-parsable by the BNF of 3515. Yes... but if
>>         you're only considering the BNF, "sip:123@host?Replaces=1111"
>>         can be parsed as an addr-spec, so the header is valid (by the
>>         BNF alone).  (Actually, even "sip:123@host" can't be parsed
>>         as a name-addr, because it doesn't have "<...>".)
>>
>>     Ok. I see your point. So when parsing header like  "Refer-To:
>>     sip:123@host;user=phone", the BNF parser will give two possible
>>     interpretation, and the non-BNF restriction will rule out one of
>>     them. And for "Refer-To: sip:123@host?Replaces=1111", the BNF
>>     parser will give one possible interpretation, which will be ruled
>>     out by the restriction. I believe my first understanding was that
>>     the restriction is applied to addr-spec, disallowing it from
>>     having uri-parameters/headers. And if the restriction if applied
>>     after parsing the add-spec, prior to parsing the rest of the
>>     Refer-To header, it will make the header syntactically invalid.
>>     But I guess it's a philosophical question.
>>
>>         > Given so, IMHO the disambiguation rule should be stated as
>>         a normative text. ... So, yes, the new disambiguation rule is
>>         stated as a normative text. 
>>
>>     The normative text in the draft only considers the "construction"
>>     of the header,
>>     it doesn't handle parsing/interpretation of a "constructed" header.
>>     Specifically, a sentence like "If the URI is not enclosed in
>>     angle brackets,
>>     any semicolon-delimited parameters are header-parameters, not URI
>>     parameters" (from RFC 3261 section 20) is missing.
>>     I suggest adding a text like:
>>     "If the URI in such headers is not enclosed in angle brackets,
>>     any characters
>>     after a comma, a question mark, or a semicolon SHOULD NOT be
>>     parsed as
>>     part of the URI".
>>     Alternatively:
>>     "When a URI is part of addr-spec which is not part of name-addr,
>>     the addr-spec
>>     SHOULD NOT be parsed to include a comma, a question mark, or a
>>     semicolon".
>     3261 does already say this. and there's no ambiguity to clear up -
>     we'd be restating it here, and restating things that are required
>     by a base specification is something we avoid.
>>     Thanks,
>>     Yehoshua
>>
>>     _______________________________________________
>>     sipcore mailing list
>>     sipcore@ietf.org <mailto:sipcore@ietf.org>
>>     https://www.ietf.org/mailman/listinfo/sipcore
>>     <https://www.ietf.org/mailman/listinfo/sipcore>
>     _______________________________________________ sipcore mailing
>     list sipcore@ietf.org <mailto:sipcore@ietf.org>
>     https://www.ietf.org/mailman/listinfo/sipcore
>     <https://www.ietf.org/mailman/listinfo/sipcore> 
>