Need help trying to to use the ntohl() call with in_addr

bertwiley at gmail.com bertwiley at gmail.com
Fri Aug 14 19:01:43 UTC 2009


Thanks guys
On Aug 14, 2009 4:11am, "Bjoern A. Zeeb" <bzeeb-lists at lists.zabbadoz.net>  
wrote:
> On Fri, 14 Aug 2009, Max Laier wrote:







> On Friday 14 August 2009 05:29:19 bert wiley wrote:




> Hi everyone





> Im new to list and this question may be out of place. This is my first


> post. Im new to freebsd and trying to understand how to create a jail from


> some system calls. I followed the jail subsystem description from the


> handbook and im having a problem or may be using the call incorrectly. But


> here is what im trying to do.








> int main()


> {


> struct in_addr ipaddr;


> struct jail myjail;





> char path[PATH_MAX];





> realpath("/tmp", path);





> myjail.version = 1;


> myjail.path = path;


> myjail.hostname = "testjail";





> const char *ip;


> ip = "192.168.1.142";





> inet_aton(ip, &ipaddr);


> myjail.ip4 = ntohl(ipaddr.s_addr); // I get and error here, invalid


> conversion from _uint32_t' to in_addr*


> myjail.ip4 = ipaddr.s_addr; // and and error here, invlid


> conversion from in_addr_t to in_addr*


> }








> I know that there is more that needs to be done but this just a test stub


> as im trying to work thru the calls and understand whats going on.


> Any would be appreciated thanks.







> Take a look at the jail(2) man page:





> The ``ip4s'' and ``ip6s'' give the numbers of IPv4 and IPv6 addresses


> that will be passed via their respective pointers.





> The ``ip4'' and ``ip6'' pointers can be set to an arrays of IPv4 and IPv6


> addresses to be assigned to the prison, or NULL if none. IPv4 addresses


> must be in network byte order.





> So you'd do something like the following:





> myjail.ip4s = 1;


> inet_aton(ip, &ipaddr);


> myjail.ip4 = &ipaddr;





> You don't have to switch byte order.







> and in that case of 7.2-R or later multi-IP jails the version should


> not be 1 either.





> I fixed tools/regressions/priv the other day; maybe this helps a bit


> as well:


> http://svn.freebsd.org/viewvc/base/head/tools/regression/priv/main.c?r1=173679&r2=196172





> /bz





> --


> Bjoern A. Zeeb What was I talking about and who are you again?





More information about the freebsd-hackers mailing list