Date: Tue, 5 Mar 2002 07:50:02 -0800 (PST) From: Przemyslaw Frasunek <venglin@freebsd.lublin.pl> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/26506: sendto() syscall returns EINVAL in jail environment Message-ID: <200203051550.g25Fo2X88094@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/26506; it has been noted by GNATS. From: Przemyslaw Frasunek <venglin@freebsd.lublin.pl> To: freebsd-gnats-submit@freebsd.org Cc: Subject: Re: kern/26506: sendto() syscall returns EINVAL in jail environment Date: Tue, 5 Mar 2002 16:46:39 +0100 This problem still persists on 4.5-STABLE. When patch from audit-trail (sent almost year ago) will be commited? This works for me on recent 4.5-STABLE: --- /disc1/jail2/home/venglin/in_pcb.c Tue Mar 5 16:36:17 2002 +++ in_pcb.c Tue Mar 5 16:24:35 2002 @@ -499,7 +499,7 @@ struct sockaddr_in *sin = (struct sockaddr_in *)nam; struct sockaddr_in sa; int error; - +/* if (inp->inp_laddr.s_addr == INADDR_ANY && p->p_prison != NULL) { bzero(&sa, sizeof (sa)); sa.sin_addr.s_addr = htonl(p->p_prison->pr_ip); @@ -509,6 +509,7 @@ if (error) return (error); } +*/ /* * Call inner routine, to assign local interface address. */ @@ -522,9 +523,16 @@ } if (inp->inp_laddr.s_addr == INADDR_ANY) { if (inp->inp_lport == 0) { - error = in_pcbbind(inp, (struct sockaddr *)0, p); */ @@ -522,9 +523,16 @@ } if (inp->inp_laddr.s_addr == INADDR_ANY) { if (inp->inp_lport == 0) { - error = in_pcbbind(inp, (struct sockaddr *)0, p); - if (error) - return (error); + if (p->p_prison ) { + bzero(&sa, sizeof (sa)); + sa.sin_addr.s_addr = htonl(p->p_prison->pr_ip); + sa.sin_len = sizeof (sa); + sa.sin_family = AF_INET; + error = in_pcbbind(inp, (struct sockaddr *)&sa, p); + } else + error = in_pcbbind(inp, (struct sockaddr *)0, p); + if (error) + return (error); } inp->inp_laddr = ifaddr->sin_addr; } -- * Fido: 2:480/124 ** WWW: http://www.frasunek.com/ ** NIC-HDL: PMF9-RIPE * * Inet: przemyslaw@frasunek.com ** PGP: D48684904685DF43EA93AFA13BE170BF * To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203051550.g25Fo2X88094>