diff options
-rw-r--r-- | sys/netinet/in_pcb.h | 4 | ||||
-rw-r--r-- | sys/netinet6/in6_pcb.c | 8 | ||||
-rw-r--r-- | sys/netinet6/udp6_output.c | 6 |
3 files changed, 10 insertions, 8 deletions
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 553d6a6c16d..2b682c3b121 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -1,4 +1,4 @@ -/* $OpenBSD: in_pcb.h,v 1.43 2002/06/09 16:26:10 itojun Exp $ */ +/* $OpenBSD: in_pcb.h,v 1.44 2002/09/04 07:26:53 itojun Exp $ */ /* $NetBSD: in_pcb.h,v 1.14 1996/02/13 23:42:00 christos Exp $ */ /* @@ -273,6 +273,6 @@ int in6_pcbnotify(struct inpcbtable *, struct sockaddr *, u_int, struct sockaddr *, u_int, int, void *, void (*)(struct inpcb *, int)); int in6_selecthlim(struct inpcb *, struct ifnet *); -int in6_pcbsetport(struct in6_addr *, struct inpcb *); +int in6_pcbsetport(struct in6_addr *, struct inpcb *, struct proc *); #endif /* _KERNEL */ #endif /* _NETINET_IN_PCB_H_ */ diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 1249e11ba8d..ae69f5afe19 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -1,4 +1,4 @@ -/* $OpenBSD: in6_pcb.c,v 1.30 2002/08/20 21:50:56 itojun Exp $ */ +/* $OpenBSD: in6_pcb.c,v 1.31 2002/09/04 07:26:53 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -297,7 +297,7 @@ in6_pcbbind(inp, nam) } if (lport == 0) { - error = in6_pcbsetport(&inp->inp_laddr6, inp); + error = in6_pcbsetport(&inp->inp_laddr6, inp, p); if (error != 0) return error; } else @@ -309,9 +309,10 @@ in6_pcbbind(inp, nam) } int -in6_pcbsetport(laddr, inp) +in6_pcbsetport(laddr, inp, p) struct in6_addr *laddr; struct inpcb *inp; + struct proc *p; { struct socket *so = inp->inp_socket; struct inpcbtable *table = inp->inp_table; @@ -321,7 +322,6 @@ in6_pcbsetport(laddr, inp) int count; int loopcount = 0; int wild = INPLOOKUP_IPV6; - struct proc *p = curproc; /* XXX */ int error; /* XXX we no longer support IPv4 mapped address, so no tweaks here */ diff --git a/sys/netinet6/udp6_output.c b/sys/netinet6/udp6_output.c index 98a042dbbf4..3b068afe73e 100644 --- a/sys/netinet6/udp6_output.c +++ b/sys/netinet6/udp6_output.c @@ -1,4 +1,4 @@ -/* $OpenBSD: udp6_output.c,v 1.6 2002/05/29 23:38:58 itojun Exp $ */ +/* $OpenBSD: udp6_output.c,v 1.7 2002/09/04 07:26:53 itojun Exp $ */ /* $KAME: udp6_output.c,v 1.21 2001/02/07 11:51:54 itojun Exp $ */ /* @@ -74,6 +74,7 @@ #include <sys/errno.h> #include <sys/stat.h> #include <sys/systm.h> +#include <sys/proc.h> #include <sys/syslog.h> #include <net/if.h> @@ -132,6 +133,7 @@ udp6_output(in6p, m, addr6, control) int af, hlen; int flags; struct sockaddr_in6 tmp; + struct proc *p = curproc; /* XXX */ priv = 0; if ((in6p->in6p_socket->so_state & SS_PRIV) != 0) @@ -199,7 +201,7 @@ udp6_output(in6p, m, addr6, control) goto release; } if (in6p->in6p_lport == 0 && - (error = in6_pcbsetport(laddr, in6p)) != 0) + (error = in6_pcbsetport(laddr, in6p, p)) != 0) goto release; } else { if (IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_faddr)) { |