|
Lines 1-4
Link Here
|
| 1 |
/* $OpenBSD: monitor_fdpass.c,v 1.17 2008/03/24 16:11:07 deraadt Exp $ */ |
1 |
/* $OpenBSD: monitor_fdpass.c,v 1.16 2008/03/15 16:19:02 deraadt Exp $ */ |
| 2 |
/* |
2 |
/* |
| 3 |
* Copyright 2001 Niels Provos <provos@citi.umich.edu> |
3 |
* Copyright 2001 Niels Provos <provos@citi.umich.edu> |
| 4 |
* All rights reserved. |
4 |
* All rights reserved. |
|
Lines 50-56
mm_send_fd(int sock, int fd)
Link Here
|
| 50 |
|
50 |
|
| 51 |
memset(&msg, 0, sizeof(msg)); |
51 |
memset(&msg, 0, sizeof(msg)); |
| 52 |
msg.msg_control = (caddr_t)&cmsgbuf.buf; |
52 |
msg.msg_control = (caddr_t)&cmsgbuf.buf; |
| 53 |
msg.msg_controllen = sizeof(cmsgbuf.buf); |
53 |
msg.msg_controllen = CMSG_LEN(sizeof(int)); |
| 54 |
cmsg = CMSG_FIRSTHDR(&msg); |
54 |
cmsg = CMSG_FIRSTHDR(&msg); |
| 55 |
cmsg->cmsg_len = CMSG_LEN(sizeof(int)); |
55 |
cmsg->cmsg_len = CMSG_LEN(sizeof(int)); |
| 56 |
cmsg->cmsg_level = SOL_SOCKET; |
56 |
cmsg->cmsg_level = SOL_SOCKET; |
|
Lines 96-102
mm_receive_fd(int sock)
Link Here
|
| 96 |
msg.msg_iov = &vec; |
96 |
msg.msg_iov = &vec; |
| 97 |
msg.msg_iovlen = 1; |
97 |
msg.msg_iovlen = 1; |
| 98 |
msg.msg_control = &cmsgbuf.buf; |
98 |
msg.msg_control = &cmsgbuf.buf; |
| 99 |
msg.msg_controllen = sizeof(cmsgbuf.buf); |
99 |
msg.msg_controllen = CMSG_LEN(sizeof(int)); |
| 100 |
|
100 |
|
| 101 |
if ((n = recvmsg(sock, &msg, 0)) == -1) { |
101 |
if ((n = recvmsg(sock, &msg, 0)) == -1) { |
| 102 |
error("%s: recvmsg: %s", __func__, strerror(errno)); |
102 |
error("%s: recvmsg: %s", __func__, strerror(errno)); |