Re: Any way to bypass nameserver call in IPV6 ???

From: T.R.Bennett (bennett.tony_at_cnf.com)
Date: 08/31/04


Date: 31 Aug 2004 08:40:18 -0700

lathamr@us.ibm.com (Richard D. Latham) wrote in message news:<acwg5k3r.fsf@us.ibm.com>...
> bennett.tony@cnf.com (T.R.Bennett) writes:
>
> > Apache and several other open source projects have converted
> > their code from using gethostbyname() to using getaddrinfo().
> >
> > They call getaddrinfo with a hints.ai_family = AF_UNSPEC,
> > which means "get me both IPV4 as well as IPV6" addresses.
> >
> > If I were using gethostbyname(), then I could prevent going
> > to the nameserver if I have the host in the /etc/hosts file
> > and had /etc/netsvc.conf contain "hosts= local,bind".
> >
>
> No, you need to enter "hosts=local=auth,bind" to inform the resolver
> logic that the local hosts file is authoratitive, else it will keep
> checking sources in the chain until either it's asked everybody, or
> someone has given an authoratitive answer.
>
> There's also an env var you can set to get this behavior, but I can't
> remember what it is right now.
>
>
> > How do I create the same behaviour for IPV6 addresses ?
> >
> > Additionally, I noted that even though I specify a FQDN in
> > the getaddrinfo() call, it tries both that name as well as
> > a name created by appending my domain name. For example:
> > - I specify XXX.YYY.COM
> > - getaddrinfo does IPV6 queries for:
> > XXX.YYY.COM
> > XXX.YYY.COM.YYY.COM
> > Is this correct behaviour???
> >
> > Thanks,
> > -tony
>
> Sorry, I'm on airplane just now and can't check, but IIRC , you need
> to terminate the request string with a period '.', to prevent the
> resolver logic from trying all the domains you have specified in the
> /etc/"blah blah blah" file.

Richard,

    I've tried the following netsvc.conf definitions with the corresponding
results:
      
  With resolv.conf containing only domain and nameserver lines:

      netsvc.conf Format Nameserver Queries
      hosts=local=auth,bind AAAA XXX.YYY.COM
                                    AAAA XXX.YYY.COM.YYY.COM
      hosts=local=auth,bind4 - No QUERY -

  It appears the problem has been solved.

  Thanks goes out to Richard Latham and Dale Talcott.

-tony



Relevant Pages

  • Re: Any way to bypass nameserver call in IPV6 ???
    ... > their code from using gethostbyname() to using getaddrinfo(). ... I noted that even though I specify a FQDN in ... /etc/"blah blah blah" file. ...
    (comp.unix.aix)
  • Re: Any way to bypass nameserver call in IPV6 ???
    ... >>their code from using gethostbyname() to using getaddrinfo(). ... > I believe you can get rid of the second query by using a resolv.conf ... forwarding only nameserver on each busy host. ...
    (comp.unix.aix)
  • Re: gethostbyname + timeout
    ... What is the advantages that getaddrinfo() over gethostbyname()? ... the man pages it only emphasizes getaddrinfois thread safe, ... no direct relation to the OP's question that concerns timeout feature. ...
    (comp.unix.programmer)
  • getaddrinfo vs gethostbyname
    ... programming guidelines from Microsoft. ... The problem is that getaddrinfo doesn't seem to do what gethostbyname does. ... whenever I call getaddrinfo with the parms below (and I tried other ...
    (microsoft.public.win32.programmer.networks)