Re: xmpp URIs and 3986 (was: Template URIs vs. URIs)

On Oct 6, 2006, at 1:14 PM, Frank Ellermann wrote:
> Roy T. Fielding wrote:
>
>>> RFC 4622 now happily uses _anything_ that's not explicitly
>>> "verboten" by RFC 3986.  The xmpp: scheme was reviewed here.
>
>> Then RFC 4622 is broken and should be removed from the standards
>> track.  It cannot override a requirement in a full standard:
>
>>     URI scheme specifications must define their own
>>     syntax so that all strings matching their scheme-specific
>>     syntax will also match the <absolute-URI> grammar, as
>>     described in Section 4.3.
>
> For a requirement I'd expect MUSTard instead of a mere "must".

It is not an interoperability issue.  All URIs must
match the URI syntax -- that is the whole point of 3986.

> The RFC 4622 <nodeid> doesn't always match the 3986 <userinfo>.
> No problem for <unreserved>, <pct-encoded>, and anything in
> <nodeallow> also covered by <sub-delims> or ":".
>
> 4622 <nodeallow> is ! $     ( ) * + , ; = [ \ ] ^ ` { | }
> 3986 sub-delims are ! $ & ' ( ) * + , ; =
>
> Omitting "&" and "'" is no issue for a match, the ":" is also
> not interesting, but "[", "\", "]", "^", "`", "{", "|", and "}"
> won't match.
>
> 4622 <pathxmpp> vs. 3986 <segment> is in essence the same issue,
> the <segment> allows "@" in addition to ":" and <sub-delims>,
> and <pathxmpp> needs that "@" in its first segment.
>
> The optional <resid> could match an optional second <segment>,
> so far it's fine.  But its <resallow> is completely unrelated
> <pchar>:
>
> 4622 resallow is ! " $ & ' ( ) * + , : ; < = > [ \ ] ^ ` { | }
> 3986 pchar has @ !   $ & ' ( ) * + , : ;   =
>
> 4622 doesn't need the "@" in <resallow>, but it uses the same
> 8 additional characters as in <nodeallow>, plus '"', "<", ">",
> for a total of 11 unmatched characters.
>
> If you say that's broken then the URI review process is broken.

Submitting a document for an IRI scheme pretty much guarantees
that it won't be reviewed.  It should have just defined a URI scheme
and let the IRI spec define the translation.

> I never checked these details before, I only looked at the IRI
> example in the xmpp-URI drafts, and how to get IRI to URI right.
>
> And of course I hoped that " < > \ ^ ` { | } are still "invalid"
> anywhere within URIs, even if RFC 3986 doesn't care to mention
> this explicitly.  You already said that you don't want this as
> erratum, how about plan B, submit it as complete 3986bis draft ?

There will not be any changes to 3986 -- it is correct.  Just submit
errata for the mistakes in 4622.

....Roy

Received on Friday, 6 October 2006 22:48:01 UTC