in6_pcb.c (359fdba7a70222b3422610f4f73bca1be55e0524) | in6_pcb.c (56f21b9d74a516a6c2f67d09e1b6c588bfa54c6a) |
---|---|
1/* $FreeBSD$ */ 2/* $KAME: in6_pcb.c,v 1.31 2001/05/21 05:45:10 jinmei Exp $ */ 3 4/* 5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 173 unchanged lines hidden (view full) --- 182 return (EADDRNOTAVAIL); 183 } 184 } 185 if (lport) { 186 struct inpcb *t; 187 188 /* GROSS */ 189 if (ntohs(lport) < IPV6PORT_RESERVED && | 1/* $FreeBSD$ */ 2/* $KAME: in6_pcb.c,v 1.31 2001/05/21 05:45:10 jinmei Exp $ */ 3 4/* 5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 173 unchanged lines hidden (view full) --- 182 return (EADDRNOTAVAIL); 183 } 184 } 185 if (lport) { 186 struct inpcb *t; 187 188 /* GROSS */ 189 if (ntohs(lport) < IPV6PORT_RESERVED && |
190 suser_cred(cred, PRISON_ROOT)) | 190 suser_cred(cred, SUSER_ALLOWJAIL)) |
191 return (EACCES); 192 if (so->so_cred->cr_uid != 0 && 193 !IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) { 194 t = in6_pcblookup_local(pcbinfo, 195 &sin6->sin6_addr, lport, 196 INPLOOKUP_WILDCARD); 197 if (t && (t->inp_vflag & INP_TIMEWAIT)) { 198 if ((!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) || --- 754 unchanged lines hidden --- | 191 return (EACCES); 192 if (so->so_cred->cr_uid != 0 && 193 !IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) { 194 t = in6_pcblookup_local(pcbinfo, 195 &sin6->sin6_addr, lport, 196 INPLOOKUP_WILDCARD); 197 if (t && (t->inp_vflag & INP_TIMEWAIT)) { 198 if ((!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) || --- 754 unchanged lines hidden --- |