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   [EMAIL PROTECTED] -----------------------------------------------
 _'\<,_    
(*)/ (*)  


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to