From 802b9568686032c81e4a998dc282df6ed63d4090 Mon Sep 17 00:00:00 2001 From: Tim Rice Date: Sat, 11 May 2002 15:30:04 -0700 Subject: fix for systems that have both HAVE_ACCRIGHTS_IN_MSGHDR and HAVE_CONTROL_IN_MSGHDR. Ie. sys/socket.h has #define msg_accrights msg_control --- ChangeLog | 5 ++++- monitor_fdpass.c | 12 +++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index c8dbc70c5..b617a79ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,9 @@ - (tim) [configure.ac] applied a rework of djm's OpenSSL search cleanup patch. Now only searches system and /usr/local/ssl (OpenSSL's default install path) Others must use --with-ssl-dir=.... + - (tim) [monitor_fdpass.c] fix for systems that have both + HAVE_ACCRIGHTS_IN_MSGHDR and HAVE_CONTROL_IN_MSGHDR. Ie. sys/socket.h has + #define msg_accrights msg_control 20020510 - (stevesk) [auth.c] Shadow account and expiration cleanup. Now @@ -564,4 +567,4 @@ - (stevesk) entropy.c: typo in debug message - (djm) ssh-keygen -i needs seeded RNG; report from markus@ -$Id: ChangeLog,v 1.2105 2002/05/11 20:17:42 tim Exp $ +$Id: ChangeLog,v 1.2106 2002/05/11 22:30:04 tim Exp $ diff --git a/monitor_fdpass.c b/monitor_fdpass.c index 5401ea466..fb97171ff 100644 --- a/monitor_fdpass.c +++ b/monitor_fdpass.c @@ -39,13 +39,14 @@ mm_send_fd(int socket, int fd) struct iovec vec; char ch = '\0'; int n; -#ifndef HAVE_ACCRIGHTS_IN_MSGHDR +#if !defined(HAVE_ACCRIGHTS_IN_MSGHDR) || \ + (defined(HAVE_ACCRIGHTS_IN_MSGHDR) && defined(HAVE_CONTROL_IN_MSGHDR)) char tmp[CMSG_SPACE(sizeof(int))]; struct cmsghdr *cmsg; #endif memset(&msg, 0, sizeof(msg)); -#ifdef HAVE_ACCRIGHTS_IN_MSGHDR +#if defined(HAVE_ACCRIGHTS_IN_MSGHDR) && !defined(HAVE_CONTROL_IN_MSGHDR) msg.msg_accrights = (caddr_t)&fd; msg.msg_accrightslen = sizeof(fd); #else @@ -83,7 +84,8 @@ mm_receive_fd(int socket) struct iovec vec; char ch; int fd, n; -#ifndef HAVE_ACCRIGHTS_IN_MSGHDR +#if !defined(HAVE_ACCRIGHTS_IN_MSGHDR) || \ + (defined(HAVE_ACCRIGHTS_IN_MSGHDR) && defined(HAVE_CONTROL_IN_MSGHDR)) char tmp[CMSG_SPACE(sizeof(int))]; struct cmsghdr *cmsg; #endif @@ -93,7 +95,7 @@ mm_receive_fd(int socket) vec.iov_len = 1; msg.msg_iov = &vec; msg.msg_iovlen = 1; -#ifdef HAVE_ACCRIGHTS_IN_MSGHDR +#if defined(HAVE_ACCRIGHTS_IN_MSGHDR) && !defined(HAVE_CONTROL_IN_MSGHDR) msg.msg_accrights = (caddr_t)&fd; msg.msg_accrightslen = sizeof(fd); #else @@ -107,7 +109,7 @@ mm_receive_fd(int socket) fatal("%s: recvmsg: expected received 1 got %d", __FUNCTION__, n); -#ifdef HAVE_ACCRIGHTS_IN_MSGHDR +#if defined(HAVE_ACCRIGHTS_IN_MSGHDR) && !defined(HAVE_CONTROL_IN_MSGHDR) if (msg.msg_accrightslen != sizeof(fd)) fatal("%s: no fd", __FUNCTION__); #else -- cgit v1.2.3