[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.5.2.2 and 1.6

version 1.5.2.2, 2004/03/04 18:18:16 version 1.6, 2003/06/28 16:23:06
Line 30 
Line 30 
 #include "atomicio.h"  #include "atomicio.h"
 #include "msg.h"  #include "msg.h"
   
 int  void
 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))
                 error("ssh_msg_send: write");                  fatal("ssh_msg_send: write");
                 return (-1);          if (atomicio(vwrite, fd, buffer_ptr(m), mlen) != mlen)
         }                  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 62 
Line 57 
   
         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)
                         error("ssh_msg_recv: read: header %ld", (long)res);                          return -1;
                 return (-1);                  fatal("ssh_msg_recv: read: header %ld", (long)res);
         }          }
         msg_len = GET_32BIT(buf);          msg_len = GET_32BIT(buf);
         if (msg_len > 256 * 1024) {          if (msg_len > 256 * 1024)
                 error("ssh_msg_recv: read: bad msg_len %u", msg_len);                  fatal("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)
                 error("ssh_msg_recv: read: %ld != msg_len", (long)res);                  fatal("ssh_msg_recv: read: %ld != msg_len", (long)res);
                 return (-1);          return 0;
         }  
         return (0);  
 }  }

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