summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>1998-01-03 22:32:53 +0000
committerderaadt <deraadt@openbsd.org>1998-01-03 22:32:53 +0000
commit44801171ed8e1ea42bd5cdeb77d8e900ce716f91 (patch)
treedbcf59aa33005e0ce332b1d14512744125feadfd /sys
parentmore oflows; we should just delete this thing (diff)
downloadwireguard-openbsd-44801171ed8e1ea42bd5cdeb77d8e900ce716f91.tar.xz
wireguard-openbsd-44801171ed8e1ea42bd5cdeb77d8e900ce716f91.zip
ignore PRU_SHUTDOWN if socket is already shutdown
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet/tcp_usrreq.c4
-rw-r--r--sys/netiso/tuba_usrreq.c4
-rw-r--r--sys/netns/spp_usrreq.c4
3 files changed, 9 insertions, 3 deletions
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c
index 99c02ed1fa1..ea92e00c858 100644
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tcp_usrreq.c,v 1.12 1997/08/09 23:36:26 millert Exp $ */
+/* $OpenBSD: tcp_usrreq.c,v 1.13 1998/01/03 22:32:53 deraadt Exp $ */
/* $NetBSD: tcp_usrreq.c,v 1.20 1996/02/13 23:44:16 christos Exp $ */
/*
@@ -257,6 +257,8 @@ tcp_usrreq(so, req, m, nam, control)
* Mark the connection as being incapable of further output.
*/
case PRU_SHUTDOWN:
+ if (so->so_state & SS_CANTSENDMORE)
+ break;
socantsendmore(so);
tp = tcp_usrclosed(tp);
if (tp)
diff --git a/sys/netiso/tuba_usrreq.c b/sys/netiso/tuba_usrreq.c
index 0fc605cdea5..bd9a74a0e5a 100644
--- a/sys/netiso/tuba_usrreq.c
+++ b/sys/netiso/tuba_usrreq.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tuba_usrreq.c,v 1.2 1996/03/04 10:36:54 mickey Exp $ */
+/* $OpenBSD: tuba_usrreq.c,v 1.3 1998/01/03 22:32:56 deraadt Exp $ */
/* $NetBSD: tuba_usrreq.c,v 1.8 1996/02/13 22:12:40 christos Exp $ */
/*
@@ -267,6 +267,8 @@ tuba_usrreq(so, req, m, nam, control)
* Mark the connection as being incapable of further output.
*/
case PRU_SHUTDOWN:
+ if (so->so_state & SS_CANTSENDMORE)
+ break;
socantsendmore(so);
tp = tcp_usrclosed(tp);
if (tp)
diff --git a/sys/netns/spp_usrreq.c b/sys/netns/spp_usrreq.c
index b34d3b74d58..9347749673d 100644
--- a/sys/netns/spp_usrreq.c
+++ b/sys/netns/spp_usrreq.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: spp_usrreq.c,v 1.5 1997/03/29 18:21:00 deraadt Exp $ */
+/* $OpenBSD: spp_usrreq.c,v 1.6 1998/01/03 22:32:57 deraadt Exp $ */
/* $NetBSD: spp_usrreq.c,v 1.9 1996/02/13 22:14:13 christos Exp $ */
/*
@@ -1473,6 +1473,8 @@ spp_usrreq(so, req, m, nam, controlp)
}
case PRU_SHUTDOWN:
+ if (so->so_state & SS_CANTSENDMORE)
+ break;
socantsendmore(so);
cb = spp_usrclosed(cb);
if (cb)