]> andersk Git - openssh.git/commitdiff
- deraadt@cvs.openbsd.org 2008/03/24 16:11:07
authordjm <djm>
Thu, 27 Mar 2008 00:01:15 +0000 (00:01 +0000)
committerdjm <djm>
Thu, 27 Mar 2008 00:01:15 +0000 (00:01 +0000)
     [monitor_fdpass.c]
     msg_controllen has to be CMSG_SPACE so that the kernel can account for
     each cmsg_len (ie. msg_controllen = sum of CMSG_ALIGN(cmsg_len).  This
     works now that kernel fd passing has been fixed to accept a bit of
     sloppiness because of this ABI repair.
     lots of discussion with kettenis

ChangeLog
monitor_fdpass.c

index 89670958114d1fa14bb29ea05d3ec8db69222b15..c3ec735281ab27de914e524190bf00e897a55b06 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
      existing file. Users who depended on this should adjust their sftp(1)
      usage.
      ok deraadt@ markus@
+   - deraadt@cvs.openbsd.org 2008/03/24 16:11:07
+     [monitor_fdpass.c]
+     msg_controllen has to be CMSG_SPACE so that the kernel can account for
+     each cmsg_len (ie. msg_controllen = sum of CMSG_ALIGN(cmsg_len).  This
+     works now that kernel fd passing has been fixed to accept a bit of
+     sloppiness because of this ABI repair.
+     lots of discussion with kettenis
 
 20080315
  - (djm) [regress/test-exec.sh] Quote putty-related variables in case they are
index 18ae6248aee95017ed79125bcb5c814e7efd5be7..cab538bc900300262cebacde9a2122ab95ce3059 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor_fdpass.c,v 1.16 2008/03/15 16:19:02 deraadt Exp $ */
+/* $OpenBSD: monitor_fdpass.c,v 1.17 2008/03/24 16:11:07 deraadt Exp $ */
 /*
  * Copyright 2001 Niels Provos <provos@citi.umich.edu>
  * All rights reserved.
@@ -63,7 +63,7 @@ mm_send_fd(int sock, int fd)
        msg.msg_accrightslen = sizeof(fd);
 #else
        msg.msg_control = (caddr_t)&cmsgbuf.buf;
-       msg.msg_controllen = CMSG_LEN(sizeof(int));
+       msg.msg_controllen = sizeof(cmsgbuf.buf);
        cmsg = CMSG_FIRSTHDR(&msg);
        cmsg->cmsg_len = CMSG_LEN(sizeof(int));
        cmsg->cmsg_level = SOL_SOCKET;
@@ -121,7 +121,7 @@ mm_receive_fd(int sock)
        msg.msg_accrightslen = sizeof(fd);
 #else
        msg.msg_control = &cmsgbuf.buf;
-       msg.msg_controllen = CMSG_LEN(sizeof(int));
+       msg.msg_controllen = sizeof(cmsgbuf.buf);
 #endif
 
        if ((n = recvmsg(sock, &msg, 0)) == -1) {
This page took 0.062478 seconds and 5 git commands to generate.