Date: Wed, 18 Sep 2002 00:32:11 -0700 From: Jim Pirzyk <jim@pirzyk.org> To: freebsd-net@freebsd.org Subject: getnetbyname broken for DNS case? Message-ID: <200209180032.11590.jim@pirzyk.org>
next in thread | raw e-mail | index | archive | help
Hi,
I am trying to debug a problem that I have with /etc/exports. I cannot
put in the symbolic name for my network (10.26.0.0) without putting it
in /etc/networks. It is currently in DNS, but it looks like the getnetbyname
is not working correctly for the DNS case.
The functions that are broken is _getnetbydnsname() and getnetanswer().
The _getnetbydnsname() is easily fixed by changing T_PTR to T_A
in res_query(), but getnetanswer() is harder to solve. It is not parsing the
format of the result correctly. First I had to put some code in to
test "type" being T_PTR only if "net_i" is set to BYADDR and T_A if "net_i"
is set to BYNAME.
When I go into the res_hnok() test, it is assumed by the code that
it IP address is in ascii format, which it is not (it is in network binary
order). If I remove the res_hnok() test, then it does not load the
netent.n_net address correctly.
The code is broken for both -CURRENT and -STABLE.
So my question is then, can I rewrite getnetbyname() to use gethostbyname()
call and massage the result to a netent entry? This would solve the DNS
result parsing problem and would also get us T_AAA (IPv6) network name
addresses. I would also implement getnetbyaddr() in terms of gethostbyaddr()
too.
- JimP
--- @(#) $Id: dot.signature,v 1.10 2001/05/17 23:38:49 Jim.Pirzyk Exp $
__o jim@pirzyk.org -----------------------------------------------
_'\<,_
(*)/ (*)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200209180032.11590.jim>
