| version 1.83.2.9, 2005/04/01 14:30:57 |
version 1.83.2.10, 2005/11/10 14:09:45 |
|
|
| |
|
| /* Set the initial adjusted socket buffer size. */ |
/* Set the initial adjusted socket buffer size. */ |
| if (sb_max_set(sb_max)) |
if (sb_max_set(sb_max)) |
| panic("bad initial sb_max value: %lu\n", sb_max); |
panic("bad initial sb_max value: %lu", sb_max); |
| |
|
| } |
} |
| |
|
| Line 482 socreate(int dom, struct socket **aso, i |
|
| Line 482 socreate(int dom, struct socket **aso, i |
|
| so->so_mowner = &prp->pr_domain->dom_mowner; |
so->so_mowner = &prp->pr_domain->dom_mowner; |
| #endif |
#endif |
| if (p != 0) |
if (p != 0) |
| so->so_uid = p->p_ucred->cr_uid; |
so->so_uidinfo = uid_find(p->p_ucred->cr_uid); |
| else |
else |
| so->so_uid = UID_MAX; |
so->so_uidinfo = uid_find(0); |
| error = (*prp->pr_usrreq)(so, PRU_ATTACH, (struct mbuf *)0, |
error = (*prp->pr_usrreq)(so, PRU_ATTACH, (struct mbuf *)0, |
| (struct mbuf *)(long)proto, (struct mbuf *)0, l); |
(struct mbuf *)(long)proto, (struct mbuf *)0, l); |
| if (error) { |
if (error) { |
| Line 547 sofree(struct socket *so) |
|
| Line 547 sofree(struct socket *so) |
|
| return; |
return; |
| } |
} |
| if (so->so_rcv.sb_hiwat) |
if (so->so_rcv.sb_hiwat) |
| (void)chgsbsize(so->so_uid, &so->so_rcv.sb_hiwat, 0, |
(void)chgsbsize(so->so_uidinfo, &so->so_rcv.sb_hiwat, 0, |
| RLIM_INFINITY); |
RLIM_INFINITY); |
| if (so->so_snd.sb_hiwat) |
if (so->so_snd.sb_hiwat) |
| (void)chgsbsize(so->so_uid, &so->so_snd.sb_hiwat, 0, |
(void)chgsbsize(so->so_uidinfo, &so->so_snd.sb_hiwat, 0, |
| RLIM_INFINITY); |
RLIM_INFINITY); |
| sbrelease(&so->so_snd, so); |
sbrelease(&so->so_snd, so); |
| sorflush(so); |
sorflush(so); |
| Line 1409 sosetopt(struct socket *so, int level, i |
|
| Line 1409 sosetopt(struct socket *so, int level, i |
|
| error = EINVAL; |
error = EINVAL; |
| goto bad; |
goto bad; |
| } |
} |
| |
if (mtod(m, struct linger *)->l_linger < 0 || |
| |
mtod(m, struct linger *)->l_linger > (INT_MAX / hz)) { |
| |
error = EDOM; |
| |
goto bad; |
| |
} |
| so->so_linger = mtod(m, struct linger *)->l_linger; |
so->so_linger = mtod(m, struct linger *)->l_linger; |
| /* fall thru... */ |
/* fall thru... */ |
| |
|