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

Re: [idn] Internationalized PTR draft submitted



Hi All,

Been very busy, sorry. :)

As answered by Brian and others(Thanks), this draft really
meant "language" instead of "charset".

There are some unresolved issues with this ID as has been
pointed out, some of them are also mentioned in the open
issues section of the ID.  e.g. If parts of the DN can be fixed at will 
in different language convertions, then the usefulness of the 
language tag is questionable.

This ID does not mean to address a big problem, which needs to
be solved urgently. Most applications today are not concerned
with the content(like language info) of a Domain name.

OK, now getting back to Randy...

>From: Randy Bush <randy@psg.com>
>Subject: Re: [idn] Internationalized PTR draft submitted
>To: James Seng <James@Seng.cc>
>Cc: idn@ops.ietf.org
>Delivered-To: jiang@localhost
>Delivered-To: jiang@i-dns.net
>Date: Mon, 18 Sep 2000 10:28:28 -0700
>
>multiple names for one ip is a red herring (idiom for something which
>distracts one from the proper path).
>
>666.42.7.1.in-addr.arpa.    PTR  my.dom.ain.
>                            PTR  another.dom.ain.
>                            PTR  yet.another.name.
>
>is perfectly legal and in common use.

Yes, it is true that most implementations of named return
all PTR record faithfully.

The problem is with the resolvers, e.g. I am running a RH6.2
based linux. My program calling gethostbyaddr will be linked
to glibc-2.1.2. I have written a very simple prog (attached) to
test out.

************** result *****************
	[jiang@ajay iptr]$ dig in ptr 252.0.168.192.in-addr.arpa
	
	; <<>> DiG 8.2 <<>> in ptr 252.0.168.192.in-addr.arpa 
	;; res options: init recurs defnam dnsrch
	;; got answer:
	;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
	;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0
	;; QUERY SECTION:
	;;      252.0.168.192.in-addr.arpa, type = PTR, class = IN
	
	;; ANSWER SECTION:
	252.0.168.192.in-addr.arpa.  1D IN PTR  ajay.i-dns.net.
	252.0.168.192.in-addr.arpa.  1D IN PTR  jiang.i-dns.net.
	
	;; AUTHORITY SECTION:
	0.168.192.in-addr.arpa.  1D IN NS  ns.i-dns.net.
	
	;; Total query time: 1 msec
	;; FROM: ajay.i-dns.net to SERVER: default -- 127.0.0.1
	;; WHEN: Thu Sep 21 02:30:37 2000
	;; MSG SIZE  sent: 44  rcvd: 131
	
	[jiang@ajay iptr]$ ./a.out 
	1st try for 127.0.0.1
	juice.juice.
	ajay.i-dns.net.
	localhost.
	2nd try for 192.168.0.252
	ajay.i-dns.net
	[jiang@ajay iptr]$ 
**************** end of result **********************

****************my /etc/hosts ****************
	127.0.0.1               juice.juice. ajay.i-dns.net.       localhost.
	192.168.0.66    mingliang
	192.168.0.19    dev3
	216.168.235.56  starlight
**************** end of my /etc/hosts *************

**************** my ptr zone file *****************
	@ IN SOA ns.i-dns.net. hostmaster.i-dns.net (
	                      1          ; Serial
	                      10800      ; Refresh after 3 hours
	                      3600       ; Retry after 1 hour
	                      604800     ; Expire after 1 week
	                      86400 )    ; Minimum TTL of 1 day
	
	                IN NS ns.i-dns.net.
	252             IN PTR ajay.i-dns.net.
	252             IN PTR jiang.i-dns.net.
***************** end of  my ptr zone file ***********

This is actually not a prob, because in RFC1034 it says:

****************** RFC1034 ***********************
	Domain names in RRs which point at another name should always point at
	the primary name and not the alias.  This avoids extra indirections in
	accessing information.  For example, the address to name RR for the
	above host should be:
	
	    52.0.0.10.IN-ADDR.ARPA  IN      PTR     C.ISI.EDU
****************** end of RFC1034 ***********************

OK if it were a prob, then millions of the linux boxes out
there are problematic. :)

The Semantic of PTR is well defined, now that if an IP should
point to multiple iDNs in different languages, we may need to
define something else like IPTR. That is why in out ID:

****************draft-ietf-idn-iptr-00.txt***************
  When Internationalized Domain Names come into wide use, an Internet
  host is likely to have domain names in different languages.  In
  today's Internet, because of the design of the PTR record and
  implementation of most resolvers, IP address to domain names mapping
  is limited to "one IP one domain name", the primary domain name of the
  host. This is more restrictive in a world of iDNs, for choosing one
  name in one particular language as the primary could have cultural
  implications.  The authors also believe that putting language
  information into address-to-name mappings will be benifitial to future
  applications.
************** end of draft-ietf-idn-iptr-00.txt**********

OK, sorry for not making thing clear in the first place. :)

back to work now.

Mingliang


#include <arpa/inet.h>
#include <netdb.h>
main ()
{
	struct in_addr	addr;
	struct hostent *p;
	char ** str_p;

	printf("1st try for 127.0.0.1\n");
	inet_pton(AF_INET, "127.0.0.1", &addr);
	p = gethostbyaddr(&addr, sizeof(addr), AF_INET);
	if (p->h_name) printf("%s\n", p->h_name);
	str_p = p->h_aliases;
	while (*str_p) { 
		printf("%s\n", *str_p); 
		str_p++; 
	} 

//	free(p);

	printf("2nd try for 192.168.0.252\n");
	inet_pton(AF_INET, "192.168.0.252", &addr);
        p = gethostbyaddr(&addr, sizeof(addr), AF_INET);
        if (p->h_name) printf("%s\n", p->h_name);
        str_p = p->h_aliases;
        while (*str_p) { printf("%s\n", *str_p); str_p++; }

}