[erlang-bugs] : : inet_res:getbyname

Raimo Niskanen <>
Fri Sep 7 18:13:44 CEST 2007


That means you really want to do a DNS query, and only a DNS query,
since that kind of lookup is not implemented anywhere else.

I will have to look at it again on monday...



On Fri, Sep 07, 2007 at 09:00:07AM -0500, Matthew O'Gorman wrote:
> also just a quick grep through the source it looks like srv is only
> mentioned in inet_res and inet_dns.
> 
> On 9/7/07, Matthew O'Gorman <> wrote:
> > It is used in ejabberd and other projects  for looking up srv records,
> > something that inet:gethostbyname doesnt appear to do.  Which is why I
> > was reporting it as a bug.
> >
> > Mog
> >
> > On 9/7/07, Raimo Niskanen <> wrote:
> > > The general call is inet:gethostbyname/2. See erl -man inet.
> > > There are lots of useful functions there.
> > >
> > > inet:gethostbyname/2 will in its turn call inet_res:getbyname/2
> > > if 'dns' is in the list returned from inet_db:res_option(lookup).
> > > See http://www.erlang.org/doc/apps/erts/part_frame.html:
> > > "7 Inet configuration", option 'lookup'.
> > >
> > > But the default configuration is to have only 'native' in
> > > the lookup option list, which will make inet:gethostbyname
> > > call inet_gethost_native:gethostbyname, that itself uses
> > > a pool of external port programs that call the C resolver
> > > library functions.
> > >
> > > How did you stumble on the inet_res module? It is not documented.
> > >
> > >
> > >
> > > On Thu, Sep 06, 2007 at 09:08:43AM -0500, Matthew O'Gorman wrote:
> > > > oh im sorry i didn't see that it was deprecated.  What is the
> > > > replacement for what I am trying to do, or is there no replacement you
> > > > just don't intend to support it anymore?
> > > >
> > > > Matt
> > > >
> > > > On 9/6/07, Raimo Niskanen <> wrote:
> > > > > Well, since this resolver is kind of deprecated; not really - we have
> > > > > paying customers using it, but almost deprecated. The native resolver
> > > > > is the one we want everyone to use since it calls the OS resolver
> > > > > and therefore should be perfectly bug compatible.
> > > > >
> > > > > Anyway, we have no strong reasons to put a lot of work into
> > > > > inet_res. But if it behaves strangely and we can fix it
> > > > > easily we will do it.
> > > > >
> > > > > I took a quick look into ets:tab2list(inet_db) for both
> > > > > -sname and -name and it seems res_domain, res_ns and
> > > > > res_search does not get initialized if started with
> > > > > -sname. It seems my host resolver configuration file is
> > > > > not read (/etc/resolv.conf). This rings a bell about
> > > > > cleanups we did about which host configuration files
> > > > > are read at startup (/etc{resolv.conf,nsswitch.conf,
> > > > > hosts,host.conf,irs.conf,...}. It was a mess and very bug prone.
> > > > > The idea is that the native resolver does it right
> > > > > so we shall use it.
> > > > >
> > > > > I have to talk to some people...
> > > > >
> > > > > Anyway, this means there are workarounds, at least using
> > > > > the infamous inetrc file, to set an inet_res configuration of your own.
> > > > >
> > > > >
> > > > >
> > > > > On Wed, Sep 05, 2007 at 07:01:57PM -0500, Matthew O'Gorman wrote:
> > > > > > inet_res:getbyname fails unless started with -name
> > > > > >
> > > > > >  erl
> > > > > >
> > > > > > Erlang (BEAM) emulator version 5.5.5 [source] [64-bit]
> > > > > > [async-threads:0] [hipe] [kernel-poll:false]
> > > > > >
> > > > > >
> > > > > >
> > > > > > Eshell V5.5.5  (abort with ^G)
> > > > > >
> > > > > > 1> inet_res:getbyname("_xmpp-server._tcp.digium.com",srv).
> > > > > >
> > > > > > {error,timeout}
> > > > > >
> > > > > > 2>
> > > > > >
> > > > > >
> > > > > >
> > > > > >  erl -sname matt
> > > > > >
> > > > > > Erlang (BEAM) emulator version 5.5.5 [source] [64-bit]
> > > > > > [async-threads:0] [hipe] [kernel-poll:false]
> > > > > >
> > > > > >
> > > > > >
> > > > > > Eshell V5.5.5  (abort with ^G)
> > > > > >
> > > > > > ()1> inet_res:getbyname("_xmpp-server._tcp.digium.com",srv).
> > > > > >
> > > > > > {error,timeout}
> > > > > >
> > > > > > ()2>
> > > > > >
> > > > > >
> > > > > >
> > > > > > erl -name matt
> > > > > >
> > > > > > Erlang (BEAM) emulator version 5.5.5 [source] [64-bit]
> > > > > > [async-threads:0] [hipe] [kernel-poll:false]
> > > > > >
> > > > > >
> > > > > >
> > > > > > Eshell V5.5.5  (abort with ^G)
> > > > > >
> > > > > > ()1>
> > > > > > inet_res:getbyname("_xmpp-server._tcp.digium.com",srv).
> > > > > >
> > > > > > {ok,{hostent,"_xmpp-server._tcp.digium.com",
> > > > > >
> > > > > >              [],
> > > > > >
> > > > > >              srv,
> > > > > >
> > > > > >              1,
> > > > > >
> > > > > >              [{5,0,5269,"jabber.digium.com"}]}}
> > > > > >
> > > > > > ()2>
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > This seems to have existed since r10b i was wondering if there are any
> > > > > > intentions on ever fixing it?
> > > > > >
> > > > > > Mog
> > > > > > _______________________________________________
> > > > > > erlang-bugs mailing list
> > > > > > 
> > > > > > http://www.erlang.org/mailman/listinfo/erlang-bugs
> > > > >
> > > > > --
> > > > >
> > > > > / Raimo Niskanen, Erlang/OTP, Ericsson AB
> > > > >
> > > > _______________________________________________
> > > > erlang-bugs mailing list
> > > > 
> > > > http://www.erlang.org/mailman/listinfo/erlang-bugs
> > >
> > > --
> > >
> > > / Raimo Niskanen, Erlang/OTP, Ericsson AB
> > >
> >
> _______________________________________________
> erlang-bugs mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-bugs

-- 

/ Raimo Niskanen, Erlang/OTP, Ericsson AB



More information about the erlang-bugs mailing list