this fixes the problem, i'm not familiar enough with pcbs to know if this
opens up a security hole in the jail though...

--- in_pcb.c.old        Mon Mar 18 23:57:57 2002
+++ in_pcb.c    Tue Mar 19 00:04:33 2002
@@ -500,7 +500,8 @@
        struct sockaddr_in sa;
        int error;

-       if (inp->inp_laddr.s_addr == INADDR_ANY && p->p_prison != NULL) {
+       if (inp->inp_laddr.s_addr == INADDR_ANY && inp->inp_lport == 0 &&
+           p->p_prison != NULL) {
                bzero(&sa, sizeof (sa));
                sa.sin_addr.s_addr = htonl(p->p_prison->pr_ip);
                sa.sin_len=sizeof (sa);



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

Reply via email to