diff options
| author | 2020-01-09 19:50:34 +0000 | |
|---|---|---|
| committer | 2020-01-09 19:50:34 +0000 | |
| commit | 7b7bedf4f3f6c395f38bb85a029fba9f6d5f5b2d (patch) | |
| tree | a1d891005f46965c94f392c8889a9f6a7154d869 /usr.sbin/bind/lib/isc/unix/privsep_fdpass.c | |
| parent | Remove unused attempts variable whose probable intended use would have (diff) | |
| download | wireguard-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.c | 123 |
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); - } -} |
