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

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".

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.

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 ?

Frank

Received on Friday, 6 October 2006 20:24:10 UTC