summaryrefslogtreecommitdiffstats
path: root/sys/compat/linux/linux_socket.c
diff options
context:
space:
mode:
authormillert <millert@openbsd.org>1998-04-25 00:12:45 +0000
committermillert <millert@openbsd.org>1998-04-25 00:12:45 +0000
commit0854a8973417aa09c008c5573f1d854f6da9c75a (patch)
treeda57d7fda08bebc13fee2f26387cee67ff2d54f4 /sys/compat/linux/linux_socket.c
parentdo not lookup hostname "*"; khym@bga.com (diff)
downloadwireguard-openbsd-0854a8973417aa09c008c5573f1d854f6da9c75a.tar.xz
wireguard-openbsd-0854a8973417aa09c008c5573f1d854f6da9c75a.zip
Linux has SHUT_RD and SHUT_WR reversed in the ``how'' argument. Presumably
they will fix this sometime, after which this change should be backed out. Pointed out by tchrist@perl.com
Diffstat (limited to 'sys/compat/linux/linux_socket.c')
-rw-r--r--sys/compat/linux/linux_socket.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c
index 4944a5d0fcd..7ae3b82e965 100644
--- a/sys/compat/linux/linux_socket.c
+++ b/sys/compat/linux/linux_socket.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: linux_socket.c,v 1.11 1998/02/10 04:32:41 deraadt Exp $ */
+/* $OpenBSD: linux_socket.c,v 1.12 1998/04/25 00:12:45 millert Exp $ */
/* $NetBSD: linux_socket.c,v 1.14 1996/04/05 00:01:50 christos Exp $ */
/*
@@ -488,6 +488,14 @@ linux_shutdown(p, uap, retval)
if ((error = copyin((caddr_t) uap, (caddr_t) &lsa, sizeof lsa)))
return error;
+ /*
+ * XXX - Linux gets the ``how'' argument wrong. It is reversed!
+ * Hopefully they will fix this someday.
+ */
+ if (lsa.how == SHUT_RD)
+ lsa.how = SHUT_WR;
+ else if (lsa.how == SHUT_WR)
+ lsa.how = SHUT_RD;
SCARG(&bsa, s) = lsa.s;
SCARG(&bsa, how) = lsa.how;