Re: [apps-discuss] Retroactive application of draft-ietf-appsawg-uri-scheme-reg - comprehensive review

John C Klensin <john-ietf@jck.com> Mon, 13 April 2015 19:05 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 511AF1B2A4C; Mon, 13 Apr 2015 12:05:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.711
X-Spam-Level:
X-Spam-Status: No, score=-0.711 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, RCVD_IN_DNSWL_LOW=-0.7, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 puruqufcRnEJ; Mon, 13 Apr 2015 12:05:43 -0700 (PDT)
Received: from bsa2.jck.com (bsa2.jck.com [70.88.254.51]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2AB2B1B31C3; Mon, 13 Apr 2015 12:05:29 -0700 (PDT)
Received: from [198.252.137.35] (helo=JcK-HP8200.jck.com) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1Yhjfh-000KFz-L6; Mon, 13 Apr 2015 15:05:25 -0400
Date: Mon, 13 Apr 2015 15:05:20 -0400
From: John C Klensin <john-ietf@jck.com>
To: "Roy T. Fielding" <fielding@gbiv.com>, Barry Leiba <barryleiba@computer.org>
Message-ID: <7AD26B88CD9C663FE291611C@JcK-HP8200.jck.com>
In-Reply-To: <327268B5-3817-42F1-90B3-D44158B0AA5D@gbiv.com>
References: <2E49FA112B054FFAED69D8A1@JcK-HP8200.jck.com> <CALaySJ+JdE5YrBuXv343_CfNP4mYxOR94JV4q_Uso4VoWfD=Ng@mail.gmail.com> <723FBC93979E1019101319C5@JcK-HP8200.jck.com> <4EA0B2F8-5109-49EA-8BAF-0199D1640407@gbiv.com> <55274198.5030309@andyet.net> <CA288E99-DE72-4DCF-9BD5-822A9C8F41F9@gbiv.com> <CALaySJJZsCuQHUSMFULfH33ke63_Xrka8OMft2Dp0NPJNKLF5w@mail.gmail.com> <327268B5-3817-42F1-90B3-D44158B0AA5D@gbiv.com>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Connect-IP: 198.252.137.35
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: <http://mailarchive.ietf.org/arch/msg/apps-discuss/Rh5xq8klRlalLz_tb5ySMceaqsU>
Cc: draft-ietf-appsawg-uri-scheme-reg.all@ietf.org, IESG <iesg@ietf.org>, Apps Discuss <apps-discuss@ietf.org>
Subject: Re: [apps-discuss] Retroactive application of draft-ietf-appsawg-uri-scheme-reg - comprehensive review
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss/>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Apr 2015 19:05:48 -0000

Roy,

I think I've having serious trouble with the position you are
taking but, before I overreact (again?) and confuse things
further, I would appreciate your clarifying something for me.

Let's put 2141bis aside for a moment and go back to 2141 itself.
Section 2 of 2141 says (trimming irrelevant material):

	All URNs have the following syntax [...]:

       <URN> ::= "urn:" <NID> ":" <NSS>

	The Namespace ID determines the _syntactic_
	interpretation of the Namespace Specific String (as
	discussed in [1])."

Reference [1] points to an I-D that I assume evolved into RFC
2276.

2141 then goes on to say:

   <NSS>   ::= 1*<URN chars>
   <URN chars> ::= <trans> |
        "%" <hex> <hex>
   <trans> ::=  <upper> | <lower> | <number> | <other> |
        <reserved>
   <hex>   ::= <number> | "A" | "B" | "C" | "D" | "E" |
       "F" | "a" | "b" | "c" | "d" | "e" | "f"
   <other>  ::= "(" | ")" | "+" | "," | "-" | "." |
       ":" | "=" | "@" | ";" | "$" | "_" | "!" | "*" | "'"

Note that, if fragments (or anything delimited by a leading "#")
were allowed, the above would make them part of the NSS.  If I
understand you correctly, that is invalid because, in the syntax
of 3986, the 2141 NSS is necessarily a substring of hier-part,
while 3986 appears to allow "#" (and a fragment) only after the
hier-part.  Is that correct?

And, in section 2.3,

   The reserved character set is:

   <reserved>    ::= '%" | "/" | "?" | "#"

   [...]
  2.3.2 The other reserved characters

  RFC 1630 [2] reserves the characters "/", "?", and "#" for
  particular purposes. The URN-WG has not yet debated the
  applicability and precise semantics of those purposes as
  applied to URNs. Therefore, these characters are RESERVED
  for future developments.  Namespace developers SHOULD NOT
  use these characters in unencoded form, but rather use the
  appropriate %-encoding for each character.

Now, am I correct in my understanding that the above statement
is invalid on its face because no URI scheme can prohibit the
use of fragments, even to the extent of saying that they SHOULD
NOT be used?

Am I also correct in my understanding that the rule(s) that
invalidate the above have nothing to do with any of 4395bis, RFC
4995, or even RFC 3986 but depend only on  RFC 1738 or possibly
RFC 2396?

If any of that is not correct, could you please explain?

thanks,
    john


--On Friday, April 10, 2015 20:44 -0700 "Roy T. Fielding"
<fielding@gbiv.com> wrote:

>> On Apr 10, 2015, at 8:38 AM, Barry Leiba
>> <barryleiba@computer.org> wrote:
>> 
>>> No scheme can prohibit fragments. They are not part of the
>>> scheme's syntax.
>> 
>> We continue to have a confusion between syntax and semantics
>> here.
>> 
>> I absolutely agree that no scheme can say that fragments are
>> syntactically invalid, because the schemes do not control the
>> syntax of a URI.
>> 
>> But a scheme can certainly say that fragments make no
>> semantic sense within that scheme, and that if a URIs uses
>> that scheme and contains a fragment, it is not a well formed
>> URI within that scheme.
> 
> No, they can't, or at least they cannot say that truthfully.
>...