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

Paul Kyzivat <paul.kyzivat@comcast.net> Mon, 01 May 2017 23:00 UTC

Return-Path: <paul.kyzivat@comcast.net>
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 E707B129473 for <sipcore@ietfa.amsl.com>; Mon, 1 May 2017 16:00:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.7
X-Spam-Level:
X-Spam-Status: No, score=-1.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=comcast.net
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 41IHlzDXcZtZ for <sipcore@ietfa.amsl.com>; Mon, 1 May 2017 16:00:08 -0700 (PDT)
Received: from resqmta-ch2-10v.sys.comcast.net (resqmta-ch2-10v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F3F1E12EB34 for <sipcore@ietf.org>; Mon, 1 May 2017 15:57:57 -0700 (PDT)
Received: from resomta-ch2-18v.sys.comcast.net ([69.252.207.114]) by resqmta-ch2-10v.sys.comcast.net with SMTP id 5KG7dFY8P61D95KGTdC0xR; Mon, 01 May 2017 22:57:57 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20161114; t=1493679477; bh=WRYD80Fuu+LT5XOLLw2yBWorVn2mo3k+WLKRX21xMAs=; h=Received:Received:Subject:To:From:Message-ID:Date:MIME-Version: Content-Type; b=K+0EmFDgVhMR/dDFQISpWeiB08mMFCoWHmEgNrDf7zv+Sfh0nWdp7UME9basl9aBo U1HBI3cdUIEp8pYeoH8Dch49y99MqmVX/sNrswVIbKRWpviGMuwRQz8EXib5ufOIuB 1tJwuZIwDGcekivZRCDiEsKwecUuhDHdJ2xY6k1ani/JoVePp5MlFzYjjAhZIjRZpR KskVjgC4L8bhRocMdIvwcjErfxDrloj8HwkYd5kUGF++5w9FE6pFnnNUifhtn8rneE vmE9yS70nGxxQit8izo8HcQhUw1EeihbTv+M38AFuPhFRZD8Xou5YWQ10Qc0zZrcmI nmrr2tq8AXWwA==
Received: from [192.168.1.110] ([24.62.227.142]) by resomta-ch2-18v.sys.comcast.net with SMTP id 5KGSdA4QnStKd5KGSdZEEd; Mon, 01 May 2017 22:57:57 +0000
To: sipcore@ietf.org
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> <a799edc2-8357-c775-2260-c96996a6df53@nostrum.com>
From: Paul Kyzivat <paul.kyzivat@comcast.net>
Message-ID: <da0e15e4-e9d6-4780-6e7d-33502db840f6@comcast.net>
Date: Mon, 01 May 2017 18:57:56 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <a799edc2-8357-c775-2260-c96996a6df53@nostrum.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
X-CMAE-Envelope: MS4wfKgqabdKEG//jNdImdAgpav+5WzjU3zTlIogEV4m5jUUPV7e8/ij2FuQi18cjpzwL356tJHuq8KWrbw1Z0o4Ae+hn3rIyMHjGMnvYGYqhXATbpTjdX4E H+MtMmVcqwK3VpayAqSQJHOdtIkWf8UKENo5osHA84viKlobSYumHrcS+6/EewKmZq55yDdx2uyRoQ==
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/DVuO0Fvq_eNeSepcbAgW8y9g6yk>
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 23:00:11 -0000

Robert,

Please see inline.

On 5/1/17 3:22 PM, Robert Sparks wrote:
> 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".

What you are trying to do seems very good. But there is still trouble 
with the wording. The use of "these brackets" has no referent. How about 
this:

    When a URI appears in such a header field, any URI parameters are
    contained within angle brackets (< and >).  If the URI is not
    enclosed in angle brackets, any semicolon-delimited parameters are
    header-parameters, not URI parameters.

(Or the first "are" above might be replaced by "MUST be".)

	Thanks,
	Paul

> 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>
>>
>
>
> _______________________________________________
> sipcore mailing list
> sipcore@ietf.org
> https://www.ietf.org/mailman/listinfo/sipcore
>