Internet-Drafts(_at_)ietf(_dot_)org wrote:
Title : Domain Name System Uniform Resource Identifiers
Author(s) : S. Josefsson
Filename : draft-josefsson-dns-url-09.txt
0. On careful reflection, I agree with Paul Vixie's analysis that
concludes that the <dnsauthority> part of the URI does not belong here.
It should be removed from the syntax.
1. A related issue, which I raised last time this was discussed but
was never addressed: there's a general extension mechanism, but no
reasonable use for it. This URI type should express solely a <class,
name, type> tuple; the extension mechanism should be abandoned.
2. There is no reasonable default for the <dnstypeval> element.
This draft specifies a default of type A, which will cause confusion;
explicit specification of the type should be mandatory.
3. Multiple types, or multiple classes, may be specified, but only one
takes effect. Allowing <dns:host.example.org?TYPE=A;TYPE=TXT> to be
valid, and to mean the same thing as <dns:host.example.org?TYPE=A>,
is misleading. It should only be permitted to specify one type and
one class. (This issue was raised last time this draft was discussed,
but has been fixed in the wrong way.)
4. Although allowing <dnsname> to be empty is not necessarily wrong,
it is inconsistent with prior practice. It would be clearer, and
more consistent, to require the root domain to be represented by an
explicit ".". (Another issue patched in the wrong way.)
5. The scheme described to encode a "." within a DNS label is
inconsistent with basic URI syntax. Section 2.3 of RFC2396 says
"Unreserved characters can be escaped without changing the semantics
of the URI". Since "." is unreserved, this means that "." and
"%2e" in a URI must be equivalent. <dns:foo.bar.example?type=TXT>
and <dns:foo%2ebar.example?type=TXT> must refer to the same RRset.
One possible solution is to use a reserved character (perhaps ",") to
separate DNS labels within the URI, but this is pretty ugly. A more
feasible solution is to use another layer of escaping; RFC1035 provides
a perfectly good and familiar (to DNS administrators) escaping scheme
for domain names.
-zefram
--
Andrew Main (Zefram) <zefram(_at_)fysh(_dot_)org>