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

Diff for /src/usr.bin/ssh/msg.c between version 1.6 and 1.6.2.1

version 1.6, 2003/06/28 16:23:06 version 1.6.2.1, 2004/02/28 03:51:33
Line 30 
Line 30 
 #include "atomicio.h"  #include "atomicio.h"
 #include "msg.h"  #include "msg.h"
   
 void  int
 ssh_msg_send(int fd, u_char type, Buffer *m)  ssh_msg_send(int fd, u_char type, Buffer *m)
 {  {
         u_char buf[5];          u_char buf[5];
Line 40 
Line 40 
   
         PUT_32BIT(buf, mlen + 1);          PUT_32BIT(buf, mlen + 1);
         buf[4] = type;          /* 1st byte of payload is mesg-type */          buf[4] = type;          /* 1st byte of payload is mesg-type */
         if (atomicio(vwrite, fd, buf, sizeof(buf)) != sizeof(buf))          if (atomicio(vwrite, fd, buf, sizeof(buf)) != sizeof(buf)) {
                 fatal("ssh_msg_send: write");                  error("ssh_msg_send: write");
         if (atomicio(vwrite, fd, buffer_ptr(m), mlen) != mlen)                  return (-1);
                 fatal("ssh_msg_send: write");          }
           if (atomicio(vwrite, fd, buffer_ptr(m), mlen) != mlen) {
                   error("ssh_msg_send: write");
                   return (-1);
           }
           return (0);
 }  }
   
 int  int
Line 57 
Line 62 
   
         res = atomicio(read, fd, buf, sizeof(buf));          res = atomicio(read, fd, buf, sizeof(buf));
         if (res != sizeof(buf)) {          if (res != sizeof(buf)) {
                 if (res == 0)                  if (res != 0)
                         return -1;                          error("ssh_msg_recv: read: header %ld", (long)res);
                 fatal("ssh_msg_recv: read: header %ld", (long)res);                  return (-1);
         }          }
         msg_len = GET_32BIT(buf);          msg_len = GET_32BIT(buf);
         if (msg_len > 256 * 1024)          if (msg_len > 256 * 1024) {
                 fatal("ssh_msg_recv: read: bad msg_len %u", msg_len);                  error("ssh_msg_recv: read: bad msg_len %u", msg_len);
                   return (-1);
           }
         buffer_clear(m);          buffer_clear(m);
         buffer_append_space(m, msg_len);          buffer_append_space(m, msg_len);
         res = atomicio(read, fd, buffer_ptr(m), msg_len);          res = atomicio(read, fd, buffer_ptr(m), msg_len);
         if (res != msg_len)          if (res != msg_len) {
                 fatal("ssh_msg_recv: read: %ld != msg_len", (long)res);                  error("ssh_msg_recv: read: %ld != msg_len", (long)res);
         return 0;                  return (-1);
           }
           return (0);
 }  }

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.6.2.1