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

[idn] amending [IDNA]?



Hi, Paul:

I suggest the following procedure specification 
adds to [IDNA], this is only an idea, while I have no 
intention to put proper words in the document.

[IDNA] is the component of internetionalization of 
Domain Name system. It contains procedures preparing
localized domain name representation for DNS and 
supply display representation for local standard 
according to DNS registered hostnames.

The IDN-label protocol is:

idn-label(input, tag-file, input-std, zonefile, idn-name)
{
  tag = find-tag(input, tag-file, input-std);
  switch (tag)
	{
	case USASCII : return(input);  /* a legal DNS string*/
	case NIL: idn-name= 
		uni-compress(input, UNICODE, DEFAULT-ACE);
		return strcat(DEFAULT-ACE, idn-name);
	default:
	 idn-folding(input, input-std, tag, USASCII, output-list);
	 record-label(input, output-list, zonefile, tag);
	 if idn-label-length(output-list) >= MaxLabelLength
	 {	 
		record-label(input, output-list, zonefile, tag);
		idn-truncate-label(output-list, tag);
	 }
	 idn-label-concat(output-list, idn-name);
	 return  strcat(tag, idn-name);
	} 

The idn-display protocol is:

idn-display-code(input, local-std, zonefile, display-string)
{
  display-string = NIL;
  search-zone(input, zonefile, local-std, display-string);
  if display-string 
	return display-string;

  tag = find-tag (input, tag-file, USASCII);
  switch (tag)
	{
	case USASCII : return(input);  /* a legal DNS string*/
	case NIL: return(input); /* legacy name */
	case DEFAULT-TAG: 
		local-std = UNICODE;
		uni-decompress(input, display-string)
		return display-string;
	default:
	 idn-folding(input, USASCII, tag, local-std, display-string);
	 if length(inupt) >= MaxLabelLength)  /* truncated */
	 	idn-request-fullname(input, output-list, host1, host2);
	 return display-string;
	} 


[nameprep] shall be the host for and only deal with

 idn-folding(input, in-std, tag, out-std, out-list)

for case folding table lookups, and leave exclusion list to be 
checked by idn-label procedure  within a tagged Unicode block.

I am looking forward for your comments.

Liana Ye