Subject: Re: I-D ACTION:draft-josefsson-dns-url-09.txt

From: Zefram <[email-masked]>
Date: Wed, 5 Nov 2003 17:46:55 +0000

[email-masked] 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) <[email-masked]>