[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [idn] naming syntax rules



>The basic idea here is to declare formal data-types for labels, and to
>incorporate the data-types into syntaxes for applications and protocols to
>use when they need to interact with domain names.

While this is good, to make DNS really work the foundamental
rules should be the same for all labels. Just like it has been
so far.

By foundamental rules I mean those applied in DNS itself, not
those applied by applications.

While Eric allows binary in DNS labels making things very complex,
I think we should go for how DNS is used and teher are at least
one RFC defining text and binary labels (binary label is defined by
EDNS).

The standard STD13 DNS label, and any new long label are TEXT labels.
They may only contain printable characters. 
- They must be normalised.
As Eric said:
- Minimum length of one UCS character code.
- Maximum length of 63 UCS character codes.

- Maximum cumulative length of 255 UCS character codes in a domain name.

Then Eric goes into different types of labels: host name, ascii, 
mailbox and srv.
While an application can have special rules, DNS cannot.

For all labels in DNS (including host name and mailbox):
- They must be case-insensitivly matched.
- They must retain original form (not converted to lower case)
  in DNS.

Having the above set in place, applications can apply additional
rules and they can change over time without the basic DNS
workings having to be changed.
The above rules gives DNS a simple clear foundation to stand on.

If you need a binary label, define one.

--
For applications we can define the additional rules Eric has
specified. But some of them I can see no reason to have:

Host names:
- Must be allowed to have mixed case. DNS must be allowed
  to return host names containg upper case letters.
  Otherwise software will break.

- I can see no reason not to allow 1 character in minimum length.
  Labels today have one character lengths.

Mailbox labels:
- In DNS they are not case-sensitive. Some mail systems are said
  to have them case-sensitive. Are there still some such ancient
  systems left?
  DNS must compare them case-insensitive, but return them
  retaining original case.


--
What characters should be allowed in a label?
Above I have defined it to be printable characters.
Looking at how names are used, I would like to restrict
it further. A name is often used as part of a text (for example
in a manual or a web page). You then do not want the name
to affect the formatting of the text. So you cannot allow
anything in a name that affects direction, width, size, boldness, etc.
So things like double width characters should not be allowed.
This should probably be included in the definition of
what is normalised text. Things like upper/lower case do not
change the formatting of the text and can be used to enhance
meaning or readability, and should be retained.

   Dan