summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bind/lib/isc/unix/privsep_fdpass.c
diff options
context:
space:
mode:
authorflorian <florian@openbsd.org>2020-01-09 19:50:34 +0000
committerflorian <florian@openbsd.org>2020-01-09 19:50:34 +0000
commit7b7bedf4f3f6c395f38bb85a029fba9f6d5f5b2d (patch)
treea1d891005f46965c94f392c8889a9f6a7154d869 /usr.sbin/bind/lib/isc/unix/privsep_fdpass.c
parentRemove unused attempts variable whose probable intended use would have (diff)
downloadwireguard-openbsd-7b7bedf4f3f6c395f38bb85a029fba9f6d5f5b2d.tar.xz
wireguard-openbsd-7b7bedf4f3f6c395f38bb85a029fba9f6d5f5b2d.zip
Remove various unused bits and pieces from lib/isc.
Minus 3k lines. Input deraadt OK millert
Diffstat (limited to 'usr.sbin/bind/lib/isc/unix/privsep_fdpass.c')
-rw-r--r--usr.sbin/bind/lib/isc/unix/privsep_fdpass.c123
1 files changed, 0 insertions, 123 deletions
diff --git a/usr.sbin/bind/lib/isc/unix/privsep_fdpass.c b/usr.sbin/bind/lib/isc/unix/privsep_fdpass.c
deleted file mode 100644
index 5a59e0bda73..00000000000
--- a/usr.sbin/bind/lib/isc/unix/privsep_fdpass.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* $OpenBSD: privsep_fdpass.c,v 1.7 2008/03/24 16:11:02 deraadt Exp $ */
-
-/*
- * Copyright 2001 Niels Provos <provos@citi.umich.edu>
- * All rights reserved.
- *
- * Copyright (c) 2002 Matthieu Herrb
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/uio.h>
-
-#include <err.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-
-#include <isc/privsep.h>
-
-void
-send_fd(int sock, int fd)
-{
- struct msghdr msg;
- union {
- struct cmsghdr hdr;
- char buf[CMSG_SPACE(sizeof(int))];
- } cmsgbuf;
- struct cmsghdr *cmsg;
- struct iovec vec;
- int result = 0;
- ssize_t n;
-
- memset(&msg, 0, sizeof(msg));
-
- if (fd >= 0) {
- msg.msg_control = (caddr_t)&cmsgbuf.buf;
- msg.msg_controllen = sizeof(cmsgbuf.buf);
- cmsg = CMSG_FIRSTHDR(&msg);
- cmsg->cmsg_len = CMSG_LEN(sizeof(int));
- cmsg->cmsg_level = SOL_SOCKET;
- cmsg->cmsg_type = SCM_RIGHTS;
- *(int *)CMSG_DATA(cmsg) = fd;
- } else
- result = errno;
-
- vec.iov_base = &result;
- vec.iov_len = sizeof(int);
- msg.msg_iov = &vec;
- msg.msg_iovlen = 1;
-
- if ((n = sendmsg(sock, &msg, 0)) == -1)
- warn("%s: sendmsg(%d)", __func__, sock);
- if (n != sizeof(int))
- warnx("%s: sendmsg: expected sent 1 got %ld",
- __func__, (long)n);
-}
-
-int
-receive_fd(int sock)
-{
- struct msghdr msg;
- union {
- struct cmsghdr hdr;
- char buf[CMSG_SPACE(sizeof(int))];
- } cmsgbuf;
- struct cmsghdr *cmsg;
- struct iovec vec;
- ssize_t n;
- int result;
- int fd;
-
- memset(&msg, 0, sizeof(msg));
- vec.iov_base = &result;
- vec.iov_len = sizeof(int);
- msg.msg_iov = &vec;
- msg.msg_iovlen = 1;
- msg.msg_control = &cmsgbuf.buf;
- msg.msg_controllen = sizeof(cmsgbuf.buf);
-
- if ((n = recvmsg(sock, &msg, 0)) == -1)
- warn("%s: recvmsg", __func__);
- if (n != sizeof(int))
- warnx("%s: recvmsg: expected received 1 got %ld",
- __func__, (long)n);
- if (result == 0) {
- cmsg = CMSG_FIRSTHDR(&msg);
- if (cmsg->cmsg_type != SCM_RIGHTS)
- warnx("%s: expected type %d got %d", __func__,
- SCM_RIGHTS, cmsg->cmsg_type);
- fd = (*(int *)CMSG_DATA(cmsg));
- return (fd);
- } else {
- errno = result;
- return (-1);
- }
-}