[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.1 and 1.2

version 1.1, 2002/03/18 17:27:22 version 1.2, 2002/03/24 17:53:16
Line 38 
Line 38 
         char tmp[CMSG_SPACE(sizeof(int))];          char tmp[CMSG_SPACE(sizeof(int))];
         struct cmsghdr *cmsg;          struct cmsghdr *cmsg;
         struct iovec vec;          struct iovec vec;
         char ch;          char ch = '\0';
           int n;
   
         memset(&msg, 0, sizeof(msg));          memset(&msg, 0, sizeof(msg));
         msg.msg_control = (caddr_t)tmp;          msg.msg_control = (caddr_t)tmp;
Line 54 
Line 55 
         msg.msg_iov = &vec;          msg.msg_iov = &vec;
         msg.msg_iovlen = 1;          msg.msg_iovlen = 1;
   
         if (sendmsg(socket, &msg, 0) == -1)          if ((n = sendmsg(socket, &msg, 0)) == -1)
                 fatal("%s: sendmsg(%d)", __FUNCTION__, fd);                  fatal("%s: sendmsg(%d): %s", __FUNCTION__, fd,
                       strerror(errno));
           if (n != 1)
                   fatal("%s: sendmsg: expected sent 1 got %d",
                       __FUNCTION__, n);
 }  }
   
 int  int
Line 66 
Line 71 
         struct cmsghdr *cmsg;          struct cmsghdr *cmsg;
         struct iovec vec;          struct iovec vec;
         char ch;          char ch;
           int fd, n;
   
         memset(&msg, 0, sizeof(msg));          memset(&msg, 0, sizeof(msg));
         vec.iov_base = &ch;          vec.iov_base = &ch;
Line 75 
Line 81 
         msg.msg_control = tmp;          msg.msg_control = tmp;
         msg.msg_controllen = sizeof(tmp);          msg.msg_controllen = sizeof(tmp);
   
         if (recvmsg(socket, &msg, 0) == -1)          if ((n = recvmsg(socket, &msg, 0)) == -1)
                 fatal("%s: recvmsg", __FUNCTION__);                  fatal("%s: recvmsg: %s", __FUNCTION__, strerror(errno));
           if (n != 1)
                   fatal("%s: recvmsg: expected received 1 got %d",
                       __FUNCTION__, n);
   
         cmsg = CMSG_FIRSTHDR(&msg);          cmsg = CMSG_FIRSTHDR(&msg);
         if (cmsg->cmsg_type != SCM_RIGHTS)          if (cmsg->cmsg_type != SCM_RIGHTS)
                 fatal("%s: expected type %d got %d", __FUNCTION__,                  fatal("%s: expected type %d got %d", __FUNCTION__,
                     SCM_RIGHTS, cmsg->cmsg_type);                      SCM_RIGHTS, cmsg->cmsg_type);
         return (*(int *)CMSG_DATA(cmsg));          fd = (*(int *)CMSG_DATA(cmsg));
           return fd;
 }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2