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

Diff for /src/usr.bin/ssh/packet.c between version 1.31 and 1.32

version 1.31, 2000/05/01 07:40:03 version 1.32, 2000/05/04 22:22:43
Line 465 
Line 465 
         /* Compute packet length without padding (add checksum, remove padding). */          /* Compute packet length without padding (add checksum, remove padding). */
         len = buffer_len(&outgoing_packet) + 4 - 8;          len = buffer_len(&outgoing_packet) + 4 - 8;
   
         /* Insert padding. */          /* Insert padding. Initialized to zero in packet_start1() */
         padding = 8 - len % 8;          padding = 8 - len % 8;
         if (cipher_type != SSH_CIPHER_NONE) {          if (cipher_type != SSH_CIPHER_NONE) {
                 cp = buffer_ptr(&outgoing_packet);                  cp = buffer_ptr(&outgoing_packet);
Line 569 
Line 569 
                 padlen += block_size;                  padlen += block_size;
         buffer_append_space(&outgoing_packet, &cp, padlen);          buffer_append_space(&outgoing_packet, &cp, padlen);
         if (enc && enc->type != SSH_CIPHER_NONE) {          if (enc && enc->type != SSH_CIPHER_NONE) {
                   /* random padding */
                 for (i = 0; i < padlen; i++) {                  for (i = 0; i < padlen; i++) {
                         if (i % 4 == 0)                          if (i % 4 == 0)
                                 rand = arc4random();                                  rand = arc4random();
                         cp[i] = rand & 0xff;                          cp[i] = rand & 0xff;
                         rand <<= 8;                          rand <<= 8;
                 }                  }
           } else {
                   /* clear padding */
                   memset(cp, 0, padlen);
         }          }
         /* packet_length includes payload, padding and padding length field */          /* packet_length includes payload, padding and padding length field */
         packet_length = buffer_len(&outgoing_packet) - 4;          packet_length = buffer_len(&outgoing_packet) - 4;
Line 657 
Line 661 
         for (;;) {          for (;;) {
                 /* Try to read a packet from the buffer. */                  /* Try to read a packet from the buffer. */
                 type = packet_read_poll(payload_len_ptr);                  type = packet_read_poll(payload_len_ptr);
                 if (type == SSH_SMSG_SUCCESS                  if (!use_ssh2_packet_format && (
                       type == SSH_SMSG_SUCCESS
                     || type == SSH_SMSG_FAILURE                      || type == SSH_SMSG_FAILURE
                     || type == SSH_CMSG_EOF                      || type == SSH_CMSG_EOF
                     || type == SSH_CMSG_EXIT_CONFIRMATION)                      || type == SSH_CMSG_EXIT_CONFIRMATION))
                         packet_integrity_check(*payload_len_ptr, 0, type);                          packet_integrity_check(*payload_len_ptr, 0, type);
                 /* If we got a packet, return it. */                  /* If we got a packet, return it. */
                 if (type != SSH_MSG_NONE)                  if (type != SSH_MSG_NONE)

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.32