[BACK]Return to monitor_fdpass.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/monitor_fdpass.c between version 1.12 and 1.13

version 1.12, 2006/08/03 03:34:42 version 1.13, 2007/09/04 03:21:03
Line 35 
Line 35 
 #include "log.h"  #include "log.h"
 #include "monitor_fdpass.h"  #include "monitor_fdpass.h"
   
 void  int
 mm_send_fd(int sock, int fd)  mm_send_fd(int sock, int fd)
 {  {
         struct msghdr msg;          struct msghdr msg;
Line 59 
Line 59 
         msg.msg_iov = &vec;          msg.msg_iov = &vec;
         msg.msg_iovlen = 1;          msg.msg_iovlen = 1;
   
         if ((n = sendmsg(sock, &msg, 0)) == -1)          if ((n = sendmsg(sock, &msg, 0)) == -1) {
                 fatal("%s: sendmsg(%d): %s", __func__, fd,                  error("%s: sendmsg(%d): %s", __func__, fd,
                     strerror(errno));                      strerror(errno));
         if (n != 1)                  return -1;
                 fatal("%s: sendmsg: expected sent 1 got %ld",          }
   
           if (n != 1) {
                   error("%s: sendmsg: expected sent 1 got %ld",
                     __func__, (long)n);                      __func__, (long)n);
                   return -1;
           }
           return 0;
 }  }
   
 int  int
Line 86 
Line 92 
         msg.msg_control = tmp;          msg.msg_control = tmp;
         msg.msg_controllen = sizeof(tmp);          msg.msg_controllen = sizeof(tmp);
   
         if ((n = recvmsg(sock, &msg, 0)) == -1)          if ((n = recvmsg(sock, &msg, 0)) == -1) {
                 fatal("%s: recvmsg: %s", __func__, strerror(errno));                  error("%s: recvmsg: %s", __func__, strerror(errno));
         if (n != 1)                  return -1;
                 fatal("%s: recvmsg: expected received 1 got %ld",          }
   
           if (n != 1) {
                   error("%s: recvmsg: expected received 1 got %ld",
                     __func__, (long)n);                      __func__, (long)n);
                   return -1;
           }
   
         cmsg = CMSG_FIRSTHDR(&msg);          cmsg = CMSG_FIRSTHDR(&msg);
         if (cmsg == NULL)          if (cmsg == NULL) {
                 fatal("%s: no message header", __func__);                  error("%s: no message header", __func__);
         if (cmsg->cmsg_type != SCM_RIGHTS)                  return -1;
                 fatal("%s: expected type %d got %d", __func__,          }
   
           if (cmsg->cmsg_type != SCM_RIGHTS) {
                   error("%s: expected type %d got %d", __func__,
                     SCM_RIGHTS, cmsg->cmsg_type);                      SCM_RIGHTS, cmsg->cmsg_type);
                   return -1;
           }
         fd = (*(int *)CMSG_DATA(cmsg));          fd = (*(int *)CMSG_DATA(cmsg));
         return fd;          return fd;
 }  }

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13