summaryrefslogtreecommitdiff
path: root/sys/netinet/in_pcb.h
diff options
context:
space:
mode:
authorThordur I. Bjornsson <thib@cvs.openbsd.org>2008-05-23 15:51:13 +0000
committerThordur I. Bjornsson <thib@cvs.openbsd.org>2008-05-23 15:51:13 +0000
commit114f984d932b1f6810293178a80279f30cd2bd27 (patch)
tree1a1f583d1f42425cfd75dad816a48f3121aff8d0 /sys/netinet/in_pcb.h
parentb9a20684fa94a5082c8e1df0b6f92099a2f7cb63 (diff)
Deal with the situation when TCP nfs mounts timeout and processes
get hung in nfs_reconnect() because they do not have the proper privilages to bind to a socket, by adding a struct proc * argument to sobind() (and the *_usrreq() routines, and finally in{6}_pcbbind) and do the sobind() with proc0 in nfs_connect. OK markus@, blambert@. "go ahead" deraadt@. Fixes an issue reported by bernd@ (Tested by bernd@). Fixes PR5135 too.
Diffstat (limited to 'sys/netinet/in_pcb.h')
-rw-r--r--sys/netinet/in_pcb.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h
index cebbdba4172..194f23585da 100644
--- a/sys/netinet/in_pcb.h
+++ b/sys/netinet/in_pcb.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: in_pcb.h,v 1.62 2008/05/15 19:40:38 markus Exp $ */
+/* $OpenBSD: in_pcb.h,v 1.63 2008/05/23 15:51:12 thib Exp $ */
/* $NetBSD: in_pcb.h,v 1.14 1996/02/13 23:42:00 christos Exp $ */
/*
@@ -240,7 +240,7 @@ struct baddynamicports {
void in_losing(struct inpcb *);
int in_pcballoc(struct socket *, void *);
-int in_pcbbind(void *, struct mbuf *);
+int in_pcbbind(void *, struct mbuf *, struct proc *);
int in_pcbconnect(void *, struct mbuf *);
void in_pcbdetach(void *);
void in_pcbdisconnect(void *);
@@ -257,7 +257,7 @@ struct inpcb *
struct inpcb *
in6_pcblookup_listen(struct inpcbtable *,
struct in6_addr *, u_int, int, struct mbuf *);
-int in6_pcbbind(struct inpcb *, struct mbuf *);
+int in6_pcbbind(struct inpcb *, struct mbuf *, struct proc *);
int in6_pcbconnect(struct inpcb *, struct mbuf *);
int in6_setsockaddr(struct inpcb *, struct mbuf *);
int in6_setpeeraddr(struct inpcb *, struct mbuf *);