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 <[EMAIL PROTECTED]>
>Subject: Re: [idn] Internationalized PTR draft submitted
>To: James Seng <[EMAIL PROTECTED]>
>Cc: [EMAIL PROTECTED]
>Delivered-To: jiang@localhost
>Delivered-To: [EMAIL PROTECTED]
>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++; }

}

Reply via email to